Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 410 KiB
Newer Older
      -1,   113,    -1,   114,     4,     6,    -1,   110,   195,   322,
     196,    -1,   111,    -1,    63,    38,   201,   322,   200,   324,
     202,     6,    -1,    63,    38,   201,   322,   200,   324,   200,
     324,   200,   322,   202,     6,    -1,    63,    38,   201,   322,
     200,   324,   200,   324,   200,   324,   200,   322,   202,     6,
      -1,    -1,    63,    38,   201,   322,   200,   324,   202,   308,
     201,   317,   202,     6,    -1,    -1,    63,    38,   201,   322,
     200,   324,   200,   324,   200,   322,   202,   309,   201,   317,
     202,     6,    -1,    -1,    63,    38,   201,   322,   200,   324,
     200,   324,   200,   324,   200,   322,   202,   310,   201,   317,
     202,     6,    -1,    63,    41,   201,   322,   200,   324,   202,
       6,    -1,    63,    41,   201,   322,   200,   324,   200,   324,
     200,   322,   202,     6,    -1,    63,    41,   201,   322,   200,
     324,   200,   324,   200,   324,   200,   322,   202,     6,    -1,
      -1,    63,    41,   201,   322,   200,   324,   202,   311,   201,
     317,   202,     6,    -1,    -1,    63,    41,   201,   322,   200,
     324,   200,   324,   200,   322,   202,   312,   201,   317,   202,
       6,    -1,    -1,    63,    41,   201,   322,   200,   324,   200,
     324,   200,   324,   200,   322,   202,   313,   201,   317,   202,
       6,    -1,    63,    42,   201,   322,   200,   324,   202,     6,
      -1,    63,    42,   201,   322,   200,   324,   200,   324,   200,
     322,   202,     6,    -1,    63,    42,   201,   322,   200,   324,
     200,   324,   200,   324,   200,   322,   202,     6,    -1,    -1,
      63,    42,   201,   322,   200,   324,   202,   314,   201,   317,
     202,     6,    -1,    -1,    63,    42,   201,   322,   200,   324,
     200,   324,   200,   322,   202,   315,   201,   317,   202,     6,
      -1,    -1,    63,    42,   201,   322,   200,   324,   200,   324,
     200,   324,   200,   322,   202,   316,   201,   317,   202,     6,
      -1,   318,    -1,   317,   318,    -1,    71,   201,   330,   200,
     330,   200,   330,   202,     6,    -1,    71,   201,   330,   200,
     330,   202,     6,    -1,    66,     6,    -1,    52,    41,   330,
       7,   322,     6,    -1,    52,    41,   330,     7,   322,    55,
      57,   322,     6,    -1,    52,    41,   330,     7,   322,    55,
      56,   322,     6,    -1,    52,    42,   201,   322,   202,     7,
     330,     6,    -1,    48,    42,   201,   322,   202,     7,   330,
       6,    -1,    52,    44,   201,   322,   202,     7,   330,     6,
      -1,    66,    42,   330,     7,   322,     6,    -1,    66,    42,
     330,     6,    -1,    68,     6,    -1,    69,     6,    -1,   121,
      -1,   122,    -1,   123,    -1,   124,    -1,   125,    -1,   323,
      -1,   195,   322,   196,    -1,   185,   322,    -1,   184,   322,
      -1,   190,   322,    -1,   322,   185,   322,    -1,   322,   184,
     322,    -1,   322,   186,   322,    -1,   322,   187,   322,    -1,
     322,   188,   322,    -1,   322,   194,   322,    -1,   322,   180,
     322,    -1,   322,   181,   322,    -1,   322,   183,   322,    -1,
     322,   182,   322,    -1,   322,   179,   322,    -1,   322,   178,
     322,    -1,   322,   176,   322,    -1,   322,   175,   322,    -1,
     322,   174,   322,     8,   322,    -1,    12,   195,   322,   196,
      -1,    13,   195,   322,   196,    -1,    14,   195,   322,   196,
      -1,    15,   195,   322,   196,    -1,    16,   195,   322,   196,
      -1,    17,   195,   322,   196,    -1,    18,   195,   322,   196,
      -1,    19,   195,   322,   196,    -1,    20,   195,   322,   196,
      -1,    22,   195,   322,   196,    -1,    23,   195,   322,   200,
     322,   196,    -1,    24,   195,   322,   196,    -1,    25,   195,
     322,   196,    -1,    26,   195,   322,   196,    -1,    27,   195,
     322,   196,    -1,    28,   195,   322,   196,    -1,    29,   195,
     322,   196,    -1,    30,   195,   322,   200,   322,   196,    -1,
      31,   195,   322,   200,   322,   196,    -1,    32,   195,   322,
     200,   322,   196,    -1,    21,   195,   322,   196,    -1,    12,
     197,   322,   198,    -1,    13,   197,   322,   198,    -1,    14,
     197,   322,   198,    -1,    15,   197,   322,   198,    -1,    16,
     197,   322,   198,    -1,    17,   197,   322,   198,    -1,    18,
     197,   322,   198,    -1,    19,   197,   322,   198,    -1,    20,
     197,   322,   198,    -1,    22,   197,   322,   198,    -1,    23,
     197,   322,   200,   322,   198,    -1,    24,   197,   322,   198,
      -1,    25,   197,   322,   198,    -1,    26,   197,   322,   198,
      -1,    27,   197,   322,   198,    -1,    28,   197,   322,   198,
      -1,    29,   197,   322,   198,    -1,    30,   197,   322,   200,
     322,   198,    -1,    31,   197,   322,   200,   322,   198,    -1,
      32,   197,   322,   200,   322,   198,    -1,    21,   197,   322,
     198,    -1,     3,    -1,     9,    -1,    10,    -1,    11,    -1,
       4,    -1,     4,   197,   322,   198,    -1,     4,   296,    -1,
       4,   197,   322,   198,   296,    -1,     4,   199,     4,    -1,
       4,   197,   322,   198,   199,     4,    -1,     4,   199,     4,
     296,    -1,     4,   197,   322,   198,   199,     4,   296,    -1,
     325,    -1,   185,   324,    -1,   184,   324,    -1,   324,   185,
     324,    -1,   324,   184,   324,    -1,   201,   322,   200,   322,
     200,   322,   200,   322,   200,   322,   202,    -1,   201,   322,
     200,   322,   200,   322,   200,   322,   202,    -1,   201,   322,
     200,   322,   200,   322,   202,    -1,   195,   322,   200,   322,
     200,   322,   196,    -1,    -1,   195,   327,   196,    -1,     5,
      -1,   327,   200,     5,    -1,    -1,   201,   329,   202,    -1,
     195,   329,   196,    -1,   330,    -1,   329,   200,   330,    -1,
     322,    -1,   331,    -1,   201,   332,   202,    -1,   185,   201,
     332,   202,    -1,   300,    -1,   322,     8,   322,    -1,   322,
       8,   322,     8,   322,    -1,    38,   195,   322,   196,    -1,
       4,   197,   198,    -1,   185,     4,   197,   198,    -1,     4,
     197,   201,   332,   202,   198,    -1,   185,     4,   197,   201,
     332,   202,   198,    -1,   322,    -1,   331,    -1,   332,   200,
     322,    -1,   332,   200,   331,    -1,   201,   322,   200,   322,
     200,   322,   200,   322,   202,    -1,   201,   322,   200,   322,
     200,   322,   202,    -1,     4,    -1,     4,   199,   105,   199,
       4,    -1,   201,   335,   202,    -1,     4,   197,   322,   198,
     199,   106,    -1,   333,    -1,   335,   200,   333,    -1,     5,
      -1,    35,   195,   336,   200,   336,   196,    -1,    36,   195,
     336,   196,    -1,    34,   195,   336,   196,    -1,    34,   195,
     336,   200,   332,   196,    -1,    34,   195,     4,   199,     4,
     196,    -1,    34,   195,     4,   197,   322,   198,   199,     4,
     196,    -1
/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
static const unsigned short yyrline[] =
{
       0,   170,   170,   172,   173,   174,   179,   181,   184,   192,
     206,   216,   218,   221,   223,   224,   227,   233,   238,   239,
     240,   243,   247,   250,   256,   261,   267,   275,   280,   284,
     290,   295,   299,   304,   308,   311,   316,   320,   324,   328,
     333,   337,   340,   344,   348,   352,   356,   360,   364,   367,
     371,   374,   378,   381,   388,   392,   398,   400,   401,   402,
     403,   404,   405,   406,   407,   408,   409,   410,   411,   414,
     419,   434,   439,   445,   450,   451,   452,   453,   454,   455,
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     478,   481,   487,   485,   497,   500,   506,   504,   516,   519,
     525,   523,   535,   538,   545,   542,   556,   559,   566,   563,
     577,   580,   587,   584,   598,   601,   609,   605,   623,   626,
     634,   630,   648,   651,   659,   655,   673,   676,   685,   680,
     699,   702,   711,   706,   725,   728,   737,   732,   751,   754,
     763,   758,   777,   780,   789,   784,   803,   806,   815,   810,
     829,   832,   845,   836,   865,   868,   881,   872,   901,   904,
     917,   908,   937,   940,   951,   944,   968,   971,   982,   975,
     999,  1002,  1013,  1006,  1030,  1033,  1043,  1037,  1060,  1063,
    1073,  1067,  1090,  1093,  1103,  1097,  1120,  1126,  1135,  1133,
    1147,  1153,  1162,  1160,  1177,  1179,  1180,  1181,  1182,  1185,
    1187,  1190,  1221,  1255,  1302,  1317,  1326,  1341,  1353,  1367,
    1390,  1414,  1426,  1440,  1452,  1466,  1486,  1508,  1520,  1536,
    1547,  1553,  1572,  1586,  1592,  1598,  1617,  1623,  1629,  1645,
    1652,  1658,  1664,  1675,  1686,  1711,  1717,  1736,  1758,  1764,
    1772,  1778,  1784,  1793,  1799,  1805,  1815,  1821,  1826,  1831,
    1838,  1840,  1841,  1844,  1849,  1854,  1869,  1884,  1903,  1914,
    1923,  1931,  1935,  1943,  1955,  2037,  2057,  2062,  2066,  2086,
    2098,  2108,  2129,  2150,  2171,  2177,  2182,  2187,  2191,  2199,
    2210,  2217,  2225,  2224,  2237,  2236,  2249,  2248,  2263,  2268,
    2273,  2279,  2278,  2289,  2288,  2299,  2298,  2311,  2316,  2321,
    2327,  2326,  2338,  2337,  2350,  2349,  2363,  2367,  2372,  2399,
    2423,  2431,  2450,  2468,  2486,  2508,  2529,  2550,  2564,  2583,
    2588,  2597,  2599,  2600,  2601,  2602,  2605,  2607,  2608,  2609,
    2610,  2611,  2612,  2613,  2614,  2621,  2622,  2623,  2624,  2625,
    2626,  2627,  2628,  2629,  2630,  2631,  2632,  2633,  2634,  2635,
    2636,  2637,  2638,  2639,  2640,  2641,  2642,  2643,  2644,  2645,
    2646,  2647,  2648,  2649,  2650,  2651,  2652,  2654,  2655,  2656,
    2657,  2658,  2659,  2660,  2661,  2662,  2663,  2664,  2665,  2666,
    2667,  2668,  2669,  2670,  2671,  2672,  2673,  2674,  2679,  2684,
    2685,  2686,  2690,  2701,  2718,  2729,  2748,  2764,  2780,  2796,
    2813,  2818,  2822,  2826,  2830,  2836,  2841,  2845,  2849,  2855,
    2859,  2864,  2868,  2873,  2877,  2881,  2887,  2893,  2900,  2906,
    2910,  2914,  2922,  2934,  2941,  2952,  2974,  2988,  3004,  3024,
    3048,  3054,  3058,  3062,  3073,  3078,  3089,  3094,  3112,  3117,
    3130,  3136,  3142,  3147,  3155,  3168,  3172,  3190,  3204
#if YYDEBUG || YYERROR_VERBOSE
/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
  "$end", "error", "$undefined", "tDOUBLE", "tSTRING", "tBIGSTR", "tEND", 
  "tAFFECT", "tDOTS", "tPi", "tMPI_Rank", "tMPI_Size", "tExp", "tLog", 
  "tLog10", "tSqrt", "tSin", "tAsin", "tCos", "tAcos", "tTan", "tRand", 
  "tAtan", "tAtan2", "tSinh", "tCosh", "tTanh", "tFabs", "tFloor", 
  "tCeil", "tFmod", "tModulo", "tHypot", "tPrintf", "tSprintf", "tStrCat", 
  "tStrPrefix", "tDraw", "tPoint", "tCircle", "tEllipse", "tLine", 
  "tSurface", "tSpline", "tVolume", "tCharacteristic", "tLength", 
  "tParametric", "tElliptic", "tPlane", "tRuled", "tTriangulation", 
  "tTransfinite", "tComplex", "tPhysical", "tUsing", "tBump", 
  "tProgression", "tPlugin", "tRotate", "tTranslate", "tSymmetry", 
  "tDilate", "tExtrude", "tDuplicata", "tLoop", "tRecombine", "tDelete", 
  "tCoherence", "tIntersect", "tAttractor", "tLayers", "tScalarPoint", 
  "tVectorPoint", "tTensorPoint", "tScalarLine", "tVectorLine", 
  "tTensorLine", "tScalarTriangle", "tVectorTriangle", "tTensorTriangle", 
  "tScalarQuadrangle", "tVectorQuadrangle", "tTensorQuadrangle", 
  "tScalarTetrahedron", "tVectorTetrahedron", "tTensorTetrahedron", 
  "tScalarHexahedron", "tVectorHexahedron", "tTensorHexahedron", 
  "tScalarPrism", "tVectorPrism", "tTensorPrism", "tScalarPyramid", 
  "tVectorPyramid", "tTensorPyramid", "tText2D", "tText3D", "tBSpline", 
  "tBezier", "tNurbs", "tOrder", "tWith", "tBounds", "tKnots", "tColor", 
  "tColorTable", "tFor", "tIn", "tEndFor", "tIf", "tEndIf", "tExit", 
  "tReturn", "tCall", "tFunction", "tMesh", "tTrimmed", 
  "tB_SPLINE_SURFACE_WITH_KNOTS", "tB_SPLINE_CURVE_WITH_KNOTS", 
  "tCARTESIAN_POINT", "tTRUE", "tFALSE", "tUNSPECIFIED", "tU", "tV", 
  "tEDGE_CURVE", "tVERTEX_POINT", "tORIENTED_EDGE", "tPLANE", 
  "tFACE_OUTER_BOUND", "tEDGE_LOOP", "tADVANCED_FACE", "tVECTOR", 
  "tDIRECTION", "tAXIS2_PLACEMENT_3D", "tISO", "tENDISO", "tENDSEC", 
  "tDATA", "tHEADER", "tFILE_DESCRIPTION", "tFILE_SCHEMA", "tFILE_NAME", 
  "tMANIFOLD_SOLID_BREP", "tCLOSED_SHELL", 
  "tADVANCED_BREP_SHAPE_REPRESENTATION", "tFACE_BOUND", 
  "tCYLINDRICAL_SURFACE", "tCONICAL_SURFACE", "tCIRCLE", "tTRIMMED_CURVE", 
  "tGEOMETRIC_SET", "tCOMPOSITE_CURVE_SEGMENT", "tCONTINUOUS", 
  "tCOMPOSITE_CURVE", "tTOROIDAL_SURFACE", "tPRODUCT_DEFINITION", 
  "tPRODUCT_DEFINITION_SHAPE", "tSHAPE_DEFINITION_REPRESENTATION", 
  "tELLIPSE", "tSolid", "tEndSolid", "tVertex", "tFacet", "tNormal", 
  "tOuter", "tLoopSTL", "tEndLoop", "tEndFacet", "tAFFECTDIVIDE", 
  "tAFFECTTIMES", "tAFFECTMINUS", "tAFFECTPLUS", "'?'", "tOR", "tAND", 
  "tAPPROXEQUAL", "tNOTEQUAL", "tEQUAL", "'<'", "'>'", "tGREATEROREQUAL", 
  "tLESSOREQUAL", "'+'", "'-'", "'*'", "'/'", "'%'", "tCROSSPRODUCT", 
  "'!'", "UNARYPREC", "tMINUSMINUS", "tPLUSPLUS", "'^'", "'('", "')'", 
  "'['", "']'", "'.'", "','", "'{'", "'}'", "$accept", "All", 
  "SignedDouble", "STLFormatItem", "StepFormatItems", "StepFormatItem", 
  "StepSpecial", "StepHeaderItem", "StepDataItem", "GeomFormatList", 
  "GeomFormat", "Printf", "View", "Views", "ScalarPointValues", 
  "ScalarPoint", "@1", "VectorPointValues", "VectorPoint", "@2", 
  "TensorPointValues", "TensorPoint", "@3", "ScalarLineValues", 
  "ScalarLine", "@4", "VectorLineValues", "VectorLine", "@5", 
  "TensorLineValues", "TensorLine", "@6", "ScalarTriangleValues", 
  "ScalarTriangle", "@7", "VectorTriangleValues", "VectorTriangle", "@8", 
  "TensorTriangleValues", "TensorTriangle", "@9", 
  "ScalarQuadrangleValues", "ScalarQuadrangle", "@10", 
  "VectorQuadrangleValues", "VectorQuadrangle", "@11", 
  "TensorQuadrangleValues", "TensorQuadrangle", "@12", 
  "ScalarTetrahedronValues", "ScalarTetrahedron", "@13", 
  "VectorTetrahedronValues", "VectorTetrahedron", "@14", 
  "TensorTetrahedronValues", "TensorTetrahedron", "@15", 
  "ScalarHexahedronValues", "ScalarHexahedron", "@16", 
  "VectorHexahedronValues", "VectorHexahedron", "@17", 
  "TensorHexahedronValues", "TensorHexahedron", "@18", 
  "ScalarPrismValues", "ScalarPrism", "@19", "VectorPrismValues", 
  "VectorPrism", "@20", "TensorPrismValues", "TensorPrism", "@21", 
  "ScalarPyramidValues", "ScalarPyramid", "@22", "VectorPyramidValues", 
  "VectorPyramid", "@23", "TensorPyramidValues", "TensorPyramid", "@24", 
  "Text2DValues", "Text2D", "@25", "Text3DValues", "Text3D", "@26", 
  "NumericAffectation", "NumericIncrement", "Affectation", "Shape", 
  "Transform", "MultipleShape", "ListOfShapes", "Duplicata", "Delete", 
  "Colorify", "Command", "Loop", "Extrude", "@27", "@28", "@29", "@30", 
  "@31", "@32", "@33", "@34", "@35", "ExtrudeParameters", 
  "ExtrudeParameter", "Transfini", "Coherence", "BoolExpr", "FExpr", 
  "FExpr_Single", "VExpr", "VExpr_Single", "ListOfStrings", 
  "RecursiveListOfStrings", "ListOfListOfDouble", 
  "RecursiveListOfListOfDouble", "ListOfDouble", "FExpr_Multi", 
  "RecursiveListOfDouble", "ColorExpr", "ListOfColor", 
  "RecursiveListOfColor", "StringExpr", 0
# ifdef YYPRINT
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
   token YYLEX-NUM.  */
static const unsigned short yytoknum[] =
{
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
     395,   396,   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,    63,   429,   430,   431,   432,   433,
      60,    62,   434,   435,    43,    45,    42,    47,    37,   436,
      33,   437,   438,   439,    94,    40,    41,    91,    93,    46,
      44,   123,   125
# endif

/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
static const unsigned short yyr1[] =
{
       0,   203,   204,   204,   204,   204,   205,   205,   206,   206,
     206,   207,   207,   208,   208,   208,   209,   209,   209,   209,
     209,   210,   210,   210,   211,   211,   211,   211,   211,   211,
     211,   211,   211,   211,   211,   211,   211,   211,   211,   211,
     211,   211,   211,   211,   211,   211,   211,   211,   211,   211,
     211,   211,   211,   211,   212,   212,   213,   213,   213,   213,
     213,   213,   213,   213,   213,   213,   213,   213,   213,   214,
     214,   215,   215,   216,   216,   216,   216,   216,   216,   216,
     216,   216,   216,   216,   216,   216,   216,   216,   216,   216,
     216,   216,   216,   216,   216,   216,   216,   216,   216,   216,
     217,   217,   219,   218,   220,   220,   222,   221,   223,   223,
     225,   224,   226,   226,   228,   227,   229,   229,   231,   230,
     232,   232,   234,   233,   235,   235,   237,   236,   238,   238,
     240,   239,   241,   241,   243,   242,   244,   244,   246,   245,
     247,   247,   249,   248,   250,   250,   252,   251,   253,   253,
     255,   254,   256,   256,   258,   257,   259,   259,   261,   260,
     262,   262,   264,   263,   265,   265,   267,   266,   268,   268,
     270,   269,   271,   271,   273,   272,   274,   274,   276,   275,
     277,   277,   279,   278,   280,   280,   282,   281,   283,   283,
     285,   284,   286,   286,   288,   287,   289,   289,   291,   290,
     292,   292,   294,   293,   295,   295,   295,   295,   295,   296,
     296,   297,   297,   297,   297,   297,   297,   297,   297,   297,
     297,   297,   297,   297,   297,   297,   297,   297,   297,   298,
     298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
     298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
     298,   298,   298,   298,   298,   298,   299,   299,   299,   299,
     300,   300,   300,   301,   301,   301,   301,   301,   302,   302,
     303,   303,   303,   304,   305,   305,   305,   305,   305,   306,
     306,   306,   306,   306,   306,   306,   306,   306,   306,   307,
     307,   307,   308,   307,   309,   307,   310,   307,   307,   307,
     307,   311,   307,   312,   307,   313,   307,   307,   307,   307,
     314,   307,   315,   307,   316,   307,   317,   317,   318,   318,
     318,   319,   319,   319,   319,   319,   319,   319,   319,   320,
     320,   321,   321,   321,   321,   321,   322,   322,   322,   322,
     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
     322,   322,   322,   322,   322,   322,   322,   322,   323,   323,
     323,   323,   323,   323,   323,   323,   323,   323,   323,   323,
     324,   324,   324,   324,   324,   325,   325,   325,   325,   326,
     326,   327,   327,   328,   328,   328,   329,   329,   330,   330,
     330,   330,   330,   331,   331,   331,   331,   331,   331,   331,
     332,   332,   332,   332,   333,   333,   333,   333,   334,   334,
     335,   335,   336,   336,   336,   336,   336,   336,   336
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
static const unsigned char yyr2[] =
{
       0,     2,     1,     1,     1,     2,     1,     2,     1,    21,
       1,     0,     2,     1,     1,     1,     2,     2,     2,     2,
       2,     7,     5,    17,     9,    23,    31,    15,    11,    11,
      15,     9,    13,     9,    11,    13,     9,     9,    11,     9,
      11,     9,    11,    13,    13,    11,    13,    17,     9,    11,
      11,    13,    11,     9,     0,     2,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     5,
       7,     6,     8,     0,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       1,     3,     0,    13,     1,     3,     0,    13,     1,     3,
       0,    13,     1,     3,     0,    19,     1,     3,     0,    19,
       1,     3,     0,    19,     1,     3,     0,    25,     1,     3,
       0,    25,     1,     3,     0,    25,     1,     3,     0,    31,
       1,     3,     0,    31,     1,     3,     0,    31,     1,     3,
       0,    31,     1,     3,     0,    31,     1,     3,     0,    31,
       1,     3,     0,    55,     1,     3,     0,    55,     1,     3,
       0,    55,     1,     3,     0,    43,     1,     3,     0,    43,
       1,     3,     0,    43,     1,     3,     0,    37,     1,     3,
       0,    37,     1,     3,     0,    37,     1,     3,     0,    13,
       1,     3,     0,    15,     1,     1,     1,     1,     1,     1,
       1,     4,     7,     9,     6,     3,     6,     6,     9,     6,
       9,     5,     8,     8,    11,     6,     9,     9,     9,     7,
       8,    12,     6,     7,     7,    12,     7,     7,     9,    17,
       8,     8,     7,     7,    11,     8,    12,     8,    14,    22,
      20,     8,     8,     8,     7,     8,     5,    11,     5,     9,
       1,     1,     1,     0,     2,     6,     6,     6,     4,     6,
       4,     6,     3,     5,     3,     3,     7,     2,     2,     6,
       8,     8,    10,     1,     2,     1,     3,     4,     1,     8,
      12,    14,     0,    12,     0,    16,     0,    18,     8,    12,
      14,     0,    12,     0,    16,     0,    18,     8,    12,    14,
       0,    12,     0,    16,     0,    18,     1,     2,     9,     7,
       2,     6,     9,     9,     8,     8,     8,     6,     4,     2,
       2,     1,     1,     1,     1,     1,     1,     3,     2,     2,
       2,     3,     3,     3,     3,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     5,     4,     4,     4,     4,
       4,     4,     4,     4,     4,     4,     6,     4,     4,     4,
       4,     4,     4,     6,     6,     6,     4,     4,     4,     4,
       4,     4,     4,     4,     4,     4,     4,     6,     4,     4,
       4,     4,     4,     4,     6,     6,     6,     4,     1,     1,
       1,     1,     1,     4,     2,     5,     3,     6,     4,     7,
       1,     2,     2,     3,     3,    11,     9,     7,     7,     0,
       3,     1,     3,     0,     3,     3,     1,     3,     1,     1,
       3,     4,     1,     3,     5,     4,     3,     4,     6,     7,
       1,     1,     3,     3,     9,     7,     1,     5,     3,     6,
       1,     3,     1,     6,     4,     4,     6,     6,     9
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
   means the default is an error.  */
static const unsigned short yydefact[] =
{
       0,     0,     8,    10,     0,     0,     3,     2,     4,     5,
       0,     1,     0,     0,     0,     0,     0,     0,     0,     0,
       0,    12,    13,    15,    14,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   283,     0,   288,     0,   285,     0,     0,     0,    55,
      57,    56,    58,    59,    60,    61,    62,    63,    68,    67,
      64,    65,    66,     6,     0,     0,     0,    16,    17,    19,
      18,    20,   419,   419,     0,   398,   402,   452,   204,   399,
     400,   401,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   208,   207,   206,   205,
       0,     0,     0,   210,   209,     0,     0,     0,     0,     0,
       0,   336,     0,     0,   278,     0,     0,     0,     0,     0,
       0,     0,     0,   263,     0,     0,     0,     0,     0,   263,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   410,     0,     0,     0,     0,     0,
       0,   263,   263,     0,     0,   263,   329,   330,   263,   263,
       0,     0,     0,     0,   446,     0,     0,     0,     0,     0,
     277,     0,   284,     0,     7,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   404,     0,    73,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     339,   338,   340,     0,     0,     0,     0,     0,     0,     0,
       0,   215,   275,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   274,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   402,     0,
       0,     0,   262,   432,   261,   260,   428,     0,   429,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   412,   411,     0,     0,     0,     0,
     263,   263,     0,     0,     0,     0,     0,     0,     0,     0,
     272,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   263,     0,     0,     0,   286,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   421,     0,
       0,     0,     0,     0,   406,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     452,     0,     0,     0,   337,   263,     0,   440,   441,     0,
       0,   204,     0,     0,     0,     0,   211,     0,   354,   353,
     352,   351,   347,   348,   350,   349,   342,   341,   343,   344,
     345,   346,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   402,     0,     0,     0,     0,     0,
     264,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     414,   413,     0,     0,     0,     0,     0,     0,     0,   268,
     328,     0,     0,   270,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   287,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   420,
       0,     0,    22,     0,   403,   408,    73,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,    74,    75,    76,    77,    78,    79,
      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
     356,   377,   357,   378,   358,   379,   359,   380,   360,   381,
     361,   382,   362,   383,   363,   384,   364,   385,   376,   397,
     365,   386,     0,     0,   367,   388,   368,   389,   369,   390,
     370,   391,   371,   392,   372,   393,     0,     0,     0,     0,
       0,     0,     0,     0,   455,     0,     0,   454,     0,     0,
       0,     0,     0,     0,     0,     0,   221,     0,     0,     0,
       0,     0,    69,     0,     0,   263,   263,     0,   263,     0,
     263,   263,   436,     0,     0,     0,     0,   430,     0,     0,
       0,   433,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     256,   258,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   263,   263,     0,     0,   263,     0,     0,   273,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   263,   263,     0,     0,     0,     0,   263,   263,
       0,     0,     0,     0,     0,   263,     0,   263,     0,     0,
       0,     0,     0,   422,     0,   419,     0,   405,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,    71,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   214,   442,
     443,     0,     0,     0,     0,     0,   216,   217,   219,     0,
       0,   450,     0,   225,   355,     0,     0,     0,     0,   263,
       0,   263,     0,     0,     0,   435,   437,     0,   431,     0,
       0,     0,     0,   232,     0,   263,   263,   263,     0,   321,
       0,   263,   263,   263,   263,   263,   263,   263,     0,     0,
       0,     0,     0,     0,     0,     0,   269,   327,   271,     0,
       0,     0,     0,     0,   423,     0,   447,     0,     0,     0,
     279,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   331,   332,   333,   334,
     335,     0,     0,     0,     0,     0,     0,     0,    21,     0,
     407,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   366,   387,
     373,   394,   374,   395,   375,   396,     0,   457,   456,   453,
     263,   204,     0,     0,     0,     0,   212,     0,     0,     0,
     448,    70,   229,   236,     0,   237,     0,   233,     0,   234,
     254,     0,     0,     0,     0,     0,   434,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   276,     0,     0,     0,     0,   263,     0,   292,     0,
     301,     0,   310,     0,     0,   242,   243,     0,   263,   263,
       0,   263,     0,     0,     0,     0,     0,     0,     0,   263,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   263,     0,
       0,     0,     0,     0,     0,     0,     0,   419,   409,    72,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     222,     0,     0,   223,     0,   451,     0,   241,   252,   438,
       0,   265,   266,   267,     0,   325,   245,   247,     0,     0,
       0,   324,   326,   253,   230,   240,   251,   255,     0,     0,
       0,   418,     0,   417,     0,     0,   289,     0,     0,   298,
       0,     0,   307,     0,     0,     0,   423,     0,   426,     0,
       0,     0,     0,   445,     0,   281,   280,     0,     0,     0,
       0,     0,    24,     0,    33,     0,    37,     0,    31,     0,
       0,    36,     0,    41,    39,     0,     0,     0,     0,     0,
       0,    48,     0,     0,     0,     0,     0,    53,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   213,   218,   220,
       0,   226,     0,   238,   439,     0,     0,   323,   322,   227,
     228,   263,     0,   259,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   425,   263,   424,   263,     0,     0,     0,
     263,     0,     0,   423,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   263,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     458,     0,   449,     0,     0,     0,     0,   416,     0,     0,
       0,     0,     0,     0,     0,     0,   316,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   427,     0,     0,   444,
     282,     0,     0,    38,     0,     0,     0,     0,    28,     0,
      34,     0,    40,    29,    42,     0,    45,     0,    49,    50,
       0,     0,    52,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   224,     0,   263,   257,     0,     0,   294,     0,   320,
     263,     0,   317,   303,     0,     0,   312,     0,     0,     0,
       0,   263,   263,   244,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   102,   106,
     110,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   198,     0,     0,   263,   415,   290,     0,     0,
       0,   293,   299,     0,     0,   302,   308,     0,     0,   311,
     231,   235,     0,     0,   246,     0,     0,     0,     0,     0,
      32,    35,    43,     0,    44,    51,    46,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   296,   263,     0,
     305,     0,   314,   263,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   202,     0,   248,
       0,   291,     0,     0,     0,   300,     0,     0,   309,     0,
       0,     0,     0,     0,     0,    27,    30,     0,     0,     0,
     100,     0,   104,     0,   108,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   196,     0,     0,
       0,     0,   263,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   263,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   295,     0,     0,   319,
     304,     0,   313,     0,     0,     0,     0,     0,     0,    47,
      23,   101,   103,   105,   107,   109,   111,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   197,   199,
       0,   200,   239,     0,     0,     0,     0,     0,     0,     0,
       0,   263,   114,   118,   122,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   297,   318,   306,   315,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   201,   203,     0,     0,     9,
     263,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   250,     0,     0,     0,   112,     0,
     116,     0,   120,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   263,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   249,     0,
      25,   113,   115,   117,   119,   121,   123,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   263,   126,   130,   134,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   263,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   124,     0,   128,     0,   132,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   125,   127,   129,
     131,   133,   135,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   138,
     142,   146,   150,   154,   158,     0,     0,     0,     0,     0,
       0,     0,     0,     0,    26,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   136,     0,   140,     0,
     144,     0,   148,     0,   152,     0,   156,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   137,   139,   141,
     143,   145,   147,   149,   151,   153,   155,   157,   159,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   186,   190,   194,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   184,     0,   188,     0,   192,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   185,   187,   189,   191,   193,
     195,     0,     0,     0,   174,   178,   182,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   172,     0,   176,     0,   180,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     173,   175,   177,   179,   181,   183,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   162,   166,   170,     0,     0,     0,
       0,     0,     0,     0,   160,     0,   164,     0,   168,     0,
       0,     0,     0,     0,     0,   161,   163,   165,   167,   169,
     171
/* YYDEFGOTO[NTERM-NUM]. */
static const short yydefgoto[] =
{
      -1,     5,    85,     6,     7,    21,    22,    23,    24,     8,
      69,    70,    71,   426,  1609,   634,  1518,  1611,   635,  1519,
    1613,   636,  1520,  1827,   637,  1774,  1829,   638,  1775,  1831,
     639,  1776,  1963,   640,  1925,  1965,   641,  1926,  1967,   642,
    1927,  2075,   643,  2045,  2077,   644,  2046,  2079,   645,  2047,
    2081,   646,  2048,  2083,   647,  2049,  2085,   648,  2050,  2273,
     649,  2267,  2275,   650,  2268,  2277,   651,  2269,  2222,   652,
    2210,  2224,   653,  2211,  2226,   654,  2212,  2171,   655,  2153,
    2173,   656,  2154,  2175,   657,  2155,  1636,   658,  1542,  1730,
     659,  1638,   138,   242,    72,   520,   332,   333,   334,   335,
      76,    77,    78,    79,    80,  1177,  1488,  1592,  1180,  1493,
    1596,  1183,  1497,  1599,  1355,  1356,    81,    82,   961,   336,
     141,   354,   174,   237,   419,  1070,  1187,  1188,   338,   479,
     196,   720,   872,   142
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
   STATE-NUM.  */
#define YYPACT_NINF -1324
static const short yypact[] =
{
    2806,    28, -1324, -1324,  -104,    87, -1324,   290,  3030, -1324,
      19, -1324,    97,   113,   142,   178,   192,   202,   -55,    77,
     101, -1324, -1324, -1324, -1324,  2342,   106,   205,   112,   152,
     168,   -37,   249,   186,   212,   327,   221,   354,   358,   380,
     393,   435,   333,   547,   244,   251,   -41,   -41,   254,   235,
       4,   417,     9,   458,   474,   134,   296,   300,   -18,     5,
       6, -1324,   307, -1324,   511, -1324,   520,   521,   499, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324,   529,    19,  2634, -1324, -1324, -1324,
   -1324, -1324,   352,   352,   560, -1324,   301,     8, -1324, -1324,
   -1324, -1324,  -162,  -153,  -124,   -42,   156,   163,   174,   226,
     239,   304,   326,   338,   366,   372,   373,   379,   428,   454,
     457,   468,   471,   365,   385,   386, -1324, -1324, -1324, -1324,
    2539,  2539,  2539, -1324, -1324,  2539,   948,    26,  2539,   578,
     553, -1324,   584,   619, -1324,  2539,  2539,  2539,   434,  2539,
     446,  2539,  2539,   583,  2539,   455,   460,   475,   487,   583,
     508,   524,   503,   526,   531,   535,   548,   690,   -41,   -41,
     -41,  2539,  2539,   128, -1324,   158,   -41,   545,   557,   592,
     509, -1324,   583,   515,   764, -1324, -1324, -1324,   583,   583,
    2539,  2539,   -61,  2539,   625,  2539,   648,   735,  2539,  2539,
   -1324,   858, -1324,   670, -1324,    19,   687,   698,   701,   704,
     705,   706,   710,   711,   712,   713,   714,   715,   716,   717,
     718,   719,   721,   725,   737,   738,   739,   740,   741,   744,
     745,   746,   747,   748,   750,   752,   878,   749,   742,   753,
    2539,   946, -1324,   -41, -1324,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,    42,    45,    45,
     760,   760,   760, 11170,   949,  2450, 10603,    10,   782,   975,
     647, -1324, -1324,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539, -1324,   -84,
   11193, 11216, 11239,  2539, 11262,  2539, 11285, 11308,   323,   788,
    1560,  2450, -1324, -1324,  2886, -1324,  1679,   977, -1324, 11331,
    2539,  2539,  2539,  2539,   978,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,   790,   119, -1324, -1324,  3427,  3450,   -41,   -41,
     600,   600,   165,  2539,  2539,  2539,  2539,  2012,   256,  2539,
   -1324,  2574,   984,   996, 11354, 11377,   901,  2539, 11400,   900,
    3473, -1324,   806,  1763, 11423, -1324,  2539,   843,  1005,  1006,
    1007,  1008,  1009,  1014,  1015,  1016,  1017,  1018,  1019,  1020,
    1021,  1023,  1024,  1025,  1026,  1027,  1028,  1029,  1030,  1031,
    1032,   886,  1036,  1038,  1039,  1040,  1043,  1042, -1324,   -63,
    1044,  1045,  1047, 10624,   135,   161,  2805, 11446, 10645, 11469,
   10666, 11492, 10687, 11515, 10708, 11538, 10729, 11561, 10750, 11584,
   10771, 11607, 10792, 11630, 10813, 11653, 10834, 11676, 10855,  3496,
    3519, 11699, 10876, 11722, 10897, 11745, 10918, 11768, 10939, 11791,
   10960, 11814, 10981,  3542,  3565,  3588,  3611,  3634,  3657,   470,
   -1324,   -33,   848,   859, -1324,   583,  2638,  1679, -1324,   479,
     138,    45,  2539,  1048,  1052,    12, -1324,  1809,   262,   693,
     324,   324,   298,   298,   298,   298,   218,   218,   760,   760,
     760,   760,  1051,  2450,  1053,  1054,  1055, 11837,  1057, 11860,
    1058,  1059,  1194,  2539,   337,  2450,   483,  -126,   -39,   -50,
   -1324,  2539,  2539,  1060,  2863, 11883, 11906, 11929,  2539,  2986,
    3011, 11952, 11975, 11998, 12021, 12044,   860,   -41,  2539,  2539,
   -1324, -1324,   856,   866,  2539,  3680,  3703,  3726, 11002, -1324,
   -1324,  2539, 11023, -1324,   868,   872,  1067,  1068,   881, 12067,
    1071,   880,  2539,  2639,  2539,  2539, -1324, 12090,   913,   882,
     883,   884,   911,   912,   917,   930,   935,   936,   937,   939,
     941,   942,   944,   945,   950,   951,   952,   953,   954,   955,
     956,   957,   958,   959,   960,   961,   962,   963,   965, -1324,
    1108,   970, -1324,   968,  -107, -1324, -1324,   982,   994,   995,
     997,  1001,  1004,  1033,  1034,  1035,  1037,  1041,  1049,  1050,
    1062,  1063,  1064,  1065,  1066,  1069,  1070,  1072,  1073,  1074,
    1075,  1077,  1078,  1134, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324,  2539,  2539, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  1144, -1324,  2450,    45, -1324,  1167,  2450,
     993,    33,  2539,  1195,  1221,   672, -1324,  1193,  1046,     5,
    1225,  2539, -1324,    -4,   -41,   583,   583,  1226,   583,  1227,
     583,   583, -1324,  2450, 12113,  1330,   486, -1324,  2450,  2450,
    2450,  2085,   743,  1076,  1228,  1230,  1231,  1232,   370,  1233,
    1235,  1239,  1240,  1241,  1243,  1245,  1250,   172,  3749,  3772,
   -1324, -1324,  3036,   -41,   -41,   -41,  1257,   814,  1260,  2539,
    2539,   583,   583,  2539,  1267,   583,  1271,  3795, -1324,  2113,
     452,  1269,  1115,  1277,  2539,  2539,   -41,  1278,  1279,  1097,
    1282,  1283,   583,   583,  1285,   -41,  1312,  1313,   583,   583,
    1315,  1316,  1317,  1319,  1323,   583,   495,   583,  1324,  1325,
    1326,  1329,  1332, -1324,  1331,   352,  1362, -1324,  2936,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539, -1324, 12136, 11044, 12159, 11065,
   12182, 11086, 12205, 11107, 11128,  1133,    18,  1140, -1324,  1679,
   -1324,    16,   162,  1181,  1374,   940, -1324, -1324, -1324,     5,
    2539, -1324,   489, -1324, 13056,  1376,    15,    25,  1379,   583,
    1380,   583,  1381,  1382,   490, -1324, -1324,  2450, -1324,   493,
     497,   501,  2539, -1324,  2539,   583,   583,   583,  1196, -1324,
     335,   583,   583,   583,   583,   583,   583,   583,   404,  2539,
    2539,  2539,  1192,  -132,  -118,   -43, -1324, -1324, -1324,  3818,
    3841,  1384,  1388, 12228,   -87,  1292, -1324,  2539,  2539,  2539,
   -1324,  1197,    19,  1199,  3864,  3887,   -35,  1200,  1201,  1202,
    1205,  1204,  1209,  1206,  1207,   213,  1208,  1214,  1218,  1216,
    1217,  1219,  1220,  1222,  1223,  1234, -1324, -1324, -1324, -1324,
   -1324,  1224,  1229,  1259,  1261,  1262,  1236,  1263, -1324,  1265,
     135,  1412,  3910,  3933,  3956,  3979,  4002,  4025,  4048,  4071,
    4094,  4117,  4140,  4163,  4186,  4209,  4232,  4255,  4278,  4301,
    4324,  4347,  4370,  4393,  4416,  4439,  4462,  4485, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324,  1258, -1324, -1324, -1324,
     583,    45,  2539,  1415,  1422,    12, -1324,  1421, 11149,     5,
   -1324, -1324, -1324, -1324,   -41, -1324,  1427, -1324,  1428, -1324,
   -1324,  1237,   502,  1454,  1461,  1463, 13056,  4508,  1464,  1466,
    1470,  2539,  2539,  2539,  1482,  1483,  1484,  1485,  1486,  1505,
    1506, -1324,  2416,  3061, 12251,   -85,   600,   -41,  1507,   -41,
    1512,   -41,  1513,  2539,  2539, -1324, -1324,  1510,   583,   583,
    1417,   583,  2520,   287, 12274,  2539,    19,  1425,  2539,   583,
    1516,  1520,  1518,  1340,  1521,   495,  1523,  1527,  2539,  1526,
    1530,  1528,  1529,  1533,   495,  2539,  2539,  2539,   583,  1555,
    1559,   495,  2539,  1562,  1563,  1561,  2539,   352, -1324, -1324,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  1592,  1602,  1603,  1000,
   -1324,  1604,  1606, -1324,  1411, -1324,    32, -1324, -1324, -1324,
    1416, -1324, -1324, -1324,  2539, -1324, -1324, -1324,  4531,  1189,
    1322, -1324, -1324, -1324, -1324, -1324, -1324, -1324,  1419,  1609,
    1418, -1324,  2539, -1324,  1420,   182, -1324,  1424,   190, -1324,
    1426,   194, -1324,  1432,  4554,  4577,   -87,    68, -1324,   505,
    1434,  1517,  2539, -1324,  2539, -1324, -1324,  4600,    19,  1430,
    4623,  1423, -1324,  1429, -1324,  1457, -1324,  1462, -1324,  1459,
   12297, -1324,  1460, -1324, -1324,  1465,  1467, 12320,  4646, 12343,
    1468, -1324,  1469,  1471,  4669,  1472,  1473, -1324,  4692,  1474,
    4715,  4738,  4761,  4784,  4807,  4830,  4853,  4876,  4899,  4922,
    4945,  4968,  4991,  5014,  5037,  5060,  5083,  5106,  5129,  5152,
    5175,  5198,  5221,  5244,  5267,  5290,  1475, -1324, -1324, -1324,
       5, -1324,  1514, -1324, -1324,  5313,  2539, -1324, -1324, -1324,
   -1324,   600,  2931, -1324,  2310,    52,  2310,    52,  2310,    52,
    2539,  2539,  1524, -1324,   583, -1324,   583,  2539,  3086,  3111,
     583,  1458,  1611,   -87,   495,  1663,  2539,  1667,   495,  1669,
    1673,  1671,  1672,  1674,  2539,  1676,   583,  1678,  1680,  2539,
    1685,  1683,  2539,  1686,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
   -1324,  1684, -1324,  1687, 12366,  1477,  2539, -1324,  2310,  2310,
    2539,  3140,   199,  1688,  1494,   -26, -1324,  3165,   201,   -23,
    3190,   203,   -17,  3215,  3244,  1495, -1324,  1497,  1625, -1324,
   -1324,  1496,    19, -1324,  1501,  1502,  1503,  5336, -1324,  1508,
   -1324,  1509, -1324, -1324, -1324, 12389, -1324,  1515, -1324, -1324,
   12412,  1522, -1324, 12435,  1519, 12458, 12481, 12504,  5359,  5382,
    5405,  5428,  5451,  5474,  5497,  5520,  5543,  5566,  5589,  5612,
    5635,  5658,  5681,  5704,  5727,  5750,  5773,  5796,  5819, 12527,
    5842, -1324,  1538,   583, -1324,  3277,  1299,  1700,  2539, -1324,
     583,  1701, -1324,  1702,  2539,  1703,  1704,  2539,  1705,  1708,
    1710,   583,   583, -1324,  1711,    19,   495,   495,   495,   495,
    1733,  1734,  1735,   495,  1736,  1737,  1740,  1742, -1324, -1324,
   -1324,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539, -1324,  2539,  1743,   583, -1324, -1324,  1548,  3302,
    1551, -1324, -1324,  1552,  3327, -1324, -1324,  1553,  3352, -1324,
   -1324, -1324,  1557,  1550, -1324,    19,  1558,  1564,  1566,  1567,
   -1324, -1324, -1324,  1565, -1324, -1324, -1324,  1568,  1569,  1572,
    1573,  5865,  5888,  5911,  5934,  5957,  5980,  6003,  6026,  6049,
    6072,  6095,  6118,  6141,  6164,  6187,  6210,  6233,  6256,  6279,
    6302,  6325,  1574, 12550,  1576,  1753,    52,  1754,   583,    52,
    1760,    52,  1761,   583,  1668,  1635,   495,   495,  1796,  1808,
     495,  1810,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,    45, -1324,  1811, -1324,
     -11, -1324,  1617,   516,    -9, -1324,  1619,    -8, -1324,  1620,
    1621,  1623,    19,  1622,  1626, -1324, -1324,  1629,  1631,   517,
   13056,   522, 13056,   550, 13056,  6348,  6371,  6394,  6417,  6440,
    6463,  6486,  6509,  6532,  6555,  6578,  6601,  6624,  6647,  6670,
    6693,  6716,  6739,  6762,  6785,  6808,   551, -1324,  1627,  1628,
    1826,    52,   583,  1828,  1850,    52,  1862,    52,  1768,  2539,
      19,   495,   583,  1864,  1865,  2539,  1866,  2539,  1868,  2539,
    1869,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,    45,  1870,    45,  1871, -1324,    -7,  1677, -1324,
   -1324,    17, -1324,    64,  1681,  6831,    19,  1699,  1706, -1324,
   -1324, 13056, -1324, 13056, -1324, 13056, -1324, 12573, 12596, 12619,
    6854,  6877,  6900,  6923,  6946,  6969,  6992,  7015,  7038,  7061,
    7084,  7107,  7130,  7153,  7176,  7199,  7222,  7245, -1324, -1324,
     554, -1324, -1324,  1872,  1874,  1875,  1877,  2539,  2539,  1732,
     495,   583, -1324, -1324, -1324,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,    45,  1895, -1324, -1324, -1324, -1324,  7268,
    3377,  1738,  1709,  1712,  1707,  1713,  1714,  7291,  7314,  7337,
    7360,  7383,  7406,  7429,  7452,  7475,  7498,  7521,  7544,  7567,
    7590,  7613,  7636,  7659,  7682, -1324, -1324,  2539,  1896, -1324,
     583,   495,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  3402, -1324,  1716,  1715,   555, 13056,   561,
   13056,   562, 13056,  7705,  7728,  7751,  7774,  7797,  7820,  7843,
    7866,  7889,  7912,  7935,  7958,  7981,  8004,  8027,  8050,  8073,
    8096,  1897,   583,  1898,  2539,  1899,  2539,  1904,  2539,  1907,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539, -1324,  1717,
   -1324, 13056, -1324, 13056, -1324, 13056, -1324, 12642, 12665, 12688,
    8119,  8142,  8165,  8188,  8211,  8234,  8257,  8280,  8303,  8326,
    8349,  8372,  8395,  8418,  8441,   583, -1324, -1324, -1324,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  1718,  1739,  1751,  1752,  8464,  8487,
    8510,  8533,  8556,  8579,  8602,  8625,  8648,  8671,  8694,  8717,
    8740,  8763,  8786,   583,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  1755,   569, 13056,   574, 13056,   575, 13056,  8809,
    8832,  8855,  8878,  8901,  8924,  8947,  8970,  8993,  9016,  9039,
    9062,  9085,  9108,  9131,   495,  2539,  1948,  2539,  1950,  2539,
    1952,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  1765, 13056, -1324, 13056,
   -1324, 13056, -1324, 12711, 12734, 12757, 12780, 12803, 12826,  9154,
    9177,  9200,  9223,  9246,  9269,  9292,  9315,  9338,  1953, -1324,
   -1324, -1324, -1324, -1324, -1324,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539, -1324,  1762,  1764,  1780,  1781,  1797,
    1798,  9361,  9384,  9407,  9430,  9453,  9476,  9499,  9522,  9545,
    2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,   579, 13056,   580, 13056,   585,
   13056,   586, 13056,   589, 13056,   590, 13056,  9568,  9591,  9614,
    9637,  9660,  9683,  9706,  9729,  9752,  2539,  1994,  2539,  1995,
    2539,  1996,  2539,  1998,  2539,  1999,  2539,  2000,  2539,  2539,
    2539,  2539,  2539,  2539,  2539,  2539,  2539, 13056, -1324, 13056,
   -1324, 13056, -1324, 13056, -1324, 13056, -1324, 13056, -1324,  9775,
    9798,  9821,  9844,  9867,  9890, 12849, 12872, 12895,  2539,  2539,
    2539,  2539,  2539,  2539, -1324, -1324, -1324,  9913,  9936,  9959,
    9982, 10005, 10028,  1806,  1807,  1818,  2539,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2539, 10051, 10074, 10097, 10120, 10143,
   10166,   636, 13056,   637, 13056,   642, 13056,  2539,  2539,  2539,
    2539,  2539,  2539,  2539,  2003,  2539,  2014,  2539,  2015, 10189,
   10212, 10235, 12918, 12941, 12964, 13056, -1324, 13056, -1324, 13056,
   -1324,  2539,  2539,  2539, -1324, -1324, -1324, 10258, 10281, 10304,
    1821,  1822,  1823,  2539,  2539,  2539,  2539,  2539,  2539, 10327,
   10350, 10373,   661, 13056,   668, 13056,   688, 13056,  2539,  2539,
    2539,  2539,  2019,  2539,  2020,  2539,  2021, 10396, 10419, 10442,
   13056, -1324, 13056, -1324, 13056, -1324,  2539,  2539,  2539, 10465,
   10488, 10511,  2539,  2539,  2539, 10534, 10557, 10580,  2539,  2539,
    2539, 12987, 13010, 13033, -1324, -1324, -1324,  1827,  1829,  1830,
    2539,  2539,  2539,   689, 13056,   692, 13056,   695, 13056,  2539,
    2023,  2539,  2026,  2539,  2027, 13056, -1324, 13056, -1324, 13056,
   -1324
/* YYPGOTO[NTERM-NUM].  */
static const short yypgoto[] =
{
   -1324, -1324,   -34, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324,  1452, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324,  -283,   -22, -1324,  2052,  2056,  -356,  -174,  2059,
   -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324, -1324,
   -1324, -1324, -1324, -1324, -1252, -1323, -1324, -1324, -1029,   -25,
   -1324,   407, -1324,   -92, -1324, -1157,   999,  1511,  -167,  -325,
    -717,  1061, -1324,  -269
/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
   positive, shift that token.  If negative, reduce the rule which
   number is the opposite.  If zero, do what YYDEFACT says.
   If YYTABLE_NINF, parse error.  */
#define YYTABLE_NINF -55
static const short yytable[] =
{
     140,   238,   871,   139,   542,   543,   516,   367,   180,   194,
     197,   371,   243,   183,   482,   150,   718,   481,   471,   472,
     473,  1022,    83,    98,   192,  1359,   148,  1362,   148,  1282,
     297,  1023,  1432,   245,     9,   246,  1432,   862,  1263,  1432,
    1353,   376,   247,  1353,   248,  1354,   469,   470,  1354,  1353,
     470,   205,   358,   359,  1354,  1353,  1207,  1353,  1353,  1353,
    1354,    10,  1354,  1354,  1354,  1216,   358,   359,  1057,   145,
    1058,   249,  1223,   250,  1024,   738,   123,   124,   125,   123,
     124,   125,  1059,  1353,  1060,   133,   134,    11,  1354,   303,
     304,   305,   816,   306,   307,   308,   309,   310,   311,   312,
     313,   314,   315,   316,    86,   290,   291,   292,  1068,   317,
     293,   296,   502,   300,  1069,  1172,   503,  1173,  1353,    87,
     320,   321,   322,  1354,   324,   184,   326,   327,   478,   339,
    1353,   298,   299,   599,   377,  1354,  1374,   600,   863,   864,
      92,   358,   359,   169,   170,    98,   356,   357,    88,   358,
     359,   740,  1017,   251,   171,   252,   149,  1061,   149,  1062,
     172,  1080,   739,   704,   478,   374,   375,   705,   378,  1011,
     380,   387,   188,   383,   384,   189,  1431,   193,   723,  1435,
     126,   127,   128,   129,    89,  1438,   126,   127,   128,   129,
     736,  1640,   875,  1644,  1646,  1733,   709,   712,    90,   358,
     359,   198,   133,   134,    84,   181,   195,   563,    91,   244,
     185,   144,   714,   719,  1008,   423,   358,   359,   709,  1735,
     427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
     467,   468,   550,   551,  1283,  1375,  1736,  1432,  1284,  1379,
     477,  1432,    93,   177,  1432,   483,   178,   179,   487,   488,
     489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
     499,   500,   501,    12,  1590,  1194,    94,  1594,   507,  1597,
     509,   143,  1145,   358,   359,   291,   477,   145,   126,   127,
     128,   129,   358,   359,   150,   524,   525,   526,   527,   537,
     529,   530,   531,   532,   533,   534,   535,   133,   134,   360,
     133,   134,   126,   127,   128,   129,   478,   711,   545,   546,
     547,   548,   358,   359,   552,   358,   359,   146,   478,   358,
     359,   253,   559,   254,   133,   134,   358,   359,   255,   361,
     256,   567,   606,   147,  1432,   544,   358,   359,  1432,   257,
    1432,   258,   909,   153,   358,   359,   899,   162,   358,   359,
     856,   151,  1274,   358,   359,   358,   359,   358,   359,  1687,
    1276,  1042,  1043,  1691,  1278,  1693,   155,   358,   359,  1428,
     156,  1434,   605,  1437,   314,   315,   316,   152,   884,  1089,
    1051,  1052,   317,   889,   890,   891,   154,  1506,  1507,  1508,
    1509,   259,   157,   260,  1513,   900,    13,    14,    15,    16,
      17,    18,    19,    20,   261,   158,   262,   857,   305,   167,
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
     316,   291,   168,   173,   175,   176,   317,   715,   713,   182,
     929,   303,   304,   305,   186,   306,   307,   308,   309,   310,
     311,   312,   313,   314,   315,   316,   159,   160,   477,   161,
     187,   317,   312,   313,   314,   315,   316,   423,   734,  1195,
     477,   190,   317,   133,   134,   191,   741,   742,   240,   263,
     241,   264,   199,   748,   308,   309,   310,   311,   312,   313,
     314,   315,   316,   758,   759,   133,   134,   200,   317,   762,
     512,   265,   241,   266,   201,   202,   767,  1603,  1604,   133,
     134,  1607,   204,   267,   735,   268,   241,   777,   478,   779,
     780,   203,   860,  1341,   303,   304,   305,   236,   306,   307,
     308,   309,   310,   311,   312,   313,   314,   315,   316,   302,
     287,   269,  1032,   270,   317,   239,   478,   271,   273,   272,
     274,   478,   478,   478,   275,   353,   276,   355,  1010,  1012,
     288,   289,   817,   362,   301,   163,    95,   328,   164,   165,
     318,   166,    99,   100,   101,   102,   103,   104,   105,   106,
     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
     117,   118,   119,   120,   121,   122,   956,   957,   958,   959,
     960,   329,  1697,   277,   319,   278,   303,   304,   305,   323,
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
     316,   325,    45,    46,    47,    48,   317,    50,   930,   279,
     425,   280,   281,   486,   282,   341,   340,   846,   847,    45,
      46,    47,    48,   283,    50,   284,   285,   702,   286,   703,
     342,   848,   849,   850,   851,   852,   853,   854,   868,   709,
     477,   710,   343,   709,   859,   737,   709,   865,   888,  1019,
     709,  1020,  1031,   709,   352,  1033,   874,   709,   347,  1034,
    1174,   709,   709,  1035,  1150,  1284,   366,  1285,   477,   345,
     423,  1772,   369,   477,   477,   477,  1642,  1655,  1643,  1656,
     478,   348,  1657,   969,  1658,   346,   349,   303,   304,   305,
     350,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     315,   316,  1138,   351,   919,   920,   363,   317,   923,   893,
    1659,  1682,  1660,  1683,  1763,  1854,  1764,  1855,   364,   934,
     935,  1856,  1858,  1857,  1859,   540,   541,   130,   330,  1985,
     370,  1986,  1826,   132,  1987,  1989,  1988,  1990,   135,  2096,
    2098,  2097,  2099,  1169,   331,  2100,  2102,  2101,  2103,  2104,
    2106,  2105,  2107,   365,   972,   973,   974,   975,   976,   977,
     978,   979,   980,   981,   982,   983,   984,   985,   986,   987,
     988,   989,   990,   991,   992,   993,   994,   995,   996,   997,
     917,   303,   304,   305,   379,   306,   307,   308,   309,   310,
     311,   312,   313,   314,   315,   316,  2183,  2185,  2184,  2186,
    1013,   317,  2187,   382,  2188,  1018,   303,   304,   305,   381,
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
     316,  2231,   477,  2232,   385,   386,   317,  1036,  2233,  1037,
    2234,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     315,   316,   388,   418,  1053,  1054,  1055,   317,  2235,  2279,
    2236,  2280,  2281,   389,  2282,  2283,   390,  2284,  1076,   391,
     392,   393,  1072,  1073,  1074,   394,   395,   396,   397,   398,
     399,   400,   401,   402,   403,  1345,   404,   303,   304,   305,
     405,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     315,   316,   406,   407,   408,   409,   410,   317,   421,   411,
     412,   413,   414,   415,   757,   416,  1016,   417,  1108,   420,
     424,    95,    96,   422,   317,  2006,   475,    99,   100,   101,
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
     122,   484,   485,   513,   522,   528,   536,  1139,   303,   304,
     305,   554,   306,   307,   308,   309,   310,   311,   312,   313,
     314,   315,   316,   555,   558,   561,  1259,   564,   317,   568,
     569,   570,   571,   572,   573,  1229,  1158,  1159,  1160,   574,
     575,   576,   577,   578,   579,   580,   581,  1168,   582,   583,
     584,   585,   586,   587,   588,   589,   590,   591,  1184,  1185,
     592,   593,  1198,   594,   595,   596,   597,   598,   706,   601,
    1197,   602,   603,  1200,   716,   707,   717,   722,   760,   756,
     724,   725,   726,  1210,   728,   730,   731,   743,   761,   769,
    1217,  1218,  1219,   770,   771,   772,   773,  1224,   775,   776,
     782,  1228,   783,   784,   785,  1230,  1231,  1232,  1233,  1234,
    1235,  1236,  1237,  1238,  1239,  1240,  1241,  1242,  1243,  1244,
    1245,  1246,  1247,  1248,  1249,  1250,  1251,  1252,  1253,  1254,
    1255,   786,   787,   813,   303,   304,   305,   788,   306,   307,
     308,   309,   310,   311,   312,   313,   314,   315,   316,  1265,
     789,   876,   130,   131,   317,   790,   791,   792,   132,   793,
     845,   794,   795,   135,   796,   797,   294,  1272,   855,   295,
     798,   799,   800,   801,   802,   803,   804,   805,   806,   807,