diff --git a/Box/Box.cpp b/Box/Box.cpp index 24265bf67cf10fc395c6734d48e073e2d1dd3822..00cceb007d51b80682f87c6de979c4aa0fda9a3d 100644 --- a/Box/Box.cpp +++ b/Box/Box.cpp @@ -1,4 +1,4 @@ -// $Id: Box.cpp,v 1.47 2008-03-18 11:41:08 remacle Exp $ +// $Id: Box.cpp,v 1.48 2008-03-19 17:26:48 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -88,7 +88,7 @@ int GMSHBOX(int argc, char *argv[]) if(CTX.bgm_filename) { MergeFile(CTX.bgm_filename); if(PView::list.size()){ - GModel::current()->fields.set_background_mesh(PView::list.back()->getNum()-1); + GModel::current()->getFields()->set_background_mesh(PView::list.back()->getNum() - 1); } else{ fprintf(stderr, ERROR_STR "Invalid background mesh (no view)\n"); diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index c0586e81c092ebd382f56fb02638d36f08bc9e59..5a3721b6b8169f6ea2e695b01783fb9f3093aba0 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.568 2008-03-18 11:33:04 remacle Exp $ +// $Id: Callbacks.cpp,v 1.569 2008-03-19 17:26:48 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -4497,7 +4497,7 @@ void view_applybgmesh_cb(CALLBACK_ARGS) { int index = (int)(long)data; if(index >= 0 && index < (int)PView::list.size()){ - GModel::current()->fields.set_background_mesh(index); + GModel::current()->getFields()->set_background_mesh(index); } } @@ -4535,7 +4535,7 @@ void view_field_set_size_btn_cb(CALLBACK_ARGS){ void view_field_new_cb(CALLBACK_ARGS) { Fl_Menu_Button* mb=((Fl_Menu_Button*)w); - int id=GModel::current()->fields.new_id(); + int id=GModel::current()->getFields()->new_id(); add_field(id,mb->text(),CTX.filename); WID->create_field_window(id); } diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp index 40d9e7b3293f9f1a4507ab71190ae57a7a79e5a3..41a77d094da0e66696a69831d0a61591a1a620ae 100644 --- a/Fltk/GUI.cpp +++ b/Fltk/GUI.cpp @@ -1,4 +1,4 @@ -// $Id: GUI.cpp,v 1.664 2008-03-18 19:36:59 geuzaine Exp $ +// $Id: GUI.cpp,v 1.665 2008-03-19 17:26:48 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -3912,7 +3912,7 @@ void FieldDialogBox::load_field(Field *f){ }else{ put_on_view_btn->deactivate(); } - set_size_btn->value(GModel::current()->fields.background_field==f->id); + set_size_btn->value(GModel::current()->getFields()->background_field==f->id); } FieldDialogBox::FieldDialogBox(Field *f, int x, int y, int width, int height,int fontsize) @@ -4013,7 +4013,7 @@ void GUI::create_field_window(int numfield) if(field_window) { width=field_window->w(); height=field_window->h(); - FieldManager &fields=GModel::current()->fields; + FieldManager &fields=*GModel::current()->getFields(); field_browser->clear(); for(FieldManager::iterator it=fields.begin();it!=fields.end();it++){ Field *field=it->second; @@ -4045,7 +4045,7 @@ void GUI::create_field_window(int numfield) resize_box->end(); { Fl_Menu_Button *b= new Fl_Menu_Button(WB,WB,L1,BH,"New"); - FieldManager &fields=GModel::current()->fields; + FieldManager &fields=*GModel::current()->getFields(); std::map<const std::string, FieldFactory*>::iterator it; for(it=fields.map_type_name.begin();it!=fields.map_type_name.end();it++) b->add(it->first.c_str()); diff --git a/Fltk/Main.cpp b/Fltk/Main.cpp index e7682654cb5d704c877a1d64d6952418b079656b..3f330374e7e29be06c5ed9d5cea35583444aa8dd 100644 --- a/Fltk/Main.cpp +++ b/Fltk/Main.cpp @@ -1,4 +1,4 @@ -// $Id: Main.cpp,v 1.123 2008-03-18 11:41:08 remacle Exp $ +// $Id: Main.cpp,v 1.124 2008-03-19 17:26:48 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -88,7 +88,7 @@ int main(int argc, char *argv[]) if(CTX.bgm_filename) { MergeFile(CTX.bgm_filename); if(PView::list.size()){ - GModel::current()->fields.set_background_mesh(PView::list.back()->getNum()-1); + GModel::current()->getFields()->set_background_mesh(PView::list.back()->getNum() - 1); } else Msg(GERROR, "Invalid background mesh (no view)"); @@ -168,7 +168,7 @@ int main(int argc, char *argv[]) if(CTX.bgm_filename) { MergeFile(CTX.bgm_filename); if(PView::list.size()) - GModel::current()->fields.set_background_mesh(PView::list.back()->getNum()-1); + GModel::current()->getFields()->set_background_mesh(PView::list.back()->getNum() - 1); else Msg(GERROR, "Invalid background mesh (no view)"); } diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index a3c97196422267afb7a69cbd8e8dbce8e36aed26..44b4ae67ae679aa455174b3924d6ae6a7a2e5a8b 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -1,4 +1,4 @@ -// $Id: GModel.cpp,v 1.72 2008-03-18 19:30:13 geuzaine Exp $ +// $Id: GModel.cpp,v 1.73 2008-03-19 17:26:48 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -39,12 +39,16 @@ extern Context_T CTX; std::vector<GModel*> GModel::list; GModel::GModel(std::string name) - : _maxVertexDataIndex(-1), _geo_internals(0), _occ_internals(0), + : _maxVertexDataIndex(-1), _geo_internals(0), _occ_internals(0), _fields(0), modelName(name), normals(0) { list.push_back(this); // at the moment we always create (at least an empty) GEO model createGEOInternals(); + +#if !defined(HAVE_GMSH_EMBEDDED) + _fields = new FieldManager(); +#endif } GModel::~GModel() @@ -54,6 +58,9 @@ GModel::~GModel() deleteGEOInternals(); deleteOCCInternals(); destroy(); +#if !defined(HAVE_GMSH_EMBEDDED) + delete _fields; +#endif } GModel *GModel::current() @@ -99,8 +106,9 @@ void GModel::destroy() MVertex::resetGlobalNumber(); MElement::resetGlobalNumber(); + #if !defined(HAVE_GMSH_EMBEDDED) - fields.reset(); + _fields->reset(); gmshSurface::reset(); BGMReset(); #endif diff --git a/Geo/GModel.h b/Geo/GModel.h index 9958c592725913e7b0936823d75c9d2d336faf88..eaecd3c2d868bde00ed01a8248d8ad94e10dcb5e 100644 --- a/Geo/GModel.h +++ b/Geo/GModel.h @@ -28,13 +28,11 @@ #include "GFace.h" #include "GRegion.h" #include "SBoundingBox3d.h" -#if !defined(HAVE_GMSH_EMBEDDED) -#include "Field.h" -#endif class GEO_Internals; class OCC_Internals; class smooth_normals; +class FieldManager; // A geometric model. The model is a "not yet" non-manifold B-Rep. class GModel @@ -53,6 +51,9 @@ class GModel OCC_Internals *_occ_internals; void deleteOCCInternals(); + // Characteristic Lengths fields + FieldManager *_fields; + protected: std::string modelName; std::set<GRegion*, GEntityLessThan> regions; @@ -79,6 +80,9 @@ class GModel GEO_Internals *getGEOInternals(){ return _geo_internals; } OCC_Internals *getOCCInternals(){ return _occ_internals; } + // Access characteristic length fields + FieldManager *getFields(){ return _fields; } + // Get the number of regions in this model. int getNumRegions() const { return regions.size(); } int getNumFaces() const { return faces.size(); } @@ -248,11 +252,6 @@ class GModel // Med interface ("Modele d'Echange de Donnees") int writeMED(const std::string &name); - -#if !defined(HAVE_GMSH_EMBEDDED) - // Characteristic Lengths fields - FieldManager fields; -#endif }; #endif diff --git a/Geo/GModelIO_Geo.cpp b/Geo/GModelIO_Geo.cpp index 13716cb177ab6d8447548954a40495835409bd03..f9e394c94b1743577a1bd7da78163f467d70baab 100644 --- a/Geo/GModelIO_Geo.cpp +++ b/Geo/GModelIO_Geo.cpp @@ -1,4 +1,4 @@ -// $Id: GModelIO_Geo.cpp,v 1.17 2008-03-18 08:41:21 remacle Exp $ +// $Id: GModelIO_Geo.cpp,v 1.18 2008-03-19 17:26:48 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -30,6 +30,7 @@ #include "gmshEdge.h" #include "gmshRegion.h" #include "Parser.h" // for Symbol_T +#include "Field.h" int GModel::readGEO(const std::string &name) { @@ -147,19 +148,21 @@ int GModel::importGEOInternals() return 1; } + class writeFieldOptionGEO{ private : FILE *geo; - Field *field; + Field *field; public : writeFieldOptionGEO(FILE *fp,Field *_field) { geo = fp ? fp : stdout; field=_field;} void operator() (std::pair<const char *,FieldOption *> it) { - std::string v; - it.second->get_text_representation(v); - fprintf(geo,"Field[%i].%s = %s;\n",field->id,it.first,v.c_str()); - } + std::string v; + it.second->get_text_representation(v); + fprintf(geo, "Field[%i].%s = %s;\n", field->id, it.first, v.c_str()); + } }; + class writeFieldGEO{ private : FILE *geo; @@ -167,9 +170,10 @@ class writeFieldGEO{ writeFieldGEO(FILE *fp) { geo = fp ? fp : stdout; } void operator() (std::pair<int, Field *> it) { - fprintf(geo,"Field[%i] = %s;\n",it.first,it.second->get_name()); - std::for_each(it.second->options.begin(),it.second->options.end(),writeFieldOptionGEO(geo,it.second)); - } + fprintf(geo, "Field[%i] = %s;\n", it.first, it.second->get_name()); + std::for_each(it.second->options.begin(), it.second->options.end(), + writeFieldOptionGEO(geo, it.second)); + } }; class writeGVertexGEO { @@ -432,9 +436,11 @@ int GModel::writeGEO(const std::string &name, bool printLabels) for(int i = 0; i < 4; i++) std::for_each(groups[i].begin(), groups[i].end(), writePhysicalGroupGEO(fp, i, printLabels, labels, physicalNames)); + + std::for_each(getFields()->begin(), getFields()->end(), writeFieldGEO(fp)); + if(getFields()->background_field > 0) + fprintf(fp, "Background Field = %i;\n", getFields()->background_field); - std::for_each(fields.begin(),fields.end(), writeFieldGEO(fp)); - if(fields.background_field>0)fprintf(fp,"Background Field = %i;\n",fields.background_field); if(fp) fclose(fp); return 1; } diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp index 7a2fc434011486db7ed9347f51601c08349a4871..321c9cd981e9aba5b012108f880032a5fdc019a0 100644 --- a/Geo/Geo.cpp +++ b/Geo/Geo.cpp @@ -1,4 +1,4 @@ -// $Id: Geo.cpp,v 1.107 2008-03-18 08:41:21 remacle Exp $ +// $Id: Geo.cpp,v 1.108 2008-03-19 17:26:48 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -28,6 +28,7 @@ #include "GModel.h" #include "GeoInterpolation.h" #include "Parser.h" +#include "Field.h" #include "Context.h" extern Context_T CTX; @@ -718,7 +719,7 @@ int NEWVOLUME(void) int NEWFIELD(void) { - return (GModel::current()->fields.max_id()+1); + return (GModel::current()->getFields()->max_id() + 1); } int NEWPHYSICAL(void) diff --git a/Mesh/BackgroundMesh.cpp b/Mesh/BackgroundMesh.cpp index aa0683f257c35a95cd7e91488fbf4ab41e131ac4..6ca9d79272bd1816c2c73150624379a53d45a59a 100644 --- a/Mesh/BackgroundMesh.cpp +++ b/Mesh/BackgroundMesh.cpp @@ -1,4 +1,4 @@ -// $Id: BackgroundMesh.cpp,v 1.42 2008-03-18 18:46:47 remacle Exp $ +// $Id: BackgroundMesh.cpp,v 1.43 2008-03-19 17:26:48 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -35,8 +35,7 @@ extern Context_T CTX; bool BGMExists() { - FieldManager &fields=GModel::current()->fields; - return (fields.background_field>0); + return (GModel::current()->getFields()->background_field > 0); } void BGMReset() @@ -168,7 +167,7 @@ double BGM_MeshSize(GEntity *ge, double U, double V, double X, double Y, double double l3 = CTX.lc; double l4 = MAX_LC; double lc; - FieldManager &fields=GModel::current()->fields; + FieldManager &fields=*GModel::current()->getFields(); if(fields.background_field>0){ Field *f=fields.get(fields.background_field); if(f) l4=(*f)(X,Y,Z); @@ -203,7 +202,7 @@ double BGM_MeshSize(GEntity *ge, double U, double V, double X, double Y, double // we do it also if CTX.mesh.constrained_bgmesh is true; bool Extend1dMeshIn2dSurfaces() { - if(GModel::current()->fields.background_field==-1)return true; + if(GModel::current()->getFields()->background_field==-1)return true; if(CTX.mesh.constrained_bgmesh) return true; return false; } diff --git a/Mesh/Field.cpp b/Mesh/Field.cpp index 6f1661a0aa12060baffaa401975c383e1702b9cc..32555f7e8703d603955195455402eccf7b01fe98 100644 --- a/Mesh/Field.cpp +++ b/Mesh/Field.cpp @@ -1,4 +1,4 @@ -// $Id: Field.cpp,v 1.20 2008-03-19 08:57:35 remacle Exp $ +// $Id: Field.cpp,v 1.21 2008-03-19 17:26:48 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -261,7 +261,7 @@ public: } const char *get_name(){return "LonLat";} double operator()(double x, double y, double z){ - return (*GModel::current()->fields.get(field_id))(atan2(x,y),asin(z / sqrt(x * x + y * y + z * z)), 0); + return (*GModel::current()->getFields()->get(field_id))(atan2(x,y),asin(z / sqrt(x * x + y * y + z * z)), 0); } FieldDialogBox *&dialog_box(){ static FieldDialogBox *dialogBox=NULL; @@ -315,7 +315,7 @@ class ThresholdField : public Field{ options["LcMax"]=new FieldOptionDouble(lcmax); } double operator()(double x, double y, double z){ - Field *field=GModel::current()->fields.get(iField); + Field *field=GModel::current()->getFields()->get(iField); double r = ((*field)(x, y, z) - dmin) / (dmax - dmin); r = std::max(std::min(r, 1.), 0.); double lc = lcmin * (1 - r) + lcmax * r; @@ -341,7 +341,7 @@ class GradientField : public Field{ options["Delta"]=new FieldOptionDouble(delta); } double operator()(double x, double y, double z){ - Field *field=GModel::current()->fields.get(iField); + Field *field=GModel::current()->getFields()->get(iField); double gx, gy, gz; switch(kind){ case 0 : /* x */ @@ -387,7 +387,7 @@ class MathEvalExpression{ case -2: values[i]=y; break; case -3: values[i]=z; break; default: { - f=GModel::current()->fields.get(evaluators_id[i]); + f=GModel::current()->getFields()->get(evaluators_id[i]); values[i] = f ? (*f)(x,y,z) : MAX_LC; } } @@ -477,7 +477,7 @@ class ParametricField : public Field{ } update_needed=false; } - return (*GModel::current()->fields.get(ifield))(expr[0].evaluate(x,y,z),expr[1].evaluate(x,y,z),expr[2].evaluate(x,y,z)); + return (*GModel::current()->getFields()->get(ifield))(expr[0].evaluate(x,y,z),expr[1].evaluate(x,y,z),expr[2].evaluate(x,y,z)); } FieldDialogBox *&dialog_box(){ static FieldDialogBox *dialogBox=NULL; @@ -550,7 +550,7 @@ class MinField : public Field{ double operator()(double x, double y, double z){ double v=MAX_LC; for(std::list<int>::iterator it=idlist.begin();it!=idlist.end();it++){ - Field *f=(GModel::current()->fields.get(*it)); + Field *f=(GModel::current()->getFields()->get(*it)); if(f) v=std::min(v,(*f)(x,y,z)); } @@ -572,7 +572,7 @@ class MaxField : public Field{ double operator()(double x, double y, double z){ double v=-MAX_LC; for(std::list<int>::iterator it=idlist.begin();it!=idlist.end();it++){ - Field *f=(GModel::current()->fields.get(*it)); + Field *f=(GModel::current()->getFields()->get(*it)); if(f) v=std::max(v,(*f)(x,y,z)); } diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 8a04ecded1b53f3561a8bd3c37243c5a024394a7..af6df7ce46cd6145bb59de07d6a931d972b0cc0c 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -324,7 +324,7 @@ /* Copy the first part of user declarations. */ #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.351 2008-03-18 11:33:04 remacle Exp $ +// $Id: Gmsh.tab.cpp,v 1.352 2008-03-19 17:26:49 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -431,7 +431,7 @@ typedef union YYSTYPE Shape s; List_T *l; } -/* Line 187 of yacc.c. */ +/* Line 193 of yacc.c. */ #line 436 "Gmsh.tab.cpp" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -495,7 +495,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if YYENABLE_NLS +# if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -660,7 +660,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 6361 +#define YYLAST 6241 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 143 @@ -669,7 +669,7 @@ union yyalloc /* YYNRULES -- Number of rules. */ #define YYNRULES 350 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1242 +#define YYNSTATES 1244 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -734,34 +734,34 @@ static const yytype_uint16 yyprhs[] = 183, 192, 207, 208, 215, 217, 219, 221, 223, 225, 227, 229, 234, 242, 252, 259, 266, 270, 277, 282, 289, 299, 306, 316, 322, 331, 340, 352, 359, 369, - 375, 383, 393, 403, 413, 423, 433, 435, 437, 445, - 454, 461, 469, 477, 485, 495, 503, 513, 531, 539, - 547, 559, 568, 577, 586, 595, 599, 604, 615, 623, - 631, 640, 649, 658, 666, 675, 681, 693, 699, 709, - 714, 724, 729, 731, 733, 734, 737, 744, 751, 758, - 765, 770, 777, 784, 788, 793, 799, 803, 807, 812, - 817, 821, 829, 837, 841, 849, 853, 856, 859, 875, - 878, 885, 894, 903, 914, 916, 919, 921, 925, 930, - 932, 938, 950, 964, 965, 973, 974, 988, 989, 1005, - 1006, 1013, 1014, 1025, 1034, 1043, 1052, 1065, 1078, 1091, - 1106, 1121, 1136, 1137, 1150, 1151, 1164, 1165, 1178, 1179, - 1196, 1197, 1214, 1215, 1232, 1233, 1252, 1253, 1272, 1273, - 1292, 1294, 1297, 1303, 1311, 1321, 1324, 1334, 1341, 1351, - 1361, 1370, 1380, 1389, 1398, 1405, 1410, 1417, 1428, 1439, - 1450, 1461, 1464, 1466, 1470, 1473, 1476, 1479, 1483, 1487, - 1491, 1495, 1499, 1503, 1507, 1511, 1515, 1519, 1523, 1527, - 1531, 1535, 1541, 1546, 1551, 1556, 1561, 1566, 1571, 1576, - 1581, 1586, 1591, 1598, 1603, 1608, 1613, 1618, 1623, 1628, - 1635, 1642, 1649, 1654, 1659, 1664, 1669, 1674, 1679, 1684, - 1689, 1694, 1699, 1704, 1711, 1716, 1721, 1726, 1731, 1736, - 1741, 1748, 1755, 1762, 1767, 1769, 1771, 1773, 1775, 1777, - 1779, 1781, 1783, 1789, 1794, 1799, 1802, 1808, 1812, 1819, - 1824, 1832, 1839, 1841, 1844, 1847, 1851, 1855, 1867, 1877, - 1885, 1893, 1895, 1899, 1901, 1903, 1906, 1910, 1915, 1921, - 1924, 1928, 1932, 1938, 1943, 1945, 1947, 1951, 1958, 1960, - 1962, 1966, 1970, 1980, 1988, 1990, 1996, 2000, 2007, 2009, - 2013, 2015, 2017, 2019, 2021, 2028, 2033, 2038, 2043, 2050, - 2057 + 375, 383, 393, 403, 415, 425, 435, 437, 439, 447, + 456, 463, 471, 479, 487, 497, 505, 515, 533, 541, + 549, 561, 570, 579, 588, 597, 601, 606, 617, 625, + 633, 642, 651, 660, 668, 677, 683, 695, 701, 711, + 716, 726, 731, 733, 735, 736, 739, 746, 753, 760, + 767, 772, 779, 786, 790, 795, 801, 805, 809, 814, + 819, 823, 831, 839, 843, 851, 855, 858, 861, 877, + 880, 887, 896, 905, 916, 918, 921, 923, 927, 932, + 934, 940, 952, 966, 967, 975, 976, 990, 991, 1007, + 1008, 1015, 1016, 1027, 1036, 1045, 1054, 1067, 1080, 1093, + 1108, 1123, 1138, 1139, 1152, 1153, 1166, 1167, 1180, 1181, + 1198, 1199, 1216, 1217, 1234, 1235, 1254, 1255, 1274, 1275, + 1294, 1296, 1299, 1305, 1313, 1323, 1326, 1336, 1343, 1353, + 1363, 1372, 1382, 1391, 1400, 1407, 1412, 1419, 1430, 1441, + 1452, 1463, 1466, 1468, 1472, 1475, 1478, 1481, 1485, 1489, + 1493, 1497, 1501, 1505, 1509, 1513, 1517, 1521, 1525, 1529, + 1533, 1537, 1543, 1548, 1553, 1558, 1563, 1568, 1573, 1578, + 1583, 1588, 1593, 1600, 1605, 1610, 1615, 1620, 1625, 1630, + 1637, 1644, 1651, 1656, 1661, 1666, 1671, 1676, 1681, 1686, + 1691, 1696, 1701, 1706, 1713, 1718, 1723, 1728, 1733, 1738, + 1743, 1750, 1757, 1764, 1769, 1771, 1773, 1775, 1777, 1779, + 1781, 1783, 1785, 1791, 1796, 1801, 1804, 1810, 1814, 1821, + 1826, 1834, 1841, 1843, 1846, 1849, 1853, 1857, 1869, 1879, + 1887, 1895, 1897, 1901, 1903, 1905, 1908, 1912, 1917, 1923, + 1926, 1930, 1934, 1940, 1945, 1947, 1949, 1953, 1960, 1962, + 1964, 1968, 1972, 1982, 1990, 1992, 1998, 2002, 2009, 2011, + 2015, 2017, 2019, 2021, 2023, 2030, 2035, 2040, 2045, 2052, + 2059 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -808,213 +808,213 @@ static const yytype_int16 yyrhs[] = 4, 6, -1, 100, 135, 198, 136, 137, 4, 7, 198, 6, -1, 100, 135, 198, 136, 137, 4, 7, 210, 6, -1, 100, 135, 198, 136, 137, 4, 7, - 203, 6, -1, 64, 133, 4, 134, 137, 4, 7, - 198, 6, -1, 64, 133, 4, 134, 137, 4, 7, - 210, 6, -1, 198, -1, 210, -1, 43, 133, 198, - 134, 7, 200, 6, -1, 60, 43, 133, 168, 134, - 7, 203, 6, -1, 52, 53, 203, 7, 198, 6, - -1, 46, 133, 198, 134, 7, 203, 6, -1, 50, + 140, 205, 141, 6, -1, 64, 133, 4, 134, 137, + 4, 7, 198, 6, -1, 64, 133, 4, 134, 137, + 4, 7, 210, 6, -1, 198, -1, 210, -1, 43, + 133, 198, 134, 7, 200, 6, -1, 60, 43, 133, + 168, 134, 7, 203, 6, -1, 52, 53, 203, 7, + 198, 6, -1, 46, 133, 198, 134, 7, 203, 6, + -1, 50, 133, 198, 134, 7, 203, 6, -1, 44, 133, 198, 134, 7, 203, 6, -1, 44, 133, 198, - 134, 7, 203, 6, -1, 44, 133, 198, 134, 7, - 203, 56, 200, 6, -1, 45, 133, 198, 134, 7, - 203, 6, -1, 45, 133, 198, 134, 7, 203, 56, - 200, 6, -1, 54, 133, 198, 134, 7, 140, 198, - 139, 198, 139, 5, 139, 5, 139, 5, 141, 6, - -1, 87, 133, 198, 134, 7, 203, 6, -1, 88, - 133, 198, 134, 7, 203, 6, -1, 89, 133, 198, - 134, 7, 203, 91, 203, 90, 198, 6, -1, 46, - 71, 133, 198, 134, 7, 203, 6, -1, 60, 46, - 133, 168, 134, 7, 203, 6, -1, 56, 49, 133, - 198, 134, 7, 203, 6, -1, 57, 49, 133, 198, - 134, 7, 203, 6, -1, 12, 13, 6, -1, 13, - 49, 198, 6, -1, 54, 49, 133, 198, 134, 7, - 5, 5, 5, 6, -1, 47, 133, 198, 134, 7, - 203, 6, -1, 48, 133, 198, 134, 7, 203, 6, - -1, 49, 71, 133, 198, 134, 7, 203, 6, -1, - 60, 49, 133, 168, 134, 7, 203, 6, -1, 59, - 51, 133, 198, 134, 7, 203, 6, -1, 51, 133, - 198, 134, 7, 203, 6, -1, 60, 51, 133, 168, - 134, 7, 203, 6, -1, 66, 200, 140, 171, 141, - -1, 65, 140, 200, 139, 200, 139, 198, 141, 140, - 171, 141, -1, 67, 200, 140, 171, 141, -1, 68, - 140, 200, 139, 198, 141, 140, 171, 141, -1, 70, - 140, 171, 141, -1, 76, 46, 140, 205, 141, 49, - 140, 198, 141, -1, 77, 140, 171, 141, -1, 172, - -1, 170, -1, -1, 172, 169, -1, 172, 43, 140, - 205, 141, 6, -1, 172, 46, 140, 205, 141, 6, - -1, 172, 49, 140, 205, 141, 6, -1, 172, 51, - 140, 205, 141, 6, -1, 74, 140, 172, 141, -1, - 74, 100, 135, 198, 136, 6, -1, 74, 4, 135, - 198, 136, 6, -1, 74, 4, 6, -1, 74, 4, - 4, 6, -1, 92, 206, 140, 172, 141, -1, 104, - 209, 6, -1, 105, 209, 6, -1, 104, 140, 172, - 141, -1, 105, 140, 172, 141, -1, 4, 210, 6, - -1, 4, 4, 135, 198, 136, 209, 6, -1, 4, - 4, 4, 135, 198, 136, 6, -1, 4, 198, 6, - -1, 64, 133, 4, 134, 137, 4, 6, -1, 86, - 4, 6, -1, 99, 6, -1, 40, 6, -1, 40, - 140, 198, 139, 198, 139, 198, 139, 198, 139, 198, - 139, 198, 141, 6, -1, 41, 6, -1, 94, 133, - 198, 8, 198, 134, -1, 94, 133, 198, 8, 198, - 8, 198, 134, -1, 94, 4, 95, 140, 198, 8, - 198, 141, -1, 94, 4, 95, 140, 198, 8, 198, - 8, 198, 141, -1, 96, -1, 103, 4, -1, 101, - -1, 102, 4, 6, -1, 97, 133, 198, 134, -1, - 98, -1, 69, 200, 140, 172, 141, -1, 69, 140, - 200, 139, 200, 139, 198, 141, 140, 172, 141, -1, - 69, 140, 200, 139, 200, 139, 200, 139, 198, 141, - 140, 172, 141, -1, -1, 69, 200, 140, 172, 179, - 193, 141, -1, -1, 69, 140, 200, 139, 200, 139, - 198, 141, 140, 172, 180, 193, 141, -1, -1, 69, - 140, 200, 139, 200, 139, 200, 139, 198, 141, 140, - 172, 181, 193, 141, -1, -1, 69, 140, 172, 182, - 193, 141, -1, -1, 69, 4, 135, 198, 136, 140, - 172, 183, 193, 141, -1, 69, 43, 140, 198, 139, - 200, 141, 6, -1, 69, 46, 140, 198, 139, 200, - 141, 6, -1, 69, 49, 140, 198, 139, 200, 141, - 6, -1, 69, 43, 140, 198, 139, 200, 139, 200, - 139, 198, 141, 6, -1, 69, 46, 140, 198, 139, - 200, 139, 200, 139, 198, 141, 6, -1, 69, 49, - 140, 198, 139, 200, 139, 200, 139, 198, 141, 6, + 134, 7, 203, 56, 200, 6, -1, 45, 133, 198, + 134, 7, 203, 6, -1, 45, 133, 198, 134, 7, + 203, 56, 200, 6, -1, 54, 133, 198, 134, 7, + 140, 198, 139, 198, 139, 5, 139, 5, 139, 5, + 141, 6, -1, 87, 133, 198, 134, 7, 203, 6, + -1, 88, 133, 198, 134, 7, 203, 6, -1, 89, + 133, 198, 134, 7, 203, 91, 203, 90, 198, 6, + -1, 46, 71, 133, 198, 134, 7, 203, 6, -1, + 60, 46, 133, 168, 134, 7, 203, 6, -1, 56, + 49, 133, 198, 134, 7, 203, 6, -1, 57, 49, + 133, 198, 134, 7, 203, 6, -1, 12, 13, 6, + -1, 13, 49, 198, 6, -1, 54, 49, 133, 198, + 134, 7, 5, 5, 5, 6, -1, 47, 133, 198, + 134, 7, 203, 6, -1, 48, 133, 198, 134, 7, + 203, 6, -1, 49, 71, 133, 198, 134, 7, 203, + 6, -1, 60, 49, 133, 168, 134, 7, 203, 6, + -1, 59, 51, 133, 198, 134, 7, 203, 6, -1, + 51, 133, 198, 134, 7, 203, 6, -1, 60, 51, + 133, 168, 134, 7, 203, 6, -1, 66, 200, 140, + 171, 141, -1, 65, 140, 200, 139, 200, 139, 198, + 141, 140, 171, 141, -1, 67, 200, 140, 171, 141, + -1, 68, 140, 200, 139, 198, 141, 140, 171, 141, + -1, 70, 140, 171, 141, -1, 76, 46, 140, 205, + 141, 49, 140, 198, 141, -1, 77, 140, 171, 141, + -1, 172, -1, 170, -1, -1, 172, 169, -1, 172, + 43, 140, 205, 141, 6, -1, 172, 46, 140, 205, + 141, 6, -1, 172, 49, 140, 205, 141, 6, -1, + 172, 51, 140, 205, 141, 6, -1, 74, 140, 172, + 141, -1, 74, 100, 135, 198, 136, 6, -1, 74, + 4, 135, 198, 136, 6, -1, 74, 4, 6, -1, + 74, 4, 4, 6, -1, 92, 206, 140, 172, 141, + -1, 104, 209, 6, -1, 105, 209, 6, -1, 104, + 140, 172, 141, -1, 105, 140, 172, 141, -1, 4, + 210, 6, -1, 4, 4, 135, 198, 136, 209, 6, + -1, 4, 4, 4, 135, 198, 136, 6, -1, 4, + 198, 6, -1, 64, 133, 4, 134, 137, 4, 6, + -1, 86, 4, 6, -1, 99, 6, -1, 40, 6, + -1, 40, 140, 198, 139, 198, 139, 198, 139, 198, + 139, 198, 139, 198, 141, 6, -1, 41, 6, -1, + 94, 133, 198, 8, 198, 134, -1, 94, 133, 198, + 8, 198, 8, 198, 134, -1, 94, 4, 95, 140, + 198, 8, 198, 141, -1, 94, 4, 95, 140, 198, + 8, 198, 8, 198, 141, -1, 96, -1, 103, 4, + -1, 101, -1, 102, 4, 6, -1, 97, 133, 198, + 134, -1, 98, -1, 69, 200, 140, 172, 141, -1, + 69, 140, 200, 139, 200, 139, 198, 141, 140, 172, + 141, -1, 69, 140, 200, 139, 200, 139, 200, 139, + 198, 141, 140, 172, 141, -1, -1, 69, 200, 140, + 172, 179, 193, 141, -1, -1, 69, 140, 200, 139, + 200, 139, 198, 141, 140, 172, 180, 193, 141, -1, + -1, 69, 140, 200, 139, 200, 139, 200, 139, 198, + 141, 140, 172, 181, 193, 141, -1, -1, 69, 140, + 172, 182, 193, 141, -1, -1, 69, 4, 135, 198, + 136, 140, 172, 183, 193, 141, -1, 69, 43, 140, + 198, 139, 200, 141, 6, -1, 69, 46, 140, 198, + 139, 200, 141, 6, -1, 69, 49, 140, 198, 139, + 200, 141, 6, -1, 69, 43, 140, 198, 139, 200, + 139, 200, 139, 198, 141, 6, -1, 69, 46, 140, + 198, 139, 200, 139, 200, 139, 198, 141, 6, -1, + 69, 49, 140, 198, 139, 200, 139, 200, 139, 198, + 141, 6, -1, 69, 43, 140, 198, 139, 200, 139, + 200, 139, 200, 139, 198, 141, 6, -1, 69, 46, + 140, 198, 139, 200, 139, 200, 139, 200, 139, 198, + 141, 6, -1, 69, 49, 140, 198, 139, 200, 139, + 200, 139, 200, 139, 198, 141, 6, -1, -1, 69, + 43, 140, 198, 139, 200, 141, 184, 140, 193, 141, + 6, -1, -1, 69, 46, 140, 198, 139, 200, 141, + 185, 140, 193, 141, 6, -1, -1, 69, 49, 140, + 198, 139, 200, 141, 186, 140, 193, 141, 6, -1, -1, 69, 43, 140, 198, 139, 200, 139, 200, 139, - 200, 139, 198, 141, 6, -1, 69, 46, 140, 198, - 139, 200, 139, 200, 139, 200, 139, 198, 141, 6, - -1, 69, 49, 140, 198, 139, 200, 139, 200, 139, - 200, 139, 198, 141, 6, -1, -1, 69, 43, 140, - 198, 139, 200, 141, 184, 140, 193, 141, 6, -1, - -1, 69, 46, 140, 198, 139, 200, 141, 185, 140, + 198, 141, 187, 140, 193, 141, 6, -1, -1, 69, + 46, 140, 198, 139, 200, 139, 200, 139, 198, 141, + 188, 140, 193, 141, 6, -1, -1, 69, 49, 140, + 198, 139, 200, 139, 200, 139, 198, 141, 189, 140, + 193, 141, 6, -1, -1, 69, 43, 140, 198, 139, + 200, 139, 200, 139, 200, 139, 198, 141, 190, 140, + 193, 141, 6, -1, -1, 69, 46, 140, 198, 139, + 200, 139, 200, 139, 200, 139, 198, 141, 191, 140, 193, 141, 6, -1, -1, 69, 49, 140, 198, 139, - 200, 141, 186, 140, 193, 141, 6, -1, -1, 69, - 43, 140, 198, 139, 200, 139, 200, 139, 198, 141, - 187, 140, 193, 141, 6, -1, -1, 69, 46, 140, - 198, 139, 200, 139, 200, 139, 198, 141, 188, 140, - 193, 141, 6, -1, -1, 69, 49, 140, 198, 139, - 200, 139, 200, 139, 198, 141, 189, 140, 193, 141, - 6, -1, -1, 69, 43, 140, 198, 139, 200, 139, - 200, 139, 200, 139, 198, 141, 190, 140, 193, 141, - 6, -1, -1, 69, 46, 140, 198, 139, 200, 139, - 200, 139, 200, 139, 198, 141, 191, 140, 193, 141, - 6, -1, -1, 69, 49, 140, 198, 139, 200, 139, - 200, 139, 200, 139, 198, 141, 192, 140, 193, 141, - 6, -1, 194, -1, 193, 194, -1, 78, 140, 198, - 141, 6, -1, 78, 140, 203, 139, 203, 141, 6, - -1, 78, 140, 203, 139, 203, 139, 203, 141, 6, - -1, 72, 6, -1, 79, 133, 198, 134, 7, 203, - 61, 198, 6, -1, 58, 46, 203, 7, 198, 6, - -1, 58, 46, 203, 7, 198, 61, 63, 198, 6, - -1, 58, 46, 203, 7, 198, 61, 62, 198, 6, - -1, 58, 49, 140, 198, 141, 7, 203, 6, -1, - 58, 49, 140, 198, 141, 7, 203, 4, 6, -1, - 55, 49, 140, 198, 141, 7, 203, 6, -1, 58, - 51, 140, 198, 141, 7, 203, 6, -1, 72, 49, - 203, 7, 198, 6, -1, 72, 49, 203, 6, -1, - 73, 49, 203, 7, 198, 6, -1, 43, 140, 205, - 141, 95, 49, 140, 198, 141, 6, -1, 46, 140, - 205, 141, 95, 49, 140, 198, 141, 6, -1, 46, - 140, 205, 141, 95, 51, 140, 198, 141, 6, -1, - 49, 140, 205, 141, 95, 51, 140, 198, 141, 6, - -1, 75, 6, -1, 199, -1, 133, 198, 134, -1, - 124, 198, -1, 123, 198, -1, 128, 198, -1, 198, - 124, 198, -1, 198, 123, 198, -1, 198, 125, 198, - -1, 198, 126, 198, -1, 198, 127, 198, -1, 198, - 132, 198, -1, 198, 119, 198, -1, 198, 120, 198, - -1, 198, 122, 198, -1, 198, 121, 198, -1, 198, - 118, 198, -1, 198, 117, 198, -1, 198, 116, 198, - -1, 198, 115, 198, -1, 198, 114, 198, 8, 198, - -1, 14, 133, 198, 134, -1, 15, 133, 198, 134, - -1, 16, 133, 198, 134, -1, 17, 133, 198, 134, - -1, 18, 133, 198, 134, -1, 19, 133, 198, 134, - -1, 20, 133, 198, 134, -1, 21, 133, 198, 134, - -1, 22, 133, 198, 134, -1, 24, 133, 198, 134, - -1, 25, 133, 198, 139, 198, 134, -1, 26, 133, - 198, 134, -1, 27, 133, 198, 134, -1, 28, 133, - 198, 134, -1, 29, 133, 198, 134, -1, 30, 133, - 198, 134, -1, 31, 133, 198, 134, -1, 32, 133, - 198, 139, 198, 134, -1, 33, 133, 198, 139, 198, - 134, -1, 34, 133, 198, 139, 198, 134, -1, 23, - 133, 198, 134, -1, 14, 135, 198, 136, -1, 15, - 135, 198, 136, -1, 16, 135, 198, 136, -1, 17, - 135, 198, 136, -1, 18, 135, 198, 136, -1, 19, - 135, 198, 136, -1, 20, 135, 198, 136, -1, 21, - 135, 198, 136, -1, 22, 135, 198, 136, -1, 24, - 135, 198, 136, -1, 25, 135, 198, 139, 198, 136, - -1, 26, 135, 198, 136, -1, 27, 135, 198, 136, - -1, 28, 135, 198, 136, -1, 29, 135, 198, 136, - -1, 30, 135, 198, 136, -1, 31, 135, 198, 136, - -1, 32, 135, 198, 139, 198, 136, -1, 33, 135, - 198, 139, 198, 136, -1, 34, 135, 198, 139, 198, - 136, -1, 23, 135, 198, 136, -1, 3, -1, 9, - -1, 10, -1, 11, -1, 107, -1, 108, -1, 109, - -1, 4, -1, 4, 142, 140, 198, 141, -1, 4, - 135, 198, 136, -1, 138, 4, 135, 136, -1, 4, - 166, -1, 4, 135, 198, 136, 166, -1, 4, 137, - 4, -1, 4, 135, 198, 136, 137, 4, -1, 4, - 137, 4, 166, -1, 4, 135, 198, 136, 137, 4, - 166, -1, 106, 133, 5, 139, 198, 134, -1, 201, - -1, 124, 200, -1, 123, 200, -1, 200, 124, 200, - -1, 200, 123, 200, -1, 140, 198, 139, 198, 139, - 198, 139, 198, 139, 198, 141, -1, 140, 198, 139, - 198, 139, 198, 139, 198, 141, -1, 140, 198, 139, - 198, 139, 198, 141, -1, 133, 198, 139, 198, 139, - 198, 134, -1, 203, -1, 202, 139, 203, -1, 198, - -1, 204, -1, 140, 141, -1, 140, 205, 141, -1, - 124, 140, 205, 141, -1, 198, 125, 140, 205, 141, - -1, 124, 204, -1, 198, 125, 204, -1, 198, 8, - 198, -1, 198, 8, 198, 8, 198, -1, 43, 140, - 198, 141, -1, 170, -1, 178, -1, 4, 135, 136, - -1, 4, 135, 140, 205, 141, 136, -1, 198, -1, - 204, -1, 205, 139, 198, -1, 205, 139, 204, -1, - 140, 198, 139, 198, 139, 198, 139, 198, 141, -1, - 140, 198, 139, 198, 139, 198, 141, -1, 4, -1, - 4, 137, 92, 137, 4, -1, 140, 208, 141, -1, - 4, 135, 198, 136, 137, 93, -1, 206, -1, 208, - 139, 206, -1, 210, -1, 4, -1, 5, -1, 42, - -1, 37, 133, 209, 139, 209, 134, -1, 38, 133, - 209, 134, -1, 39, 133, 209, 134, -1, 36, 133, - 209, 134, -1, 36, 133, 209, 139, 205, 134, -1, - 36, 133, 4, 137, 4, 134, -1, 36, 133, 4, - 135, 198, 136, 137, 4, 134, -1 + 200, 139, 200, 139, 200, 139, 198, 141, 192, 140, + 193, 141, 6, -1, 194, -1, 193, 194, -1, 78, + 140, 198, 141, 6, -1, 78, 140, 203, 139, 203, + 141, 6, -1, 78, 140, 203, 139, 203, 139, 203, + 141, 6, -1, 72, 6, -1, 79, 133, 198, 134, + 7, 203, 61, 198, 6, -1, 58, 46, 203, 7, + 198, 6, -1, 58, 46, 203, 7, 198, 61, 63, + 198, 6, -1, 58, 46, 203, 7, 198, 61, 62, + 198, 6, -1, 58, 49, 140, 198, 141, 7, 203, + 6, -1, 58, 49, 140, 198, 141, 7, 203, 4, + 6, -1, 55, 49, 140, 198, 141, 7, 203, 6, + -1, 58, 51, 140, 198, 141, 7, 203, 6, -1, + 72, 49, 203, 7, 198, 6, -1, 72, 49, 203, + 6, -1, 73, 49, 203, 7, 198, 6, -1, 43, + 140, 205, 141, 95, 49, 140, 198, 141, 6, -1, + 46, 140, 205, 141, 95, 49, 140, 198, 141, 6, + -1, 46, 140, 205, 141, 95, 51, 140, 198, 141, + 6, -1, 49, 140, 205, 141, 95, 51, 140, 198, + 141, 6, -1, 75, 6, -1, 199, -1, 133, 198, + 134, -1, 124, 198, -1, 123, 198, -1, 128, 198, + -1, 198, 124, 198, -1, 198, 123, 198, -1, 198, + 125, 198, -1, 198, 126, 198, -1, 198, 127, 198, + -1, 198, 132, 198, -1, 198, 119, 198, -1, 198, + 120, 198, -1, 198, 122, 198, -1, 198, 121, 198, + -1, 198, 118, 198, -1, 198, 117, 198, -1, 198, + 116, 198, -1, 198, 115, 198, -1, 198, 114, 198, + 8, 198, -1, 14, 133, 198, 134, -1, 15, 133, + 198, 134, -1, 16, 133, 198, 134, -1, 17, 133, + 198, 134, -1, 18, 133, 198, 134, -1, 19, 133, + 198, 134, -1, 20, 133, 198, 134, -1, 21, 133, + 198, 134, -1, 22, 133, 198, 134, -1, 24, 133, + 198, 134, -1, 25, 133, 198, 139, 198, 134, -1, + 26, 133, 198, 134, -1, 27, 133, 198, 134, -1, + 28, 133, 198, 134, -1, 29, 133, 198, 134, -1, + 30, 133, 198, 134, -1, 31, 133, 198, 134, -1, + 32, 133, 198, 139, 198, 134, -1, 33, 133, 198, + 139, 198, 134, -1, 34, 133, 198, 139, 198, 134, + -1, 23, 133, 198, 134, -1, 14, 135, 198, 136, + -1, 15, 135, 198, 136, -1, 16, 135, 198, 136, + -1, 17, 135, 198, 136, -1, 18, 135, 198, 136, + -1, 19, 135, 198, 136, -1, 20, 135, 198, 136, + -1, 21, 135, 198, 136, -1, 22, 135, 198, 136, + -1, 24, 135, 198, 136, -1, 25, 135, 198, 139, + 198, 136, -1, 26, 135, 198, 136, -1, 27, 135, + 198, 136, -1, 28, 135, 198, 136, -1, 29, 135, + 198, 136, -1, 30, 135, 198, 136, -1, 31, 135, + 198, 136, -1, 32, 135, 198, 139, 198, 136, -1, + 33, 135, 198, 139, 198, 136, -1, 34, 135, 198, + 139, 198, 136, -1, 23, 135, 198, 136, -1, 3, + -1, 9, -1, 10, -1, 11, -1, 107, -1, 108, + -1, 109, -1, 4, -1, 4, 142, 140, 198, 141, + -1, 4, 135, 198, 136, -1, 138, 4, 135, 136, + -1, 4, 166, -1, 4, 135, 198, 136, 166, -1, + 4, 137, 4, -1, 4, 135, 198, 136, 137, 4, + -1, 4, 137, 4, 166, -1, 4, 135, 198, 136, + 137, 4, 166, -1, 106, 133, 5, 139, 198, 134, + -1, 201, -1, 124, 200, -1, 123, 200, -1, 200, + 124, 200, -1, 200, 123, 200, -1, 140, 198, 139, + 198, 139, 198, 139, 198, 139, 198, 141, -1, 140, + 198, 139, 198, 139, 198, 139, 198, 141, -1, 140, + 198, 139, 198, 139, 198, 141, -1, 133, 198, 139, + 198, 139, 198, 134, -1, 203, -1, 202, 139, 203, + -1, 198, -1, 204, -1, 140, 141, -1, 140, 205, + 141, -1, 124, 140, 205, 141, -1, 198, 125, 140, + 205, 141, -1, 124, 204, -1, 198, 125, 204, -1, + 198, 8, 198, -1, 198, 8, 198, 8, 198, -1, + 43, 140, 198, 141, -1, 170, -1, 178, -1, 4, + 135, 136, -1, 4, 135, 140, 205, 141, 136, -1, + 198, -1, 204, -1, 205, 139, 198, -1, 205, 139, + 204, -1, 140, 198, 139, 198, 139, 198, 139, 198, + 141, -1, 140, 198, 139, 198, 139, 198, 141, -1, + 4, -1, 4, 137, 92, 137, 4, -1, 140, 208, + 141, -1, 4, 135, 198, 136, 137, 93, -1, 206, + -1, 208, 139, 206, -1, 210, -1, 4, -1, 5, + -1, 42, -1, 37, 133, 209, 139, 209, 134, -1, + 38, 133, 209, 134, -1, 39, 133, 209, 134, -1, + 36, 133, 209, 134, -1, 36, 133, 209, 139, 205, + 134, -1, 36, 133, 4, 137, 4, 134, -1, 36, + 133, 4, 135, 198, 136, 137, 4, 134, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 146, 146, 147, 152, 154, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 175, 179, 186, 191, 206, 219, 248, 265, 274, 287, - 290, 291, 292, 293, 294, 298, 300, 305, 307, 313, - 457, 312, 471, 476, 485, 484, 499, 504, 513, 512, - 526, 531, 542, 541, 553, 554, 555, 556, 557, 561, - 562, 569, 600, 639, 693, 710, 728, 739, 756, 763, - 778, 796, 822, 849, 863, 880, 895, 913, 933, 953, - 961, 966, 980, 993, 1011, 1021, 1036, 1040, 1053, 1075, - 1091, 1113, 1131, 1149, 1167, 1193, 1211, 1237, 1257, 1275, - 1293, 1319, 1336, 1355, 1373, 1411, 1417, 1423, 1430, 1454, - 1478, 1494, 1514, 1531, 1548, 1569, 1574, 1579, 1584, 1589, - 1600, 1606, 1615, 1616, 1621, 1624, 1628, 1651, 1674, 1697, - 1725, 1734, 1737, 1750, 1766, 1781, 1795, 1801, 1807, 1816, - 1830, 1878, 1894, 1908, 1927, 1937, 1959, 1963, 1968, 1973, - 1985, 2002, 2019, 2046, 2073, 2104, 2112, 2118, 2125, 2129, - 2138, 2146, 2154, 2163, 2162, 2175, 2174, 2187, 2186, 2199, - 2198, 2210, 2209, 2225, 2232, 2239, 2246, 2253, 2260, 2267, - 2274, 2281, 2289, 2288, 2300, 2299, 2311, 2310, 2322, 2321, - 2333, 2332, 2344, 2343, 2355, 2354, 2366, 2365, 2377, 2376, - 2391, 2394, 2400, 2409, 2429, 2452, 2456, 2480, 2498, 2516, - 2534, 2563, 2598, 2603, 2630, 2644, 2657, 2674, 2680, 2686, - 2689, 2698, 2708, 2709, 2710, 2711, 2712, 2713, 2714, 2715, - 2716, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, - 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2741, - 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, - 2752, 2753, 2754, 2756, 2757, 2758, 2759, 2760, 2761, 2762, - 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, - 2773, 2774, 2775, 2776, 2785, 2786, 2787, 2788, 2789, 2790, - 2791, 2795, 2811, 2826, 2846, 2859, 2872, 2895, 2913, 2931, - 2949, 2967, 2975, 2979, 2983, 2987, 2991, 2998, 3002, 3006, - 3010, 3017, 3022, 3030, 3035, 3039, 3044, 3048, 3056, 3067, - 3075, 3083, 3089, 3100, 3120, 3130, 3140, 3157, 3184, 3189, - 3193, 3197, 3210, 3214, 3226, 3233, 3254, 3258, 3273, 3278, - 3285, 3289, 3296, 3300, 3308, 3316, 3330, 3344, 3348, 3367, - 3390 + 0, 145, 145, 146, 151, 153, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 174, 178, 185, 190, 205, 218, 247, 264, 273, 286, + 289, 290, 291, 292, 293, 297, 299, 304, 306, 312, + 456, 311, 470, 475, 484, 483, 498, 503, 512, 511, + 525, 530, 541, 540, 552, 553, 554, 555, 556, 560, + 561, 568, 599, 638, 692, 709, 727, 738, 755, 762, + 777, 795, 821, 848, 862, 879, 894, 912, 932, 955, + 964, 969, 988, 1007, 1031, 1041, 1056, 1060, 1073, 1095, + 1111, 1133, 1151, 1169, 1187, 1213, 1231, 1257, 1277, 1295, + 1313, 1339, 1356, 1375, 1393, 1431, 1437, 1443, 1450, 1474, + 1498, 1514, 1534, 1551, 1568, 1589, 1594, 1599, 1604, 1609, + 1620, 1626, 1635, 1636, 1641, 1644, 1648, 1671, 1694, 1717, + 1745, 1754, 1757, 1770, 1786, 1801, 1815, 1821, 1827, 1836, + 1850, 1898, 1914, 1928, 1947, 1957, 1979, 1983, 1988, 1993, + 2005, 2022, 2039, 2066, 2093, 2124, 2132, 2138, 2145, 2149, + 2158, 2166, 2174, 2183, 2182, 2195, 2194, 2207, 2206, 2219, + 2218, 2230, 2229, 2245, 2252, 2259, 2266, 2273, 2280, 2287, + 2294, 2301, 2309, 2308, 2320, 2319, 2331, 2330, 2342, 2341, + 2353, 2352, 2364, 2363, 2375, 2374, 2386, 2385, 2397, 2396, + 2411, 2414, 2420, 2429, 2449, 2472, 2476, 2500, 2518, 2536, + 2554, 2583, 2618, 2623, 2650, 2664, 2677, 2694, 2700, 2706, + 2709, 2718, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, + 2736, 2743, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, + 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, + 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, + 2772, 2773, 2774, 2776, 2777, 2778, 2779, 2780, 2781, 2782, + 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, + 2793, 2794, 2795, 2796, 2805, 2806, 2807, 2808, 2809, 2810, + 2811, 2815, 2831, 2846, 2866, 2879, 2892, 2915, 2933, 2951, + 2969, 2987, 2995, 2999, 3003, 3007, 3011, 3018, 3022, 3026, + 3030, 3037, 3042, 3050, 3055, 3059, 3064, 3068, 3076, 3087, + 3095, 3103, 3109, 3120, 3140, 3150, 3160, 3177, 3204, 3209, + 3213, 3217, 3230, 3234, 3246, 3253, 3274, 3278, 3293, 3298, + 3305, 3309, 3316, 3320, 3328, 3336, 3350, 3364, 3368, 3387, + 3410 }; #endif @@ -1137,7 +1137,7 @@ static const yytype_uint8 yyr2[] = 8, 14, 0, 6, 1, 1, 1, 1, 1, 1, 1, 4, 7, 9, 6, 6, 3, 6, 4, 6, 9, 6, 9, 5, 8, 8, 11, 6, 9, 5, - 7, 9, 9, 9, 9, 9, 1, 1, 7, 8, + 7, 9, 9, 11, 9, 9, 1, 1, 7, 8, 6, 7, 7, 7, 9, 7, 9, 17, 7, 7, 11, 8, 8, 8, 8, 3, 4, 10, 7, 7, 8, 8, 8, 7, 8, 5, 11, 5, 9, 4, @@ -1279,180 +1279,180 @@ static const yytype_uint16 yydefact[] = 72, 0, 78, 0, 25, 0, 0, 94, 96, 0, 0, 0, 0, 0, 209, 208, 211, 84, 85, 124, 0, 118, 0, 0, 0, 0, 0, 0, 0, 202, - 0, 0, 124, 0, 120, 0, 0, 0, 81, 83, + 0, 0, 124, 0, 120, 0, 0, 0, 0, 81, 82, 0, 36, 0, 0, 0, 38, 53, 350, 0, 337, 0, 217, 218, 219, 220, 107, 0, 0, 0, 308, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 332, 153, 0, - 0, 0, 0, 76, 0, 0, 116, 0, 188, 0, - 0, 190, 0, 0, 192, 0, 0, 0, 203, 0, - 161, 0, 124, 100, 0, 44, 0, 50, 0, 0, - 0, 307, 176, 0, 0, 183, 177, 0, 0, 185, - 178, 0, 0, 187, 0, 0, 0, 167, 0, 0, - 0, 0, 0, 0, 0, 194, 0, 196, 0, 198, - 204, 206, 166, 162, 0, 41, 0, 48, 0, 0, - 0, 0, 179, 0, 0, 180, 0, 0, 181, 0, - 0, 0, 42, 0, 0, 148, 0, 0, 0, 0, - 0, 0, 0, 168, 0, 0, 0, 0, 0, 189, - 0, 191, 0, 193, 0, 43, 45, 0, 46, 0, - 97, 0, 0, 0, 0, 0, 51, 195, 197, 199, - 47, 49 + 0, 0, 0, 0, 76, 0, 0, 116, 0, 188, + 0, 0, 190, 0, 0, 192, 0, 0, 0, 203, + 0, 161, 0, 124, 100, 83, 0, 44, 0, 50, + 0, 0, 0, 307, 176, 0, 0, 183, 177, 0, + 0, 185, 178, 0, 0, 187, 0, 0, 0, 167, + 0, 0, 0, 0, 0, 0, 0, 194, 0, 196, + 0, 198, 204, 206, 166, 162, 0, 41, 0, 48, + 0, 0, 0, 0, 179, 0, 0, 180, 0, 0, + 181, 0, 0, 0, 42, 0, 0, 148, 0, 0, + 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, + 0, 189, 0, 191, 0, 193, 0, 43, 45, 0, + 46, 0, 97, 0, 0, 0, 0, 0, 51, 195, + 197, 199, 47, 49 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 2, 3, 60, 649, 61, 62, 395, 949, 955, - 574, 735, 1081, 1201, 575, 1169, 1227, 576, 1203, 577, + 574, 735, 1081, 1203, 575, 1171, 1229, 576, 1205, 577, 578, 739, 126, 216, 63, 512, 536, 306, 362, 363, - 66, 67, 68, 69, 70, 307, 712, 1141, 1184, 537, - 1000, 1003, 1006, 1009, 1153, 1157, 1161, 1193, 1196, 1199, + 66, 67, 68, 69, 70, 307, 712, 1142, 1186, 537, + 1000, 1003, 1006, 1009, 1155, 1159, 1163, 1195, 1198, 1201, 708, 709, 72, 73, 74, 324, 129, 342, 171, 852, 853, 326, 310, 197, 644, 768, 208, 209 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -1029 +#define YYPACT_NINF -1033 static const yytype_int16 yypact[] = { - 2852, 30, 42, 2930, -1029, -1029, 2002, 75, 67, -7, - 20, 124, -74, 38, 51, -46, 77, 81, -42, 142, - 160, 122, -28, 138, 253, 256, 502, 265, 78, 204, - 231, -38, -38, 249, 33, 261, 313, 353, 23, 414, - 359, 291, 456, 470, 481, 363, 366, 369, 14, 9, - -1029, 382, -1029, 486, 392, -1029, 528, 532, 12, 19, - -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, - -1029, -1029, -1029, -1029, -1029, -1029, 16, 391, 599, -1029, - -1029, -1029, -55, 64, 189, 225, 323, 335, 442, 448, - 458, 489, 519, 540, 551, 559, 568, 569, 573, 595, - 604, 608, 609, 411, 416, 425, 432, -1029, 555, 455, - -1029, -1029, -1029, -1029, -1029, -1029, -1029, 2207, 2207, 2207, - -1029, -1029, 2207, 1766, 11, 597, 2207, 601, 1933, -1029, - 612, 617, 2207, 621, -1029, 2207, -1029, 2207, 2138, 2207, - 2207, 498, 2207, 2138, 2207, 2207, 514, 2138, 2207, 2207, - 1433, 515, 2207, 513, 525, 534, 1433, 530, 543, 541, - 547, 558, 562, 563, 683, -38, -38, -38, 2207, 2207, - -51, -1029, -23, -38, 553, 570, 577, 580, 1967, 175, - 748, 1433, 1433, 37, 592, -1029, -1029, 610, 748, 616, - 620, 753, 2207, 2207, 2207, 628, 2207, 664, 677, 2207, - 2207, -1029, 2207, 784, -1029, -1029, -1029, -1029, 803, -1029, - -1029, 811, 686, 2207, 826, 694, -1029, -1029, 829, 2207, - 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, - 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, - 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, - 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, - 2207, 710, 790, 790, 790, 2207, 839, 581, 738, 738, - 738, 5242, 55, 2138, 4483, 333, 734, 869, 752, 2311, - -1029, -1029, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207, - 2207, 2207, 2207, 2207, 2207, 2207, 2207, -1029, -1029, 2338, - 129, 3729, 5263, 594, 762, 2138, -1029, -1029, 2069, -1029, - 72, 5284, 5305, 2207, 5326, 227, 5347, 5368, 2207, 354, - 5389, 5410, 1565, 1162, 2653, 873, -1029, 2207, 5431, 2207, - 2207, 2207, 881, 2207, 2207, 2207, 2264, 2264, 2264, 2264, - 758, 197, -1029, -1029, 3755, 3781, -38, -38, 748, 748, - 298, 2207, 2207, 2207, 2207, 1967, 1967, 2207, 2996, 328, - -1029, -1029, 759, 2996, 61, 898, 900, -1029, 2207, 2207, - 953, 2138, 766, 2207, 2207, -1029, 5452, 5473, 5494, 816, - 3807, -1029, 769, 2675, 5515, 4506, -1029, 1339, -1029, 1471, - -1029, 2207, 4529, 264, 2207, 8, -1029, 5536, 4552, 5557, - 4575, 5578, 4598, 5599, 4621, 5620, 4644, 5641, 4667, 5662, - 4690, 5683, 4713, 5704, 4736, 5725, 4759, 5746, 4782, 3833, - 3859, 5767, 4805, 5788, 4828, 5809, 4851, 5830, 4874, 5851, - 4897, 5872, 4920, 3885, 3911, 3937, 3963, 3989, 4015, 459, - 133, 771, 777, 780, 2358, 776, 2207, -1029, 1433, 1433, - 429, 266, 599, 2207, 910, 913, 15, 782, -1029, 2702, - 985, 836, 732, 732, 716, 716, 716, 716, 303, 303, - 738, 738, 738, 738, -1029, 59, 2138, 2207, 912, 1829, - 2207, 738, -1029, 2207, 2138, 2138, 825, 914, 921, 5893, - 923, 837, 924, 926, 5914, 841, 927, 930, 2138, -1029, - 615, 1697, 2207, 5935, 935, 3031, 5956, 5977, 2207, 3059, - 3087, 5998, 810, 6229, -1029, 812, 815, 817, 808, -38, - 2207, 2207, -1029, -1029, 809, 830, 2207, 4943, 4041, 4067, - 4093, 3703, -63, -8, -41, 131, -1029, -34, -38, 1603, - -1029, -1029, 2207, 2207, -1029, 4966, 4989, -1029, 619, -1029, - 5012, 5035, 963, 965, 966, 853, 2207, 1867, 2207, 2207, - -1029, 0, -1029, -1029, 5058, 70, -1029, 3115, -1029, 858, - 875, 834, -1029, 986, -1029, -1029, -1029, -1029, -1029, -1029, - -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, - -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, - -1029, 2207, 2207, -1029, -1029, -1029, -1029, -1029, -1029, -1029, - -1029, -1029, -1029, -1029, -1029, 2207, 2207, 2207, 2207, 2207, - 2207, 2207, 991, -1029, 2138, 790, -1029, -1029, -1029, 2207, - 5081, 1000, 1005, 879, -1029, 18, 2207, 1010, 1012, 2390, - -1029, 1013, 886, 14, 1016, -1029, 2207, -1029, 903, 790, - 169, 4119, -38, -1029, 2138, 3143, 2722, 738, -1029, 2069, - -1029, 975, 1433, 1433, 1018, 1433, 712, 1433, 1433, 1020, - 977, 1433, 1433, 632, -1029, 2138, 2409, 1022, 890, 1025, - 1026, 1027, 862, 1028, 1029, 1030, 1031, 1032, 1036, 1037, - 1041, 330, 4145, 4171, -1029, -1029, 3171, 906, -38, -38, - -38, 2138, 2138, 2138, 2138, 1042, 907, 916, 187, -1029, - 395, -1029, -34, 2433, 2460, 1044, 1045, 1003, 1048, 1049, - 1433, 1433, 1433, 1052, 4197, -1029, 2754, 1092, 1053, 1054, - 1056, 1060, -1029, 1061, -1029, 933, 2207, 2207, 1433, 920, - -1029, 6019, 5104, 6040, 5127, 6061, 5150, 6082, 5173, 5196, - 934, 178, 936, 6103, -84, -1029, -1029, 184, 378, 932, - 1065, 2480, -1029, -1029, -1029, 14, 2207, -1029, 650, -1029, - 6229, -1029, 1067, 63, 2207, 46, 657, -1029, 2207, 937, - 25, 28, 1433, 1068, 938, 941, 1069, 1070, 1433, 942, - 1077, 1078, -1029, 658, -1029, 1080, 2207, 1433, 1433, 1433, - -1029, 34, 1433, 1433, 1433, 1433, 1433, 1433, 1433, 441, - 2207, 2207, 2207, 946, -1029, 222, 233, 259, 662, 671, - 692, 708, -1029, 1433, 2207, -1029, -1029, 1967, 198, -1029, - -1029, -1029, -1029, 948, -1029, -1029, 1083, 1084, 1001, -1029, - 2207, 2207, 2207, -1029, 1085, 1086, -1029, 264, -1029, 2207, - 4223, 4249, 721, -1029, 2207, -1029, -1029, -1029, -1029, -1029, - -1029, -1029, -1029, 959, -1029, -1029, -1029, -1029, 1433, 599, - 2207, 1091, 1094, 15, -1029, 1093, 5219, 14, -1029, -1029, - -1029, 790, 4275, -1029, 982, 6229, 2207, -1029, -38, -1029, - -38, 1107, -1029, 2207, 2207, -1029, -1029, 1113, 2207, -1029, - -1029, -1029, 1115, 4301, 1116, 1117, 1118, 2207, 2207, 859, - 1120, 1123, 1124, 1127, 1130, 1131, -1029, 2264, 3199, 6124, - 2947, 748, 2996, -38, 1132, -38, 1133, -38, 1134, 1135, - 1137, 1138, 1140, 292, 1008, 6145, 3227, 422, -1029, 2207, - -1029, -1029, 1433, 2975, 661, 6166, -1029, 1301, -1029, 247, - 6229, 2207, 2207, 1433, 981, 728, 6229, 1144, 1146, 1148, - 2512, -1029, 1143, 1150, -1029, 1021, -1029, 1153, 2207, -1029, - 3255, 54, 58, -1029, 3283, 3311, -1029, 3339, 1155, 2207, - -1029, -1029, -1029, 2531, 2555, 1156, -1029, -1029, -1029, -1029, - -1029, -1029, -1029, 2582, 1157, 1024, -1029, 2207, -1029, 1033, - -34, 461, -1029, 1057, 463, -1029, 1058, 506, -1029, 1059, - -1029, -1029, -1029, -1029, 1161, 1433, 1154, 1062, 2207, 3367, - 1079, 2207, -1029, 2207, -1029, -1029, 1126, 1164, 1194, -1029, - 2207, 4327, 4353, -1029, 1433, 2207, 1195, 1034, -1029, -1029, - -1029, 14, -1029, 1110, -1029, 4379, 1198, -1029, -1029, 1214, - 1215, 1216, 1217, 4405, -1029, -1029, -1029, -1029, -1029, 748, - 3003, -1029, 232, 1967, -34, 1967, -34, 1967, -34, -1029, - 736, 1433, -1029, 3395, -1029, 2207, 3423, 3451, -1029, -1029, - -1029, 1095, 6229, 2207, 2207, 740, 6229, -1029, -1029, 1219, - -1029, 2207, -1029, -1029, -1029, -1029, -1029, 1228, 1096, 2207, - -1029, -1029, 3479, 510, 360, 3507, 520, 362, 3535, 554, - 383, 1433, 1230, 1173, 2306, 1114, 2602, -1029, -1029, 2207, - 6187, 4431, 27, -1029, 4457, 1121, -1029, 3563, 1249, 2207, - 1250, 1251, 2207, 1253, 1255, 2207, 1256, 1122, -1029, 2207, - -1029, -34, -1029, -1029, 744, -1029, 2207, -1029, 1433, 2207, - 1259, -1029, -1029, 1125, 3591, -1029, -1029, 1136, 3619, -1029, - -1029, 1139, 3647, -1029, 1260, 2634, 387, 2362, 1261, 1141, - 6208, 745, 3675, 1145, -34, 1266, -34, 1267, -34, 1268, - -1029, -1029, -1029, -1029, -34, -1029, 790, -1029, 1142, 1269, - 1272, 399, -1029, 1147, 433, -1029, 1152, 435, -1029, 1158, - 478, 754, -1029, 1159, 1433, -1029, 1160, 1274, -34, 1277, - -34, 1282, -34, -1029, 790, 1288, 790, 757, 1290, -1029, - 527, -1029, 531, -1029, 549, -1029, -1029, 760, -1029, 1291, - -1029, 1296, 1302, 1303, 790, 1307, -1029, -1029, -1029, -1029, - -1029, -1029 + 2779, 51, 22, 2857, -1033, -1033, 2026, 57, 45, -11, + 13, 124, -88, 46, 50, -27, 59, 65, -41, 79, + 82, 115, -28, 225, 247, 254, 310, 260, 26, 222, + 223, 185, 185, 227, 61, 232, 329, 334, 27, 381, + 349, 258, 401, 425, 435, 315, 333, 337, 14, 10, + -1033, 342, -1033, 477, 353, -1033, 480, 488, 12, 24, + -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, + -1033, -1033, -1033, -1033, -1033, -1033, 20, 360, 42, -1033, + -1033, -1033, 251, 259, 299, 325, 356, 424, 490, 499, + 511, 533, 553, 584, 602, 614, 618, 622, 626, 627, + 631, 639, 643, 394, 398, 404, 410, -1033, 486, 416, + -1033, -1033, -1033, -1033, -1033, -1033, -1033, 2238, 2238, 2238, + -1033, -1033, 2238, 1664, 19, 554, 2238, 556, 920, -1033, + 557, 566, 2238, 571, -1033, 2238, -1033, 2238, 2075, 2238, + 2238, 454, 2238, 2075, 2238, 2238, 460, 2075, 2238, 2238, + 1331, 461, 2238, 467, 468, 475, 1331, 487, 498, 520, + 524, 542, 543, 546, 596, 185, 185, 185, 2238, 2238, + -23, -1033, 137, 185, 513, 545, 549, 562, 1894, 177, + 515, 1331, 1331, 36, 561, -1033, -1033, 591, 515, 588, + 609, 691, 2238, 2238, 2238, 555, 2238, 612, 653, 2238, + 2238, -1033, 2238, 750, -1033, -1033, -1033, -1033, 759, -1033, + -1033, 767, 646, 2238, 776, 666, -1033, -1033, 813, 2238, + 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, + 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, + 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, + 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, + 2238, 645, 690, 690, 690, 2238, 824, 505, 698, 698, + 698, 5141, 8, 2075, 4382, 291, 707, 842, 715, 1837, + -1033, -1033, 2238, 2238, 2238, 2238, 2238, 2238, 2238, 2238, + 2238, 2238, 2238, 2238, 2238, 2238, 2238, -1033, -1033, 2179, + -6, 3628, 5162, 608, 731, 2075, -1033, -1033, 2549, -1033, + -65, 5183, 5204, 2238, 5225, 583, 5246, 5267, 2238, 638, + 5288, 5309, 1463, 1191, 2568, 871, -1033, 2238, 5330, 2238, + 2238, 2238, 874, 2238, 2238, 2238, 2201, 2201, 2201, 2201, + 755, -56, -1033, -1033, 3654, 3680, 185, 185, 515, 515, + -36, 2238, 2238, 2238, 2238, 1894, 1894, 2238, 2923, 190, + -1033, -1033, 752, 2923, 257, 890, 895, -1033, 2238, 2238, + 1055, 2075, 762, 2238, 2238, -1033, 5351, 5372, 5393, 814, + 3706, -1033, 768, 2587, 5414, 4405, -1033, 1229, -1033, 1369, + -1033, 2238, 4428, 207, 2238, 7, -1033, 5435, 4451, 5456, + 4474, 5477, 4497, 5498, 4520, 5519, 4543, 5540, 4566, 5561, + 4589, 5582, 4612, 5603, 4635, 5624, 4658, 5645, 4681, 3732, + 3758, 5666, 4704, 5687, 4727, 5708, 4750, 5729, 4773, 5750, + 4796, 5771, 4819, 3784, 3810, 3836, 3862, 3888, 3914, 657, + 72, 770, 773, 777, 2267, 771, 2238, -1033, 1331, 1331, + 656, 269, 42, 2238, 906, 909, 16, 780, -1033, 2606, + 887, 1526, 664, 664, 479, 479, 479, 479, 146, 146, + 698, 698, 698, 698, -1033, 40, 2075, 2238, 910, 1859, + 2238, 698, -1033, 2238, 2075, 2075, 823, 913, 915, 5792, + 916, 830, 922, 923, 5813, 832, 924, 925, 2075, -1033, + 659, 1595, 2238, 5834, 926, 2680, 5855, 5876, 2238, 2958, + 2986, 5897, 800, 2286, -1033, 801, 803, 804, 802, 185, + 2238, 2238, -1033, -1033, 799, 805, 2238, 4842, 3940, 3966, + 3992, 3602, 74, 55, 60, 125, -1033, 30, 185, 1501, + -1033, -1033, 2238, 2238, -1033, 4865, 4888, -1033, 663, -1033, + 4911, 4934, 934, 935, 936, 808, 2238, 1765, 2238, 2238, + -1033, 1, -1033, -1033, 4957, 372, -1033, 3014, -1033, 817, + 819, 807, -1033, 947, -1033, -1033, -1033, -1033, -1033, -1033, + -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, + -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, + -1033, 2238, 2238, -1033, -1033, -1033, -1033, -1033, -1033, -1033, + -1033, -1033, -1033, -1033, -1033, 2238, 2238, 2238, 2238, 2238, + 2238, 2238, 950, -1033, 2075, 690, -1033, -1033, -1033, 2238, + 4980, 949, 951, 820, -1033, 32, 2238, 952, 953, 2306, + -1033, 957, 825, 14, 960, -1033, 2238, -1033, 847, 690, + 165, 4018, 185, -1033, 2075, 3042, 2631, 698, -1033, 2549, + -1033, 942, 1331, 1331, 962, 1331, 754, 1331, 1331, 965, + 941, 1331, 1331, 672, -1033, 2075, 2325, 966, 834, 968, + 986, 989, 863, 990, 991, 992, 993, 995, 1009, 1010, + 1017, 292, 4044, 4070, -1033, -1033, 3070, 884, 185, 185, + 185, 2075, 2075, 2075, 2075, 1019, 886, 896, -46, -1033, + 294, -1033, 30, 2344, 2363, 1022, 1024, 982, 1027, 1047, + 1331, 1331, 1331, 1051, 4096, -1033, 2650, 1046, 1052, 1054, + 1053, 1057, -1033, 1059, -1033, 930, 2238, 2238, 1331, 929, + -1033, 5918, 5003, 5939, 5026, 5960, 5049, 5981, 5072, 5095, + 932, 173, 937, 6002, 384, -1033, -1033, 156, 314, 933, + 1066, 2389, -1033, -1033, -1033, 14, 2238, -1033, 673, -1033, + 2286, -1033, 1068, 52, 2238, 35, 676, -1033, 2238, 938, + 29, 37, 1331, 1069, 939, 943, 1070, 1071, 1331, 944, + 1076, 1079, -1033, 677, -1033, 1081, 2238, 1331, 1331, 1331, + -1033, 350, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 472, + 2238, 2238, 2238, 954, -1033, -68, 221, 234, 686, 687, + 694, 695, -1033, 1331, 2238, -1033, -1033, 1894, 244, -1033, + -1033, -1033, -1033, 955, -1033, -1033, 1083, 1085, 996, -1033, + 2238, 2238, 2238, -1033, 1087, 1090, -1033, 207, -1033, 2238, + 4122, 4148, 701, -1033, 2238, -1033, -1033, -1033, -1033, -1033, + -1033, -1033, -1033, 971, -1033, -1033, -1033, -1033, 1331, 42, + 2238, 1104, 1109, 16, -1033, 1110, 5118, 14, -1033, -1033, + -1033, 690, 4174, -1033, 983, 2286, 2238, -1033, 185, -1033, + 185, 1112, -1033, 2238, 2238, -1033, -1033, 1114, 2238, -1033, + -1033, -1033, 1116, 4200, 1117, 1118, 1119, 2238, 2238, 837, + 1120, 1122, 1125, 1126, 1128, 1129, -1033, 2201, 3098, 6023, + 2874, 515, 2923, 185, 1130, 185, 1132, 185, 1133, 1134, + 1135, 1140, 1141, 589, 1011, 6044, 3126, 296, -1033, 2238, + -1033, -1033, 1331, 2902, 738, 6065, -1033, 1727, -1033, 230, + 2286, 2238, 2238, 1331, 1012, 727, 2286, 1145, 1148, 1149, + 2408, -1033, 1115, 1150, -1033, 1021, -1033, 1168, 2238, -1033, + 3154, 53, 58, -1033, 3182, 3210, -1033, 3238, 1170, 2238, + -1033, -1033, -1033, 2428, 2447, 1173, -1033, -1033, -1033, -1033, + -1033, -1033, -1033, 2466, 1175, 1036, -1033, 2238, -1033, 1041, + 30, 323, -1033, 1043, 330, -1033, 1044, 373, -1033, 1045, + -1033, -1033, -1033, -1033, 1181, 1331, 1182, 1058, 2238, 3266, + 1101, 2238, -1033, 2238, -1033, -1033, 2075, 2485, 1186, -1033, + 2238, 4226, 4252, -1033, 1331, 2238, 1187, 1063, -1033, -1033, + -1033, 14, -1033, 1106, -1033, 4278, 1197, -1033, -1033, 1198, + 1220, 1221, 1222, 4304, -1033, -1033, -1033, -1033, -1033, 515, + 2930, -1033, 318, 1894, 30, 1894, 30, 1894, 30, -1033, + 735, 1331, -1033, 3294, -1033, 2238, 3322, 3350, 736, -1033, + -1033, 1089, 2286, 2238, 2238, 743, 2286, -1033, -1033, 1224, + -1033, 2238, -1033, -1033, -1033, -1033, -1033, 1226, 1091, 2238, + -1033, -1033, 3378, 409, 385, 3406, 412, 389, 3434, 422, + 393, 1331, 1227, 1174, 1887, 1096, 2511, -1033, -1033, 1231, + 2238, 6086, 4330, 21, -1033, 4356, 1099, -1033, 3462, 1233, + 2238, 1234, 1237, 2238, 1238, 1239, 2238, 1240, 1107, -1033, + 2238, -1033, 30, -1033, -1033, -1033, 746, -1033, 2238, -1033, + 1331, 2238, 1242, -1033, -1033, 1111, 3490, -1033, -1033, 1113, + 3518, -1033, -1033, 1123, 3546, -1033, 1243, 2530, 429, 2232, + 1244, 1124, 6107, 747, 3574, 1127, 30, 1246, 30, 1248, + 30, 1249, -1033, -1033, -1033, -1033, 30, -1033, 690, -1033, + 1131, 1256, 1260, 432, -1033, 1142, 496, -1033, 1144, 517, + -1033, 1147, 550, 753, -1033, 1151, 1331, -1033, 1152, 1263, + 30, 1264, 30, 1284, 30, -1033, 690, 1286, 690, 757, + 1288, -1033, 552, -1033, 595, -1033, 599, -1033, -1033, 761, + -1033, 1289, -1033, 1290, 1295, 1296, 690, 1297, -1033, -1033, + -1033, -1033, -1033, -1033 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1029, -1029, -1029, -1029, 505, -1029, -1029, -1029, -1029, 188, - -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, - -1029, -1029, -271, -1, -1029, 145, 1311, 6, -187, -175, - -1029, -1029, -1029, -1029, -1029, 1333, -1029, -1029, -1029, -1029, - -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, - -641, -515, -1029, -1029, -1029, -4, -1029, 226, -1029, -1028, - -142, 237, 65, -615, 468, -1029, -59, 5 + -1033, -1033, -1033, -1033, 531, -1033, -1033, -1033, -1033, 186, + -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, + -1033, -1033, -271, 0, -1033, -241, 1302, -2, -179, -173, + -1033, -1033, -1033, -1033, -1033, 1304, -1033, -1033, -1033, -1033, + -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, + -626, -655, -1033, -1033, -1033, -3, -1033, 263, -1033, -1032, + -143, 347, 66, -618, 436, -1033, -59, 4 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1462,141 +1462,144 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -5 static const yytype_int16 yytable[] = { - 211, 372, 128, 358, 453, 127, 1085, 728, 325, 65, - 370, 130, 568, 198, 332, 275, 205, 206, 195, 642, - 212, 151, 758, 205, 206, 141, 134, 183, 767, 146, - 146, 887, 387, 1147, 889, 389, 4, 174, 705, 364, - 365, 366, 5, 367, 706, 707, 120, 121, 103, 104, - 105, 106, 883, 731, 107, 103, 104, 105, 106, 137, - 1047, 107, 448, 141, 1048, 647, 138, 541, 542, 880, - 137, 828, 346, 347, 205, 206, 175, 701, 219, 176, - 220, 888, 177, 218, 890, 166, 167, 142, 131, 348, - 569, 570, 571, 572, 143, 168, 907, 908, 147, 703, - 346, 347, 169, 276, 277, 152, 103, 104, 105, 106, - 759, 760, 107, 268, 269, 270, 132, 349, 271, 274, - 1171, 160, 279, 184, 161, 142, 133, 162, 299, 163, - 136, 301, 702, 302, 308, 311, 312, 729, 314, 308, - 316, 317, 199, 308, 320, 321, 120, 121, 328, 573, - 875, 213, 207, 214, 196, 643, 166, 167, 215, 210, - 135, 524, 525, 185, 344, 345, 168, 1148, 449, 346, - 347, 139, 368, 178, 345, 150, 1217, 346, 347, 648, - 636, 346, 347, 648, 140, 539, 361, 153, 376, 377, - 378, 634, 380, 826, 361, 383, 384, 221, 385, 222, - 120, 121, 440, 441, 442, 443, 557, 731, 315, 392, - 144, 485, 319, 486, 145, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 170, 172, 705, - 179, 444, 966, 475, 149, 706, 707, 623, 476, 308, - 705, 704, 624, 634, 454, 148, 706, 707, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 149, 113, 114, 115, 116, 346, 347, - 483, 481, 154, 773, 705, 155, 631, 632, 485, 489, - 706, 707, 865, 826, 494, 360, 159, 485, 481, 308, - 346, 347, 223, 503, 224, 505, 506, 507, 825, 509, - 510, 511, 513, 513, 513, 513, 519, 164, 450, 938, - 452, 514, 514, 514, 514, 346, 347, 527, 528, 529, - 530, 268, 269, 531, 361, 361, 346, 347, 225, 1062, - 226, 923, 181, 924, 545, 546, 485, 308, 491, 550, - 551, 165, 925, 1101, 926, 309, 113, 114, 115, 116, - 309, 1029, 346, 347, 309, 869, 1030, 564, 500, 173, - 567, 341, 566, 343, 120, 121, 120, 121, 927, 350, - 928, 180, 182, 635, 359, 187, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 501, 294, 295, - 186, 346, 347, 1104, 296, 1107, 1089, 1110, 293, 294, - 295, 188, 705, 1014, 705, 296, 548, 526, 706, 707, - 706, 707, 630, 113, 114, 115, 116, 916, 917, 639, - 637, 346, 347, 346, 347, 705, 227, 638, 228, 705, - 189, 706, 707, 120, 121, 706, 707, 538, 229, 810, - 230, 705, 308, 651, 190, 630, 655, 706, 707, 656, - 657, 659, 515, 516, 517, 191, 868, 870, 113, 114, - 115, 116, 201, 485, 308, 495, 192, 657, 676, 193, - 1166, 1130, 194, 1133, 682, 705, 733, 705, 120, 121, - 309, 706, 707, 706, 707, 200, 692, 693, 346, 347, - 780, 781, 696, 783, 1136, 786, 787, 202, 1182, 790, - 791, 217, 203, 1191, 827, 1194, 204, 1197, 713, 714, - 1207, 650, 482, 1200, 261, 346, 347, 826, 156, 262, - 705, 157, 724, 158, 726, 727, 706, 707, 263, 482, - 309, 1018, 265, 673, 732, 264, 752, 1220, 485, 1222, - 633, 1224, 522, 523, 1209, 231, 1211, 232, 836, 837, - 838, 233, 343, 234, 346, 347, 346, 347, 266, 826, - 772, 235, 826, 236, 621, 826, 622, 741, 742, 705, - 1063, 278, 1065, 705, 206, 706, 707, 280, 309, 706, - 707, 743, 744, 745, 746, 747, 748, 749, 297, 1213, - 308, 705, 237, 298, 238, 753, 300, 706, 707, 346, - 347, 313, 761, 346, 347, 103, 104, 105, 106, 922, - 891, 107, 770, 346, 347, 1067, 897, 318, 327, 1129, - 308, 826, 239, 329, 240, 904, 905, 906, 330, 1132, - 909, 910, 911, 912, 913, 914, 915, 331, 1231, 1023, - 333, 308, 1232, 241, 335, 242, 826, 346, 347, 826, - 336, 934, 826, 334, 243, 826, 244, 340, 351, 751, - 1233, 337, 245, 1135, 246, 338, 339, 308, 308, 308, - 308, 247, 249, 248, 250, 826, 251, 826, 252, 826, - 352, 120, 121, 309, 439, 206, 446, 353, 214, 776, - 354, 658, 660, 215, 120, 121, 958, 369, 253, 479, - 254, 214, 850, 851, 999, 309, 215, 255, 658, 256, - 793, 257, 259, 258, 260, 691, 103, 104, 105, 106, - 371, 373, 107, 732, 485, 374, 674, 871, 485, 375, - 717, 784, 876, 785, 710, 379, 818, 819, 820, 821, - 882, 485, 382, 792, 885, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 877, - 386, 878, 903, 296, 205, 206, 485, 485, 884, 901, - 1020, 485, 1024, 929, 381, 1027, 918, 919, 920, 388, - 485, 1033, 930, 30, 31, 32, 33, 390, 35, 933, - 935, 391, 967, 936, 40, 41, 103, 104, 105, 106, - 393, 485, 107, 931, 394, 396, 943, 944, 945, 291, - 292, 293, 294, 295, 445, 950, 948, 485, 296, 932, - 956, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 953, 309, 954, 985, 296, 986, 960, 1035, 800, 1036, - 296, 455, 1098, 1070, 959, 1111, 456, 1112, 775, 953, - 502, 1122, 970, 1035, 953, 1168, 1188, 457, 508, 974, - 975, 309, 518, 1214, 977, 1215, 953, 1114, 1229, 1234, - 540, 1235, 480, 983, 984, 543, 544, 549, 555, 558, - 625, 626, 309, 993, 627, 629, 640, 641, 645, 652, - 661, 662, 994, 801, 815, 816, 817, 361, 663, 1113, - 665, 667, 666, 668, 671, 1019, 670, 672, 309, 309, - 309, 309, 678, 1026, 686, 690, 687, 1031, 1032, 688, - 694, 689, 1028, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 1045, 7, 8, 1167, 296, 1137, - 720, 695, 721, 722, 738, 1053, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 723, 736, 740, 1060, 296, 750, 532, 13, 14, 533, - 16, 17, 534, 19, 535, 21, 755, 22, 737, 24, - 25, 756, 27, 28, 1073, 757, 762, 1076, 763, 1077, - 765, 766, 769, 771, 779, 782, 1082, 788, 789, 795, - 796, 1086, 797, 798, 799, 802, 803, 804, 805, 806, - 45, 46, 47, 807, 808, 809, 814, 823, 822, 824, - 831, 832, 833, 937, 834, 835, 839, 844, 845, 1102, - 854, 1105, 846, 1108, 847, 361, 849, 848, 864, 872, - 866, 1116, 873, 879, 892, 895, 896, 886, 893, 1120, - 1121, 894, 898, 899, 900, 902, 921, 1124, 939, 940, - 941, 946, 942, 947, 547, 1127, 957, 961, 962, 964, - 842, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 973, 971, 956, 972, 296, 969, 976, - 978, 1034, 980, 981, 982, 1154, 987, 1202, 1158, 988, - 989, 1162, 1078, 990, 483, 1165, 991, 992, 1002, 1005, - 1008, 1010, 1170, 1011, 1012, 1172, 1013, 1015, 1037, 1001, - 1041, 1004, 1038, 1007, 1039, 1225, 1042, 1228, 1043, 1044, - 1052, 1071, 1056, 1058, 1059, 75, 303, 1069, 1088, 1075, - 1079, 79, 80, 81, 1061, 1240, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 1064, 1066, 1068, - 1080, 1087, 1072, 1090, 1092, 304, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 1093, 1094, 1095, 1096, 296, 1123, 843, 30, 31, 32, - 33, 34, 35, 1125, 1139, 1119, 1138, 1126, 40, 41, + 211, 65, 1085, 128, 453, 358, 127, 325, 728, 372, + 130, 568, 370, 332, 198, 448, 205, 206, 195, 134, + 642, 151, 5, 275, 212, 767, 705, 1149, 205, 206, + 146, 183, 706, 707, 387, 887, 758, 389, 364, 365, + 366, 883, 367, 889, 141, 137, 647, 206, 103, 104, + 105, 106, 138, 826, 107, 346, 347, 4, 880, 1047, + 103, 104, 105, 106, 1048, 174, 107, 346, 347, 160, + 131, 923, 161, 924, 485, 162, 486, 163, 103, 104, + 105, 106, 218, 519, 107, 888, 828, 346, 347, 569, + 570, 571, 572, 890, 132, 825, 515, 516, 517, 147, + 346, 347, 705, 526, 175, 152, 142, 176, 706, 707, + 177, 276, 277, 143, 268, 269, 270, 348, 1173, 271, + 274, 449, 133, 279, 759, 760, 141, 184, 475, 299, + 136, 146, 301, 476, 302, 308, 311, 312, 729, 314, + 308, 316, 317, 199, 308, 320, 321, 875, 573, 328, + 120, 121, 207, 135, 196, 213, 643, 214, 346, 347, + 648, 1150, 215, 634, 210, 344, 345, 185, 150, 524, + 525, 368, 648, 826, 1219, 345, 346, 347, 361, 139, + 636, 346, 347, 140, 166, 167, 361, 539, 142, 376, + 377, 378, 144, 380, 168, 702, 383, 384, 145, 385, + 703, 178, 440, 441, 442, 443, 623, 137, 557, 315, + 392, 624, 148, 319, 701, 149, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 436, 437, 438, 149, 966, + 346, 347, 444, 541, 542, 704, 113, 114, 115, 116, + 308, 293, 294, 295, 153, 454, 634, 349, 296, 459, + 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, + 470, 471, 472, 473, 170, 172, 154, 179, 452, 773, + 346, 347, 481, 155, 485, 631, 632, 865, 166, 167, + 489, 159, 485, 346, 347, 494, 705, 360, 168, 481, + 308, 869, 706, 707, 503, 169, 505, 506, 507, 538, + 509, 510, 511, 513, 513, 513, 513, 120, 121, 450, + 514, 514, 514, 514, 346, 347, 361, 361, 527, 528, + 529, 530, 268, 269, 531, 164, 156, 346, 347, 157, + 925, 158, 926, 165, 1029, 545, 546, 173, 308, 1030, + 550, 551, 180, 927, 1062, 928, 205, 206, 181, 113, + 114, 115, 116, 182, 219, 938, 220, 186, 564, 500, + 705, 567, 221, 566, 222, 187, 706, 707, 188, 120, + 121, 113, 114, 115, 116, 189, 635, 826, 103, 104, + 105, 106, 907, 908, 107, 346, 347, 346, 347, 346, + 347, 120, 121, 1089, 113, 114, 115, 116, 341, 190, + 343, 810, 223, 827, 224, 1018, 350, 548, 1104, 191, + 1107, 359, 1110, 630, 120, 121, 346, 347, 192, 826, + 639, 637, 826, 346, 347, 826, 638, 705, 225, 1101, + 226, 705, 1063, 706, 707, 705, 193, 706, 707, 1065, + 194, 706, 707, 308, 651, 200, 630, 655, 916, 917, + 656, 657, 659, 201, 203, 309, 868, 870, 202, 227, + 309, 228, 204, 265, 309, 308, 346, 347, 657, 676, + 217, 705, 120, 121, 705, 682, 733, 706, 707, 731, + 706, 707, 1067, 826, 120, 121, 1168, 692, 693, 780, + 781, 731, 783, 696, 786, 787, 1131, 261, 790, 791, + 1134, 262, 346, 347, 1137, 346, 347, 263, 826, 713, + 714, 826, 650, 264, 826, 346, 347, 826, 1130, 266, + 1193, 1133, 1196, 724, 1199, 726, 727, 229, 278, 230, + 1202, 1136, 280, 297, 673, 732, 752, 826, 705, 826, + 1184, 826, 298, 1209, 706, 707, 300, 836, 837, 838, + 30, 31, 32, 33, 1222, 35, 1224, 313, 1226, 705, + 772, 40, 41, 318, 327, 706, 707, 483, 741, 742, + 340, 330, 291, 292, 293, 294, 295, 329, 331, 522, + 523, 296, 743, 744, 745, 746, 747, 748, 749, 343, + 309, 308, 705, 231, 705, 232, 753, 333, 706, 707, + 706, 707, 233, 761, 234, 120, 121, 1211, 334, 891, + 446, 922, 214, 770, 235, 897, 236, 215, 351, 439, + 206, 308, 482, 335, 904, 905, 906, 336, 1213, 909, + 910, 911, 912, 913, 914, 915, 237, 705, 238, 482, + 309, 705, 308, 706, 707, 337, 338, 706, 707, 339, + 934, 103, 104, 105, 106, 352, 239, 107, 240, 353, + 751, 1215, 379, 1233, 205, 206, 369, 375, 308, 308, + 308, 308, 354, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 501, 294, 295, 241, 309, 242, + 776, 296, 485, 373, 491, 958, 103, 104, 105, 106, + 1014, 371, 107, 850, 851, 243, 1234, 244, 120, 121, + 1235, 793, 999, 479, 374, 214, 1023, 245, 382, 246, + 215, 247, 381, 248, 732, 249, 386, 250, 871, 251, + 253, 252, 254, 876, 255, 388, 256, 818, 819, 820, + 821, 882, 257, 390, 258, 885, 259, 485, 260, 495, + 393, 391, 691, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 621, 903, 622, 485, 296, 633, 485, 1020, + 674, 710, 485, 784, 717, 785, 394, 918, 919, 920, + 1033, 485, 877, 792, 878, 485, 485, 884, 901, 396, + 933, 935, 967, 309, 936, 485, 485, 929, 930, 445, + 296, 658, 660, 485, 485, 931, 932, 943, 944, 945, + 953, 985, 954, 986, 455, 309, 950, 948, 658, 456, + 457, 956, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 1035, 960, 1036, 800, + 296, 480, 1070, 959, 1111, 485, 1112, 1119, 502, 1024, + 1098, 508, 953, 970, 1123, 1035, 953, 1170, 1190, 518, + 974, 975, 1216, 540, 1217, 977, 953, 543, 1231, 1114, + 1236, 544, 1237, 549, 983, 984, 555, 626, 558, 625, + 629, 627, 640, 641, 993, 775, 645, 652, 661, 361, + 662, 994, 663, 665, 801, 666, 281, 670, 1113, 667, + 668, 671, 672, 678, 686, 687, 1019, 688, 689, 690, + 694, 720, 721, 722, 1027, 723, 695, 738, 1031, 1032, + 736, 1028, 737, 740, 750, 755, 757, 756, 762, 763, + 766, 815, 816, 817, 765, 1045, 769, 771, 1138, 782, + 1169, 309, 788, 795, 796, 797, 1053, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 779, 789, 798, 1060, 296, 799, 802, 803, 804, + 805, 309, 806, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 1073, 807, 808, 1076, 296, + 1077, 809, 309, 308, 814, 822, 823, 1082, 831, 824, + 832, 833, 1086, 834, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 309, 309, + 309, 309, 296, 835, 842, 839, 844, 361, 845, 846, + 1102, 847, 1105, 849, 1108, 848, 864, 7, 8, 854, + 872, 866, 1116, 873, 879, 892, 895, 896, 886, 893, + 1121, 1122, 899, 894, 898, 900, 902, 942, 1125, 940, + 937, 941, 1078, 946, 921, 939, 1128, 947, 532, 13, + 14, 533, 16, 17, 534, 19, 535, 21, 957, 22, + 961, 24, 25, 962, 27, 28, 964, 956, 973, 969, + 976, 978, 1041, 980, 981, 982, 987, 1156, 988, 1204, + 1160, 989, 990, 1164, 991, 992, 1002, 1167, 1005, 1008, + 1010, 1011, 45, 46, 47, 1172, 1012, 1013, 1174, 1037, + 1015, 971, 1034, 972, 1038, 1039, 1042, 1227, 1043, 1230, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 501, 294, 295, 1142, 1152, 1155, 1156, 296, 1159, - 1150, 1160, 1163, 1164, 1173, 1174, 1180, 1185, 109, 110, - 111, 112, 1192, 1195, 1198, 1205, 1176, 1206, 881, 1178, - 1219, 1186, 1204, 1221, 1190, 117, 305, 1208, 1223, 1103, - 119, 1106, 1210, 1109, 1226, 122, 1230, 1236, 1212, 1216, - 125, 1218, 1237, 499, 75, 303, 206, 1144, 1238, 1239, - 79, 80, 81, 1241, 64, 82, 83, 84, 85, 86, + 292, 293, 294, 295, 1044, 1052, 1059, 1242, 296, 1056, + 843, 1058, 1061, 1064, 1066, 1068, 1001, 1069, 1004, 1071, + 1007, 1075, 1080, 1087, 75, 303, 547, 1088, 1072, 1090, + 79, 80, 81, 1092, 1093, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 71, 103, 104, 105, - 106, 963, 0, 107, 304, 0, 0, 0, 0, 0, + 97, 98, 99, 100, 101, 102, 1094, 1095, 1096, 1120, + 1124, 1126, 1127, 1139, 304, 1140, 1143, 1145, 1152, 1154, + 1157, 7, 8, 1158, 1161, 1162, 1165, 1175, 1166, 1182, + 1187, 1176, 1194, 1178, 1197, 1200, 30, 31, 32, 33, + 34, 35, 1207, 1180, 1188, 1208, 1192, 40, 41, 1221, + 1223, 1206, 532, 13, 14, 533, 16, 17, 534, 19, + 535, 21, 1210, 22, 1212, 24, 25, 1214, 27, 28, + 1225, 1218, 1228, 1220, 1232, 1238, 1239, 109, 110, 111, + 112, 1240, 1241, 1243, 881, 64, 1146, 71, 0, 963, + 0, 0, 0, 0, 117, 305, 45, 46, 47, 119, + 0, 0, 0, 0, 122, 0, 1103, 0, 1106, 125, + 1109, 0, 499, 0, 75, 303, 0, 0, 0, 0, + 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 0, 0, 0, 0, + 562, 0, 0, 309, 304, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 40, 41, 0, @@ -1610,634 +1613,622 @@ static const yytype_int16 yytable[] = 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, 0, 0, - 562, 0, 0, 7, 8, 0, 0, 0, 0, 0, + 563, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 40, 41, 0, 0, 0, 532, 13, 14, 533, 16, 17, 534, 19, 535, 21, 0, 22, 0, 24, 25, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 109, 110, 111, 112, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 117, 322, 45, 46, + 0, 0, 0, 0, 0, 0, 117, 305, 45, 46, 47, 119, 0, 0, 0, 0, 122, 0, 75, 303, - 0, 125, 0, 323, 79, 80, 81, 0, 0, 82, + 0, 125, 0, 498, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, - 0, 0, 563, 0, 0, 7, 8, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, - 0, 40, 41, 0, 0, 0, 532, 13, 14, 533, - 16, 17, 534, 19, 535, 21, 0, 22, 0, 24, - 25, 0, 27, 28, 0, 0, 0, 0, 0, 0, + 0, 0, 711, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 30, 31, 32, 33, 34, 35, 0, 75, 267, 0, + 0, 40, 41, 79, 80, 81, 0, 0, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, 0, 109, 110, 111, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 305, - 45, 46, 47, 119, 0, 0, 0, 0, 122, 0, - 75, 303, 0, 125, 0, 498, 79, 80, 81, 0, + 0, 0, 0, 119, 0, 0, 0, 0, 122, 0, + 75, 267, 206, 125, 0, 675, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 0, 0, 0, 0, 0, 0, 0, 0, - 304, 0, 0, 0, 711, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 33, 34, 35, 0, 75, - 267, 0, 0, 40, 41, 79, 80, 81, 0, 0, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 0, 0, 109, 110, 111, 112, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 117, 305, 0, 0, 0, 119, 0, 0, 0, 0, - 122, 0, 75, 267, 0, 125, 0, 675, 79, 80, + 101, 102, 0, 103, 104, 105, 106, 0, 0, 107, + 109, 110, 111, 112, 0, 0, 0, 7, 8, 0, + 0, 0, 0, 0, 0, 0, 0, 117, 118, 0, + 0, 0, 119, 0, 0, 0, 0, 122, 0, 0, + 272, 0, 125, 0, 273, 0, 0, 0, 532, 13, + 14, 533, 16, 17, 534, 19, 535, 21, 0, 22, + 0, 24, 25, 0, 27, 28, 0, 0, 0, 0, + 0, 0, 0, 109, 110, 111, 112, 0, 0, 0, + 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, + 117, 118, 45, 46, 47, 119, 0, 0, 0, 0, + 122, 0, 75, 267, 0, 125, 0, 1026, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 0, 0, 0, 0, 0, 0, - 0, 0, 109, 110, 111, 112, 0, 0, 0, 7, - 8, 0, 0, 0, 0, 0, 0, 0, 0, 117, - 118, 0, 0, 0, 119, 0, 0, 0, 0, 122, - 0, 0, 272, 0, 125, 0, 273, 0, 0, 0, + 99, 100, 101, 102, 0, 0, 0, 75, 267, 7, + 8, 0, 0, 79, 80, 81, 725, 0, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, 532, 13, 14, 533, 16, 17, 534, 19, 535, 21, 0, 22, 0, 24, 25, 0, 27, 28, 0, 0, - 0, 0, 0, 0, 0, 109, 110, 111, 112, 281, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 117, 118, 45, 46, 47, 119, 0, 0, + 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 109, 110, 111, 112, 296, + 0, 0, 0, 0, 45, 46, 47, 0, 0, 0, + 0, 0, 117, 118, 0, 0, 0, 119, 0, 0, 0, 0, 122, 0, 0, 653, 0, 125, 0, 654, - 75, 267, 0, 0, 0, 0, 79, 80, 81, 0, - 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 0, 0, 0, 75, 76, 77, 725, 78, - 0, 79, 80, 81, 0, 0, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 0, 103, 104, - 105, 106, 0, 0, 107, 0, 0, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 0, 109, 110, 111, 112, 483, 0, 0, + 109, 110, 111, 112, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 355, 356, 0, + 0, 0, 119, 0, 0, 0, 0, 357, 1141, 75, + 76, 77, 125, 78, 169, 79, 80, 81, 0, 0, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 0, 103, 104, 105, 106, 0, 0, 107, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 75, 303, + 0, 0, 0, 0, 79, 80, 81, 0, 0, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 0, 0, 0, 0, 0, 0, 0, 0, 304, 0, + 0, 0, 0, 0, 0, 0, 108, 0, 0, 0, + 0, 0, 109, 110, 111, 112, 113, 114, 115, 116, + 30, 31, 32, 33, 34, 35, 0, 0, 0, 117, + 118, 40, 41, 0, 119, 0, 120, 121, 0, 122, + 0, 123, 0, 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 355, 356, 0, 0, 0, 119, 0, 0, 0, 0, - 357, 0, 108, 0, 0, 125, 0, 169, 109, 110, - 111, 112, 113, 114, 115, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 117, 118, 0, 0, 0, - 119, 0, 120, 121, 0, 122, 0, 123, 0, 124, - 125, 75, 303, 0, 0, 0, 0, 79, 80, 81, + 0, 109, 110, 111, 112, 474, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 117, 305, + 0, 0, 0, 119, 75, 267, 206, 0, 122, 0, + 79, 80, 81, 125, 0, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 0, 103, 104, 105, + 106, 75, 267, 107, 7, 8, 0, 79, 80, 81, 0, 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 0, 0, 0, 0, 0, 0, 0, - 0, 304, 0, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 484, 294, 295, 0, 0, 0, - 0, 296, 0, 30, 31, 32, 33, 34, 35, 0, - 75, 267, 0, 0, 40, 41, 79, 80, 81, 0, - 0, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 0, 0, 109, 110, 111, 112, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 117, 305, 0, 0, 0, 119, 75, 267, 206, - 0, 122, 0, 79, 80, 81, 125, 0, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 0, - 103, 104, 105, 106, 0, 0, 107, 0, 0, 0, - 0, 0, 0, 109, 110, 111, 112, 458, 7, 8, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 117, 118, 0, 0, 0, 119, 0, 0, 0, 0, - 122, 0, 0, 0, 474, 125, 0, 0, 0, 532, - 13, 14, 533, 16, 17, 534, 19, 535, 21, 0, - 22, 0, 24, 25, 628, 27, 28, 0, 0, 0, - 109, 110, 111, 112, 7, 8, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 117, 118, 0, - 0, 0, 119, 45, 46, 47, 764, 122, 0, 0, - 0, 0, 125, 0, 0, 532, 13, 14, 533, 16, - 17, 534, 19, 535, 21, 794, 22, 0, 24, 25, - 0, 27, 28, 0, 0, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 829, - 0, 0, 0, 296, 0, 0, 0, 1140, 0, 45, - 46, 47, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 830, 0, 0, 0, + 100, 101, 102, 628, 0, 532, 13, 14, 533, 16, + 17, 534, 19, 535, 21, 0, 22, 0, 24, 25, + 0, 27, 28, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 109, 110, 111, + 112, 296, 764, 0, 0, 0, 0, 0, 0, 45, + 46, 47, 0, 0, 117, 118, 0, 0, 0, 119, + 0, 794, 0, 0, 122, 0, 0, 0, 0, 125, + 0, 0, 0, 0, 109, 110, 111, 112, 0, 0, + 829, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 117, 118, 0, 0, 0, 119, 0, 0, 830, + 0, 122, 0, 1185, 0, 0, 125, 0, 0, 0, + 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 874, 0, 0, 0, 296, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 1040, 0, 0, 0, 296, 0, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 1054, 0, 0, 0, 296, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 1055, 0, 0, 0, 296, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 1057, 0, 0, 0, 296, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 1079, 0, 0, 0, 296, 0, 0, 0, 0, + 0, 0, 0, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 1144, 0, 0, + 0, 296, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 1183, 0, 0, 0, 296, 0, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 874, 0, 0, 0, - 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1183, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 1040, 0, + 290, 291, 292, 293, 294, 295, 0, 483, 0, 0, + 296, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 483, 0, 0, 296, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 559, 0, 0, 296, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 646, 0, 0, 296, 0, 0, + 0, 0, 0, 0, 0, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 778, + 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 841, 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 1054, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 1055, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 0, 0, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 1057, 0, - 0, 0, 296, 0, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 1143, 0, + 289, 290, 291, 292, 484, 294, 295, 0, 0, 0, + 0, 296, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 501, 294, 295, 0, 0, 0, 0, + 296, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, -4, + 1, 0, 296, -4, 0, 0, 0, 0, 0, 0, + 0, -4, -4, 0, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, -4, 0, 0, 0, 0, -4, + -4, 679, -4, -4, -4, -4, -4, -4, -4, -4, + -4, -4, 0, -4, -4, -4, -4, -4, -4, -4, + 0, 0, 0, -4, -4, -4, -4, -4, -4, -4, + 0, -4, -4, -4, -4, -4, -4, 0, 0, -4, + -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, 0, 0, 0, 0, 0, + 0, 0, 9, 0, 0, 0, 0, 10, 11, 0, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 0, 22, 23, 24, 25, 26, 27, 28, 0, 0, + 0, 29, 30, 31, 32, 33, 34, 35, 0, 36, + 37, 38, 39, 40, 41, 7, 8, 42, 43, 0, + 0, 0, 0, 44, 45, 46, 47, 0, 0, 48, + 0, 49, 0, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 0, 0, 0, 532, 13, 14, 533, + 16, 17, 534, 19, 535, 21, 0, 22, 0, 24, + 25, 0, 27, 28, 0, 0, 0, 0, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 45, 46, 47, 997, 0, 998, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, + 0, 1021, 0, 1022, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 0, 0, 0, 0, 0, 1099, + 0, 1100, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 0, 0, 683, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 0, 0, 684, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 0, 0, 734, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, + 0, 0, 0, 777, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 282, 283, 284, 285, + 0, 813, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 0, 0, 995, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 0, 0, 1017, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 0, 0, 1046, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 1181, 0, 0, 0, 296, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 483, 0, 296, 0, 0, 0, 0, 0, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 559, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 0, 0, 282, 283, 284, 285, + 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, + 0, 0, 0, 1049, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, + 0, 1050, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 0, 0, 1051, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 0, 0, 1074, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 0, 0, 1115, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 646, 0, 0, 0, 296, 0, 282, 283, 284, 285, + 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, + 0, 0, 0, 1117, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, + 0, 1118, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 0, 0, 1129, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 0, 0, 1132, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 0, 0, 1135, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 778, 0, 0, 0, 296, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 282, 283, + 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, + 0, 0, 0, 1153, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, + 0, 1177, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 0, 0, 1179, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 0, 0, 1181, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 841, 0, 0, 0, 296, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 501, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 0, 0, 282, 283, 284, 285, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 0, 0, 1191, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 282, 283, 284, 285, + 0, 0, 0, 0, 296, 0, 447, 0, 0, 0, + 0, 520, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 477, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 520, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 0, 0, 0, 0, 0, 521, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 556, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, -4, 1, 296, 0, -4, 0, 0, 0, - 0, 0, 0, 0, -4, -4, 0, 0, 282, 283, + 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, + 0, 601, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 602, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, -4, 0, 0, - 0, 0, -4, -4, 0, -4, -4, -4, -4, -4, - -4, -4, -4, -4, -4, 0, -4, -4, -4, -4, - -4, -4, -4, 0, 0, 0, -4, -4, -4, -4, - -4, -4, -4, 0, -4, -4, -4, -4, -4, -4, - 0, 0, -4, -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, 0, 0, - 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, - 10, 11, 0, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 0, 22, 23, 24, 25, 26, 27, - 28, 0, 0, 0, 29, 30, 31, 32, 33, 34, - 35, 0, 36, 37, 38, 39, 40, 41, 7, 8, - 42, 43, 0, 0, 0, 0, 44, 45, 46, 47, - 0, 0, 48, 0, 49, 0, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 0, 0, 0, 532, - 13, 14, 533, 16, 17, 534, 19, 535, 21, 0, - 22, 0, 24, 25, 0, 27, 28, 0, 0, 0, - 0, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 45, 46, 47, 997, 0, 998, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 1021, 0, 1022, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 1099, 0, 1100, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 0, 0, 679, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, - 683, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 0, 0, 684, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 0, 0, 734, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 0, 0, 777, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 0, 0, 813, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, - 995, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 0, 0, 1017, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 0, 0, 1046, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 0, 0, 1049, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 0, 0, 1050, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, - 1051, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 0, 0, 1074, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 0, 0, 1115, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 0, 0, 1117, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 0, 0, 1118, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, - 1128, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 0, 0, 1131, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 0, 0, 1134, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 0, 0, 1151, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 0, 0, 1175, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, - 1177, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 0, 0, 1179, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 0, 0, 1189, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 447, 0, 0, - 0, 0, 520, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 477, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 520, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 521, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 556, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 601, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 602, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 615, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 616, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 617, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 618, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 619, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 620, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 698, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 699, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 700, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 774, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 811, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 812, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 840, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 951, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 952, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 968, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 979, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 1083, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 0, - 0, 0, 1084, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 1091, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 0, 0, 0, 1097, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 1146, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 0, 0, 0, 1149, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 451, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 615, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 0, 0, 0, 0, 0, 616, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 561, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 565, 282, 283, 284, 285, + 0, 0, 0, 0, 0, 617, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, + 0, 618, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 619, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 620, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 0, 0, 0, 0, 0, 698, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 699, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, + 0, 700, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 774, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 811, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 0, 0, 0, 0, 0, 812, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 840, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, + 0, 951, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 952, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 968, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 0, 0, 0, 0, 0, 979, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 1083, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 580, 282, + 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, + 0, 1084, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 0, 0, 0, 1091, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 1097, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, + 0, 0, 296, 0, 0, 0, 0, 0, 0, 1148, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, + 0, 0, 0, 0, 0, 1151, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 0, 0, 0, 0, 296, 0, 0, 0, 451, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 582, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 561, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 584, 282, 283, 284, 285, 286, + 296, 0, 0, 0, 565, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 586, 282, 283, + 0, 0, 0, 296, 0, 0, 0, 580, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 588, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 582, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 590, 282, 283, 284, 285, 286, 287, + 0, 0, 0, 584, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 592, 282, 283, 284, + 0, 0, 296, 0, 0, 0, 586, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 594, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 588, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 596, 282, 283, 284, 285, 286, 287, 288, + 0, 0, 590, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 598, 282, 283, 284, 285, + 0, 296, 0, 0, 0, 592, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 600, 282, + 0, 0, 0, 0, 296, 0, 0, 0, 594, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 604, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 596, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 606, 282, 283, 284, 285, 286, + 296, 0, 0, 0, 598, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 608, 282, 283, + 0, 0, 0, 296, 0, 0, 0, 600, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 610, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 604, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 612, 282, 283, 284, 285, 286, 287, + 0, 0, 0, 606, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 614, 282, 283, 284, + 0, 0, 296, 0, 0, 0, 608, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 697, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 610, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 715, 282, 283, 284, 285, 286, 287, 288, + 0, 0, 612, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 716, 282, 283, 284, 285, + 0, 296, 0, 0, 0, 614, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 0, 0, 718, 282, + 0, 0, 0, 0, 296, 0, 0, 0, 697, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, - 0, 719, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 715, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 0, 0, 730, 282, 283, 284, 285, 286, + 296, 0, 0, 0, 716, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 0, 0, 754, 282, 283, + 0, 0, 0, 296, 0, 0, 0, 718, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, 0, - 856, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 719, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 0, 0, 858, 282, 283, 284, 285, 286, 287, + 0, 0, 0, 730, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 0, 0, 860, 282, 283, 284, + 0, 0, 296, 0, 0, 0, 754, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 0, 0, 862, + 295, 0, 0, 0, 0, 296, 0, 0, 0, 856, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 0, 0, 863, 282, 283, 284, 285, 286, 287, 288, + 0, 0, 858, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 0, 0, 965, 282, 283, 284, 285, + 0, 296, 0, 0, 0, 860, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 447, 282, 283, 284, + 0, 0, 0, 0, 296, 0, 0, 0, 862, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 0, + 0, 863, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, + 296, 0, 0, 0, 965, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, + 0, 0, 0, 296, 0, 447, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 0, 0, 0, 0, 296, 0, 478, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 478, 282, 283, + 295, 0, 0, 0, 0, 296, 0, 487, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 487, 282, + 294, 295, 0, 0, 0, 0, 296, 0, 488, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 488, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 490, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 490, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 492, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 492, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 493, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 493, 282, 283, 284, 285, 286, 287, 288, + 296, 0, 496, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 496, 282, 283, 284, 285, 286, 287, + 0, 296, 0, 497, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 497, 282, 283, 284, 285, 286, + 0, 0, 296, 0, 504, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 504, 282, 283, 284, 285, + 0, 0, 0, 296, 0, 552, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 552, 282, 283, 284, + 0, 0, 0, 0, 296, 0, 553, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 553, 282, 283, + 295, 0, 0, 0, 0, 296, 0, 554, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 554, 282, + 294, 295, 0, 0, 0, 0, 296, 0, 560, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 560, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 579, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 579, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 581, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 581, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 583, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 583, 282, 283, 284, 285, 286, 287, 288, + 296, 0, 585, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 585, 282, 283, 284, 285, 286, 287, + 0, 296, 0, 587, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 587, 282, 283, 284, 285, 286, + 0, 0, 296, 0, 589, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 589, 282, 283, 284, 285, + 0, 0, 0, 296, 0, 591, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 591, 282, 283, 284, + 0, 0, 0, 0, 296, 0, 593, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 593, 282, 283, + 295, 0, 0, 0, 0, 296, 0, 595, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 595, 282, + 294, 295, 0, 0, 0, 0, 296, 0, 597, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 597, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 599, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 599, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 603, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 603, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 605, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 605, 282, 283, 284, 285, 286, 287, 288, + 296, 0, 607, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 607, 282, 283, 284, 285, 286, 287, + 0, 296, 0, 609, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 609, 282, 283, 284, 285, 286, + 0, 0, 296, 0, 611, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 611, 282, 283, 284, 285, + 0, 0, 0, 296, 0, 613, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 613, 282, 283, 284, + 0, 0, 0, 0, 296, 0, 664, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 664, 282, 283, + 295, 0, 0, 0, 0, 296, 0, 669, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 669, 282, + 294, 295, 0, 0, 0, 0, 296, 0, 677, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 677, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 680, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 680, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 681, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 681, 282, 283, 284, 285, 286, 287, 288, 289, + 0, 685, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 685, 282, 283, 284, 285, 286, 287, 288, + 296, 0, 855, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296, 0, 855, 282, 283, 284, 285, 286, 287, + 0, 296, 0, 857, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, - 0, 0, 296, 0, 857, 282, 283, 284, 285, 286, + 0, 0, 296, 0, 859, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, - 0, 0, 0, 296, 0, 859, 282, 283, 284, 285, + 0, 0, 0, 296, 0, 861, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 0, 0, 0, 0, 296, 0, 861, 282, 283, 284, + 0, 0, 0, 0, 296, 0, 867, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 0, 0, 0, 0, 296, 0, 867, 282, 283, + 295, 0, 0, 0, 0, 296, 0, 996, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 0, 0, 0, 0, 296, 0, 996, 282, + 294, 295, 0, 0, 0, 0, 296, 0, 1016, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 0, 0, 0, 0, 296, 0, 1016, + 293, 294, 295, 0, 0, 0, 0, 296, 0, 1025, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, 0, - 1025, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 1147, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, 296, - 0, 1145, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 0, 0, 0, 0, - 296, 0, 1187, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 0, 0, 0, - 0, 296 + 0, 1189 }; static const yytype_int16 yycheck[] = { - 59, 188, 6, 178, 275, 6, 1034, 7, 150, 3, - 185, 6, 4, 4, 156, 4, 4, 5, 4, 4, - 4, 49, 4, 4, 5, 71, 6, 4, 643, 71, - 71, 6, 207, 6, 6, 210, 6, 4, 72, 181, - 182, 4, 0, 6, 78, 79, 130, 131, 36, 37, - 38, 39, 6, 137, 42, 36, 37, 38, 39, 133, - 6, 42, 7, 71, 6, 6, 140, 6, 7, 6, - 133, 712, 123, 124, 4, 5, 43, 140, 133, 46, - 135, 56, 49, 78, 56, 123, 124, 133, 13, 140, - 82, 83, 84, 85, 140, 133, 62, 63, 140, 140, - 123, 124, 140, 92, 93, 133, 36, 37, 38, 39, - 92, 93, 42, 117, 118, 119, 49, 140, 122, 123, - 1148, 43, 126, 100, 46, 133, 133, 49, 132, 51, - 6, 135, 140, 137, 138, 139, 140, 137, 142, 143, - 144, 145, 133, 147, 148, 149, 130, 131, 152, 141, - 765, 135, 140, 137, 140, 140, 123, 124, 142, 140, - 140, 348, 349, 140, 168, 169, 133, 140, 113, 123, - 124, 133, 135, 140, 178, 53, 1204, 123, 124, 120, - 451, 123, 124, 120, 133, 360, 180, 49, 192, 193, - 194, 7, 196, 708, 188, 199, 200, 133, 202, 135, - 130, 131, 261, 262, 263, 264, 381, 137, 143, 213, - 133, 139, 147, 141, 133, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 31, 32, 72, - 34, 265, 877, 134, 133, 78, 79, 134, 139, 273, - 72, 140, 139, 7, 275, 133, 78, 79, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 133, 110, 111, 112, 113, 123, 124, - 8, 305, 49, 134, 72, 49, 448, 449, 139, 313, - 78, 79, 134, 828, 318, 140, 51, 139, 322, 323, - 123, 124, 133, 327, 135, 329, 330, 331, 141, 333, - 334, 335, 336, 337, 338, 339, 139, 133, 273, 141, - 7, 336, 337, 338, 339, 123, 124, 351, 352, 353, - 354, 355, 356, 357, 348, 349, 123, 124, 133, 1000, - 135, 139, 49, 141, 368, 369, 139, 371, 141, 373, - 374, 140, 139, 141, 141, 138, 110, 111, 112, 113, - 143, 134, 123, 124, 147, 7, 139, 391, 323, 140, - 394, 165, 393, 167, 130, 131, 130, 131, 139, 173, - 141, 140, 49, 137, 178, 46, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 6, 123, 124, 1064, 132, 1066, 1041, 1068, 125, 126, - 127, 140, 72, 141, 72, 132, 371, 139, 78, 79, - 78, 79, 446, 110, 111, 112, 113, 6, 7, 453, - 451, 123, 124, 123, 124, 72, 133, 452, 135, 72, - 4, 78, 79, 130, 131, 78, 79, 139, 133, 139, - 135, 72, 476, 477, 4, 479, 480, 78, 79, 483, - 484, 485, 337, 338, 339, 4, 757, 758, 110, 111, - 112, 113, 6, 139, 498, 141, 133, 501, 502, 133, - 1141, 141, 133, 141, 508, 72, 565, 72, 130, 131, - 273, 78, 79, 78, 79, 133, 520, 521, 123, 124, - 662, 663, 526, 665, 141, 667, 668, 135, 141, 671, - 672, 140, 4, 1174, 139, 1176, 4, 1178, 542, 543, - 141, 476, 305, 1184, 133, 123, 124, 1062, 46, 133, - 72, 49, 556, 51, 558, 559, 78, 79, 133, 322, - 323, 139, 7, 498, 565, 133, 625, 1208, 139, 1210, - 141, 1212, 346, 347, 141, 133, 141, 135, 720, 721, - 722, 133, 356, 135, 123, 124, 123, 124, 133, 1104, - 649, 133, 1107, 135, 135, 1110, 137, 601, 602, 72, - 139, 4, 139, 72, 5, 78, 79, 6, 371, 78, - 79, 615, 616, 617, 618, 619, 620, 621, 6, 141, - 624, 72, 133, 6, 135, 629, 5, 78, 79, 123, - 124, 133, 636, 123, 124, 36, 37, 38, 39, 814, - 782, 42, 646, 123, 124, 139, 788, 133, 133, 139, - 654, 1166, 133, 140, 135, 797, 798, 799, 133, 139, - 802, 803, 804, 805, 806, 807, 808, 133, 141, 8, - 140, 675, 141, 133, 133, 135, 1191, 123, 124, 1194, - 133, 823, 1197, 140, 133, 1200, 135, 4, 135, 624, - 141, 133, 133, 139, 135, 133, 133, 701, 702, 703, - 704, 133, 133, 135, 135, 1220, 133, 1222, 135, 1224, - 140, 130, 131, 476, 4, 5, 135, 140, 137, 654, - 140, 484, 485, 142, 130, 131, 868, 135, 133, 135, - 135, 137, 736, 737, 921, 498, 142, 133, 501, 135, - 675, 133, 133, 135, 135, 519, 36, 37, 38, 39, - 140, 135, 42, 754, 139, 135, 141, 758, 139, 6, - 141, 49, 766, 51, 538, 137, 701, 702, 703, 704, - 774, 139, 95, 141, 778, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 139, - 6, 141, 796, 132, 4, 5, 139, 139, 141, 141, - 942, 139, 141, 141, 140, 947, 810, 811, 812, 6, - 139, 953, 141, 65, 66, 67, 68, 6, 70, 823, - 824, 135, 881, 827, 76, 77, 36, 37, 38, 39, - 4, 139, 42, 141, 140, 6, 840, 841, 842, 123, - 124, 125, 126, 127, 5, 849, 847, 139, 132, 141, - 854, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 139, 624, 141, 4, 132, 6, 870, 139, 6, 141, - 132, 137, 1059, 1015, 869, 139, 7, 141, 652, 139, - 7, 141, 886, 139, 139, 141, 141, 135, 7, 893, - 894, 654, 134, 139, 898, 141, 139, 1072, 141, 139, - 141, 141, 140, 907, 908, 7, 6, 141, 92, 140, - 139, 134, 675, 917, 134, 139, 6, 4, 136, 7, - 95, 7, 917, 61, 698, 699, 700, 921, 7, 1071, - 7, 7, 95, 7, 7, 939, 95, 7, 701, 702, - 703, 704, 7, 947, 134, 137, 134, 951, 952, 134, - 141, 134, 947, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 968, 12, 13, 1142, 132, 1111, - 7, 141, 7, 7, 140, 979, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 137, 133, 6, 997, 132, 4, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 6, 54, 133, 56, - 57, 6, 59, 60, 1018, 136, 6, 1021, 6, 1023, - 7, 135, 6, 120, 49, 7, 1030, 7, 51, 7, - 140, 1035, 7, 7, 7, 7, 7, 7, 7, 7, - 87, 88, 89, 7, 7, 4, 140, 140, 6, 133, - 6, 6, 49, 827, 6, 6, 4, 4, 4, 1063, - 140, 1065, 6, 1067, 4, 1059, 133, 6, 134, 137, - 134, 1075, 7, 6, 6, 6, 6, 140, 140, 1083, - 1084, 140, 140, 6, 6, 5, 140, 1091, 140, 6, - 6, 6, 91, 7, 141, 1099, 137, 6, 4, 6, - 8, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 6, 888, 1119, 890, 132, 136, 6, - 5, 140, 6, 6, 6, 1129, 6, 1186, 1132, 6, - 6, 1135, 6, 6, 8, 1139, 6, 6, 6, 6, - 6, 6, 1146, 6, 6, 1149, 6, 139, 4, 923, - 7, 925, 6, 927, 6, 1214, 6, 1216, 137, 6, - 5, 7, 6, 6, 140, 3, 4, 6, 134, 90, - 6, 9, 10, 11, 141, 1234, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 140, 140, 140, - 6, 6, 140, 93, 6, 43, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 6, 6, 6, 6, 132, 6, 134, 65, 66, 67, - 68, 69, 70, 5, 61, 140, 6, 141, 76, 77, + 59, 3, 1034, 6, 275, 178, 6, 150, 7, 188, + 6, 4, 185, 156, 4, 7, 4, 5, 4, 6, + 4, 49, 0, 4, 4, 643, 72, 6, 4, 5, + 71, 4, 78, 79, 207, 6, 4, 210, 181, 182, + 4, 6, 6, 6, 71, 133, 6, 5, 36, 37, + 38, 39, 140, 708, 42, 123, 124, 6, 6, 6, + 36, 37, 38, 39, 6, 4, 42, 123, 124, 43, + 13, 139, 46, 141, 139, 49, 141, 51, 36, 37, + 38, 39, 78, 139, 42, 56, 712, 123, 124, 82, + 83, 84, 85, 56, 49, 141, 337, 338, 339, 140, + 123, 124, 72, 139, 43, 133, 133, 46, 78, 79, + 49, 92, 93, 140, 117, 118, 119, 140, 1150, 122, + 123, 113, 133, 126, 92, 93, 71, 100, 134, 132, + 6, 71, 135, 139, 137, 138, 139, 140, 137, 142, + 143, 144, 145, 133, 147, 148, 149, 765, 141, 152, + 130, 131, 140, 140, 140, 135, 140, 137, 123, 124, + 120, 140, 142, 7, 140, 168, 169, 140, 53, 348, + 349, 135, 120, 828, 1206, 178, 123, 124, 180, 133, + 451, 123, 124, 133, 123, 124, 188, 360, 133, 192, + 193, 194, 133, 196, 133, 140, 199, 200, 133, 202, + 140, 140, 261, 262, 263, 264, 134, 133, 381, 143, + 213, 139, 133, 147, 140, 133, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 133, 877, + 123, 124, 265, 6, 7, 140, 110, 111, 112, 113, + 273, 125, 126, 127, 49, 275, 7, 140, 132, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 31, 32, 49, 34, 7, 134, + 123, 124, 305, 49, 139, 448, 449, 134, 123, 124, + 313, 51, 139, 123, 124, 318, 72, 140, 133, 322, + 323, 7, 78, 79, 327, 140, 329, 330, 331, 139, + 333, 334, 335, 336, 337, 338, 339, 130, 131, 273, + 336, 337, 338, 339, 123, 124, 348, 349, 351, 352, + 353, 354, 355, 356, 357, 133, 46, 123, 124, 49, + 139, 51, 141, 140, 134, 368, 369, 140, 371, 139, + 373, 374, 140, 139, 1000, 141, 4, 5, 49, 110, + 111, 112, 113, 49, 133, 141, 135, 6, 391, 323, + 72, 394, 133, 393, 135, 46, 78, 79, 140, 130, + 131, 110, 111, 112, 113, 4, 137, 1062, 36, 37, + 38, 39, 62, 63, 42, 123, 124, 123, 124, 123, + 124, 130, 131, 1041, 110, 111, 112, 113, 165, 4, + 167, 139, 133, 139, 135, 139, 173, 371, 1064, 4, + 1066, 178, 1068, 446, 130, 131, 123, 124, 133, 1104, + 453, 451, 1107, 123, 124, 1110, 452, 72, 133, 141, + 135, 72, 139, 78, 79, 72, 133, 78, 79, 139, + 133, 78, 79, 476, 477, 133, 479, 480, 6, 7, + 483, 484, 485, 6, 4, 138, 757, 758, 135, 133, + 143, 135, 4, 7, 147, 498, 123, 124, 501, 502, + 140, 72, 130, 131, 72, 508, 565, 78, 79, 137, + 78, 79, 139, 1168, 130, 131, 1142, 520, 521, 662, + 663, 137, 665, 526, 667, 668, 141, 133, 671, 672, + 141, 133, 123, 124, 141, 123, 124, 133, 1193, 542, + 543, 1196, 476, 133, 1199, 123, 124, 1202, 139, 133, + 1176, 139, 1178, 556, 1180, 558, 559, 133, 4, 135, + 1186, 139, 6, 6, 498, 565, 625, 1222, 72, 1224, + 141, 1226, 6, 141, 78, 79, 5, 720, 721, 722, + 65, 66, 67, 68, 1210, 70, 1212, 133, 1214, 72, + 649, 76, 77, 133, 133, 78, 79, 8, 601, 602, + 4, 133, 123, 124, 125, 126, 127, 140, 133, 346, + 347, 132, 615, 616, 617, 618, 619, 620, 621, 356, + 273, 624, 72, 133, 72, 135, 629, 140, 78, 79, + 78, 79, 133, 636, 135, 130, 131, 141, 140, 782, + 135, 814, 137, 646, 133, 788, 135, 142, 135, 4, + 5, 654, 305, 133, 797, 798, 799, 133, 141, 802, + 803, 804, 805, 806, 807, 808, 133, 72, 135, 322, + 323, 72, 675, 78, 79, 133, 133, 78, 79, 133, + 823, 36, 37, 38, 39, 140, 133, 42, 135, 140, + 624, 141, 137, 141, 4, 5, 135, 6, 701, 702, + 703, 704, 140, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 133, 371, 135, + 654, 132, 139, 135, 141, 868, 36, 37, 38, 39, + 141, 140, 42, 736, 737, 133, 141, 135, 130, 131, + 141, 675, 921, 135, 135, 137, 8, 133, 95, 135, + 142, 133, 140, 135, 754, 133, 6, 135, 758, 133, + 133, 135, 135, 766, 133, 6, 135, 701, 702, 703, + 704, 774, 133, 6, 135, 778, 133, 139, 135, 141, + 4, 135, 519, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 135, 796, 137, 139, 132, 141, 139, 942, + 141, 538, 139, 49, 141, 51, 140, 810, 811, 812, + 953, 139, 139, 141, 141, 139, 139, 141, 141, 6, + 823, 824, 881, 476, 827, 139, 139, 141, 141, 5, + 132, 484, 485, 139, 139, 141, 141, 840, 841, 842, + 139, 4, 141, 6, 137, 498, 849, 847, 501, 7, + 135, 854, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 139, 870, 141, 6, + 132, 140, 1015, 869, 139, 139, 141, 141, 7, 141, + 1059, 7, 139, 886, 141, 139, 139, 141, 141, 134, + 893, 894, 139, 141, 141, 898, 139, 7, 141, 1072, + 139, 6, 141, 141, 907, 908, 92, 134, 140, 139, + 139, 134, 6, 4, 917, 652, 136, 7, 95, 921, + 7, 917, 7, 7, 61, 95, 6, 95, 1071, 7, + 7, 7, 7, 7, 134, 134, 939, 134, 134, 137, + 141, 7, 7, 7, 947, 137, 141, 140, 951, 952, + 133, 947, 133, 6, 4, 6, 136, 6, 6, 6, + 135, 698, 699, 700, 7, 968, 6, 120, 1111, 7, + 1143, 624, 7, 7, 140, 7, 979, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 49, 51, 7, 997, 132, 7, 7, 7, 7, + 7, 654, 7, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 1018, 7, 7, 1021, 132, + 1023, 4, 675, 1026, 140, 6, 140, 1030, 6, 133, + 6, 49, 1035, 6, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 701, 702, + 703, 704, 132, 6, 8, 4, 4, 1059, 4, 6, + 1063, 4, 1065, 133, 1067, 6, 134, 12, 13, 140, + 137, 134, 1075, 7, 6, 6, 6, 6, 140, 140, + 1083, 1084, 6, 140, 140, 6, 5, 91, 1091, 6, + 827, 6, 1026, 6, 140, 140, 1099, 7, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 137, 54, + 6, 56, 57, 4, 59, 60, 6, 1120, 6, 136, + 6, 5, 7, 6, 6, 6, 6, 1130, 6, 1188, + 1133, 6, 6, 1136, 6, 6, 6, 1140, 6, 6, + 6, 6, 87, 88, 89, 1148, 6, 6, 1151, 4, + 139, 888, 140, 890, 6, 6, 6, 1216, 137, 1218, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 140, 6, 6, 6, 132, 6, - 139, 6, 6, 141, 5, 140, 6, 6, 106, 107, - 108, 109, 6, 6, 6, 6, 140, 5, 773, 140, - 6, 140, 140, 6, 139, 123, 124, 140, 6, 1063, - 128, 1065, 140, 1067, 6, 133, 6, 6, 140, 140, - 138, 141, 6, 141, 3, 4, 5, 1119, 6, 6, - 9, 10, 11, 6, 3, 14, 15, 16, 17, 18, + 124, 125, 126, 127, 6, 5, 140, 1236, 132, 6, + 134, 6, 141, 140, 140, 140, 923, 6, 925, 7, + 927, 90, 6, 6, 3, 4, 141, 134, 140, 93, + 9, 10, 11, 6, 6, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 6, 6, 6, 140, + 6, 5, 141, 6, 43, 61, 140, 6, 139, 6, + 6, 12, 13, 6, 6, 6, 6, 5, 141, 6, + 6, 140, 6, 140, 6, 6, 65, 66, 67, 68, + 69, 70, 6, 140, 140, 5, 139, 76, 77, 6, + 6, 140, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 140, 54, 140, 56, 57, 140, 59, 60, + 6, 140, 6, 141, 6, 6, 6, 106, 107, 108, + 109, 6, 6, 6, 773, 3, 1120, 3, -1, 873, + -1, -1, -1, -1, 123, 124, 87, 88, 89, 128, + -1, -1, -1, -1, 133, -1, 1063, -1, 1065, 138, + 1067, -1, 141, -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, 3, 36, 37, 38, - 39, 873, -1, 42, 43, -1, -1, -1, -1, -1, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + 141, -1, -1, 1026, 43, -1, -1, -1, -1, -1, -1, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, 67, 68, 69, 70, -1, -1, -1, -1, -1, 76, 77, -1, @@ -2264,312 +2255,292 @@ static const yytype_int16 yycheck[] = 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, 43, -1, - -1, -1, 141, -1, -1, 12, 13, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 65, 66, 67, 68, 69, 70, -1, -1, -1, -1, - -1, 76, 77, -1, -1, -1, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, - 57, -1, 59, 60, -1, -1, -1, -1, -1, -1, + -1, -1, 141, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + 65, 66, 67, 68, 69, 70, -1, 3, 4, -1, + -1, 76, 77, 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, -1, -1, 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, - 87, 88, 89, 128, -1, -1, -1, -1, 133, -1, - 3, 4, -1, 138, -1, 140, 9, 10, 11, -1, + -1, -1, -1, 128, -1, -1, -1, -1, 133, -1, + 3, 4, 5, 138, -1, 140, 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, -1, -1, -1, -1, -1, -1, -1, -1, - 43, -1, -1, -1, 141, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 65, 66, 67, 68, 69, 70, -1, 3, - 4, -1, -1, 76, 77, 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, -1, -1, 106, 107, 108, 109, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 123, 124, -1, -1, -1, 128, -1, -1, -1, -1, + 33, 34, -1, 36, 37, 38, 39, -1, -1, 42, + 106, 107, 108, 109, -1, -1, -1, 12, 13, -1, + -1, -1, -1, -1, -1, -1, -1, 123, 124, -1, + -1, -1, 128, -1, -1, -1, -1, 133, -1, -1, + 136, -1, 138, -1, 140, -1, -1, -1, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, + -1, 56, 57, -1, 59, 60, -1, -1, -1, -1, + -1, -1, -1, 106, 107, 108, 109, -1, -1, -1, + -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, + 123, 124, 87, 88, 89, 128, -1, -1, -1, -1, 133, -1, 3, 4, -1, 138, -1, 140, 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, -1, -1, -1, -1, -1, -1, - -1, -1, 106, 107, 108, 109, -1, -1, -1, 12, - 13, -1, -1, -1, -1, -1, -1, -1, -1, 123, - 124, -1, -1, -1, 128, -1, -1, -1, -1, 133, - -1, -1, 136, -1, 138, -1, 140, -1, -1, -1, + 31, 32, 33, 34, -1, -1, -1, 3, 4, 12, + 13, -1, -1, 9, 10, 11, 141, -1, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, -1, 59, 60, -1, -1, - -1, -1, -1, -1, -1, 106, 107, 108, 109, 6, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 123, 124, 87, 88, 89, 128, -1, -1, + -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 106, 107, 108, 109, 132, + -1, -1, -1, -1, 87, 88, 89, -1, -1, -1, + -1, -1, 123, 124, -1, -1, -1, 128, -1, -1, -1, -1, 133, -1, -1, 136, -1, 138, -1, 140, - 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, -1, -1, -1, 3, 4, 5, 141, 7, - -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, -1, 36, 37, - 38, 39, -1, -1, 42, -1, -1, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, 106, 107, 108, 109, 8, -1, -1, + 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 123, 124, -1, + -1, -1, 128, -1, -1, -1, -1, 133, 141, 3, + 4, 5, 138, 7, 140, 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, -1, 36, 37, 38, 39, -1, -1, 42, -1, + -1, -1, -1, -1, -1, -1, -1, -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, + -1, -1, -1, -1, -1, -1, -1, -1, 43, -1, + -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, + -1, -1, 106, 107, 108, 109, 110, 111, 112, 113, + 65, 66, 67, 68, 69, 70, -1, -1, -1, 123, + 124, 76, 77, -1, 128, -1, 130, 131, -1, 133, + -1, 135, -1, 137, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 123, 124, -1, -1, -1, 128, -1, -1, -1, -1, - 133, -1, 100, -1, -1, 138, -1, 140, 106, 107, - 108, 109, 110, 111, 112, 113, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 123, 124, -1, -1, -1, - 128, -1, 130, 131, -1, 133, -1, 135, -1, 137, - 138, 3, 4, -1, -1, -1, -1, 9, 10, 11, + -1, 106, 107, 108, 109, 6, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, + -1, -1, -1, 128, 3, 4, 5, -1, 133, -1, + 9, 10, 11, 138, -1, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, + 39, 3, 4, 42, 12, 13, -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, -1, -1, -1, -1, -1, -1, -1, - -1, 43, -1, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, 65, 66, 67, 68, 69, 70, -1, - 3, 4, -1, -1, 76, 77, 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, -1, -1, 106, 107, 108, 109, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, 124, -1, -1, -1, 128, 3, 4, 5, - -1, 133, -1, 9, 10, 11, 138, -1, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - 36, 37, 38, 39, -1, -1, 42, -1, -1, -1, - -1, -1, -1, 106, 107, 108, 109, 6, 12, 13, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 123, 124, -1, -1, -1, 128, -1, -1, -1, -1, - 133, -1, -1, -1, 6, 138, -1, -1, -1, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, - 54, -1, 56, 57, 6, 59, 60, -1, -1, -1, - 106, 107, 108, 109, 12, 13, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 123, 124, -1, - -1, -1, 128, 87, 88, 89, 6, 133, -1, -1, - -1, -1, 138, -1, -1, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 6, 54, -1, 56, 57, - -1, 59, 60, -1, -1, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 6, - -1, -1, -1, 132, -1, -1, -1, 141, -1, 87, - 88, 89, 114, 115, 116, 117, 118, 119, 120, 121, + 32, 33, 34, 6, -1, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, -1, 54, -1, 56, 57, + -1, 59, 60, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 106, 107, 108, + 109, 132, 6, -1, -1, -1, -1, -1, -1, 87, + 88, 89, -1, -1, 123, 124, -1, -1, -1, 128, + -1, 6, -1, -1, 133, -1, -1, -1, -1, 138, + -1, -1, -1, -1, 106, 107, 108, 109, -1, -1, + 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 123, 124, -1, -1, -1, 128, -1, -1, 6, + -1, 133, -1, 141, -1, -1, 138, -1, -1, -1, + -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 6, -1, -1, -1, 132, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 6, -1, -1, -1, 132, -1, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 6, -1, -1, -1, 132, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 6, -1, -1, -1, 132, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 6, -1, -1, -1, 132, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 6, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, -1, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 6, -1, -1, + -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 6, -1, -1, -1, 132, -1, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 6, -1, -1, -1, - 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 6, -1, + 122, 123, 124, 125, 126, 127, -1, 8, -1, -1, + 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, 8, -1, -1, 132, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, 8, -1, -1, 132, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, 8, -1, -1, 132, -1, -1, + -1, -1, -1, -1, -1, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 8, + -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 8, -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 6, -1, -1, - -1, 132, -1, -1, -1, -1, -1, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 6, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, -1, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 6, -1, - -1, -1, 132, -1, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 6, -1, - -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 6, -1, -1, -1, 132, 114, 115, 116, 117, 118, + 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, + -1, 132, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, 8, -1, 132, -1, -1, -1, -1, -1, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 8, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 114, 115, 116, 117, + -1, -1, -1, 132, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, 0, + 1, -1, 132, 4, -1, -1, -1, -1, -1, -1, + -1, 12, 13, -1, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, 35, -1, -1, -1, -1, 40, + 41, 141, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, -1, 54, 55, 56, 57, 58, 59, 60, + -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, + -1, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, 4, -1, -1, -1, 86, 87, 88, 89, 12, + 13, 92, -1, 94, -1, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, -1, -1, -1, -1, -1, + -1, -1, 35, -1, -1, -1, -1, 40, 41, -1, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + -1, 54, 55, 56, 57, 58, 59, 60, -1, -1, + -1, 64, 65, 66, 67, 68, 69, 70, -1, 72, + 73, 74, 75, 76, 77, 12, 13, 80, 81, -1, + -1, -1, -1, 86, 87, 88, 89, -1, -1, 92, + -1, 94, -1, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, -1, -1, -1, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, -1, 54, -1, 56, + 57, -1, 59, 60, -1, -1, -1, -1, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + 87, 88, 89, 139, -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 8, -1, -1, -1, 132, -1, 114, 115, 116, 117, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, 139, -1, 141, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, + -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - 8, -1, -1, -1, 132, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 114, 115, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, + -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 8, -1, -1, -1, 132, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 114, 115, 116, 117, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, 132, -1, 114, 115, 116, 117, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, + -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, 0, 1, 132, -1, 4, -1, -1, -1, - -1, -1, -1, -1, 12, 13, -1, -1, 114, 115, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, + -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, 132, 35, -1, -1, - -1, -1, 40, 41, -1, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, -1, 54, 55, 56, 57, - 58, 59, 60, -1, -1, -1, 64, 65, 66, 67, - 68, 69, 70, -1, 72, 73, 74, 75, 76, 77, - -1, -1, 80, 81, 4, -1, -1, -1, 86, 87, - 88, 89, 12, 13, 92, -1, 94, -1, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, -1, -1, - -1, -1, -1, -1, -1, 35, -1, -1, -1, -1, - 40, 41, -1, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, -1, 54, 55, 56, 57, 58, 59, - 60, -1, -1, -1, 64, 65, 66, 67, 68, 69, - 70, -1, 72, 73, 74, 75, 76, 77, 12, 13, - 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, - -1, -1, 92, -1, 94, -1, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, -1, -1, -1, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, -1, - 54, -1, 56, 57, -1, 59, 60, -1, -1, -1, - -1, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, 87, 88, 89, 139, -1, 141, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, 139, -1, 141, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, 139, -1, 141, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, -1, -1, 141, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - -1, -1, 141, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, -1, -1, - 141, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, -1, -1, 141, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, -1, -1, 141, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, 134, -1, -1, - -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, - -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, 132, -1, -1, -1, -1, -1, -1, - 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, 141, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, -1, + -1, 141, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, -1, -1, 141, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, -1, -1, 141, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, -1, -1, 141, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + -1, -1, -1, -1, 132, -1, 134, -1, -1, -1, + -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, - -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, + -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, -1, -1, -1, 139, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, + -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, + -1, -1, 132, -1, -1, -1, -1, -1, -1, 139, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, + -1, -1, -1, -1, -1, 139, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, @@ -2639,6 +2610,15 @@ static const yytype_int16 yycheck[] = -1, -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + -1, -1, -1, -1, 132, -1, -1, -1, 136, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, 136, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, + 132, -1, -1, -1, 136, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, + -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, @@ -2735,11 +2715,7 @@ static const yytype_int16 yycheck[] = 124, 125, 126, 127, -1, -1, -1, -1, 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, - -1, 134, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, - 132, -1, 134, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, -1, -1, -1, - -1, 132 + -1, 134 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2848,29 +2824,29 @@ static const yytype_uint8 yystos[] = 6, 6, 6, 198, 210, 141, 134, 139, 141, 171, 183, 200, 6, 184, 200, 6, 185, 200, 6, 186, 6, 6, 6, 6, 141, 139, 134, 141, 139, 198, - 203, 139, 141, 8, 141, 134, 198, 203, 210, 134, + 203, 139, 141, 8, 141, 134, 140, 198, 210, 134, 139, 198, 198, 203, 140, 139, 141, 4, 6, 6, 6, 7, 6, 137, 6, 198, 141, 6, 6, 141, 141, 141, 5, 198, 6, 6, 6, 6, 6, 140, 198, 141, 193, 139, 140, 139, 140, 139, 140, 6, - 203, 7, 140, 198, 141, 90, 198, 198, 6, 6, + 203, 7, 140, 198, 141, 90, 198, 198, 205, 6, 6, 155, 198, 139, 139, 202, 198, 6, 134, 206, 93, 139, 6, 6, 6, 6, 6, 139, 171, 139, 141, 141, 198, 200, 193, 198, 200, 193, 198, 200, - 193, 139, 141, 203, 172, 141, 198, 141, 141, 140, - 198, 198, 141, 6, 198, 5, 141, 198, 141, 139, - 141, 141, 139, 141, 141, 139, 141, 203, 6, 61, - 141, 180, 140, 6, 152, 134, 139, 6, 140, 139, - 139, 141, 6, 187, 198, 6, 6, 188, 198, 6, - 6, 189, 198, 6, 141, 198, 193, 172, 141, 158, - 198, 202, 198, 5, 140, 141, 140, 141, 140, 141, - 6, 6, 141, 141, 181, 6, 140, 134, 141, 141, - 139, 193, 6, 190, 193, 6, 191, 193, 6, 192, - 193, 156, 209, 161, 140, 6, 5, 141, 140, 141, - 140, 141, 140, 141, 139, 141, 140, 202, 141, 6, - 193, 6, 193, 6, 193, 209, 6, 159, 209, 141, - 6, 141, 141, 141, 139, 141, 6, 6, 6, 6, - 209, 6 + 193, 139, 141, 203, 172, 141, 198, 141, 141, 141, + 140, 198, 198, 141, 6, 198, 5, 141, 198, 141, + 139, 141, 141, 139, 141, 141, 139, 141, 203, 6, + 61, 141, 180, 140, 6, 6, 152, 134, 139, 6, + 140, 139, 139, 141, 6, 187, 198, 6, 6, 188, + 198, 6, 6, 189, 198, 6, 141, 198, 193, 172, + 141, 158, 198, 202, 198, 5, 140, 141, 140, 141, + 140, 141, 6, 6, 141, 141, 181, 6, 140, 134, + 141, 141, 139, 193, 6, 190, 193, 6, 191, 193, + 6, 192, 193, 156, 209, 161, 140, 6, 5, 141, + 140, 141, 140, 141, 140, 141, 139, 141, 140, 202, + 141, 6, 193, 6, 193, 6, 193, 209, 6, 159, + 209, 141, 6, 141, 141, 141, 139, 141, 6, 6, + 6, 6, 209, 6 }; #define yyerrok (yyerrstatus = 0) @@ -2944,7 +2920,7 @@ while (YYID (0)) we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL +# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -3685,96 +3661,96 @@ yyreduce: switch (yyn) { case 3: -#line 147 "Gmsh.y" +#line 146 "Gmsh.y" { yyerrok; return 1; ;} break; case 6: -#line 158 "Gmsh.y" +#line 157 "Gmsh.y" { return 1; ;} break; case 7: -#line 159 "Gmsh.y" +#line 158 "Gmsh.y" { return 1; ;} break; case 8: -#line 160 "Gmsh.y" +#line 159 "Gmsh.y" { return 1; ;} break; case 9: -#line 161 "Gmsh.y" +#line 160 "Gmsh.y" { return 1; ;} break; case 10: -#line 162 "Gmsh.y" +#line 161 "Gmsh.y" { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;} break; case 11: -#line 163 "Gmsh.y" +#line 162 "Gmsh.y" { return 1; ;} break; case 12: -#line 164 "Gmsh.y" +#line 163 "Gmsh.y" { return 1; ;} break; case 13: -#line 165 "Gmsh.y" +#line 164 "Gmsh.y" { return 1; ;} break; case 14: -#line 166 "Gmsh.y" +#line 165 "Gmsh.y" { List_Delete((yyvsp[(1) - (1)].l)); return 1; ;} break; case 15: -#line 167 "Gmsh.y" +#line 166 "Gmsh.y" { return 1; ;} break; case 16: -#line 168 "Gmsh.y" +#line 167 "Gmsh.y" { return 1; ;} break; case 17: -#line 169 "Gmsh.y" +#line 168 "Gmsh.y" { return 1; ;} break; case 18: -#line 170 "Gmsh.y" +#line 169 "Gmsh.y" { return 1; ;} break; case 19: -#line 171 "Gmsh.y" +#line 170 "Gmsh.y" { return 1; ;} break; case 20: -#line 176 "Gmsh.y" +#line 175 "Gmsh.y" { (yyval.c) = (char*)"w"; ;} break; case 21: -#line 180 "Gmsh.y" +#line 179 "Gmsh.y" { (yyval.c) = (char*)"a"; ;} break; case 22: -#line 187 "Gmsh.y" +#line 186 "Gmsh.y" { Msg(DIRECT, (yyvsp[(3) - (5)].c)); Free((yyvsp[(3) - (5)].c)); @@ -3782,7 +3758,7 @@ yyreduce: break; case 23: -#line 192 "Gmsh.y" +#line 191 "Gmsh.y" { char tmpstring[1024]; FixRelativePath((yyvsp[(6) - (7)].c), tmpstring); @@ -3800,7 +3776,7 @@ yyreduce: break; case 24: -#line 207 "Gmsh.y" +#line 206 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (7)].c), (yyvsp[(5) - (7)].l), tmpstring); @@ -3816,7 +3792,7 @@ yyreduce: break; case 25: -#line 220 "Gmsh.y" +#line 219 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (9)].c), (yyvsp[(5) - (9)].l), tmpstring); @@ -3843,7 +3819,7 @@ yyreduce: break; case 26: -#line 249 "Gmsh.y" +#line 248 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (6)].c), "View") && ViewData->finalize()){ ViewData->setName((yyvsp[(2) - (6)].c)); @@ -3863,7 +3839,7 @@ yyreduce: break; case 27: -#line 266 "Gmsh.y" +#line 265 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "View")){ int index = (int)(yyvsp[(4) - (6)].d); @@ -3875,7 +3851,7 @@ yyreduce: break; case 28: -#line 275 "Gmsh.y" +#line 274 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "View")){ int index = (int)(yyvsp[(4) - (6)].d); @@ -3887,34 +3863,34 @@ yyreduce: break; case 29: -#line 287 "Gmsh.y" +#line 286 "Gmsh.y" { ViewData = new PViewDataList(true); ;} break; case 35: -#line 299 "Gmsh.y" +#line 298 "Gmsh.y" { ViewCoord[ViewCoordIdx++] = (yyvsp[(1) - (1)].d); ;} break; case 36: -#line 301 "Gmsh.y" +#line 300 "Gmsh.y" { ViewCoord[ViewCoordIdx++] = (yyvsp[(3) - (3)].d); ;} break; case 37: -#line 306 "Gmsh.y" +#line 305 "Gmsh.y" { if(ViewValueList) List_Add(ViewValueList, &(yyvsp[(1) - (1)].d)); ;} break; case 38: -#line 308 "Gmsh.y" +#line 307 "Gmsh.y" { if(ViewValueList) List_Add(ViewValueList, &(yyvsp[(3) - (3)].d)); ;} break; case 39: -#line 313 "Gmsh.y" +#line 312 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "SP")){ ViewValueList = ViewData->SP; ViewNumList = &ViewData->NbSP; @@ -4061,7 +4037,7 @@ yyreduce: break; case 40: -#line 457 "Gmsh.y" +#line 456 "Gmsh.y" { if(ViewValueList){ for(int i = 0; i < 3; i++) @@ -4072,14 +4048,14 @@ yyreduce: break; case 41: -#line 465 "Gmsh.y" +#line 464 "Gmsh.y" { if(ViewValueList) (*ViewNumList)++; ;} break; case 42: -#line 472 "Gmsh.y" +#line 471 "Gmsh.y" { for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c))+1; i++) List_Add(ViewData->T2C, &(yyvsp[(1) - (1)].c)[i]); Free((yyvsp[(1) - (1)].c)); @@ -4087,7 +4063,7 @@ yyreduce: break; case 43: -#line 477 "Gmsh.y" +#line 476 "Gmsh.y" { for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c))+1; i++) List_Add(ViewData->T2C, &(yyvsp[(3) - (3)].c)[i]); Free((yyvsp[(3) - (3)].c)); @@ -4095,7 +4071,7 @@ yyreduce: break; case 44: -#line 485 "Gmsh.y" +#line 484 "Gmsh.y" { List_Add(ViewData->T2D, &(yyvsp[(3) - (8)].d)); List_Add(ViewData->T2D, &(yyvsp[(5) - (8)].d)); @@ -4106,14 +4082,14 @@ yyreduce: break; case 45: -#line 493 "Gmsh.y" +#line 492 "Gmsh.y" { ViewData->NbT2++; ;} break; case 46: -#line 500 "Gmsh.y" +#line 499 "Gmsh.y" { for(int i = 0; i < (int)strlen((yyvsp[(1) - (1)].c))+1; i++) List_Add(ViewData->T3C, &(yyvsp[(1) - (1)].c)[i]); Free((yyvsp[(1) - (1)].c)); @@ -4121,7 +4097,7 @@ yyreduce: break; case 47: -#line 505 "Gmsh.y" +#line 504 "Gmsh.y" { for(int i = 0; i < (int)strlen((yyvsp[(3) - (3)].c))+1; i++) List_Add(ViewData->T3C, &(yyvsp[(3) - (3)].c)[i]); Free((yyvsp[(3) - (3)].c)); @@ -4129,7 +4105,7 @@ yyreduce: break; case 48: -#line 513 "Gmsh.y" +#line 512 "Gmsh.y" { List_Add(ViewData->T3D, &(yyvsp[(3) - (10)].d)); List_Add(ViewData->T3D, &(yyvsp[(5) - (10)].d)); List_Add(ViewData->T3D, &(yyvsp[(7) - (10)].d)); List_Add(ViewData->T3D, &(yyvsp[(9) - (10)].d)); @@ -4139,76 +4115,76 @@ yyreduce: break; case 49: -#line 520 "Gmsh.y" +#line 519 "Gmsh.y" { ViewData->NbT3++; ;} break; case 50: -#line 528 "Gmsh.y" +#line 527 "Gmsh.y" { ViewData->adaptive = new Adaptive_Post_View(ViewData, (yyvsp[(3) - (8)].l), (yyvsp[(6) - (8)].l)); ;} break; case 51: -#line 535 "Gmsh.y" +#line 534 "Gmsh.y" { ViewData->adaptive = new Adaptive_Post_View(ViewData, (yyvsp[(3) - (14)].l), (yyvsp[(6) - (14)].l), (yyvsp[(9) - (14)].l), (yyvsp[(12) - (14)].l)); ;} break; case 52: -#line 542 "Gmsh.y" +#line 541 "Gmsh.y" { ViewValueList = ViewData->Time; ;} break; case 53: -#line 546 "Gmsh.y" +#line 545 "Gmsh.y" { ;} break; case 54: -#line 553 "Gmsh.y" +#line 552 "Gmsh.y" { (yyval.i) = 0; ;} break; case 55: -#line 554 "Gmsh.y" +#line 553 "Gmsh.y" { (yyval.i) = 1; ;} break; case 56: -#line 555 "Gmsh.y" +#line 554 "Gmsh.y" { (yyval.i) = 2; ;} break; case 57: -#line 556 "Gmsh.y" +#line 555 "Gmsh.y" { (yyval.i) = 3; ;} break; case 58: -#line 557 "Gmsh.y" +#line 556 "Gmsh.y" { (yyval.i) = 4; ;} break; case 59: -#line 561 "Gmsh.y" +#line 560 "Gmsh.y" { (yyval.i) = 1; ;} break; case 60: -#line 562 "Gmsh.y" +#line 561 "Gmsh.y" { (yyval.i) = -1; ;} break; case 61: -#line 570 "Gmsh.y" +#line 569 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (4)].c); @@ -4242,7 +4218,7 @@ yyreduce: break; case 62: -#line 601 "Gmsh.y" +#line 600 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (7)].c); @@ -4284,7 +4260,7 @@ yyreduce: break; case 63: -#line 640 "Gmsh.y" +#line 639 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (9)].l)) != List_Nbr((yyvsp[(8) - (9)].l))){ yymsg(GERROR, "Incompatible array dimensions in affectation"); @@ -4341,7 +4317,7 @@ yyreduce: break; case 64: -#line 694 "Gmsh.y" +#line 693 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (6)].c); @@ -4361,7 +4337,7 @@ yyreduce: break; case 65: -#line 711 "Gmsh.y" +#line 710 "Gmsh.y" { // appends to the list Symbol TheSymbol; @@ -4382,7 +4358,7 @@ yyreduce: break; case 66: -#line 729 "Gmsh.y" +#line 728 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (3)].c); @@ -4396,7 +4372,7 @@ yyreduce: break; case 67: -#line 740 "Gmsh.y" +#line 739 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (6)].c); @@ -4415,14 +4391,14 @@ yyreduce: break; case 68: -#line 757 "Gmsh.y" +#line 756 "Gmsh.y" { Msg(WARNING, "Named string expressions not implemented yet"); ;} break; case 69: -#line 764 "Gmsh.y" +#line 763 "Gmsh.y" { const char* (*pStrOpt)(int num, int action, const char *value); StringXString *pStrCat; @@ -4440,7 +4416,7 @@ yyreduce: break; case 70: -#line 779 "Gmsh.y" +#line 778 "Gmsh.y" { const char* (*pStrOpt)(int num, int action, const char *value); StringXString *pStrCat; @@ -4458,7 +4434,7 @@ yyreduce: break; case 71: -#line 797 "Gmsh.y" +#line 796 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -4487,7 +4463,7 @@ yyreduce: break; case 72: -#line 823 "Gmsh.y" +#line 822 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -4517,7 +4493,7 @@ yyreduce: break; case 73: -#line 850 "Gmsh.y" +#line 849 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -4534,7 +4510,7 @@ yyreduce: break; case 74: -#line 864 "Gmsh.y" +#line 863 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -4551,7 +4527,7 @@ yyreduce: break; case 75: -#line 881 "Gmsh.y" +#line 880 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -4569,7 +4545,7 @@ yyreduce: break; case 76: -#line 896 "Gmsh.y" +#line 895 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -4587,7 +4563,7 @@ yyreduce: break; case 77: -#line 914 "Gmsh.y" +#line 913 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable(0); if(!ct) @@ -4610,7 +4586,7 @@ yyreduce: break; case 78: -#line 934 "Gmsh.y" +#line 933 "Gmsh.y" { GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (9)].d)); if(!ct) @@ -4633,78 +4609,95 @@ yyreduce: break; case 79: -#line 954 "Gmsh.y" +#line 956 "Gmsh.y" { - if(!strcmp((yyvsp[(1) - (5)].c),"Background")){ - GModel::current()->fields.background_field=(int)(yyvsp[(4) - (5)].d); - }else{ - yymsg(GERROR, "Unknown command %s Field.",(yyvsp[(1) - (5)].c)); - } - ;} + if(!strcmp((yyvsp[(1) - (5)].c),"Background")){ + GModel::current()->getFields()->background_field = (int)(yyvsp[(4) - (5)].d); + } + else{ + yymsg(GERROR, "Unknown command %s Field", (yyvsp[(1) - (5)].c)); + } + ;} break; case 80: -#line 962 "Gmsh.y" +#line 965 "Gmsh.y" { - if(!GModel::current()->fields.new_field((int)(yyvsp[(3) - (7)].d),(yyvsp[(6) - (7)].c))) - yymsg(GERROR, "Cannot create field %i of type '%s'.", (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c)); - ;} + if(!GModel::current()->getFields()->new_field((int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c))) + yymsg(GERROR, "Cannot create field %i of type '%s'", (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c)); + ;} break; case 81: -#line 967 "Gmsh.y" - { - Field *field=GModel::current()->fields.get((int)(yyvsp[(3) - (9)].d)); - if(field){ - FieldOption *option=field->options[(yyvsp[(6) - (9)].c)]; - if(option){ - try {option->numerical_value((yyvsp[(8) - (9)].d));} - catch(...){ - yymsg(GERROR, "Cannot assign a numerical value to option '%s' in field %i of type '%s'", (yyvsp[(6) - (9)].c),(int)(yyvsp[(3) - (9)].d),field->get_name()); - } - }else yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", (yyvsp[(6) - (9)].c),(int)(yyvsp[(3) - (9)].d),field->get_name()); - }else yymsg(GERROR, "No field with id %i",(int)(yyvsp[(3) - (9)].d)); - - ;} +#line 970 "Gmsh.y" + { + Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d)); + if(field){ + FieldOption *option = field->options[(yyvsp[(6) - (9)].c)]; + if(option){ + try { option->numerical_value((yyvsp[(8) - (9)].d)); } + catch(...){ + yymsg(GERROR, "Cannot assign a numerical value to option '%s' in field %i of type '%s'", + (yyvsp[(6) - (9)].c), (int)(yyvsp[(3) - (9)].d), field->get_name()); + } + } + else + yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", + (yyvsp[(6) - (9)].c), (int)(yyvsp[(3) - (9)].d), field->get_name()); + } + else + yymsg(GERROR, "No field with id %i", (int)(yyvsp[(3) - (9)].d)); + ;} break; case 82: -#line 981 "Gmsh.y" - { - Field *field=GModel::current()->fields.get((int)(yyvsp[(3) - (9)].d)); - if(field){ - FieldOption *option=field->options[(yyvsp[(6) - (9)].c)]; - if(option){ - try {option->string()=(yyvsp[(8) - (9)].c);} - catch (...){ - yymsg(GERROR, "Cannot assign a string value to option '%s' in field %i of type '%s'", (yyvsp[(6) - (9)].c),(int)(yyvsp[(3) - (9)].d),field->get_name()); - } - }else yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", (yyvsp[(6) - (9)].c),(int)(yyvsp[(3) - (9)].d),field->get_name()); - }else yymsg(GERROR, "No field with id %i",(int)(yyvsp[(3) - (9)].d)); - ;} +#line 989 "Gmsh.y" + { + Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (9)].d)); + if(field){ + FieldOption *option = field->options[(yyvsp[(6) - (9)].c)]; + if(option){ + try { option->string() = (yyvsp[(8) - (9)].c); } + catch (...){ + yymsg(GERROR, "Cannot assign a string value to option '%s' in field %i of type '%s'", + (yyvsp[(6) - (9)].c), (int)(yyvsp[(3) - (9)].d), field->get_name()); + } + } + else + yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", + (yyvsp[(6) - (9)].c), (int)(yyvsp[(3) - (9)].d), field->get_name()); + } + else + yymsg(GERROR, "No field with id %i", (int)(yyvsp[(3) - (9)].d)); + ;} break; case 83: -#line 994 "Gmsh.y" - { - Field *field=GModel::current()->fields.get((int)(yyvsp[(3) - (9)].d)); - if(field){ - FieldOption *option=field->options[(yyvsp[(6) - (9)].c)]; - if(option){ - std::list<int> &vl=option->list(); - vl.clear(); - for(int i=0;i<List_Nbr((yyvsp[(8) - (9)].l));i++){ - double id; - List_Read((yyvsp[(8) - (9)].l),i,&id); - vl.push_back(id); - } - }else yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", (yyvsp[(6) - (9)].c),(int)(yyvsp[(3) - (9)].d),field->get_name()); - }else yymsg(GERROR, "No field with id %i",(int)(yyvsp[(3) - (9)].d)); - ;} +#line 1008 "Gmsh.y" + { + Field *field = GModel::current()->getFields()->get((int)(yyvsp[(3) - (11)].d)); + if(field){ + FieldOption *option = field->options[(yyvsp[(6) - (11)].c)]; + if(option){ + std::list<int> &vl = option->list(); + vl.clear(); + for(int i = 0; i < List_Nbr((yyvsp[(9) - (11)].l)); i++){ + double id; + List_Read((yyvsp[(9) - (11)].l), i, &id); + vl.push_back(id); + } + } + else + yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", + (yyvsp[(6) - (11)].c), (int)(yyvsp[(3) - (11)].d), field->get_name()); + } + else + yymsg(GERROR, "No field with id %i", (int)(yyvsp[(3) - (11)].d)); + ;} break; case 84: -#line 1012 "Gmsh.y" +#line 1032 "Gmsh.y" { try { GMSH_PluginManager::instance()->setPluginOption((yyvsp[(3) - (9)].c), (yyvsp[(6) - (9)].c), (yyvsp[(8) - (9)].d)); @@ -4717,7 +4710,7 @@ yyreduce: break; case 85: -#line 1022 "Gmsh.y" +#line 1042 "Gmsh.y" { try { GMSH_PluginManager::instance()->setPluginOption((yyvsp[(3) - (9)].c), (yyvsp[(6) - (9)].c), (yyvsp[(8) - (9)].c)); @@ -4730,14 +4723,14 @@ yyreduce: break; case 86: -#line 1037 "Gmsh.y" +#line 1057 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(1) - (1)].d); ;} break; case 87: -#line 1041 "Gmsh.y" +#line 1061 "Gmsh.y" { (yyval.i) = GModel::current()->setPhysicalName (std::string((yyvsp[(1) - (1)].c)), ++GModel::current()->getGEOInternals()->MaxPhysicalNum); @@ -4746,7 +4739,7 @@ yyreduce: break; case 88: -#line 1054 "Gmsh.y" +#line 1074 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindPoint(num)){ @@ -4771,7 +4764,7 @@ yyreduce: break; case 89: -#line 1076 "Gmsh.y" +#line 1096 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ @@ -4790,7 +4783,7 @@ yyreduce: break; case 90: -#line 1092 "Gmsh.y" +#line 1112 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -4812,7 +4805,7 @@ yyreduce: break; case 91: -#line 1114 "Gmsh.y" +#line 1134 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4833,7 +4826,7 @@ yyreduce: break; case 92: -#line 1132 "Gmsh.y" +#line 1152 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4854,7 +4847,7 @@ yyreduce: break; case 93: -#line 1150 "Gmsh.y" +#line 1170 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4875,7 +4868,7 @@ yyreduce: break; case 94: -#line 1168 "Gmsh.y" +#line 1188 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindCurve(num)){ @@ -4904,7 +4897,7 @@ yyreduce: break; case 95: -#line 1194 "Gmsh.y" +#line 1214 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4925,7 +4918,7 @@ yyreduce: break; case 96: -#line 1212 "Gmsh.y" +#line 1232 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindCurve(num)){ @@ -4954,7 +4947,7 @@ yyreduce: break; case 97: -#line 1239 "Gmsh.y" +#line 1259 "Gmsh.y" { int num = (int)(yyvsp[(3) - (17)].d); if(FindCurve(num)){ @@ -4976,7 +4969,7 @@ yyreduce: break; case 98: -#line 1258 "Gmsh.y" +#line 1278 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -4997,7 +4990,7 @@ yyreduce: break; case 99: -#line 1276 "Gmsh.y" +#line 1296 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -5018,7 +5011,7 @@ yyreduce: break; case 100: -#line 1294 "Gmsh.y" +#line 1314 "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))){ @@ -5047,7 +5040,7 @@ yyreduce: break; case 101: -#line 1320 "Gmsh.y" +#line 1340 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindEdgeLoop(num)){ @@ -5067,7 +5060,7 @@ yyreduce: break; case 102: -#line 1337 "Gmsh.y" +#line 1357 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ @@ -5086,7 +5079,7 @@ yyreduce: break; case 103: -#line 1356 "Gmsh.y" +#line 1376 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -5107,7 +5100,7 @@ yyreduce: break; case 104: -#line 1374 "Gmsh.y" +#line 1394 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d), type = 0; if(FindSurface(num)){ @@ -5148,7 +5141,7 @@ yyreduce: break; case 105: -#line 1412 "Gmsh.y" +#line 1432 "Gmsh.y" { myGmshSurface = 0; (yyval.s).Type = 0; @@ -5157,7 +5150,7 @@ yyreduce: break; case 106: -#line 1418 "Gmsh.y" +#line 1438 "Gmsh.y" { myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d)); (yyval.s).Type = 0; @@ -5166,7 +5159,7 @@ yyreduce: break; case 107: -#line 1424 "Gmsh.y" +#line 1444 "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)); @@ -5176,7 +5169,7 @@ yyreduce: break; case 108: -#line 1431 "Gmsh.y" +#line 1451 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5203,7 +5196,7 @@ yyreduce: break; case 109: -#line 1455 "Gmsh.y" +#line 1475 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -5230,7 +5223,7 @@ yyreduce: break; case 110: -#line 1479 "Gmsh.y" +#line 1499 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurfaceLoop(num)){ @@ -5249,7 +5242,7 @@ yyreduce: break; case 111: -#line 1495 "Gmsh.y" +#line 1515 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ @@ -5268,7 +5261,7 @@ yyreduce: break; case 112: -#line 1515 "Gmsh.y" +#line 1535 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindVolume(num)){ @@ -5288,7 +5281,7 @@ yyreduce: break; case 113: -#line 1532 "Gmsh.y" +#line 1552 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindVolume(num)){ @@ -5308,7 +5301,7 @@ yyreduce: break; case 114: -#line 1549 "Gmsh.y" +#line 1569 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ @@ -5327,7 +5320,7 @@ yyreduce: break; case 115: -#line 1570 "Gmsh.y" +#line 1590 "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); @@ -5335,7 +5328,7 @@ yyreduce: break; case 116: -#line 1575 "Gmsh.y" +#line 1595 "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); @@ -5343,7 +5336,7 @@ yyreduce: break; case 117: -#line 1580 "Gmsh.y" +#line 1600 "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); @@ -5351,7 +5344,7 @@ yyreduce: break; case 118: -#line 1585 "Gmsh.y" +#line 1605 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); @@ -5359,7 +5352,7 @@ yyreduce: break; case 119: -#line 1590 "Gmsh.y" +#line 1610 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ @@ -5373,7 +5366,7 @@ yyreduce: break; case 120: -#line 1601 "Gmsh.y" +#line 1621 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); IntersectCurvesWithSurface((yyvsp[(4) - (9)].l), (int)(yyvsp[(8) - (9)].d), (yyval.l)); @@ -5382,7 +5375,7 @@ yyreduce: break; case 121: -#line 1607 "Gmsh.y" +#line 1627 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); BoundaryShapes((yyvsp[(3) - (4)].l), (yyval.l)); @@ -5391,31 +5384,31 @@ yyreduce: break; case 122: -#line 1615 "Gmsh.y" +#line 1635 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 123: -#line 1616 "Gmsh.y" +#line 1636 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 124: -#line 1621 "Gmsh.y" +#line 1641 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); ;} break; case 125: -#line 1625 "Gmsh.y" +#line 1645 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); ;} break; case 126: -#line 1629 "Gmsh.y" +#line 1649 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5441,7 +5434,7 @@ yyreduce: break; case 127: -#line 1652 "Gmsh.y" +#line 1672 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5467,7 +5460,7 @@ yyreduce: break; case 128: -#line 1675 "Gmsh.y" +#line 1695 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5493,7 +5486,7 @@ yyreduce: break; case 129: -#line 1698 "Gmsh.y" +#line 1718 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -5519,7 +5512,7 @@ yyreduce: break; case 130: -#line 1726 "Gmsh.y" +#line 1746 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5531,14 +5524,14 @@ yyreduce: break; case 131: -#line 1734 "Gmsh.y" +#line 1754 "Gmsh.y" { - GModel::current()->fields.delete_field((int)(yyvsp[(4) - (6)].d)); + GModel::current()->getFields()->delete_field((int)(yyvsp[(4) - (6)].d)); ;} break; case 132: -#line 1738 "Gmsh.y" +#line 1758 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "View")){ int index = (int)(yyvsp[(4) - (6)].d); @@ -5554,7 +5547,7 @@ yyreduce: break; case 133: -#line 1751 "Gmsh.y" +#line 1771 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ GModel::current()->destroy(); @@ -5573,7 +5566,7 @@ yyreduce: break; case 134: -#line 1767 "Gmsh.y" +#line 1787 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ for(int i = PView::list.size() - 1; i >= 0; i--) @@ -5586,7 +5579,7 @@ yyreduce: break; case 135: -#line 1782 "Gmsh.y" +#line 1802 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -5598,7 +5591,7 @@ yyreduce: break; case 136: -#line 1796 "Gmsh.y" +#line 1816 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1); @@ -5607,7 +5600,7 @@ yyreduce: break; case 137: -#line 1802 "Gmsh.y" +#line 1822 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0); @@ -5616,7 +5609,7 @@ yyreduce: break; case 138: -#line 1808 "Gmsh.y" +#line 1828 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5628,7 +5621,7 @@ yyreduce: break; case 139: -#line 1817 "Gmsh.y" +#line 1837 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -5640,7 +5633,7 @@ yyreduce: break; case 140: -#line 1831 "Gmsh.y" +#line 1851 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ char tmpstring[1024]; @@ -5691,7 +5684,7 @@ yyreduce: break; case 141: -#line 1879 "Gmsh.y" +#line 1899 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ int index = (int)(yyvsp[(4) - (7)].d); @@ -5710,12 +5703,12 @@ yyreduce: break; case 142: -#line 1895 "Gmsh.y" +#line 1915 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ int index = (int)(yyvsp[(5) - (7)].d); if(index >= 0 && index < (int)PView::list.size()){ - GModel::current()->fields.set_background_mesh(index); + GModel::current()->getFields()->set_background_mesh(index); } else yymsg(GERROR, "Unknown view %d", index); @@ -5727,7 +5720,7 @@ yyreduce: break; case 143: -#line 1909 "Gmsh.y" +#line 1929 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -5749,7 +5742,7 @@ yyreduce: break; case 144: -#line 1928 "Gmsh.y" +#line 1948 "Gmsh.y" { try { GMSH_PluginManager::instance()->action((yyvsp[(3) - (7)].c), (yyvsp[(6) - (7)].c), 0); @@ -5762,7 +5755,7 @@ yyreduce: break; case 145: -#line 1938 "Gmsh.y" +#line 1958 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) PView::combine(false, 1, CTX.post.combine_remove_orig); @@ -5787,14 +5780,14 @@ yyreduce: break; case 146: -#line 1960 "Gmsh.y" +#line 1980 "Gmsh.y" { exit(0); ;} break; case 147: -#line 1964 "Gmsh.y" +#line 1984 "Gmsh.y" { CTX.forced_bbox = 0; SetBoundingBox(); @@ -5802,7 +5795,7 @@ yyreduce: break; case 148: -#line 1969 "Gmsh.y" +#line 1989 "Gmsh.y" { CTX.forced_bbox = 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)); @@ -5810,7 +5803,7 @@ yyreduce: break; case 149: -#line 1974 "Gmsh.y" +#line 1994 "Gmsh.y" { #if defined(HAVE_FLTK) Draw(); @@ -5819,7 +5812,7 @@ yyreduce: break; case 150: -#line 1986 "Gmsh.y" +#line 2006 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -5839,7 +5832,7 @@ yyreduce: break; case 151: -#line 2003 "Gmsh.y" +#line 2023 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -5859,7 +5852,7 @@ yyreduce: break; case 152: -#line 2020 "Gmsh.y" +#line 2040 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -5889,7 +5882,7 @@ yyreduce: break; case 153: -#line 2047 "Gmsh.y" +#line 2067 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -5919,7 +5912,7 @@ yyreduce: break; case 154: -#line 2074 "Gmsh.y" +#line 2094 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(GERROR, "Invalid For/EndFor loop"); @@ -5953,7 +5946,7 @@ yyreduce: break; case 155: -#line 2105 "Gmsh.y" +#line 2125 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction((yyvsp[(2) - (2)].c), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5964,7 +5957,7 @@ yyreduce: break; case 156: -#line 2113 "Gmsh.y" +#line 2133 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5973,7 +5966,7 @@ yyreduce: break; case 157: -#line 2119 "Gmsh.y" +#line 2139 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction((yyvsp[(2) - (3)].c), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -5983,20 +5976,20 @@ yyreduce: break; case 158: -#line 2126 "Gmsh.y" +#line 2146 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); ;} break; case 159: -#line 2130 "Gmsh.y" +#line 2150 "Gmsh.y" { ;} break; case 160: -#line 2139 "Gmsh.y" +#line 2159 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -6007,7 +6000,7 @@ yyreduce: break; case 161: -#line 2147 "Gmsh.y" +#line 2167 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -6018,7 +6011,7 @@ yyreduce: break; case 162: -#line 2155 "Gmsh.y" +#line 2175 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -6029,14 +6022,14 @@ yyreduce: break; case 163: -#line 2163 "Gmsh.y" +#line 2183 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 164: -#line 2167 "Gmsh.y" +#line 2187 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -6047,14 +6040,14 @@ yyreduce: break; case 165: -#line 2175 "Gmsh.y" +#line 2195 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 166: -#line 2179 "Gmsh.y" +#line 2199 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -6065,14 +6058,14 @@ yyreduce: break; case 167: -#line 2187 "Gmsh.y" +#line 2207 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 168: -#line 2191 "Gmsh.y" +#line 2211 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -6083,14 +6076,14 @@ yyreduce: break; case 169: -#line 2199 "Gmsh.y" +#line 2219 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 170: -#line 2203 "Gmsh.y" +#line 2223 "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., @@ -6100,14 +6093,14 @@ yyreduce: break; case 171: -#line 2210 "Gmsh.y" +#line 2230 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 172: -#line 2214 "Gmsh.y" +#line 2234 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); extr.mesh.ViewIndex = (int)(yyvsp[(4) - (10)].d); @@ -6120,7 +6113,7 @@ yyreduce: break; case 173: -#line 2226 "Gmsh.y" +#line 2246 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -6130,7 +6123,7 @@ yyreduce: break; case 174: -#line 2233 "Gmsh.y" +#line 2253 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -6140,7 +6133,7 @@ yyreduce: break; case 175: -#line 2240 "Gmsh.y" +#line 2260 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -6150,7 +6143,7 @@ yyreduce: break; case 176: -#line 2247 "Gmsh.y" +#line 2267 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6160,7 +6153,7 @@ yyreduce: break; case 177: -#line 2254 "Gmsh.y" +#line 2274 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6170,7 +6163,7 @@ yyreduce: break; case 178: -#line 2261 "Gmsh.y" +#line 2281 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6180,7 +6173,7 @@ yyreduce: break; case 179: -#line 2268 "Gmsh.y" +#line 2288 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -6190,7 +6183,7 @@ yyreduce: break; case 180: -#line 2275 "Gmsh.y" +#line 2295 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -6200,7 +6193,7 @@ yyreduce: break; case 181: -#line 2282 "Gmsh.y" +#line 2302 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -6210,14 +6203,14 @@ yyreduce: break; case 182: -#line 2289 "Gmsh.y" +#line 2309 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 183: -#line 2293 "Gmsh.y" +#line 2313 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -6227,14 +6220,14 @@ yyreduce: break; case 184: -#line 2300 "Gmsh.y" +#line 2320 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 185: -#line 2304 "Gmsh.y" +#line 2324 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -6244,14 +6237,14 @@ yyreduce: break; case 186: -#line 2311 "Gmsh.y" +#line 2331 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 187: -#line 2315 "Gmsh.y" +#line 2335 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -6261,14 +6254,14 @@ yyreduce: break; case 188: -#line 2322 "Gmsh.y" +#line 2342 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 189: -#line 2326 "Gmsh.y" +#line 2346 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -6278,14 +6271,14 @@ yyreduce: break; case 190: -#line 2333 "Gmsh.y" +#line 2353 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 191: -#line 2337 "Gmsh.y" +#line 2357 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -6295,14 +6288,14 @@ yyreduce: break; case 192: -#line 2344 "Gmsh.y" +#line 2364 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 193: -#line 2348 "Gmsh.y" +#line 2368 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -6312,14 +6305,14 @@ yyreduce: break; case 194: -#line 2355 "Gmsh.y" +#line 2375 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 195: -#line 2359 "Gmsh.y" +#line 2379 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -6329,14 +6322,14 @@ yyreduce: break; case 196: -#line 2366 "Gmsh.y" +#line 2386 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 197: -#line 2370 "Gmsh.y" +#line 2390 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -6346,14 +6339,14 @@ yyreduce: break; case 198: -#line 2377 "Gmsh.y" +#line 2397 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; ;} break; case 199: -#line 2381 "Gmsh.y" +#line 2401 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -6363,19 +6356,19 @@ yyreduce: break; case 200: -#line 2392 "Gmsh.y" +#line 2412 "Gmsh.y" { ;} break; case 201: -#line 2395 "Gmsh.y" +#line 2415 "Gmsh.y" { ;} break; case 202: -#line 2401 "Gmsh.y" +#line 2421 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = 1; @@ -6387,7 +6380,7 @@ yyreduce: break; case 203: -#line 2410 "Gmsh.y" +#line 2430 "Gmsh.y" { double d; extr.mesh.ExtrudeMesh = true; @@ -6410,7 +6403,7 @@ yyreduce: break; case 204: -#line 2430 "Gmsh.y" +#line 2450 "Gmsh.y" { yymsg(GERROR, "Explicit region numbers in layers are deprecated"); double d; @@ -6436,14 +6429,14 @@ yyreduce: break; case 205: -#line 2453 "Gmsh.y" +#line 2473 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; case 206: -#line 2457 "Gmsh.y" +#line 2477 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -6465,7 +6458,7 @@ yyreduce: break; case 207: -#line 2481 "Gmsh.y" +#line 2501 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6486,7 +6479,7 @@ yyreduce: break; case 208: -#line 2499 "Gmsh.y" +#line 2519 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){ double d; @@ -6507,7 +6500,7 @@ yyreduce: break; case 209: -#line 2517 "Gmsh.y" +#line 2537 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (9)].l)); i++){ double d; @@ -6528,7 +6521,7 @@ yyreduce: break; case 210: -#line 2535 "Gmsh.y" +#line 2555 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(4) - (8)].d)); if(!s) @@ -6560,7 +6553,7 @@ yyreduce: break; case 211: -#line 2564 "Gmsh.y" +#line 2584 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(4) - (9)].d)); if(!s) @@ -6598,7 +6591,7 @@ yyreduce: break; case 212: -#line 2599 "Gmsh.y" +#line 2619 "Gmsh.y" { yymsg(WARNING, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); @@ -6606,7 +6599,7 @@ yyreduce: break; case 213: -#line 2604 "Gmsh.y" +#line 2624 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(4) - (8)].d)); if(!v) @@ -6636,7 +6629,7 @@ yyreduce: break; case 214: -#line 2631 "Gmsh.y" +#line 2651 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6653,7 +6646,7 @@ yyreduce: break; case 215: -#line 2645 "Gmsh.y" +#line 2665 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ double d; @@ -6669,7 +6662,7 @@ yyreduce: break; case 216: -#line 2658 "Gmsh.y" +#line 2678 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6683,7 +6676,7 @@ yyreduce: break; case 217: -#line 2675 "Gmsh.y" +#line 2695 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s) @@ -6692,7 +6685,7 @@ yyreduce: break; case 218: -#line 2681 "Gmsh.y" +#line 2701 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s) @@ -6701,66 +6694,66 @@ yyreduce: break; case 219: -#line 2687 "Gmsh.y" +#line 2707 "Gmsh.y" { ;} break; case 220: -#line 2690 "Gmsh.y" +#line 2710 "Gmsh.y" { ;} break; case 221: -#line 2699 "Gmsh.y" +#line 2719 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; case 222: -#line 2708 "Gmsh.y" +#line 2728 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 223: -#line 2709 "Gmsh.y" +#line 2729 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; case 224: -#line 2710 "Gmsh.y" +#line 2730 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; case 225: -#line 2711 "Gmsh.y" +#line 2731 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; case 226: -#line 2712 "Gmsh.y" +#line 2732 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; case 227: -#line 2713 "Gmsh.y" +#line 2733 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; case 228: -#line 2714 "Gmsh.y" +#line 2734 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; case 229: -#line 2715 "Gmsh.y" +#line 2735 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; case 230: -#line 2717 "Gmsh.y" +#line 2737 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(GERROR, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -6770,307 +6763,307 @@ yyreduce: break; case 231: -#line 2723 "Gmsh.y" +#line 2743 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 232: -#line 2724 "Gmsh.y" +#line 2744 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 233: -#line 2725 "Gmsh.y" +#line 2745 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 234: -#line 2726 "Gmsh.y" +#line 2746 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 235: -#line 2727 "Gmsh.y" +#line 2747 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 236: -#line 2728 "Gmsh.y" +#line 2748 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 237: -#line 2729 "Gmsh.y" +#line 2749 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 238: -#line 2730 "Gmsh.y" +#line 2750 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 239: -#line 2731 "Gmsh.y" +#line 2751 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 240: -#line 2732 "Gmsh.y" +#line 2752 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 241: -#line 2733 "Gmsh.y" +#line 2753 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d)? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 242: -#line 2734 "Gmsh.y" +#line 2754 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 243: -#line 2735 "Gmsh.y" +#line 2755 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 244: -#line 2736 "Gmsh.y" +#line 2756 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 245: -#line 2737 "Gmsh.y" +#line 2757 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 246: -#line 2738 "Gmsh.y" +#line 2758 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 247: -#line 2739 "Gmsh.y" +#line 2759 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 248: -#line 2740 "Gmsh.y" +#line 2760 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 249: -#line 2741 "Gmsh.y" +#line 2761 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 250: -#line 2742 "Gmsh.y" +#line 2762 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 251: -#line 2743 "Gmsh.y" +#line 2763 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 252: -#line 2744 "Gmsh.y" +#line 2764 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 253: -#line 2745 "Gmsh.y" +#line 2765 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 254: -#line 2746 "Gmsh.y" +#line 2766 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 255: -#line 2747 "Gmsh.y" +#line 2767 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 256: -#line 2748 "Gmsh.y" +#line 2768 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 257: -#line 2749 "Gmsh.y" +#line 2769 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 258: -#line 2750 "Gmsh.y" +#line 2770 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 259: -#line 2751 "Gmsh.y" +#line 2771 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 260: -#line 2752 "Gmsh.y" +#line 2772 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 261: -#line 2753 "Gmsh.y" +#line 2773 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d)*(yyvsp[(3) - (6)].d)+(yyvsp[(5) - (6)].d)*(yyvsp[(5) - (6)].d)); ;} break; case 262: -#line 2754 "Gmsh.y" +#line 2774 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d)*(double)rand()/(double)RAND_MAX; ;} break; case 263: -#line 2756 "Gmsh.y" +#line 2776 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 264: -#line 2757 "Gmsh.y" +#line 2777 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 265: -#line 2758 "Gmsh.y" +#line 2778 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 266: -#line 2759 "Gmsh.y" +#line 2779 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 267: -#line 2760 "Gmsh.y" +#line 2780 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 268: -#line 2761 "Gmsh.y" +#line 2781 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 269: -#line 2762 "Gmsh.y" +#line 2782 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 270: -#line 2763 "Gmsh.y" +#line 2783 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 271: -#line 2764 "Gmsh.y" +#line 2784 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 272: -#line 2765 "Gmsh.y" +#line 2785 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 273: -#line 2766 "Gmsh.y" +#line 2786 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 274: -#line 2767 "Gmsh.y" +#line 2787 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 275: -#line 2768 "Gmsh.y" +#line 2788 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 276: -#line 2769 "Gmsh.y" +#line 2789 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 277: -#line 2770 "Gmsh.y" +#line 2790 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 278: -#line 2771 "Gmsh.y" +#line 2791 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 279: -#line 2772 "Gmsh.y" +#line 2792 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 280: -#line 2773 "Gmsh.y" +#line 2793 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 281: -#line 2774 "Gmsh.y" +#line 2794 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 282: -#line 2775 "Gmsh.y" +#line 2795 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d)*(yyvsp[(3) - (6)].d)+(yyvsp[(5) - (6)].d)*(yyvsp[(5) - (6)].d)); ;} break; case 283: -#line 2776 "Gmsh.y" +#line 2796 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d)*(double)rand()/(double)RAND_MAX; ;} break; case 284: -#line 2785 "Gmsh.y" +#line 2805 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 285: -#line 2786 "Gmsh.y" +#line 2806 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; case 286: -#line 2787 "Gmsh.y" +#line 2807 "Gmsh.y" { (yyval.d) = ParUtil::Instance()->rank(); ;} break; case 287: -#line 2788 "Gmsh.y" +#line 2808 "Gmsh.y" { (yyval.d) = ParUtil::Instance()->size(); ;} break; case 288: -#line 2789 "Gmsh.y" +#line 2809 "Gmsh.y" { (yyval.d) = Get_GmshMajorVersion(); ;} break; case 289: -#line 2790 "Gmsh.y" +#line 2810 "Gmsh.y" { (yyval.d) = Get_GmshMinorVersion(); ;} break; case 290: -#line 2791 "Gmsh.y" +#line 2811 "Gmsh.y" { (yyval.d) = Get_GmshPatchVersion(); ;} break; case 291: -#line 2796 "Gmsh.y" +#line 2816 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (1)].c); @@ -7086,7 +7079,7 @@ yyreduce: break; case 292: -#line 2812 "Gmsh.y" +#line 2832 "Gmsh.y" { char tmpstring[1024]; sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ; @@ -7104,7 +7097,7 @@ yyreduce: break; case 293: -#line 2827 "Gmsh.y" +#line 2847 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (4)].c); @@ -7127,7 +7120,7 @@ yyreduce: break; case 294: -#line 2847 "Gmsh.y" +#line 2867 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(2) - (4)].c); @@ -7143,7 +7136,7 @@ yyreduce: break; case 295: -#line 2860 "Gmsh.y" +#line 2880 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (2)].c); @@ -7159,7 +7152,7 @@ yyreduce: break; case 296: -#line 2873 "Gmsh.y" +#line 2893 "Gmsh.y" { Symbol TheSymbol; TheSymbol.Name = (yyvsp[(1) - (5)].c); @@ -7182,7 +7175,7 @@ yyreduce: break; case 297: -#line 2896 "Gmsh.y" +#line 2916 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7203,7 +7196,7 @@ yyreduce: break; case 298: -#line 2914 "Gmsh.y" +#line 2934 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7224,7 +7217,7 @@ yyreduce: break; case 299: -#line 2932 "Gmsh.y" +#line 2952 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7245,7 +7238,7 @@ yyreduce: break; case 300: -#line 2950 "Gmsh.y" +#line 2970 "Gmsh.y" { double (*pNumOpt)(int num, int action, double value); StringXNumber *pNumCat; @@ -7266,7 +7259,7 @@ yyreduce: break; case 301: -#line 2968 "Gmsh.y" +#line 2988 "Gmsh.y" { (yyval.d) = GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -7274,70 +7267,70 @@ yyreduce: break; case 302: -#line 2976 "Gmsh.y" +#line 2996 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; case 303: -#line 2980 "Gmsh.y" +#line 3000 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; case 304: -#line 2984 "Gmsh.y" +#line 3004 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; case 305: -#line 2988 "Gmsh.y" +#line 3008 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; case 306: -#line 2992 "Gmsh.y" +#line 3012 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; case 307: -#line 2999 "Gmsh.y" +#line 3019 "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 308: -#line 3003 "Gmsh.y" +#line 3023 "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 309: -#line 3007 "Gmsh.y" +#line 3027 "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 310: -#line 3011 "Gmsh.y" +#line 3031 "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 311: -#line 3018 "Gmsh.y" +#line 3038 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -7345,14 +7338,14 @@ yyreduce: break; case 312: -#line 3023 "Gmsh.y" +#line 3043 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; case 313: -#line 3031 "Gmsh.y" +#line 3051 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -7360,14 +7353,14 @@ yyreduce: break; case 314: -#line 3036 "Gmsh.y" +#line 3056 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 315: -#line 3040 "Gmsh.y" +#line 3060 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -7375,14 +7368,14 @@ yyreduce: break; case 316: -#line 3045 "Gmsh.y" +#line 3065 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 317: -#line 3049 "Gmsh.y" +#line 3069 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7393,7 +7386,7 @@ yyreduce: break; case 318: -#line 3057 "Gmsh.y" +#line 3077 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7404,7 +7397,7 @@ yyreduce: break; case 319: -#line 3068 "Gmsh.y" +#line 3088 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7415,7 +7408,7 @@ yyreduce: break; case 320: -#line 3076 "Gmsh.y" +#line 3096 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -7426,7 +7419,7 @@ yyreduce: break; case 321: -#line 3084 "Gmsh.y" +#line 3104 "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)); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.)) @@ -7435,7 +7428,7 @@ yyreduce: break; case 322: -#line 3090 "Gmsh.y" +#line 3110 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){ @@ -7449,7 +7442,7 @@ yyreduce: break; case 323: -#line 3101 "Gmsh.y" +#line 3121 "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 @@ -7472,7 +7465,7 @@ yyreduce: break; case 324: -#line 3121 "Gmsh.y" +#line 3141 "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++){ @@ -7485,7 +7478,7 @@ yyreduce: break; case 325: -#line 3131 "Gmsh.y" +#line 3151 "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++){ @@ -7498,7 +7491,7 @@ yyreduce: break; case 326: -#line 3141 "Gmsh.y" +#line 3161 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -7518,7 +7511,7 @@ yyreduce: break; case 327: -#line 3158 "Gmsh.y" +#line 3178 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); Symbol TheSymbol; @@ -7545,7 +7538,7 @@ yyreduce: break; case 328: -#line 3185 "Gmsh.y" +#line 3205 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -7553,21 +7546,21 @@ yyreduce: break; case 329: -#line 3190 "Gmsh.y" +#line 3210 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 330: -#line 3194 "Gmsh.y" +#line 3214 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; case 331: -#line 3198 "Gmsh.y" +#line 3218 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -7579,21 +7572,21 @@ yyreduce: break; case 332: -#line 3211 "Gmsh.y" +#line 3231 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); ;} break; case 333: -#line 3215 "Gmsh.y" +#line 3235 "Gmsh.y" { (yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; case 334: -#line 3227 "Gmsh.y" +#line 3247 "Gmsh.y" { int flag; (yyval.u) = Get_ColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag); @@ -7603,7 +7596,7 @@ yyreduce: break; case 335: -#line 3234 "Gmsh.y" +#line 3254 "Gmsh.y" { unsigned int (*pColOpt)(int num, int action, unsigned int value); StringXColor *pColCat; @@ -7624,14 +7617,14 @@ yyreduce: break; case 336: -#line 3255 "Gmsh.y" +#line 3275 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 337: -#line 3259 "Gmsh.y" +#line 3279 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (6)].d)); @@ -7646,7 +7639,7 @@ yyreduce: break; case 338: -#line 3274 "Gmsh.y" +#line 3294 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -7654,35 +7647,35 @@ yyreduce: break; case 339: -#line 3279 "Gmsh.y" +#line 3299 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; case 340: -#line 3286 "Gmsh.y" +#line 3306 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 341: -#line 3290 "Gmsh.y" +#line 3310 "Gmsh.y" { Msg(WARNING, "Named string expressions not implemented yet"); ;} break; case 342: -#line 3297 "Gmsh.y" +#line 3317 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 343: -#line 3301 "Gmsh.y" +#line 3321 "Gmsh.y" { (yyval.c) = (char *)Malloc(32*sizeof(char)); time_t now; @@ -7693,7 +7686,7 @@ yyreduce: break; case 344: -#line 3309 "Gmsh.y" +#line 3329 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c))+strlen((yyvsp[(5) - (6)].c))+1)*sizeof(char)); strcpy((yyval.c), (yyvsp[(3) - (6)].c)); @@ -7704,7 +7697,7 @@ yyreduce: break; case 345: -#line 3317 "Gmsh.y" +#line 3337 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c))+1)*sizeof(char)); int i; @@ -7721,7 +7714,7 @@ yyreduce: break; case 346: -#line 3331 "Gmsh.y" +#line 3351 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c))+1)*sizeof(char)); int i; @@ -7738,14 +7731,14 @@ yyreduce: break; case 347: -#line 3345 "Gmsh.y" +#line 3365 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; case 348: -#line 3349 "Gmsh.y" +#line 3369 "Gmsh.y" { char tmpstring[1024]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -7767,7 +7760,7 @@ yyreduce: break; case 349: -#line 3368 "Gmsh.y" +#line 3388 "Gmsh.y" { const char* (*pStrOpt)(int num, int action, const char *value); StringXString *pStrCat; @@ -7793,7 +7786,7 @@ yyreduce: break; case 350: -#line 3391 "Gmsh.y" +#line 3411 "Gmsh.y" { const char* (*pStrOpt)(int num, int action, const char *value); StringXString *pStrCat; @@ -7820,7 +7813,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 7824 "Gmsh.tab.cpp" +#line 7817 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -8034,7 +8027,7 @@ yyreturn: } -#line 3415 "Gmsh.y" +#line 3435 "Gmsh.y" void DeleteSymbol(void *a, void *b) diff --git a/Parser/Gmsh.tab.hpp b/Parser/Gmsh.tab.hpp index 0ae3dd8d10b82fb01a68d5f1376cc5c0b9a01371..0ea316969f3e5fa58b1890b0464d05d0dccac93a 100644 --- a/Parser/Gmsh.tab.hpp +++ b/Parser/Gmsh.tab.hpp @@ -298,7 +298,7 @@ typedef union YYSTYPE Shape s; List_T *l; } -/* Line 1489 of yacc.c. */ +/* Line 1529 of yacc.c. */ #line 303 "Gmsh.tab.hpp" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index d440e65b1afde1b86b343b82b22251fe0091d20c..9187308f6abeed26c035389e04321c7cca398311 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,5 +1,5 @@ %{ -// $Id: Gmsh.y,v 1.304 2008-03-18 11:33:08 remacle Exp $ +// $Id: Gmsh.y,v 1.305 2008-03-19 17:26:53 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -105,8 +105,7 @@ int PrintListOfDouble(char *format, List_T *list, char *buffer); %token tText2D tText3D tInterpolationScheme tTime tCombine %token tBSpline tBezier tNurbs tOrder tKnots %token tColor tColorTable tFor tIn tEndFor tIf tEndIf tExit -%token tField -%token tReturn tCall tFunction tShow tHide tGetValue +%token tField tReturn tCall tFunction tShow tHide tGetValue %token tGMSH_MAJOR_VERSION tGMSH_MINOR_VERSION tGMSH_PATCH_VERSION %type <d> FExpr FExpr_Single @@ -950,62 +949,83 @@ Affectation : Free($1); List_Delete($8); } - | tSTRING tField tAFFECT FExpr tEND - { - if(!strcmp($1,"Background")){ - GModel::current()->fields.background_field=(int)$4; - }else{ - yymsg(GERROR, "Unknown command %s Field.",$1); - } - } - | tField '[' FExpr ']' tAFFECT tSTRING tEND - { - if(!GModel::current()->fields.new_field((int)$3,$6)) - yymsg(GERROR, "Cannot create field %i of type '%s'.", (int)$3, $6); - } + + // Fields + + | tSTRING tField tAFFECT FExpr tEND + { + if(!strcmp($1,"Background")){ + GModel::current()->getFields()->background_field = (int)$4; + } + else{ + yymsg(GERROR, "Unknown command %s Field", $1); + } + } + | tField '[' FExpr ']' tAFFECT tSTRING tEND + { + if(!GModel::current()->getFields()->new_field((int)$3, $6)) + yymsg(GERROR, "Cannot create field %i of type '%s'", (int)$3, $6); + } | tField '[' FExpr ']' '.' tSTRING tAFFECT FExpr tEND - { - Field *field=GModel::current()->fields.get((int)$3); - if(field){ - FieldOption *option=field->options[$6]; - if(option){ - try {option->numerical_value($8);} - catch(...){ - yymsg(GERROR, "Cannot assign a numerical value to option '%s' in field %i of type '%s'", $6,(int)$3,field->get_name()); - } - }else yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", $6,(int)$3,field->get_name()); - }else yymsg(GERROR, "No field with id %i",(int)$3); - + { + Field *field = GModel::current()->getFields()->get((int)$3); + if(field){ + FieldOption *option = field->options[$6]; + if(option){ + try { option->numerical_value($8); } + catch(...){ + yymsg(GERROR, "Cannot assign a numerical value to option '%s' in field %i of type '%s'", + $6, (int)$3, field->get_name()); + } } - | tField '['FExpr ']' '.' tSTRING tAFFECT StringExpr tEND - { - Field *field=GModel::current()->fields.get((int)$3); - if(field){ - FieldOption *option=field->options[$6]; - if(option){ - try {option->string()=$8;} - catch (...){ - yymsg(GERROR, "Cannot assign a string value to option '%s' in field %i of type '%s'", $6,(int)$3,field->get_name()); - } - }else yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", $6,(int)$3,field->get_name()); - }else yymsg(GERROR, "No field with id %i",(int)$3); + else + yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", + $6, (int)$3, field->get_name()); + } + else + yymsg(GERROR, "No field with id %i", (int)$3); + } + | tField '[' FExpr ']' '.' tSTRING tAFFECT StringExpr tEND + { + Field *field = GModel::current()->getFields()->get((int)$3); + if(field){ + FieldOption *option = field->options[$6]; + if(option){ + try { option->string() = $8; } + catch (...){ + yymsg(GERROR, "Cannot assign a string value to option '%s' in field %i of type '%s'", + $6, (int)$3, field->get_name()); + } } - | tField '['FExpr ']' '.' tSTRING tAFFECT ListOfDouble tEND - { - Field *field=GModel::current()->fields.get((int)$3); - if(field){ - FieldOption *option=field->options[$6]; - if(option){ - std::list<int> &vl=option->list(); - vl.clear(); - for(int i=0;i<List_Nbr($8);i++){ - double id; - List_Read($8,i,&id); - vl.push_back(id); - } - }else yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", $6,(int)$3,field->get_name()); - }else yymsg(GERROR, "No field with id %i",(int)$3); + else + yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", + $6, (int)$3, field->get_name()); + } + else + yymsg(GERROR, "No field with id %i", (int)$3); + } + | tField '[' FExpr ']' '.' tSTRING tAFFECT '{' RecursiveListOfDouble '}' tEND + { + Field *field = GModel::current()->getFields()->get((int)$3); + if(field){ + FieldOption *option = field->options[$6]; + if(option){ + std::list<int> &vl = option->list(); + vl.clear(); + for(int i = 0; i < List_Nbr($9); i++){ + double id; + List_Read($9, i, &id); + vl.push_back(id); + } } + else + yymsg(GERROR, "Unknown option '%s' in field %i of type '%s'", + $6, (int)$3, field->get_name()); + } + else + yymsg(GERROR, "No field with id %i", (int)$3); + } + // Plugins | tPlugin '(' tSTRING ')' '.' tSTRING tAFFECT FExpr tEND @@ -1732,7 +1752,7 @@ Delete : List_Delete($3); } | tDelete tField '[' FExpr ']' tEND{ - GModel::current()->fields.delete_field((int)$4); + GModel::current()->getFields()->delete_field((int)$4); } | tDelete tSTRING '[' FExpr ']' tEND { @@ -1896,7 +1916,7 @@ Command : if(!strcmp($1, "Background") && !strcmp($2, "Mesh") && !strcmp($3, "View")){ int index = (int)$5; if(index >= 0 && index < (int)PView::list.size()){ - GModel::current()->fields.set_background_mesh(index); + GModel::current()->getFields()->set_background_mesh(index); } else yymsg(GERROR, "Unknown view %d", index); diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 3c7ac5873d5e7e1f87a7b557292271b596979e63..ddd5f2343da1a83bd71e1617f47f2750d9a1602f 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -6,29 +6,10 @@ /* A lexical scanner generated by flex */ -#define yy_create_buffer gmsh_yy_create_buffer -#define yy_delete_buffer gmsh_yy_delete_buffer -#define yy_flex_debug gmsh_yy_flex_debug -#define yy_init_buffer gmsh_yy_init_buffer -#define yy_flush_buffer gmsh_yy_flush_buffer -#define yy_load_buffer_state gmsh_yy_load_buffer_state -#define yy_switch_to_buffer gmsh_yy_switch_to_buffer -#define yyin gmsh_yyin -#define yyleng gmsh_yyleng -#define yylex gmsh_yylex -#define yylineno gmsh_yylineno -#define yyout gmsh_yyout -#define yyrestart gmsh_yyrestart -#define yytext gmsh_yytext -#define yywrap gmsh_yywrap -#define yyalloc gmsh_yyalloc -#define yyrealloc gmsh_yyrealloc -#define yyfree gmsh_yyfree - #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 34 +#define YY_FLEX_SUBMINOR_VERSION 33 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -50,7 +31,7 @@ /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +#if __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. @@ -113,12 +94,11 @@ typedef unsigned int flex_uint32_t; #else /* ! __cplusplus */ -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) +#if __STDC__ #define YY_USE_CONST -#endif /* defined (__STDC__) */ +#endif /* __STDC__ */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST @@ -201,13 +181,11 @@ extern FILE *gmsh_yyin, *gmsh_yyout; /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). - * Given that the standard has decreed that size_t exists since 1989, - * I guess we can afford to depend on it. Manoj. */ #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; +typedef unsigned int yy_size_t; #endif #ifndef YY_STRUCT_YY_BUFFER_STATE @@ -857,7 +835,7 @@ int gmsh_yy_flex_debug = 0; char *gmsh_yytext; #line 1 "Gmsh.l" #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.351 2008-03-18 11:33:08 remacle Exp $ +// $Id: Gmsh.yy.cpp,v 1.352 2008-03-19 17:26:53 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -917,7 +895,7 @@ void skipline(void); #define YY_NO_UNISTD_H #endif -#line 921 "Gmsh.yy.cpp" +#line 899 "Gmsh.yy.cpp" #define INITIAL 0 @@ -977,7 +955,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO fwrite( gmsh_yytext, gmsh_yyleng, 1, gmsh_yyout ) +#define ECHO (void) fwrite( gmsh_yytext, gmsh_yyleng, 1, gmsh_yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -988,7 +966,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( gmsh_yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1073,7 +1051,7 @@ YY_DECL #line 71 "Gmsh.l" -#line 1077 "Gmsh.yy.cpp" +#line 1055 "Gmsh.yy.cpp" if ( !(yy_init) ) { @@ -1873,7 +1851,7 @@ YY_RULE_SETUP #line 242 "Gmsh.l" ECHO; YY_BREAK -#line 1877 "Gmsh.yy.cpp" +#line 1855 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2104,7 +2082,7 @@ static int yy_get_next_buffer (void) /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), (size_t) num_to_read ); + (yy_n_chars), num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } @@ -2128,14 +2106,6 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { - /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) gmsh_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); - if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); - } - (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; @@ -2287,7 +2257,7 @@ static int yy_get_next_buffer (void) case EOB_ACT_END_OF_FILE: { if ( gmsh_yywrap( ) ) - return EOF; + return 0; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -2551,9 +2521,7 @@ static void gmsh_yyensure_buffer_stack (void) (yy_buffer_stack) = (struct yy_buffer_state**)gmsh_yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in gmsh_yyensure_buffer_stack()" ); - + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; @@ -2571,8 +2539,6 @@ static void gmsh_yyensure_buffer_stack (void) ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in gmsh_yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); @@ -2617,7 +2583,7 @@ YY_BUFFER_STATE gmsh_yy_scan_buffer (char * base, yy_size_t size ) /** Setup the input buffer state to scan a string. The next call to gmsh_yylex() will * scan from a @e copy of @a str. - * @param yystr a NUL-terminated string to scan + * @param str a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use diff --git a/Plugin/FieldView.cpp b/Plugin/FieldView.cpp index 03b1f2f7924c7d64f4c5a6e04a911d24aab6785e..b607568aa3e0c80b730901c410fcba5f8d1e3ab2 100644 --- a/Plugin/FieldView.cpp +++ b/Plugin/FieldView.cpp @@ -1,4 +1,4 @@ -// $Id: FieldView.cpp,v 1.6 2008-03-18 08:41:26 remacle Exp $ +// $Id: FieldView.cpp,v 1.7 2008-03-19 17:26:54 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -71,7 +71,7 @@ PView *GMSH_FieldViewPlugin::execute(PView *v) int comp = (int)FieldViewOptions_Number[0].def; int iView = (int)FieldViewOptions_Number[1].def; int iField = (int)FieldViewOptions_Number[2].def; - Field *field = GModel::current()->fields.get(iField); + Field *field = GModel::current()->getFields()->get(iField); if(!field){ Msg(GERROR, "Field[%d] does not exist", iField); return v; diff --git a/Plugin/GSHHS.cpp b/Plugin/GSHHS.cpp index 4bdda7ffff7752b268e5ae4ed73cc0762b7de748..3d824a1ff0bb510cba68da6ed6faebff854a11a7 100644 --- a/Plugin/GSHHS.cpp +++ b/Plugin/GSHHS.cpp @@ -1,4 +1,4 @@ -// $Id: GSHHS.cpp,v 1.1 2008-03-18 09:27:59 remacle Exp $ +// $Id: GSHHS.cpp,v 1.2 2008-03-19 17:26:54 geuzaine Exp $ // // Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle // @@ -29,7 +29,7 @@ #include "GeoEarthImport.h" extern Context_T CTX; -/* $Id: GSHHS.cpp,v 1.1 2008-03-18 09:27:59 remacle Exp $ +/* $Id: GSHHS.cpp,v 1.2 2008-03-19 17:26:54 geuzaine Exp $ * * PROGRAM: gshhs.c * AUTHOR: Paul Wessel (pwessel@hawaii.edu) @@ -152,7 +152,7 @@ PView *GMSH_GSHHSPlugin::execute(PView *v) Field *field=NULL; GeoEarthImport geo_import(outfilename); if(iField!=-1){ - field = GModel::current()->fields.get(iField); + field = GModel::current()->getFields()->get(iField); if(!field){ Msg(GERROR, "Field[%d] does not exist", iField); return NULL;