From 4cd92eab965437b52a68ef2dc78d370f0a2ed2c8 Mon Sep 17 00:00:00 2001 From: Jean-Francois Remacle <jean-francois.remacle@uclouvain.be> Date: Thu, 7 Dec 2000 16:03:44 +0000 Subject: [PATCH] Functions are added in the Parser --- Makefile | 6 +- Parser/Gmsh.l | 45 +- Parser/Gmsh.tab.cpp | 5656 +++++++++++++++++++++-------------------- Parser/Gmsh.tab.cpp.h | 313 +-- Parser/Gmsh.y | 30 +- Parser/Gmsh.yy.cpp | 1408 +++++----- Parser/Makefile | 5 +- 7 files changed, 3840 insertions(+), 3623 deletions(-) diff --git a/Makefile b/Makefile index 67e56fdffe..ae98e55afa 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.13 2000-12-06 22:25:24 geuzaine Exp $ +# $Id: Makefile,v 1.14 2000-12-07 16:03:43 remacle Exp $ # ---------------------------------------------------------------------- # Makefile for Gmsh # ---------------------------------------------------------------------- @@ -21,8 +21,8 @@ MESA_STATIC_LIB = $(HOME)/SOURCES/Mesa-3.0-static/lib/libGLw.a\ $(HOME)/SOURCES/Mesa-3.0-static/lib/libGLU.a\ $(HOME)/SOURCES/Mesa-3.0-static/lib/libGL.a -// MOTIF_LIB = /usr/local/lib/libXm.so.2 - MOTIF_LIB = -L/usr/local/lib -L/usr/X11R6/LessTif/Motif1.2/lib -lXm + MOTIF_LIB = /usr/local/lib/libXm.so.2 +// MOTIF_LIB = -L/usr/local/lib -L/usr/X11R6/LessTif/Motif1.2/lib -lXm X_LIB = -L/usr/X11R6/lib -lXt -lX11 -lXext THREAD_LIB = -L/usr/lib -lpthread diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index f72f6c7358..bbc40339ff 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.l,v 1.13 2000-12-07 09:21:33 geuzaine Exp $ */ +%{ /* $Id: Gmsh.l,v 1.14 2000-12-07 16:03:43 remacle Exp $ */ #include <stdio.h> #include <stdlib.h> @@ -182,9 +182,11 @@ With return tWith; For return tFor; EndFor return tEndFor; -Script return tScript; Exit return tExit; Merge return tMerge; +Function return tFunction; +Return return tReturn; +Call return tCall; SS return tScalarTetrahedron; VS return tVectorTetrahedron; @@ -309,3 +311,42 @@ void skipline(void) while (yyinput() != '\n') ; } +void skip_until(char *until) +{ + int l = strlen(until); + char chars[256]; + while(1) + { + while (1) + { + chars[0] = yyinput(); + if(chars[0] == EOF) + { + fprintf(stderr, "Error, Unexpected End Of File\n") ; + exit(1); + } + if(chars[0] == until[0])break; + } + + printf("%c",chars[0]); + for(int i=1;i<l;i++) + { + chars[i] = yyinput(); + if(chars[i] == EOF) + { + fprintf(stderr, "Error, Unexpected End Of File\n") ; + exit(1); + } + } + chars[l] = '\0'; + if(!strcmp(chars,until)) + { + return; + } + for(int i=1;i<l-1;i++) + { + unput(chars[l-i]); + } + } +} + diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 2049005823..2ca619ea49 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -1,168 +1,170 @@ /* A Bison parser, made from Gmsh.y - by GNU Bison version 1.25 - */ + by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ -#define tDOUBLE 258 -#define tSTRING 259 -#define tBIGSTR 260 -#define tEND 261 -#define tAFFECT 262 -#define tDOTS 263 -#define tPi 264 -#define tExp 265 -#define tLog 266 -#define tLog10 267 -#define tSqrt 268 -#define tSin 269 -#define tAsin 270 -#define tCos 271 -#define tAcos 272 -#define tTan 273 -#define tAtan 274 -#define tAtan2 275 -#define tSinh 276 -#define tCosh 277 -#define tTanh 278 -#define tFabs 279 -#define tFloor 280 -#define tCeil 281 -#define tFmod 282 -#define tModulo 283 -#define tHypot 284 -#define tPrintf 285 -#define tDraw 286 -#define tSleep 287 -#define tPoint 288 -#define tCircle 289 -#define tEllipsis 290 -#define tLine 291 -#define tSurface 292 -#define tSpline 293 -#define tVolume 294 -#define tCharacteristic 295 -#define tLength 296 -#define tParametric 297 -#define tElliptic 298 -#define tPlane 299 -#define tRuled 300 -#define tTransfinite 301 -#define tComplex 302 -#define tPhysical 303 -#define tUsing 304 -#define tBump 305 -#define tProgression 306 -#define tRotate 307 -#define tTranslate 308 -#define tSymmetry 309 -#define tDilate 310 -#define tExtrude 311 -#define tDuplicata 312 -#define tLoop 313 -#define tInclude 314 -#define tRecombine 315 -#define tDelete 316 -#define tCoherence 317 -#define tView 318 -#define tAttractor 319 -#define tLayers 320 -#define tScalarTetrahedron 321 -#define tVectorTetrahedron 322 -#define tTensorTetrahedron 323 -#define tScalarTriangle 324 -#define tVectorTriangle 325 -#define tTensorTriangle 326 -#define tScalarLine 327 -#define tVectorLine 328 -#define tTensorLine 329 -#define tScalarPoint 330 -#define tVectorPoint 331 -#define tTensorPoint 332 -#define tBSpline 333 -#define tNurbs 334 -#define tOrder 335 -#define tWith 336 -#define tBounds 337 -#define tKnots 338 -#define tColor 339 -#define tFor 340 -#define tEndFor 341 -#define tScript 342 -#define tExit 343 -#define tMerge 344 -#define tB_SPLINE_SURFACE_WITH_KNOTS 345 -#define tB_SPLINE_CURVE_WITH_KNOTS 346 -#define tCARTESIAN_POINT 347 -#define tTRUE 348 -#define tFALSE 349 -#define tUNSPECIFIED 350 -#define tU 351 -#define tV 352 -#define tEDGE_CURVE 353 -#define tVERTEX_POINT 354 -#define tORIENTED_EDGE 355 -#define tPLANE 356 -#define tFACE_OUTER_BOUND 357 -#define tEDGE_LOOP 358 -#define tADVANCED_FACE 359 -#define tVECTOR 360 -#define tDIRECTION 361 -#define tAXIS2_PLACEMENT_3D 362 -#define tISO 363 -#define tENDISO 364 -#define tENDSEC 365 -#define tDATA 366 -#define tHEADER 367 -#define tFILE_DESCRIPTION 368 -#define tFILE_SCHEMA 369 -#define tFILE_NAME 370 -#define tMANIFOLD_SOLID_BREP 371 -#define tCLOSED_SHELL 372 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 373 -#define tFACE_BOUND 374 -#define tCYLINDRICAL_SURFACE 375 -#define tCONICAL_SURFACE 376 -#define tCIRCLE 377 -#define tTRIMMED_CURVE 378 -#define tGEOMETRIC_SET 379 -#define tCOMPOSITE_CURVE_SEGMENT 380 -#define tCONTINUOUS 381 -#define tCOMPOSITE_CURVE 382 -#define tTOROIDAL_SURFACE 383 -#define tPRODUCT_DEFINITION 384 -#define tPRODUCT_DEFINITION_SHAPE 385 -#define tSHAPE_DEFINITION_REPRESENTATION 386 -#define tELLIPSE 387 -#define tTrimmed 388 -#define tSolid 389 -#define tEndSolid 390 -#define tVertex 391 -#define tFacet 392 -#define tNormal 393 -#define tOuter 394 -#define tLoopSTL 395 -#define tEndLoop 396 -#define tEndFacet 397 -#define tAND 398 -#define tOR 399 -#define tNOTEQUAL 400 -#define tEQUAL 401 -#define tAPPROXEQUAL 402 -#define tAFFECTPLUS 403 -#define tAFFECTMINUS 404 -#define tAFFECTTIMES 405 -#define tAFFECTDIVIDE 406 -#define tLESSOREQUAL 407 -#define tGREATEROREQUAL 408 -#define tCROSSPRODUCT 409 -#define UNARYPREC 410 -#define tPLUSPLUS 411 -#define tMINUSMINUS 412 +#define tDOUBLE 257 +#define tSTRING 258 +#define tBIGSTR 259 +#define tEND 260 +#define tAFFECT 261 +#define tDOTS 262 +#define tPi 263 +#define tExp 264 +#define tLog 265 +#define tLog10 266 +#define tSqrt 267 +#define tSin 268 +#define tAsin 269 +#define tCos 270 +#define tAcos 271 +#define tTan 272 +#define tAtan 273 +#define tAtan2 274 +#define tSinh 275 +#define tCosh 276 +#define tTanh 277 +#define tFabs 278 +#define tFloor 279 +#define tCeil 280 +#define tFmod 281 +#define tModulo 282 +#define tHypot 283 +#define tPrintf 284 +#define tDraw 285 +#define tSleep 286 +#define tPoint 287 +#define tCircle 288 +#define tEllipsis 289 +#define tLine 290 +#define tSurface 291 +#define tSpline 292 +#define tVolume 293 +#define tCharacteristic 294 +#define tLength 295 +#define tParametric 296 +#define tElliptic 297 +#define tPlane 298 +#define tRuled 299 +#define tTransfinite 300 +#define tComplex 301 +#define tPhysical 302 +#define tUsing 303 +#define tBump 304 +#define tProgression 305 +#define tRotate 306 +#define tTranslate 307 +#define tSymmetry 308 +#define tDilate 309 +#define tExtrude 310 +#define tDuplicata 311 +#define tLoop 312 +#define tInclude 313 +#define tRecombine 314 +#define tDelete 315 +#define tCoherence 316 +#define tView 317 +#define tAttractor 318 +#define tLayers 319 +#define tScalarTetrahedron 320 +#define tVectorTetrahedron 321 +#define tTensorTetrahedron 322 +#define tScalarTriangle 323 +#define tVectorTriangle 324 +#define tTensorTriangle 325 +#define tScalarLine 326 +#define tVectorLine 327 +#define tTensorLine 328 +#define tScalarPoint 329 +#define tVectorPoint 330 +#define tTensorPoint 331 +#define tBSpline 332 +#define tNurbs 333 +#define tOrder 334 +#define tWith 335 +#define tBounds 336 +#define tKnots 337 +#define tColor 338 +#define tFor 339 +#define tEndFor 340 +#define tScript 341 +#define tExit 342 +#define tMerge 343 +#define tReturn 344 +#define tCall 345 +#define tFunction 346 +#define tB_SPLINE_SURFACE_WITH_KNOTS 347 +#define tB_SPLINE_CURVE_WITH_KNOTS 348 +#define tCARTESIAN_POINT 349 +#define tTRUE 350 +#define tFALSE 351 +#define tUNSPECIFIED 352 +#define tU 353 +#define tV 354 +#define tEDGE_CURVE 355 +#define tVERTEX_POINT 356 +#define tORIENTED_EDGE 357 +#define tPLANE 358 +#define tFACE_OUTER_BOUND 359 +#define tEDGE_LOOP 360 +#define tADVANCED_FACE 361 +#define tVECTOR 362 +#define tDIRECTION 363 +#define tAXIS2_PLACEMENT_3D 364 +#define tISO 365 +#define tENDISO 366 +#define tENDSEC 367 +#define tDATA 368 +#define tHEADER 369 +#define tFILE_DESCRIPTION 370 +#define tFILE_SCHEMA 371 +#define tFILE_NAME 372 +#define tMANIFOLD_SOLID_BREP 373 +#define tCLOSED_SHELL 374 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 375 +#define tFACE_BOUND 376 +#define tCYLINDRICAL_SURFACE 377 +#define tCONICAL_SURFACE 378 +#define tCIRCLE 379 +#define tTRIMMED_CURVE 380 +#define tGEOMETRIC_SET 381 +#define tCOMPOSITE_CURVE_SEGMENT 382 +#define tCONTINUOUS 383 +#define tCOMPOSITE_CURVE 384 +#define tTOROIDAL_SURFACE 385 +#define tPRODUCT_DEFINITION 386 +#define tPRODUCT_DEFINITION_SHAPE 387 +#define tSHAPE_DEFINITION_REPRESENTATION 388 +#define tELLIPSE 389 +#define tTrimmed 390 +#define tSolid 391 +#define tEndSolid 392 +#define tVertex 393 +#define tFacet 394 +#define tNormal 395 +#define tOuter 396 +#define tLoopSTL 397 +#define tEndLoop 398 +#define tEndFacet 399 +#define tAND 400 +#define tOR 401 +#define tNOTEQUAL 402 +#define tEQUAL 403 +#define tAPPROXEQUAL 404 +#define tAFFECTPLUS 405 +#define tAFFECTMINUS 406 +#define tAFFECTTIMES 407 +#define tAFFECTDIVIDE 408 +#define tLESSOREQUAL 409 +#define tGREATEROREQUAL 410 +#define tCROSSPRODUCT 411 +#define UNARYPREC 412 +#define tPLUSPLUS 413 +#define tMINUSMINUS 414 #line 1 "Gmsh.y" - /* $Id: Gmsh.tab.cpp,v 1.25 2000-12-07 09:21:34 geuzaine Exp $ */ + /* $Id: Gmsh.tab.cpp,v 1.26 2000-12-07 16:03:43 remacle Exp $ */ #include <stdarg.h> @@ -180,6 +182,7 @@ #include "Colors.h" #include "Parser.h" #include "Main.h" +#include "FunctionManager.h" #ifdef __DECCXX // bug in bison #include <alloca.h> @@ -219,7 +222,7 @@ void yyerror (char *s); void vyyerror (char *fmt, ...); -#line 59 "Gmsh.y" +#line 60 "Gmsh.y" typedef union { char *c; int i; @@ -239,26 +242,26 @@ typedef union { -#define YYFINAL 1484 +#define YYFINAL 1490 #define YYFLAG -32768 -#define YYNTBASE 176 +#define YYNTBASE 179 -#define YYTRANSLATE(x) ((unsigned)(x) <= 412 ? yytranslate[x] : 252) +#define YYTRANSLATE(x) ((unsigned)(x) <= 414 ? yytranslate[x] : 255) static const short yytranslate[] = { 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, 2, 2, 2, 2, - 2, 2, 164, 2, 2, 2, 161, 2, 2, 168, - 170, 159, 157, 169, 158, 173, 160, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 153, - 2, 154, 143, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 167, 2, 2, 2, 164, 2, 2, 171, + 173, 162, 160, 172, 161, 176, 163, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 156, + 2, 157, 146, 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, 2, - 174, 2, 175, 165, 2, 2, 2, 2, 2, 2, + 177, 2, 178, 168, 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, - 2, 2, 171, 2, 172, 2, 2, 2, 2, 2, + 2, 2, 174, 2, 175, 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -271,23 +274,23 @@ static const short yytranslate[] = { 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, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 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, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 155, 156, 162, 163, - 166, 167 + 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 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, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 158, 159, + 165, 166, 169, 170 }; #if YYDEBUG != 0 @@ -312,274 +315,275 @@ static const short yyprhs[] = { 0, 1285, 1303, 1311, 1320, 1329, 1337, 1349, 1355, 1364, 1374, 1383, 1406, 1427, 1436, 1445, 1451, 1460, 1468, 1477, 1483, 1495, 1501, 1511, 1513, 1515, 1517, 1518, 1521, 1526, 1531, - 1535, 1539, 1542, 1546, 1549, 1553, 1560, 1569, 1571, 1580, - 1593, 1602, 1615, 1624, 1637, 1649, 1665, 1667, 1670, 1680, - 1683, 1690, 1700, 1710, 1719, 1728, 1737, 1744, 1749, 1752, - 1754, 1756, 1758, 1760, 1762, 1764, 1768, 1771, 1774, 1777, - 1781, 1785, 1789, 1793, 1797, 1801, 1805, 1809, 1813, 1817, - 1821, 1825, 1829, 1833, 1839, 1844, 1849, 1854, 1859, 1864, - 1869, 1874, 1879, 1884, 1889, 1896, 1901, 1906, 1911, 1916, - 1921, 1926, 1933, 1940, 1947, 1949, 1951, 1953, 1957, 1966, - 1971, 1981, 1986, 1996, 2000, 2006, 2008, 2011, 2014, 2018, - 2022, 2034, 2044, 2052, 2060, 2064, 2073, 2074, 2078, 2080, - 2084, 2085, 2089, 2093, 2095, 2099, 2100, 2102, 2106, 2108, - 2110, 2114, 2118, 2128, 2136, 2142, 2144 + 1535, 1539, 1542, 1546, 1549, 1553, 1560, 1569, 1571, 1573, + 1577, 1580, 1589, 1602, 1611, 1624, 1633, 1646, 1658, 1674, + 1676, 1679, 1689, 1692, 1699, 1709, 1719, 1728, 1737, 1746, + 1753, 1758, 1761, 1763, 1765, 1767, 1769, 1771, 1773, 1777, + 1780, 1783, 1786, 1790, 1794, 1798, 1802, 1806, 1810, 1814, + 1818, 1822, 1826, 1830, 1834, 1838, 1842, 1848, 1853, 1858, + 1863, 1868, 1873, 1878, 1883, 1888, 1893, 1898, 1905, 1910, + 1915, 1920, 1925, 1930, 1935, 1942, 1949, 1956, 1958, 1960, + 1962, 1966, 1975, 1980, 1990, 1995, 2005, 2009, 2015, 2017, + 2020, 2023, 2027, 2031, 2043, 2053, 2061, 2069, 2073, 2082, + 2083, 2087, 2089, 2093, 2094, 2098, 2102, 2104, 2108, 2109, + 2111, 2115, 2117, 2119, 2123, 2127, 2137, 2145, 2151, 2153 }; -static const short yyrhs[] = { 178, - 0, 177, 0, 183, 0, 134, 0, 137, 138, 240, - 240, 240, 139, 140, 136, 240, 240, 240, 136, 240, - 240, 240, 136, 240, 240, 240, 141, 142, 0, 135, - 0, 0, 178, 179, 0, 180, 0, 182, 0, 181, - 0, 1, 6, 0, 108, 6, 0, 109, 6, 0, - 111, 6, 0, 110, 6, 0, 112, 6, 0, 113, - 168, 245, 169, 5, 170, 6, 0, 114, 168, 245, - 170, 6, 0, 115, 168, 5, 169, 5, 169, 245, - 169, 245, 169, 5, 169, 5, 169, 5, 170, 6, - 0, 3, 7, 92, 168, 5, 169, 243, 170, 6, - 0, 3, 7, 91, 168, 5, 169, 240, 169, 249, - 169, 239, 169, 239, 169, 239, 169, 249, 169, 249, - 169, 239, 170, 6, 0, 3, 7, 90, 168, 5, - 169, 240, 169, 240, 169, 247, 169, 239, 169, 239, - 169, 239, 169, 239, 169, 249, 169, 249, 169, 249, - 169, 249, 169, 239, 170, 6, 0, 3, 7, 98, - 168, 5, 169, 3, 169, 3, 169, 3, 169, 239, - 170, 6, 0, 3, 7, 102, 168, 5, 169, 3, - 169, 239, 170, 6, 0, 3, 7, 119, 168, 5, - 169, 3, 169, 239, 170, 6, 0, 3, 7, 100, - 168, 5, 169, 159, 169, 159, 169, 240, 169, 239, - 170, 6, 0, 3, 7, 103, 168, 5, 169, 249, - 170, 6, 0, 3, 7, 104, 168, 5, 169, 249, - 169, 3, 169, 239, 170, 6, 0, 3, 7, 99, - 168, 5, 169, 3, 170, 6, 0, 3, 7, 105, - 168, 5, 169, 3, 169, 240, 170, 6, 0, 3, - 7, 107, 168, 5, 169, 3, 169, 3, 169, 3, - 170, 6, 0, 3, 7, 106, 168, 5, 169, 243, - 170, 6, 0, 3, 7, 101, 168, 5, 169, 3, - 170, 6, 0, 3, 7, 36, 168, 5, 169, 3, - 169, 3, 170, 6, 0, 3, 7, 117, 168, 5, - 169, 249, 170, 6, 0, 3, 7, 118, 168, 5, - 169, 249, 169, 3, 170, 6, 0, 3, 7, 116, - 168, 5, 169, 3, 170, 6, 0, 3, 7, 120, - 168, 5, 169, 3, 169, 240, 170, 6, 0, 3, - 7, 121, 168, 5, 169, 3, 169, 240, 169, 240, - 170, 6, 0, 3, 7, 128, 168, 5, 169, 3, - 169, 240, 169, 240, 170, 6, 0, 3, 7, 122, - 168, 5, 169, 3, 169, 240, 170, 6, 0, 3, - 7, 132, 168, 5, 169, 3, 169, 240, 169, 240, - 170, 6, 0, 3, 7, 123, 168, 5, 169, 3, - 169, 249, 169, 249, 169, 239, 169, 239, 170, 6, - 0, 3, 7, 124, 168, 5, 169, 249, 170, 6, - 0, 3, 7, 125, 168, 126, 169, 239, 169, 3, - 170, 6, 0, 3, 7, 127, 168, 5, 169, 249, - 169, 239, 170, 6, 0, 3, 7, 129, 168, 5, - 169, 5, 169, 3, 169, 3, 170, 6, 0, 3, - 7, 130, 168, 5, 169, 5, 169, 3, 170, 6, - 0, 3, 7, 131, 168, 3, 169, 3, 170, 6, - 0, 0, 183, 184, 0, 186, 0, 185, 0, 224, - 0, 225, 0, 226, 0, 229, 0, 230, 0, 234, - 0, 237, 0, 238, 0, 231, 0, 233, 0, 232, - 0, 1, 6, 0, 30, 168, 5, 169, 240, 170, - 6, 0, 63, 5, 171, 187, 172, 6, 0, 63, - 5, 4, 243, 171, 187, 172, 6, 0, 0, 187, - 189, 0, 187, 192, 0, 187, 195, 0, 187, 198, - 0, 187, 201, 0, 187, 204, 0, 187, 207, 0, - 187, 210, 0, 187, 213, 0, 187, 216, 0, 187, - 219, 0, 187, 222, 0, 240, 0, 188, 169, 240, - 0, 0, 75, 168, 240, 169, 240, 169, 240, 170, - 190, 171, 188, 172, 6, 0, 240, 0, 191, 169, - 240, 0, 0, 76, 168, 240, 169, 240, 169, 240, - 170, 193, 171, 191, 172, 6, 0, 240, 0, 194, - 169, 240, 0, 0, 77, 168, 240, 169, 240, 169, - 240, 170, 196, 171, 194, 172, 6, 0, 240, 0, - 197, 169, 240, 0, 0, 72, 168, 240, 169, 240, - 169, 240, 169, 240, 169, 240, 169, 240, 170, 199, - 171, 197, 172, 6, 0, 240, 0, 200, 169, 240, - 0, 0, 73, 168, 240, 169, 240, 169, 240, 169, - 240, 169, 240, 169, 240, 170, 202, 171, 200, 172, - 6, 0, 240, 0, 203, 169, 240, 0, 0, 74, - 168, 240, 169, 240, 169, 240, 169, 240, 169, 240, - 169, 240, 170, 205, 171, 203, 172, 6, 0, 240, - 0, 206, 169, 240, 0, 0, 69, 168, 240, 169, - 240, 169, 240, 169, 240, 169, 240, 169, 240, 169, - 240, 169, 240, 169, 240, 170, 208, 171, 206, 172, - 6, 0, 240, 0, 209, 169, 240, 0, 0, 70, - 168, 240, 169, 240, 169, 240, 169, 240, 169, 240, - 169, 240, 169, 240, 169, 240, 169, 240, 170, 211, - 171, 209, 172, 6, 0, 240, 0, 212, 169, 240, - 0, 0, 71, 168, 240, 169, 240, 169, 240, 169, - 240, 169, 240, 169, 240, 169, 240, 169, 240, 169, - 240, 170, 214, 171, 212, 172, 6, 0, 240, 0, - 215, 169, 240, 0, 0, 66, 168, 240, 169, 240, - 169, 240, 169, 240, 169, 240, 169, 240, 169, 240, - 169, 240, 169, 240, 169, 240, 169, 240, 169, 240, - 170, 217, 171, 215, 172, 6, 0, 240, 0, 218, - 169, 240, 0, 0, 67, 168, 240, 169, 240, 169, - 240, 169, 240, 169, 240, 169, 240, 169, 240, 169, - 240, 169, 240, 169, 240, 169, 240, 169, 240, 170, - 220, 171, 218, 172, 6, 0, 240, 0, 221, 169, - 240, 0, 0, 68, 168, 240, 169, 240, 169, 240, - 169, 240, 169, 240, 169, 240, 169, 240, 169, 240, - 169, 240, 169, 240, 169, 240, 169, 240, 170, 223, - 171, 221, 172, 6, 0, 4, 7, 240, 6, 0, - 4, 166, 6, 0, 4, 167, 6, 0, 4, 149, - 240, 6, 0, 4, 150, 240, 6, 0, 4, 151, - 240, 6, 0, 4, 152, 240, 6, 0, 4, 173, - 4, 7, 5, 6, 0, 4, 173, 63, 174, 240, - 175, 173, 4, 7, 5, 6, 0, 4, 173, 4, - 7, 240, 6, 0, 4, 173, 63, 174, 240, 175, - 173, 4, 7, 240, 6, 0, 4, 173, 4, 149, - 240, 6, 0, 4, 173, 63, 174, 240, 175, 173, - 4, 149, 240, 6, 0, 4, 173, 4, 150, 240, - 6, 0, 4, 173, 63, 174, 240, 175, 173, 4, - 150, 240, 6, 0, 4, 173, 4, 151, 240, 6, - 0, 4, 173, 63, 174, 240, 175, 173, 4, 151, - 240, 6, 0, 4, 173, 4, 152, 240, 6, 0, - 4, 173, 63, 174, 240, 175, 173, 4, 152, 240, - 6, 0, 4, 173, 4, 166, 6, 0, 4, 173, - 63, 174, 240, 175, 173, 4, 166, 240, 6, 0, - 4, 173, 4, 167, 6, 0, 4, 173, 63, 174, - 240, 175, 173, 4, 167, 240, 6, 0, 4, 173, - 4, 7, 243, 6, 0, 4, 173, 63, 174, 240, - 175, 173, 4, 7, 243, 6, 0, 4, 173, 4, - 149, 243, 6, 0, 4, 173, 63, 174, 240, 175, - 173, 4, 149, 243, 6, 0, 4, 173, 4, 150, - 243, 6, 0, 4, 173, 63, 174, 240, 175, 173, - 4, 150, 243, 6, 0, 4, 173, 84, 173, 4, - 7, 251, 6, 0, 33, 168, 240, 170, 7, 243, - 6, 0, 48, 33, 168, 240, 170, 7, 249, 6, - 0, 64, 33, 249, 7, 171, 240, 169, 240, 169, - 240, 172, 6, 0, 40, 41, 249, 7, 240, 6, - 0, 33, 171, 240, 172, 6, 0, 36, 168, 240, - 170, 7, 249, 6, 0, 38, 168, 240, 170, 7, - 249, 6, 0, 64, 36, 249, 7, 171, 240, 169, - 240, 169, 240, 172, 6, 0, 34, 168, 240, 170, - 7, 249, 6, 0, 34, 168, 240, 170, 7, 249, - 44, 243, 6, 0, 42, 168, 240, 170, 7, 171, - 240, 169, 240, 169, 5, 169, 5, 169, 5, 172, - 6, 0, 35, 168, 240, 170, 7, 249, 6, 0, - 48, 36, 168, 240, 170, 7, 249, 6, 0, 36, - 58, 168, 240, 170, 7, 249, 6, 0, 78, 168, - 240, 170, 7, 249, 6, 0, 79, 168, 240, 170, - 7, 249, 83, 249, 80, 240, 6, 0, 36, 171, - 240, 172, 6, 0, 44, 37, 168, 240, 170, 7, - 249, 6, 0, 133, 37, 168, 240, 170, 7, 240, - 249, 6, 0, 45, 37, 168, 240, 170, 7, 249, - 6, 0, 79, 37, 81, 82, 168, 240, 170, 7, - 247, 83, 171, 249, 169, 249, 172, 80, 171, 240, - 169, 240, 172, 6, 0, 79, 37, 168, 240, 170, - 7, 247, 83, 171, 249, 169, 249, 172, 80, 171, - 240, 169, 240, 172, 6, 0, 48, 37, 168, 240, - 170, 7, 249, 6, 0, 37, 58, 168, 240, 170, - 7, 249, 6, 0, 37, 171, 240, 172, 6, 0, - 47, 39, 168, 240, 170, 7, 249, 6, 0, 39, - 168, 240, 170, 7, 249, 6, 0, 48, 39, 168, - 240, 170, 7, 249, 6, 0, 53, 243, 171, 227, - 172, 0, 52, 171, 243, 169, 243, 169, 240, 172, - 171, 227, 172, 0, 54, 243, 171, 227, 172, 0, - 55, 171, 243, 169, 240, 172, 171, 227, 172, 0, - 229, 0, 228, 0, 226, 0, 0, 228, 225, 0, - 57, 171, 228, 172, 0, 61, 171, 228, 172, 0, +static const short yyrhs[] = { 181, + 0, 180, 0, 186, 0, 137, 0, 140, 141, 243, + 243, 243, 142, 143, 139, 243, 243, 243, 139, 243, + 243, 243, 139, 243, 243, 243, 144, 145, 0, 138, + 0, 0, 181, 182, 0, 183, 0, 185, 0, 184, + 0, 1, 6, 0, 111, 6, 0, 112, 6, 0, + 114, 6, 0, 113, 6, 0, 115, 6, 0, 116, + 171, 248, 172, 5, 173, 6, 0, 117, 171, 248, + 173, 6, 0, 118, 171, 5, 172, 5, 172, 248, + 172, 248, 172, 5, 172, 5, 172, 5, 173, 6, + 0, 3, 7, 95, 171, 5, 172, 246, 173, 6, + 0, 3, 7, 94, 171, 5, 172, 243, 172, 252, + 172, 242, 172, 242, 172, 242, 172, 252, 172, 252, + 172, 242, 173, 6, 0, 3, 7, 93, 171, 5, + 172, 243, 172, 243, 172, 250, 172, 242, 172, 242, + 172, 242, 172, 242, 172, 252, 172, 252, 172, 252, + 172, 252, 172, 242, 173, 6, 0, 3, 7, 101, + 171, 5, 172, 3, 172, 3, 172, 3, 172, 242, + 173, 6, 0, 3, 7, 105, 171, 5, 172, 3, + 172, 242, 173, 6, 0, 3, 7, 122, 171, 5, + 172, 3, 172, 242, 173, 6, 0, 3, 7, 103, + 171, 5, 172, 162, 172, 162, 172, 243, 172, 242, + 173, 6, 0, 3, 7, 106, 171, 5, 172, 252, + 173, 6, 0, 3, 7, 107, 171, 5, 172, 252, + 172, 3, 172, 242, 173, 6, 0, 3, 7, 102, + 171, 5, 172, 3, 173, 6, 0, 3, 7, 108, + 171, 5, 172, 3, 172, 243, 173, 6, 0, 3, + 7, 110, 171, 5, 172, 3, 172, 3, 172, 3, + 173, 6, 0, 3, 7, 109, 171, 5, 172, 246, + 173, 6, 0, 3, 7, 104, 171, 5, 172, 3, + 173, 6, 0, 3, 7, 36, 171, 5, 172, 3, + 172, 3, 173, 6, 0, 3, 7, 120, 171, 5, + 172, 252, 173, 6, 0, 3, 7, 121, 171, 5, + 172, 252, 172, 3, 173, 6, 0, 3, 7, 119, + 171, 5, 172, 3, 173, 6, 0, 3, 7, 123, + 171, 5, 172, 3, 172, 243, 173, 6, 0, 3, + 7, 124, 171, 5, 172, 3, 172, 243, 172, 243, + 173, 6, 0, 3, 7, 131, 171, 5, 172, 3, + 172, 243, 172, 243, 173, 6, 0, 3, 7, 125, + 171, 5, 172, 3, 172, 243, 173, 6, 0, 3, + 7, 135, 171, 5, 172, 3, 172, 243, 172, 243, + 173, 6, 0, 3, 7, 126, 171, 5, 172, 3, + 172, 252, 172, 252, 172, 242, 172, 242, 173, 6, + 0, 3, 7, 127, 171, 5, 172, 252, 173, 6, + 0, 3, 7, 128, 171, 129, 172, 242, 172, 3, + 173, 6, 0, 3, 7, 130, 171, 5, 172, 252, + 172, 242, 173, 6, 0, 3, 7, 132, 171, 5, + 172, 5, 172, 3, 172, 3, 173, 6, 0, 3, + 7, 133, 171, 5, 172, 5, 172, 3, 173, 6, + 0, 3, 7, 134, 171, 3, 172, 3, 173, 6, + 0, 0, 186, 187, 0, 189, 0, 188, 0, 227, + 0, 228, 0, 229, 0, 232, 0, 233, 0, 237, + 0, 240, 0, 241, 0, 234, 0, 236, 0, 235, + 0, 1, 6, 0, 30, 171, 5, 172, 243, 173, + 6, 0, 63, 5, 174, 190, 175, 6, 0, 63, + 5, 4, 246, 174, 190, 175, 6, 0, 0, 190, + 192, 0, 190, 195, 0, 190, 198, 0, 190, 201, + 0, 190, 204, 0, 190, 207, 0, 190, 210, 0, + 190, 213, 0, 190, 216, 0, 190, 219, 0, 190, + 222, 0, 190, 225, 0, 243, 0, 191, 172, 243, + 0, 0, 75, 171, 243, 172, 243, 172, 243, 173, + 193, 174, 191, 175, 6, 0, 243, 0, 194, 172, + 243, 0, 0, 76, 171, 243, 172, 243, 172, 243, + 173, 196, 174, 194, 175, 6, 0, 243, 0, 197, + 172, 243, 0, 0, 77, 171, 243, 172, 243, 172, + 243, 173, 199, 174, 197, 175, 6, 0, 243, 0, + 200, 172, 243, 0, 0, 72, 171, 243, 172, 243, + 172, 243, 172, 243, 172, 243, 172, 243, 173, 202, + 174, 200, 175, 6, 0, 243, 0, 203, 172, 243, + 0, 0, 73, 171, 243, 172, 243, 172, 243, 172, + 243, 172, 243, 172, 243, 173, 205, 174, 203, 175, + 6, 0, 243, 0, 206, 172, 243, 0, 0, 74, + 171, 243, 172, 243, 172, 243, 172, 243, 172, 243, + 172, 243, 173, 208, 174, 206, 175, 6, 0, 243, + 0, 209, 172, 243, 0, 0, 69, 171, 243, 172, + 243, 172, 243, 172, 243, 172, 243, 172, 243, 172, + 243, 172, 243, 172, 243, 173, 211, 174, 209, 175, + 6, 0, 243, 0, 212, 172, 243, 0, 0, 70, + 171, 243, 172, 243, 172, 243, 172, 243, 172, 243, + 172, 243, 172, 243, 172, 243, 172, 243, 173, 214, + 174, 212, 175, 6, 0, 243, 0, 215, 172, 243, + 0, 0, 71, 171, 243, 172, 243, 172, 243, 172, + 243, 172, 243, 172, 243, 172, 243, 172, 243, 172, + 243, 173, 217, 174, 215, 175, 6, 0, 243, 0, + 218, 172, 243, 0, 0, 66, 171, 243, 172, 243, + 172, 243, 172, 243, 172, 243, 172, 243, 172, 243, + 172, 243, 172, 243, 172, 243, 172, 243, 172, 243, + 173, 220, 174, 218, 175, 6, 0, 243, 0, 221, + 172, 243, 0, 0, 67, 171, 243, 172, 243, 172, + 243, 172, 243, 172, 243, 172, 243, 172, 243, 172, + 243, 172, 243, 172, 243, 172, 243, 172, 243, 173, + 223, 174, 221, 175, 6, 0, 243, 0, 224, 172, + 243, 0, 0, 68, 171, 243, 172, 243, 172, 243, + 172, 243, 172, 243, 172, 243, 172, 243, 172, 243, + 172, 243, 172, 243, 172, 243, 172, 243, 173, 226, + 174, 224, 175, 6, 0, 4, 7, 243, 6, 0, + 4, 169, 6, 0, 4, 170, 6, 0, 4, 152, + 243, 6, 0, 4, 153, 243, 6, 0, 4, 154, + 243, 6, 0, 4, 155, 243, 6, 0, 4, 176, + 4, 7, 5, 6, 0, 4, 176, 63, 177, 243, + 178, 176, 4, 7, 5, 6, 0, 4, 176, 4, + 7, 243, 6, 0, 4, 176, 63, 177, 243, 178, + 176, 4, 7, 243, 6, 0, 4, 176, 4, 152, + 243, 6, 0, 4, 176, 63, 177, 243, 178, 176, + 4, 152, 243, 6, 0, 4, 176, 4, 153, 243, + 6, 0, 4, 176, 63, 177, 243, 178, 176, 4, + 153, 243, 6, 0, 4, 176, 4, 154, 243, 6, + 0, 4, 176, 63, 177, 243, 178, 176, 4, 154, + 243, 6, 0, 4, 176, 4, 155, 243, 6, 0, + 4, 176, 63, 177, 243, 178, 176, 4, 155, 243, + 6, 0, 4, 176, 4, 169, 6, 0, 4, 176, + 63, 177, 243, 178, 176, 4, 169, 243, 6, 0, + 4, 176, 4, 170, 6, 0, 4, 176, 63, 177, + 243, 178, 176, 4, 170, 243, 6, 0, 4, 176, + 4, 7, 246, 6, 0, 4, 176, 63, 177, 243, + 178, 176, 4, 7, 246, 6, 0, 4, 176, 4, + 152, 246, 6, 0, 4, 176, 63, 177, 243, 178, + 176, 4, 152, 246, 6, 0, 4, 176, 4, 153, + 246, 6, 0, 4, 176, 63, 177, 243, 178, 176, + 4, 153, 246, 6, 0, 4, 176, 84, 176, 4, + 7, 254, 6, 0, 33, 171, 243, 173, 7, 246, + 6, 0, 48, 33, 171, 243, 173, 7, 252, 6, + 0, 64, 33, 252, 7, 174, 243, 172, 243, 172, + 243, 175, 6, 0, 40, 41, 252, 7, 243, 6, + 0, 33, 174, 243, 175, 6, 0, 36, 171, 243, + 173, 7, 252, 6, 0, 38, 171, 243, 173, 7, + 252, 6, 0, 64, 36, 252, 7, 174, 243, 172, + 243, 172, 243, 175, 6, 0, 34, 171, 243, 173, + 7, 252, 6, 0, 34, 171, 243, 173, 7, 252, + 44, 246, 6, 0, 42, 171, 243, 173, 7, 174, + 243, 172, 243, 172, 5, 172, 5, 172, 5, 175, + 6, 0, 35, 171, 243, 173, 7, 252, 6, 0, + 48, 36, 171, 243, 173, 7, 252, 6, 0, 36, + 58, 171, 243, 173, 7, 252, 6, 0, 78, 171, + 243, 173, 7, 252, 6, 0, 79, 171, 243, 173, + 7, 252, 83, 252, 80, 243, 6, 0, 36, 174, + 243, 175, 6, 0, 44, 37, 171, 243, 173, 7, + 252, 6, 0, 136, 37, 171, 243, 173, 7, 243, + 252, 6, 0, 45, 37, 171, 243, 173, 7, 252, + 6, 0, 79, 37, 81, 82, 171, 243, 173, 7, + 250, 83, 174, 252, 172, 252, 175, 80, 174, 243, + 172, 243, 175, 6, 0, 79, 37, 171, 243, 173, + 7, 250, 83, 174, 252, 172, 252, 175, 80, 174, + 243, 172, 243, 175, 6, 0, 48, 37, 171, 243, + 173, 7, 252, 6, 0, 37, 58, 171, 243, 173, + 7, 252, 6, 0, 37, 174, 243, 175, 6, 0, + 47, 39, 171, 243, 173, 7, 252, 6, 0, 39, + 171, 243, 173, 7, 252, 6, 0, 48, 39, 171, + 243, 173, 7, 252, 6, 0, 53, 246, 174, 230, + 175, 0, 52, 174, 246, 172, 246, 172, 243, 175, + 174, 230, 175, 0, 54, 246, 174, 230, 175, 0, + 55, 174, 246, 172, 243, 175, 174, 230, 175, 0, + 232, 0, 231, 0, 229, 0, 0, 231, 228, 0, + 57, 174, 231, 175, 0, 61, 174, 231, 175, 0, 59, 5, 6, 0, 30, 5, 6, 0, 88, 6, - 0, 89, 5, 6, 0, 31, 6, 0, 32, 240, - 6, 0, 85, 168, 240, 8, 240, 170, 0, 85, - 168, 240, 8, 240, 8, 240, 170, 0, 86, 0, - 56, 33, 171, 240, 169, 243, 172, 6, 0, 56, - 33, 171, 240, 169, 243, 169, 243, 169, 240, 172, - 6, 0, 56, 36, 171, 240, 169, 243, 172, 6, - 0, 56, 36, 171, 240, 169, 243, 169, 243, 169, - 240, 172, 6, 0, 56, 37, 171, 240, 169, 243, - 172, 6, 0, 56, 37, 171, 240, 169, 243, 169, - 243, 169, 240, 172, 6, 0, 56, 37, 171, 240, - 169, 243, 172, 171, 235, 172, 6, 0, 56, 37, - 171, 240, 169, 243, 169, 243, 169, 240, 172, 171, - 235, 172, 6, 0, 236, 0, 235, 236, 0, 65, - 171, 249, 169, 249, 169, 249, 172, 6, 0, 60, - 6, 0, 46, 36, 249, 7, 240, 6, 0, 46, - 36, 249, 7, 240, 49, 51, 240, 6, 0, 46, - 36, 249, 7, 240, 49, 50, 240, 6, 0, 46, - 37, 171, 240, 172, 7, 249, 6, 0, 43, 37, - 171, 240, 172, 7, 249, 6, 0, 46, 39, 171, - 240, 172, 7, 249, 6, 0, 60, 37, 249, 7, - 240, 6, 0, 60, 37, 249, 6, 0, 62, 6, - 0, 93, 0, 94, 0, 95, 0, 96, 0, 97, - 0, 241, 0, 168, 240, 170, 0, 158, 240, 0, - 157, 240, 0, 164, 240, 0, 240, 158, 240, 0, - 240, 157, 240, 0, 240, 159, 240, 0, 240, 160, - 240, 0, 240, 161, 240, 0, 240, 165, 240, 0, - 240, 153, 240, 0, 240, 154, 240, 0, 240, 155, - 240, 0, 240, 156, 240, 0, 240, 147, 240, 0, - 240, 146, 240, 0, 240, 144, 240, 0, 240, 145, - 240, 0, 240, 143, 240, 8, 240, 0, 10, 168, - 240, 170, 0, 11, 168, 240, 170, 0, 12, 168, - 240, 170, 0, 13, 168, 240, 170, 0, 14, 168, - 240, 170, 0, 15, 168, 240, 170, 0, 16, 168, - 240, 170, 0, 17, 168, 240, 170, 0, 18, 168, - 240, 170, 0, 19, 168, 240, 170, 0, 20, 168, - 240, 169, 240, 170, 0, 21, 168, 240, 170, 0, - 22, 168, 240, 170, 0, 23, 168, 240, 170, 0, - 24, 168, 240, 170, 0, 25, 168, 240, 170, 0, - 26, 168, 240, 170, 0, 27, 168, 240, 169, 240, - 170, 0, 28, 168, 240, 169, 240, 170, 0, 29, - 168, 240, 169, 240, 170, 0, 3, 0, 9, 0, - 4, 0, 4, 173, 4, 0, 4, 173, 63, 174, - 240, 175, 173, 4, 0, 4, 173, 4, 166, 0, - 4, 173, 63, 174, 240, 175, 173, 4, 166, 0, - 4, 173, 4, 167, 0, 4, 173, 63, 174, 240, - 175, 173, 4, 167, 0, 240, 8, 240, 0, 240, - 8, 240, 8, 240, 0, 244, 0, 158, 243, 0, - 157, 243, 0, 243, 158, 243, 0, 243, 157, 243, - 0, 171, 240, 169, 240, 169, 240, 169, 240, 169, - 240, 172, 0, 171, 240, 169, 240, 169, 240, 169, - 240, 172, 0, 171, 240, 169, 240, 169, 240, 172, - 0, 168, 240, 169, 240, 169, 240, 170, 0, 4, - 173, 4, 0, 4, 173, 63, 174, 240, 175, 173, - 4, 0, 0, 168, 246, 170, 0, 5, 0, 246, - 169, 5, 0, 0, 171, 248, 172, 0, 168, 248, - 170, 0, 249, 0, 248, 169, 249, 0, 0, 240, - 0, 171, 250, 172, 0, 240, 0, 242, 0, 250, - 169, 240, 0, 250, 169, 242, 0, 171, 240, 169, - 240, 169, 240, 169, 240, 172, 0, 171, 240, 169, - 240, 169, 240, 172, 0, 171, 4, 169, 240, 172, - 0, 4, 0, 4, 173, 84, 173, 4, 0 + 0, 89, 5, 6, 0, 31, 6, 0, 32, 243, + 6, 0, 85, 171, 243, 8, 243, 173, 0, 85, + 171, 243, 8, 243, 8, 243, 173, 0, 86, 0, + 90, 0, 91, 4, 6, 0, 92, 4, 0, 56, + 33, 174, 243, 172, 246, 175, 6, 0, 56, 33, + 174, 243, 172, 246, 172, 246, 172, 243, 175, 6, + 0, 56, 36, 174, 243, 172, 246, 175, 6, 0, + 56, 36, 174, 243, 172, 246, 172, 246, 172, 243, + 175, 6, 0, 56, 37, 174, 243, 172, 246, 175, + 6, 0, 56, 37, 174, 243, 172, 246, 172, 246, + 172, 243, 175, 6, 0, 56, 37, 174, 243, 172, + 246, 175, 174, 238, 175, 6, 0, 56, 37, 174, + 243, 172, 246, 172, 246, 172, 243, 175, 174, 238, + 175, 6, 0, 239, 0, 238, 239, 0, 65, 174, + 252, 172, 252, 172, 252, 175, 6, 0, 60, 6, + 0, 46, 36, 252, 7, 243, 6, 0, 46, 36, + 252, 7, 243, 49, 51, 243, 6, 0, 46, 36, + 252, 7, 243, 49, 50, 243, 6, 0, 46, 37, + 174, 243, 175, 7, 252, 6, 0, 43, 37, 174, + 243, 175, 7, 252, 6, 0, 46, 39, 174, 243, + 175, 7, 252, 6, 0, 60, 37, 252, 7, 243, + 6, 0, 60, 37, 252, 6, 0, 62, 6, 0, + 96, 0, 97, 0, 98, 0, 99, 0, 100, 0, + 244, 0, 171, 243, 173, 0, 161, 243, 0, 160, + 243, 0, 167, 243, 0, 243, 161, 243, 0, 243, + 160, 243, 0, 243, 162, 243, 0, 243, 163, 243, + 0, 243, 164, 243, 0, 243, 168, 243, 0, 243, + 156, 243, 0, 243, 157, 243, 0, 243, 158, 243, + 0, 243, 159, 243, 0, 243, 150, 243, 0, 243, + 149, 243, 0, 243, 147, 243, 0, 243, 148, 243, + 0, 243, 146, 243, 8, 243, 0, 10, 171, 243, + 173, 0, 11, 171, 243, 173, 0, 12, 171, 243, + 173, 0, 13, 171, 243, 173, 0, 14, 171, 243, + 173, 0, 15, 171, 243, 173, 0, 16, 171, 243, + 173, 0, 17, 171, 243, 173, 0, 18, 171, 243, + 173, 0, 19, 171, 243, 173, 0, 20, 171, 243, + 172, 243, 173, 0, 21, 171, 243, 173, 0, 22, + 171, 243, 173, 0, 23, 171, 243, 173, 0, 24, + 171, 243, 173, 0, 25, 171, 243, 173, 0, 26, + 171, 243, 173, 0, 27, 171, 243, 172, 243, 173, + 0, 28, 171, 243, 172, 243, 173, 0, 29, 171, + 243, 172, 243, 173, 0, 3, 0, 9, 0, 4, + 0, 4, 176, 4, 0, 4, 176, 63, 177, 243, + 178, 176, 4, 0, 4, 176, 4, 169, 0, 4, + 176, 63, 177, 243, 178, 176, 4, 169, 0, 4, + 176, 4, 170, 0, 4, 176, 63, 177, 243, 178, + 176, 4, 170, 0, 243, 8, 243, 0, 243, 8, + 243, 8, 243, 0, 247, 0, 161, 246, 0, 160, + 246, 0, 246, 161, 246, 0, 246, 160, 246, 0, + 174, 243, 172, 243, 172, 243, 172, 243, 172, 243, + 175, 0, 174, 243, 172, 243, 172, 243, 172, 243, + 175, 0, 174, 243, 172, 243, 172, 243, 175, 0, + 171, 243, 172, 243, 172, 243, 173, 0, 4, 176, + 4, 0, 4, 176, 63, 177, 243, 178, 176, 4, + 0, 0, 171, 249, 173, 0, 5, 0, 249, 172, + 5, 0, 0, 174, 251, 175, 0, 171, 251, 173, + 0, 252, 0, 251, 172, 252, 0, 0, 243, 0, + 174, 253, 175, 0, 243, 0, 245, 0, 253, 172, + 243, 0, 253, 172, 245, 0, 174, 243, 172, 243, + 172, 243, 172, 243, 175, 0, 174, 243, 172, 243, + 172, 243, 175, 0, 174, 4, 172, 243, 175, 0, + 4, 0, 4, 176, 84, 176, 4, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 138, 140, 141, 148, 156, 170, 182, 184, 187, 189, - 190, 191, 194, 200, 205, 206, 207, 210, 214, 217, - 223, 228, 234, 242, 247, 251, 257, 262, 266, 271, - 275, 278, 283, 287, 291, 295, 300, 304, 307, 311, - 315, 319, 323, 327, 331, 334, 338, 341, 345, 348, - 357, 361, 367, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 381, 382, 385, 396, 401, 407, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 426, 429, 433, 439, 445, 448, 452, 458, - 464, 467, 471, 477, 483, 486, 490, 498, 504, 507, - 511, 519, 525, 528, 532, 540, 546, 549, 553, 565, - 571, 574, 578, 590, 596, 599, 603, 615, 621, 624, - 628, 641, 647, 650, 654, 667, 673, 676, 680, 693, - 705, 715, 723, 731, 739, 747, 755, 766, 779, 797, - 814, 835, 852, 873, 890, 911, 928, 949, 966, 987, - 1004, 1025, 1042, 1065, 1090, 1119, 1144, 1173, 1198, 1229, - 1249, 1260, 1266, 1285, 1296, 1304, 1310, 1316, 1335, 1341, - 1357, 1364, 1370, 1376, 1382, 1388, 1407, 1419, 1425, 1444, - 1465, 1473, 1479, 1485, 1491, 1503, 1509, 1515, 1527, 1533, - 1538, 1543, 1550, 1552, 1553, 1556, 1561, 1572, 1590, 1605, - 1633, 1664, 1668, 1674, 1679, 1693, 1708, 1721, 1759, 1765, - 1771, 1775, 1779, 1783, 1787, 1792, 1799, 1803, 1808, 1826, - 1836, 1854, 1871, 1888, 1909, 1929, 1949, 1966, 1990, 2003, - 2005, 2006, 2007, 2008, 2011, 2013, 2014, 2015, 2016, 2017, - 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, - 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, - 2038, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, - 2048, 2049, 2050, 2051, 2054, 2056, 2057, 2066, 2083, 2104, - 2121, 2142, 2159, 2181, 2188, 2201, 2206, 2210, 2214, 2218, - 2223, 2228, 2232, 2236, 2240, 2266, 2298, 2302, 2307, 2311, - 2316, 2320, 2324, 2330, 2336, 2342, 2346, 2352, 2359, 2365, - 2374, 2378, 2388, 2393, 2397, 2402, 2407 + 140, 142, 143, 150, 158, 172, 184, 186, 189, 191, + 192, 193, 196, 202, 207, 208, 209, 212, 216, 219, + 225, 230, 236, 244, 249, 253, 259, 264, 268, 273, + 277, 280, 285, 289, 293, 297, 302, 306, 309, 313, + 317, 321, 325, 329, 333, 336, 340, 343, 347, 350, + 359, 363, 369, 371, 372, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 383, 384, 387, 398, 403, 409, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 428, 431, 435, 441, 447, 450, 454, 460, + 466, 469, 473, 479, 485, 488, 492, 500, 506, 509, + 513, 521, 527, 530, 534, 542, 548, 551, 555, 567, + 573, 576, 580, 592, 598, 601, 605, 617, 623, 626, + 630, 643, 649, 652, 656, 669, 675, 678, 682, 695, + 707, 717, 725, 733, 741, 749, 757, 768, 781, 799, + 816, 837, 854, 875, 892, 913, 930, 951, 968, 989, + 1006, 1027, 1044, 1067, 1092, 1121, 1146, 1175, 1200, 1231, + 1251, 1262, 1268, 1287, 1298, 1306, 1312, 1318, 1337, 1343, + 1359, 1366, 1372, 1378, 1384, 1390, 1409, 1421, 1427, 1446, + 1467, 1475, 1481, 1487, 1493, 1505, 1511, 1517, 1529, 1535, + 1540, 1545, 1552, 1554, 1555, 1558, 1563, 1574, 1592, 1607, + 1635, 1666, 1670, 1676, 1681, 1695, 1710, 1723, 1742, 1749, + 1756, 1785, 1791, 1797, 1801, 1805, 1809, 1813, 1818, 1825, + 1829, 1834, 1852, 1862, 1880, 1897, 1914, 1935, 1955, 1975, + 1992, 2016, 2029, 2031, 2032, 2033, 2034, 2037, 2039, 2040, + 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, + 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, + 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, + 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2080, 2082, 2083, + 2092, 2109, 2130, 2147, 2168, 2185, 2207, 2214, 2227, 2232, + 2236, 2240, 2244, 2249, 2254, 2258, 2262, 2266, 2292, 2324, + 2328, 2333, 2337, 2342, 2346, 2350, 2356, 2362, 2368, 2372, + 2378, 2385, 2391, 2400, 2404, 2414, 2419, 2423, 2428, 2433 }; #endif @@ -598,69 +602,70 @@ static const char * const yytname[] = { "$","error","$undefined.","tDOUBLE", "tTensorTetrahedron","tScalarTriangle","tVectorTriangle","tTensorTriangle","tScalarLine", "tVectorLine","tTensorLine","tScalarPoint","tVectorPoint","tTensorPoint","tBSpline", "tNurbs","tOrder","tWith","tBounds","tKnots","tColor","tFor","tEndFor","tScript", -"tExit","tMerge","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","tTrimmed","tSolid","tEndSolid", -"tVertex","tFacet","tNormal","tOuter","tLoopSTL","tEndLoop","tEndFacet","'?'", -"tAND","tOR","tNOTEQUAL","tEQUAL","tAPPROXEQUAL","tAFFECTPLUS","tAFFECTMINUS", -"tAFFECTTIMES","tAFFECTDIVIDE","'<'","'>'","tLESSOREQUAL","tGREATEROREQUAL", -"'+'","'-'","'*'","'/'","'%'","tCROSSPRODUCT","UNARYPREC","'!'","'^'","tPLUSPLUS", -"tMINUSMINUS","'('","','","')'","'{'","'}'","'.'","'['","']'","All","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","ScalarTetrahedronValues","ScalarTetrahedron","@10","VectorTetrahedronValues", -"VectorTetrahedron","@11","TensorTetrahedronValues","TensorTetrahedron","@12", -"Affectation","Shape","Transform","MultipleShape","ListOfShapes","Duplicata", -"Delete","Macro","Command","Loop","Extrude","ExtrudeParameters","ExtrudeParameter", -"Transfini","Coherence","BoolExpr","FExpr","FExpr_Single","FExpr_Range","VExpr", -"VExpr_Single","ListOfStrings","RecursiveListOfStrings","ListOfListOfDouble", -"RecursiveListOfListOfDouble","ListOfDouble","RecursiveListOfDouble","Color", NULL +"tExit","tMerge","tReturn","tCall","tFunction","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","tTrimmed","tSolid","tEndSolid","tVertex","tFacet","tNormal","tOuter", +"tLoopSTL","tEndLoop","tEndFacet","'?'","tAND","tOR","tNOTEQUAL","tEQUAL","tAPPROXEQUAL", +"tAFFECTPLUS","tAFFECTMINUS","tAFFECTTIMES","tAFFECTDIVIDE","'<'","'>'","tLESSOREQUAL", +"tGREATEROREQUAL","'+'","'-'","'*'","'/'","'%'","tCROSSPRODUCT","UNARYPREC", +"'!'","'^'","tPLUSPLUS","tMINUSMINUS","'('","','","')'","'{'","'}'","'.'","'['", +"']'","All","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","ScalarTetrahedronValues", +"ScalarTetrahedron","@10","VectorTetrahedronValues","VectorTetrahedron","@11", +"TensorTetrahedronValues","TensorTetrahedron","@12","Affectation","Shape","Transform", +"MultipleShape","ListOfShapes","Duplicata","Delete","Macro","Command","Loop", +"Extrude","ExtrudeParameters","ExtrudeParameter","Transfini","Coherence","BoolExpr", +"FExpr","FExpr_Single","FExpr_Range","VExpr","VExpr_Single","ListOfStrings", +"RecursiveListOfStrings","ListOfListOfDouble","RecursiveListOfListOfDouble", +"ListOfDouble","RecursiveListOfDouble","Color", NULL }; #endif static const short yyr1[] = { 0, - 176, 176, 176, 177, 177, 177, 178, 178, 179, 179, - 179, 179, 180, 180, 180, 180, 180, 181, 181, 181, - 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 183, 183, 184, 184, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 184, 184, 184, 185, 186, 186, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 187, 188, 188, 190, 189, 191, 191, 193, 192, - 194, 194, 196, 195, 197, 197, 199, 198, 200, 200, - 202, 201, 203, 203, 205, 204, 206, 206, 208, 207, - 209, 209, 211, 210, 212, 212, 214, 213, 215, 215, - 217, 216, 218, 218, 220, 219, 221, 221, 223, 222, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 226, 226, - 226, 226, 227, 227, 227, 228, 228, 229, 230, 231, - 232, 232, 232, 232, 232, 233, 233, 233, 234, 234, - 234, 234, 234, 234, 234, 234, 235, 235, 236, 236, - 237, 237, 237, 237, 237, 237, 237, 237, 238, 239, - 239, 239, 239, 239, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 242, 242, 243, 243, 243, 243, 243, + 179, 179, 179, 180, 180, 180, 181, 181, 182, 182, + 182, 182, 183, 183, 183, 183, 183, 184, 184, 184, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, + 186, 186, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 188, 189, 189, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 191, 191, 193, 192, 194, 194, 196, 195, + 197, 197, 199, 198, 200, 200, 202, 201, 203, 203, + 205, 204, 206, 206, 208, 207, 209, 209, 211, 210, + 212, 212, 214, 213, 215, 215, 217, 216, 218, 218, + 220, 219, 221, 221, 223, 222, 224, 224, 226, 225, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 229, 229, + 229, 229, 230, 230, 230, 231, 231, 232, 233, 234, + 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, + 236, 237, 237, 237, 237, 237, 237, 237, 237, 238, + 238, 239, 239, 240, 240, 240, 240, 240, 240, 240, + 240, 241, 242, 242, 242, 242, 242, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, 245, 246, 246, - 247, 247, 247, 248, 248, 249, 249, 249, 250, 250, - 250, 250, 251, 251, 251, 251, 251 + 246, 246, 246, 247, 247, 247, 247, 247, 247, 248, + 248, 249, 249, 250, 250, 250, 251, 251, 252, 252, + 252, 253, 253, 253, 253, 254, 254, 254, 254, 254 }; static const short yyr2[] = { 0, @@ -684,18 +689,18 @@ static const short yyr2[] = { 0, 17, 7, 8, 8, 7, 11, 5, 8, 9, 8, 22, 20, 8, 8, 5, 8, 7, 8, 5, 11, 5, 9, 1, 1, 1, 0, 2, 4, 4, 3, - 3, 2, 3, 2, 3, 6, 8, 1, 8, 12, - 8, 12, 8, 12, 11, 15, 1, 2, 9, 2, - 6, 9, 9, 8, 8, 8, 6, 4, 2, 1, - 1, 1, 1, 1, 1, 3, 2, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 5, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 6, 4, 4, 4, 4, 4, - 4, 6, 6, 6, 1, 1, 1, 3, 8, 4, - 9, 4, 9, 3, 5, 1, 2, 2, 3, 3, - 11, 9, 7, 7, 3, 8, 0, 3, 1, 3, - 0, 3, 3, 1, 3, 0, 1, 3, 1, 1, - 3, 3, 9, 7, 5, 1, 5 + 3, 2, 3, 2, 3, 6, 8, 1, 1, 3, + 2, 8, 12, 8, 12, 8, 12, 11, 15, 1, + 2, 9, 2, 6, 9, 9, 8, 8, 8, 6, + 4, 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, 1, 1, 1, + 3, 8, 4, 9, 4, 9, 3, 5, 1, 2, + 2, 3, 3, 11, 9, 7, 7, 3, 8, 0, + 3, 1, 3, 0, 3, 3, 1, 3, 0, 1, + 3, 1, 1, 3, 3, 9, 7, 5, 1, 5 }; static const short yydefact[] = { 51, @@ -704,1891 +709,1878 @@ static const short yydefact[] = { 51, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, - 52, 54, 53, 55, 56, 57, 58, 59, 63, 65, - 64, 60, 61, 62, 275, 277, 276, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 208, 0, 0, 209, + 0, 0, 0, 52, 54, 53, 55, 56, 57, 58, + 59, 63, 65, 64, 60, 61, 62, 278, 280, 279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 12, 0, 13, 14, 16, 15, 17, - 297, 297, 0, 66, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 306, 0, 0, - 0, 0, 306, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 286, 0, 0, - 0, 0, 0, 196, 0, 306, 196, 229, 0, 306, - 306, 0, 0, 0, 0, 202, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 238, 12, 0, 13, 14, + 16, 15, 17, 300, 300, 0, 66, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, - 237, 239, 0, 0, 0, 0, 0, 0, 0, 0, + 309, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 289, 0, 0, 0, 0, 0, 196, 0, 309, 196, + 232, 0, 309, 309, 0, 0, 0, 0, 202, 0, + 0, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 241, 240, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 132, 133, - 0, 0, 0, 201, 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 288, 287, 0, 0, - 0, 0, 196, 196, 0, 0, 0, 0, 0, 200, - 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, - 0, 203, 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 236, 0, 252, 253, 251, - 250, 246, 247, 248, 249, 238, 237, 242, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 132, 133, 0, 0, 0, 201, 0, + 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 299, 0, 0, 0, 0, 131, 134, 135, - 136, 137, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 241, 240, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 309, 310, 0, 0, 0, + 0, 291, 290, 0, 0, 0, 0, 196, 196, 0, + 0, 0, 0, 0, 200, 0, 0, 0, 70, 0, + 0, 0, 0, 0, 0, 0, 203, 210, 0, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 295, 0, 0, 0, 290, 289, 195, 0, - 194, 193, 0, 0, 0, 0, 0, 198, 197, 228, - 0, 199, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 280, 282, 0, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 0, 266, 267, 268, 269, - 270, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 239, 0, 255, 256, 254, 253, 249, 250, 251, + 252, 241, 240, 245, 246, 247, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 302, 0, + 0, 0, 0, 131, 134, 135, 136, 137, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 243, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 312, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, - 19, 0, 277, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 150, 152, 0, 0, 0, - 0, 165, 306, 306, 0, 306, 177, 0, 185, 306, - 306, 0, 0, 308, 0, 0, 0, 0, 0, 0, + 0, 0, 293, 292, 195, 0, 194, 193, 0, 0, + 0, 0, 0, 198, 197, 231, 0, 199, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 283, 285, + 0, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 0, 269, 270, 271, 272, 273, 274, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 189, 191, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 0, 0, 306, 0, 0, 306, - 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 306, 306, - 0, 0, 0, 0, 306, 306, 0, 0, 0, 0, - 0, 306, 0, 306, 0, 0, 0, 0, 0, 300, - 0, 297, 0, 138, 0, 140, 154, 142, 156, 144, - 158, 146, 148, 0, 0, 0, 0, 0, 0, 306, - 0, 306, 0, 0, 284, 311, 312, 164, 0, 306, - 306, 306, 221, 0, 306, 306, 306, 306, 306, 306, - 306, 0, 0, 0, 0, 0, 0, 0, 0, 227, + 0, 0, 0, 0, 301, 0, 19, 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 68, 0, 0, 0, 0, 301, 0, - 0, 206, 0, 0, 265, 272, 273, 274, 0, 0, + 0, 150, 152, 0, 0, 0, 0, 165, 309, 309, + 0, 309, 177, 0, 185, 309, 309, 0, 0, 311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 189, 191, 0, + 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 0, 0, 309, 0, 0, 309, 0, 0, 0, 0, + 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 309, 309, 0, 0, 0, 0, + 309, 309, 0, 0, 0, 0, 0, 309, 0, 309, + 0, 0, 0, 0, 0, 303, 0, 300, 0, 138, + 0, 140, 154, 142, 156, 144, 158, 146, 148, 0, + 0, 0, 0, 0, 0, 309, 0, 309, 0, 0, + 287, 314, 315, 164, 0, 309, 309, 309, 224, 0, + 309, 309, 309, 309, 309, 309, 309, 0, 0, 0, + 0, 0, 0, 0, 0, 230, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, + 0, 0, 0, 0, 304, 0, 0, 206, 0, 0, + 268, 275, 276, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 230, 231, 232, 233, 234, 0, 0, 0, - 0, 0, 0, 0, 18, 0, 278, 0, 0, 316, - 0, 0, 67, 161, 169, 0, 172, 0, 166, 0, - 167, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 233, 234, + 235, 236, 237, 0, 0, 0, 0, 0, 0, 0, + 18, 0, 281, 0, 0, 319, 0, 0, 67, 161, + 169, 0, 172, 0, 166, 0, 167, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 175, 0, 306, 306, 0, 306, 0, 306, - 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, + 309, 309, 0, 309, 0, 309, 0, 0, 0, 0, + 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, + 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, + 0, 0, 280, 0, 160, 0, 174, 184, 288, 0, + 228, 178, 180, 0, 0, 227, 229, 186, 162, 173, + 183, 188, 0, 0, 297, 0, 296, 0, 0, 212, + 0, 214, 0, 216, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 306, 0, 0, 0, 0, 0, 0, - 0, 0, 297, 0, 0, 0, 277, 0, 160, 0, - 174, 184, 285, 0, 225, 178, 180, 0, 0, 224, - 226, 186, 162, 173, 183, 188, 0, 0, 294, 0, - 293, 0, 0, 209, 0, 211, 0, 213, 0, 69, + 304, 0, 307, 0, 0, 0, 207, 0, 282, 0, + 0, 0, 0, 21, 0, 30, 0, 34, 0, 28, + 0, 0, 33, 0, 38, 36, 0, 0, 0, 0, + 0, 0, 45, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 301, 0, 304, 0, 0, 0, - 207, 0, 279, 0, 0, 0, 0, 21, 0, 30, - 0, 34, 0, 28, 0, 0, 33, 0, 38, 36, - 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, - 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 170, 0, 223, 222, - 196, 296, 0, 192, 0, 0, 0, 0, 0, 0, - 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 306, 303, 302, 306, - 0, 179, 281, 283, 0, 0, 301, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, + 0, 0, 170, 0, 226, 225, 196, 299, 0, 192, + 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 309, 306, 305, 309, 0, 179, 284, 286, + 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 292, 0, 0, 0, 220, - 306, 0, 218, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, - 0, 0, 35, 0, 0, 0, 0, 25, 0, 31, - 0, 37, 26, 39, 0, 42, 0, 46, 47, 0, - 0, 49, 0, 0, 0, 139, 141, 155, 143, 157, - 145, 159, 147, 149, 151, 153, 317, 315, 0, 0, - 190, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 306, 306, 176, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, - 291, 210, 212, 214, 0, 306, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 85, 89, 93, 163, 168, - 0, 0, 0, 0, 0, 0, 0, 29, 32, 40, - 0, 41, 48, 43, 0, 0, 314, 0, 0, 0, + 0, 295, 0, 0, 0, 223, 309, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 306, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 308, 0, 0, 0, 35, 0, + 0, 0, 0, 25, 0, 31, 0, 37, 26, 39, + 0, 42, 0, 46, 47, 0, 0, 49, 0, 0, + 0, 139, 141, 155, 143, 157, 145, 159, 147, 149, + 151, 153, 320, 318, 0, 0, 190, 0, 0, 0, + 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 309, 309, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 24, 27, 0, 0, 313, 0, 216, 0, + 0, 0, 0, 282, 0, 0, 294, 213, 215, 217, + 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 85, 89, 93, 163, 168, 0, 0, 0, 0, + 0, 0, 0, 29, 32, 40, 0, 41, 48, 43, + 0, 0, 317, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 0, 87, 0, 91, 0, 0, 0, 0, 306, + 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 27, + 0, 0, 316, 0, 219, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 0, 87, 0, + 91, 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 44, 20, 171, 219, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 84, 86, 88, - 90, 92, 94, 0, 0, 0, 0, 306, 0, 0, - 0, 0, 0, 0, 97, 101, 105, 0, 0, 0, + 44, 20, 171, 222, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 84, 86, 88, 90, 92, 94, 0, + 0, 0, 0, 309, 0, 0, 0, 0, 0, 0, + 97, 101, 105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, + 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 182, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 95, 0, 99, 0, 103, 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5, 306, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 95, 0, 99, 0, - 103, 0, 306, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 181, 0, 22, 0, - 0, 0, 0, 0, 0, 96, 98, 100, 102, 104, - 106, 306, 0, 0, 0, 109, 113, 117, 0, 0, - 0, 0, 0, 0, 0, 306, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 107, 0, 111, - 0, 115, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 108, 110, 112, 114, - 116, 118, 0, 121, 125, 129, 23, 0, 0, 0, - 0, 0, 0, 0, 119, 0, 123, 0, 127, 0, - 0, 0, 0, 0, 0, 120, 122, 124, 126, 128, - 130, 0, 0, 0 + 0, 0, 181, 0, 22, 0, 0, 0, 0, 0, + 0, 96, 98, 100, 102, 104, 106, 309, 0, 0, + 0, 109, 113, 117, 0, 0, 0, 0, 0, 0, + 0, 309, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 107, 0, 111, 0, 115, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 108, 110, 112, 114, 116, 118, 0, 121, + 125, 129, 23, 0, 0, 0, 0, 0, 0, 0, + 119, 0, 123, 0, 127, 0, 0, 0, 0, 0, + 0, 120, 122, 124, 126, 128, 130, 0, 0, 0 }; -static const short yydefgoto[] = { 1482, - 4, 5, 18, 19, 20, 21, 6, 61, 62, 63, - 464, 1260, 603, 1210, 1262, 604, 1211, 1264, 605, 1212, - 1366, 606, 1339, 1368, 607, 1340, 1370, 608, 1341, 1427, - 609, 1413, 1429, 610, 1414, 1431, 611, 1415, 1464, 612, - 1458, 1466, 613, 1459, 1468, 614, 1460, 64, 459, 449, - 450, 451, 452, 68, 69, 70, 71, 72, 990, 991, - 73, 74, 768, 281, 103, 427, 297, 158, 251, 394, - 837, 926, 927, 428, 782 +static const short yydefgoto[] = { 1488, + 4, 5, 18, 19, 20, 21, 6, 64, 65, 66, + 470, 1266, 609, 1216, 1268, 610, 1217, 1270, 611, 1218, + 1372, 612, 1345, 1374, 613, 1346, 1376, 614, 1347, 1433, + 615, 1419, 1435, 616, 1420, 1437, 617, 1421, 1470, 618, + 1464, 1472, 619, 1465, 1474, 620, 1466, 67, 465, 455, + 456, 457, 458, 71, 72, 73, 74, 75, 996, 997, + 76, 77, 774, 286, 106, 433, 302, 161, 256, 400, + 843, 932, 933, 434, 788 }; -static const short yypact[] = { 559, --32768,-32768, -92,-32768, 347, 2256, 1523, 51, 54, 65, - 134, 149, 160, 190, -62, 49, 122,-32768,-32768,-32768, --32768, 249, 97, 27, 296, 1523, 94, 145, 168, -44, - -40, 169, 173, 267, 186, 283, 324, 325, 278, 335, - 100, 231, 1, 1, 264, 81, 265, 376, 354, 271, - 413, 438, 120, 280, -30, 281,-32768, 439, 441, 414, +static const short yypact[] = { 350, +-32768,-32768, -36,-32768, 426, 2200, 1195, 135, 94, 137, + 144, 156, 163, 169, -144, 50, 78,-32768,-32768,-32768, +-32768, 289, 99, 30, 303, 1195, -100, 145, 150, -35, + -40, 183, 193, 332, 237, 347, 377, 384, 319, 393, + 27, 267, 3, 3, 272, 83, 299, 437, 442, 309, + 478, 486, 227, 326, -29, 327,-32768, 496, 498,-32768, + 500, 504, 472,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 357,-32768, + 375, 378, 379, 380, 381, 389, 392, 403, 404, 405, + 408, 413, 414, 415, 417, 418, 419, 420, 421, 422, + 1195, 1195, 1195, 1195, 1482,-32768,-32768, 2236,-32768,-32768, +-32768,-32768,-32768, 423, 423, 548,-32768, 1195, 1195, 1195, + 1195, 1195, 558, 574, 20, 590, 594,-32768, 627, 1195, + 1195, 1195, 1195, 430, 1195, 1195, 431, 1195, 1195, 1195, + 730, 1195, 429, 447, 449, 730, 439, 445, 450, 451, + 453, 455, 461, 3, 458, 3, 3, 1195, 1195, -92, +-32768, -81, 3, 462, 463, 470,-32768, 619, 730,-32768, +-32768, -1, 730, 730, 1195, -68, 1195, 1195,-32768, 629, + 639,-32768, 475, 12, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 479, 479, 479, 2857, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1482, 477, 487, 488, 489, 494, 497, + 499, 501, 503, 506, 507, 508, 510, 512, 513, 514, + 515, 516, 518, 528, 529, 535, 536, 537, 538, 539, + 552, 553, 554, 555, 659, 495, 532, 556, 676, 973, + 1295, 1366, 1390,-32768,-32768, 103, 550, 559,-32768, 557, +-32768, 1195, 1195, 2885, 2355, 2913, 2941, 1195, 2969, 2378, + 1195, 2401, 2997, 3025, 1195, 7529, 664, 3053, 1195, 1195, + 1195, 668, 1195, 1195, 1195, 1195, 1195, 1195, 1195, -23, + 18,-32768,-32768, 4621, 4648, 3, 3, 382, 382, -5, + 1195, 1195, 1195, 2130,-32768, 84, 2148, 3,-32768, 724, + 729, 3081, 655, 1195, 3109, 1029,-32768,-32768, 1195, 124, + 583, 3137, 3165, 3193, 3221, 3249, 3277, 3305, 3333, 3361, + 3389, 4675, 3417, 3445, 3473, 3501, 3529, 3557, 4702, 4729, + 4756,-32768, 1943, 448, 448, 534, 534, 256, 256, 256, + 256, -28, -20, 479, 479, 479, 479, 4783, 756, 757, + 758, 759, 761, 762, 763, 764, 765, 766, 767, 773, + 774, 776, 788, 789, 791, 794, 795, 796, 797, 798, + 799, 677, 800, 802, 804, 806, 810, 809,-32768, -55, + 811, 812, 814,-32768,-32768,-32768,-32768,-32768, 315, 927, + 927, 1195, 1195, 815, 821, 1195, 813, 1195, 117, 117, + 808, 822, 835, 838, 3585, 839, 823, 3613, 841, 842, + 843, 1966,-32768, 95, 1195, 844, 2424, 3641, 3669, 1195, + 2447, 2470, 3697, 3725, 3753, 3781, 3809, 3,-32768, 643, + 1195, 1195,-32768,-32768,-32768, 673, 1011,-32768, 679, 1195, + 4806, 4833, 4860,-32768,-32768,-32768, 1195,-32768, -75, -30, + 678, 681, 849, 686, 3837, 851, 1195, 3865,-32768,-32768, + 1195,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 1195,-32768,-32768,-32768,-32768,-32768,-32768, 1195, 1195, + 1195, 1195, 716, 691, 692, 693, 694, 696, 697, 698, + 700, 702, 703, 704, 705, 706, 707, 708, 709, 710, + 712, 713, 714, 715, 717, 720, 721, 722, 723, 726, + 728, 731, 733, 883,-32768, 734,-32768, 736, 746, 890, + 927, 927, 1195, 1416, -2, 1459, 0, 1549, 5, 1575, + 1598,-32768,-32768, 2150, 895, 3893, 3,-32768, 730, 730, + 899, 730,-32768, 902,-32768, 730, 730, 1195, 1195,-32768, + 1627, 749, 917, 918, 919, 409, 920, 921, 922, 925, + 928, 950, 951, 151, 1195, 4887, 4914,-32768,-32768, 2493, + 3, 3, 3, 1650,-32768, 790, 805, 807, 816, 817, + 818, 819, 820, 824, 825, 826, 827, 953,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 279,-32768, 282, 285, 295, - 298, 299, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 312, 322, 332, 334, 336, 1523, 1523, 1523, - 1523, 1496,-32768,-32768, 2295,-32768,-32768,-32768,-32768,-32768, - 337, 337, 496,-32768, 1523, 1523, 1523, 1523, 1523, 500, - 501, 12, 504, 506,-32768, 378, 1523, 1523, 1523, 1523, - 344, 1523, 1523, 346, 1523, 1523, 1523, 919, 1523, 345, - 349, 350, 919, 348, 356, 352, 372, 377, 379, 380, - 1, 342, 1, 1, 1523, 1523, -98,-32768, -81, 1, - 373, 375, 381,-32768, 543, 919,-32768,-32768, -1, 919, - 919, 1523, -71, 1523, 1523,-32768, 544, 385, 7, 1523, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 389, - 389, 389, 2948, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1496, 390, - 393, 395, 396, 397, 398, 399, 400, 401, 402, 403, - 405, 406, 410, 415, 416, 442, 444, 445, 459, 460, - 462, 463, 468, 469, 470, 492, 493, 494, 495, 552, - 437, 412, 497, 685, 828, 948, 971, 1026,-32768,-32768, - 144, 433, 491,-32768, 507,-32768, 1523, 1523, 2976, 2476, - 3004, 3032, 1523, 3060, 2499, 1523, 2522, 3088, 3116, 1523, - 7597, 658, 3144, 1523, 1523, 1523, 668, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, -15, 9,-32768,-32768, 4712, 4739, - 1, 1, 333, 333, -12, 1523, 1523, 1523, 1285,-32768, - 18, 2206, 1,-32768, 670, 671, 3172, 599, 1523, 3200, - 2003,-32768, 1523, 78, 509, 3228, 3256, 3284, 3312, 3340, - 3368, 3396, 3424, 3452, 3480, 4766, 3508, 3536, 3564, 3592, - 3620, 3648, 4793, 4820, 4847,-32768, 2026, -116, -116, 461, - 461, -79, -79, -79, -79, -82, -52, 389, 389, 389, - 389, 4874, 675, 679, 680, 681, 682, 683, 684, 687, - 694, 695, 696, 697, 698, 699, 712, 713, 714, 715, - 716, 717, 718, 720, 722, 564, 723, 724, 725, 726, - 734, 733,-32768, 102, 737, 739, 738,-32768,-32768,-32768, --32768,-32768, 576, 1465, 1465, 1523, 1523, 740, 742, 1523, - 735, 1523, 115, 115, 743, 745, 746, 747, 3676, 748, - 750, 3704, 751, 752, 753, 2049,-32768, 166, 1523, 754, - 2545, 3732, 3760, 1523, 2568, 2591, 3788, 3816, 3844, 3872, - 3900, 1,-32768, 575, 1523, 1523,-32768,-32768,-32768, 580, - 2313,-32768, 586, 1523, 4897, 4924, 4951,-32768,-32768,-32768, - 1523,-32768, -73, 257, 592, 594, 759, 602, 3928, 760, - 1523, 3956,-32768,-32768, 1523,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 1523,-32768,-32768,-32768,-32768, --32768,-32768, 1523, 1523, 1523, 1523, 631, 603, 604, 606, - 608, 610, 611, 612, 613, 614, 615, 616, 620, 621, - 624, 626, 627, 628, 634, 636, 638, 639, 640, 653, - 654, 657, 664, 667, 688, 689, 690, 794,-32768, 678, --32768, 691, 676, 821, 1465, 1465, 1523, 1049, 3, 1438, - 6, 1600, 62, 1624, 1659,-32768,-32768, 2294, 793, 3984, - 1,-32768, 919, 919, 844, 919,-32768, 845,-32768, 919, - 919, 1523, 1523,-32768, 1682, 692, 846, 855, 857, 729, - 859, 861, 862, 863, 864, 871, 872, 85, 1523, 4978, - 5005,-32768,-32768, 2614, 1, 1, 1, 1705,-32768, 727, - 728, 730, 731, 732, 749, 756, 757, 758, 781, 782, - 783, 874,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 1523, 1523, 919, 1523, 884, 919, - 338, 885, 2317, 4012, 4040, 4068, 4096, 7597, 761, 878, - 1523, 1523, 1, 898, 899, 762, 900, 915, 919, 919, - 916, 1, 917, 949, 919, 919, 950, 952, 953, 964, - 967, 919, 313, 919, 973, 985, 986, 989, 991,-32768, - 990, 337, 11,-32768, 2920,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 822, 22, 993, 93, 14, 994, 919, - 995, 919, 996, 997, 2073, 2049,-32768,-32768, 1523, 919, - 919, 919,-32768, 37, 919, 919, 919, 919, 919, 919, - 919, 1523, 2340, 1523, 1523, 834, -107, -105, -103,-32768, - 744, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523,-32768, 5032, 5059, 1000, 4124, 192, 924, - 1523,-32768, 1523, 835,-32768,-32768,-32768,-32768, 1523, 840, - 5086, 5113, -122, 841, 842, 847, 848, 850, 852, 851, - 854, -55, 856, 858, 860, 865, 866, 867, 868, 869, - 870, 873,-32768,-32768,-32768,-32768,-32768, 875, 876, 877, - 880, 881, 882, 887,-32768, 901, 78, 837, 1010, 896, - 1550, 1009,-32768,-32768,-32768, 1,-32768, 1011,-32768, 1018, --32768,-32768, 1523, 5140, 1021, 1025, 1027, 1523, 1523, 1034, - 1035, 1036, 1041, 1045, 1047, 1048, 2637, 905, 4152, 2386, - 333, 1, 1065, 1, 1066, 1, 0, 1067, 5167, 5194, - 5221, 5248, 5275, 5302, 5329, 5356, 5383, 5410, 5437, 5464, - 1523, 1523,-32768, 1072, 919, 919, 998, 919, 4180, 212, - 1070, 1496, 1077, 1523, 919, 1076, 1081, 1079, 927, 1082, - 313, 1083, 1093, 1523, 1091, 1095, 1094, 1104, 1096, 313, - 1523, 1523, 1523, 919, 1105, 1116, 313, 1523, 1117, 1118, - 1127, 1523, 337, 1523, 155, 1038, -152, 5491,-32768, 95, --32768,-32768, 7597, 1523,-32768,-32768,-32768, 1728, 1766,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 963, 1119,-32768, 1523, --32768, 965, 140,-32768, 182,-32768, 195,-32768, 87,-32768, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 5518, 5545, 192, 119,-32768, 206, 968, 1055, --32768, 1134, 152, 1496, 972, 5572, 974,-32768, 975,-32768, - 976,-32768, 977,-32768, 979, 4208,-32768, 980,-32768,-32768, - 983, 987, 4236, 5599, 4264, 981,-32768, 1004, 1005, 5626, - 1008, 1020,-32768, 5653, 1019, 2363, 630, 1465, 1465, 1523, - 1523, 1523, 1523, 982, 1523, 1523,-32768, 5680,-32768,-32768, - 333,-32768, 2416,-32768, 1523, 1523, 1523, 1135, 1007, -38, --32768, 5707, 5734, 5761, 5788, 5815, 5842, 5869, 5896, 5923, - 5950, 5977, 6004, 1523, 1523, 1063, 919,-32768,-32768, 919, - 1523,-32768,-32768,-32768, 1539, 1150, 192, 313, 1194, 1523, - 1192, 313, 1193, 1197, 1195, 1205, 1206, 1523, 1207, 919, - 1210, 1211, 1523, 1228, 1226, 1523, 1229, 1062, 1230, 1791, - 99, 1838, 101, 1863, 110, 1886, 1909, 1933, 1956, 1235, - 2660, 6031, 1236, 1068, 1523,-32768, 2683, 2706, 2729,-32768, - 919, 1239,-32768, 1523, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 2752, 2775, 1071,-32768, 1078, - 1980, 1523,-32768, 1080, 1084, 1085, 6058,-32768, 1086,-32768, - 1087,-32768,-32768,-32768, 4292,-32768, 1089,-32768,-32768, 4320, - 1092,-32768, 4348, 1090, 1242,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1523, 1097, --32768, 2798, 1245, 1249, 23, 1098,-32768, 6085, 6112, 6139, - 6166, 6193, 6220, 6247, 6274, 6301, 4376, 4404, 4432, 1257, - 1258, 919, 919,-32768, 1496, 313, 313, 313, 313, 1259, - 1276, 1277, 313, 1278, 1280, 1281, 1243, 152, 2446, 1286, --32768,-32768,-32768,-32768, 87, 919, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523,-32768,-32768,-32768,-32768,-32768, - 1123, 1128, 1496, 1132, 1133, 1136, 1139,-32768,-32768,-32768, - 1141,-32768,-32768,-32768, 1142, 1523,-32768, 1157, -37, 1159, - 6328, 6355, 6382, 6409, 6436, 6463, 6490, 6517, 6544, 1160, - 1163, 1165, 919, 1223, 2828, 313, 313, 1298, 1299, 313, - 1332, 2851, 1333, 1344, 919, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 1523, 1523, 1167, 1180, 1523, - 1183, 1184,-32768,-32768, 1185, 1186,-32768, 1182,-32768, 1187, - 6571, 6598, 6625, 6652, 6679, 6706, 6733, 6760, 6787, 210, - 7597, 220, 7597, 232, 7597, 1282, 1523, 1496, 313, 919, - 1351, 1352, 1354, 1355, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1359, 1523, 1360, 1523, 1361, 1204, - 6814, 1496, 1208, 1212,-32768,-32768,-32768,-32768, 6841, 6868, - 6895, 6922, 6949, 6976, 4460, 4488, 4516, 7597,-32768, 7597, --32768, 7597,-32768, 1523, 1523, 2118, 313, 919, 1523, 1523, - 1523, 1523, 1523, 1523,-32768,-32768,-32768, 7003, 2874, 1237, - 1213, 1214, 7030, 7057, 7084, 7111, 7138, 7165, 1209, 1215, - 1216, 1523, 1378,-32768, 919, 313, 1523, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 2897,-32768, 1219, 1220, 7192, - 7219, 7246, 7273, 7300, 7327, 242, 7597, 246, 7597, 248, - 7597, 1379, 919, 1383, 1523, 1523, 1523, 1523, 1523, 1523, - 1523, 1385, 1523, 1386, 1523, 1387,-32768, 1225,-32768, 7354, - 7381, 7408, 4544, 4572, 4600, 7597,-32768, 7597,-32768, 7597, --32768, 919, 1523, 1523, 1523,-32768,-32768,-32768, 1231, 7435, - 7462, 7489, 1224, 1232, 1233, 919, 1523, 1523, 1523, 1523, - 1523, 1523, 1238, 7516, 7543, 7570, 252, 7597, 254, 7597, - 256, 7597, 313, 1523, 1523, 1523, 1523, 1393, 1523, 1395, - 1523, 1396, 1246, 4628, 4656, 4684, 7597,-32768, 7597,-32768, - 7597,-32768, 1399,-32768,-32768,-32768,-32768, 1248, 1250, 1251, - 1523, 1523, 1523, 261, 7597, 262, 7597, 268, 7597, 1523, - 1400, 1523, 1402, 1523, 1403, 7597,-32768, 7597,-32768, 7597, --32768, 1417, 1420,-32768 + 1195, 1195, 730, 1195, 955, 730, 493, 966, 2226, 3921, + 3949, 3977, 4005, 7529, 853, 931, 1195, 1195, 3, 957, + 974, 831, 977, 978, 730, 730, 979, 3, 980, 991, + 730, 730, 996, 997, 998, 999, 1002, 730, 351, 730, + 1003, 1004, 1006, 1005, 1009,-32768, 1001, 423, 21,-32768, + 2829,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 846, + 24, 1012, 59, 23, 1017, 730, 1018, 730, 1019, 1020, + 1994, 1966,-32768,-32768, 1195, 730, 730, 730,-32768, 264, + 730, 730, 730, 730, 730, 730, 730, 1195, 2249, 1195, + 1195, 854, -99, -83, 138,-32768, -18, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,-32768, + 4941, 4968, 1023, 4033, 178, 932, 1195,-32768, 1195, 855, +-32768,-32768,-32768,-32768, 1195, 845, 4995, 5022, -73, 858, + 860, 862, 863, 866, 867, 869, 870, -52, 871, 879, + 884, 888, 889, 904, 906, 907, 910, 911,-32768,-32768, +-32768,-32768,-32768, 913, 914, 923, 924, 930, 934, 936, +-32768, 937, 124, 885, 1035, 915, 1234, 1077,-32768,-32768, +-32768, 3,-32768, 1086,-32768, 1087,-32768,-32768, 1195, 5049, + 1091, 1097, 1098, 1195, 1195, 1104, 1105, 1107, 1109, 1110, + 1111, 1118, 2516, 949, 4061, 1518, 382, 3, 1120, 3, + 1121, 3, 25, 1122, 5076, 5103, 5130, 5157, 5184, 5211, + 5238, 5265, 5292, 5319, 5346, 5373, 1195, 1195,-32768, 1131, + 730, 730, 1056, 730, 4089, 219, 1139, 1482, 1142, 1195, + 730, 1140, 1145, 1143, 992, 1147, 351, 1156, 1160, 1195, + 1158, 1162, 1174, 1175, 1180, 351, 1195, 1195, 1195, 730, + 1178, 1191, 351, 1195, 1193, 1197, 1196, 1195, 423, 1195, + 243, 1117, -146, 5400,-32768, 64,-32768,-32768, 7529, 1195, +-32768,-32768,-32768, 1678, 1709,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 1066, 1199,-32768, 1195,-32768, 1067, 185,-32768, + 187,-32768, 200,-32768, 199,-32768, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 5427, 5454, + 178, 190,-32768, 213, 1090, 1161,-32768, 1259, 261, 1482, + 1095, 5481, 1099,-32768, 1100,-32768, 1101,-32768, 1096,-32768, + 1112, 4117,-32768, 1114,-32768,-32768, 1115, 1116, 4145, 5508, + 4173, 1123,-32768, 1119, 1124, 5535, 1127, 1129,-32768, 5562, + 1132, 2272, 502, 927, 927, 1195, 1195, 1195, 1195, 1094, + 1195, 1195,-32768, 5589,-32768,-32768, 382,-32768, 2295,-32768, + 1195, 1195, 1195, 1284, 1133, -48,-32768, 5616, 5643, 5670, + 5697, 5724, 5751, 5778, 5805, 5832, 5859, 5886, 5913, 1195, + 1195, 1210, 730,-32768,-32768, 730, 1195,-32768,-32768,-32768, + 2546, 1288, 178, 351, 1293, 1195, 1297, 351, 1300, 1305, + 1303, 1304, 1306, 1195, 1309, 730, 1310, 1311, 1195, 1308, + 1319, 1195, 1321, 1151, 1322, 1734, 66, 1757, 101, 1786, + 116, 1809, 1837, 1868, 1893, 1325, 2569, 5940, 1326, 1155, + 1195,-32768, 2592, 2615, 2638,-32768, 730, 1327,-32768, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 2661, 2684, 1163,-32768, 1164, 1916, 1195,-32768, 1166, + 1167, 1168, 5967,-32768, 1159,-32768, 1169,-32768,-32768,-32768, + 4201,-32768, 1171,-32768,-32768, 4229, 1172,-32768, 4257, 1185, + 1330,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 1195, 1186,-32768, 2707, 1329, 1338, + 26, 1187,-32768, 5994, 6021, 6048, 6075, 6102, 6129, 6156, + 6183, 6210, 4285, 4313, 4341, 1354, 1355, 730, 730,-32768, + 1482, 351, 351, 351, 351, 1357, 1358, 1359, 351, 1361, + 1362, 1363, 1365, 261, 2325, 1368,-32768,-32768,-32768,-32768, + 199, 730, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195,-32768,-32768,-32768,-32768,-32768, 1209, 1208, 1482, 1213, + 1214, 1198, 1215,-32768,-32768,-32768, 1217,-32768,-32768,-32768, + 1218, 1195,-32768, 1219, -45, 1220, 6237, 6264, 6291, 6318, + 6345, 6372, 6399, 6426, 6453, 1223, 1224, 1225, 730, 1307, + 2737, 351, 351, 1387, 1394, 351, 1401, 2760, 1402, 1403, + 730, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1233, 1236, 1195, 1239, 1240,-32768,-32768, + 1241, 1242,-32768, 1238,-32768, 1248, 6480, 6507, 6534, 6561, + 6588, 6615, 6642, 6669, 6696, 217, 7529, 235, 7529, 250, + 7529, 1344, 1195, 1482, 351, 730, 1419, 1420, 1421, 1422, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1423, 1195, 1424, 1195, 1425, 1258, 6723, 1482, 1265, 1267, +-32768,-32768,-32768,-32768, 6750, 6777, 6804, 6831, 6858, 6885, + 4369, 4397, 4425, 7529,-32768, 7529,-32768, 7529,-32768, 1195, + 1195, 7506, 351, 730, 1195, 1195, 1195, 1195, 1195, 1195, +-32768,-32768,-32768, 6912, 2783, 1301, 1275, 1276, 6939, 6966, + 6993, 7020, 7047, 7074, 1290, 1292, 1294, 1195, 1443,-32768, + 730, 351, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 2806,-32768, 1278, 1299, 7101, 7128, 7155, 7182, 7209, + 7236, 268, 7529, 280, 7529, 282, 7529, 1468, 730, 1469, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1470, 1195, 1471, + 1195, 1472,-32768, 1312,-32768, 7263, 7290, 7317, 4453, 4481, + 4509, 7529,-32768, 7529,-32768, 7529,-32768, 730, 1195, 1195, + 1195,-32768,-32768,-32768, 1315, 7344, 7371, 7398, 1314, 1343, + 1345, 730, 1195, 1195, 1195, 1195, 1195, 1195, 1317, 7425, + 7452, 7479, 284, 7529, 297, 7529, 305, 7529, 351, 1195, + 1195, 1195, 1195, 1473, 1195, 1474, 1195, 1475, 1347, 4537, + 4565, 4593, 7529,-32768, 7529,-32768, 7529,-32768, 1476,-32768, +-32768,-32768,-32768, 1367, 1369, 1370, 1195, 1195, 1195, 306, + 7529, 324, 7529, 373, 7529, 1195, 1477, 1195, 1512, 1195, + 1525, 7529,-32768, 7529,-32768, 7529,-32768, 1532, 1533,-32768 }; static const short yypgoto[] = {-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 836,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 940,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1418, 1425, - -302, 277, 1427,-32768,-32768,-32768,-32768,-32768, 258, -986, --32768,-32768, -804, -7,-32768, 879, -10,-32768, -111,-32768, - -917, 590, 598,-32768,-32768 +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1536, 1539, + -307, 224, 1550,-32768,-32768,-32768,-32768,-32768, 386, -987, +-32768,-32768, -852, -7,-32768, 990, -10,-32768, -114,-32768, + -921, 718, 454,-32768,-32768 }; -#define YYLAST 7762 - - -static const short yytable[] = { 102, - 252, 453, 313, 1063, 152, 908, 173, 1006, 667, 318, - 324, 669, 443, 131, 777, 261, 975, 134, 126, 785, - 179, 988, 988, 460, 461, 780, 989, 989, 1164, 207, - 208, 123, 157, 159, 301, 302, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 7, 943, 846, 218, 301, - 302, 301, 302, 301, 302, 952, 104, 786, 301, 302, - 105, 812, 959, 814, 813, 816, 815, 671, 817, 325, - 106, 444, 303, 778, 262, 301, 302, 267, 268, 215, - 216, 217, 218, 301, 302, 218, 798, 799, -241, 304, - 200, 201, 202, 203, 219, 263, 319, 589, 784, 1084, - 977, 301, 302, 115, 1108, 111, 1110, 254, 255, 256, - 257, 258, 218, 161, 855, 1112, 162, 163, -240, 269, - 270, 271, 272, 132, 274, 275, 133, 277, 278, 279, - 135, 283, 147, 1062, 1224, 148, 149, 174, 150, 107, - 295, 301, 302, 298, 301, 302, 988, 299, 300, 305, - 403, 989, 170, 442, 108, 171, 454, 153, 154, 301, - 302, 967, 301, 302, 317, 109, 320, 321, 155, 314, - 909, 156, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, 781, 1165, 124, 110, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 1063, 1085, 75, 76, 112, 1089, 301, 302, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 301, 302, 473, 474, 116, 117, 118, 119, 301, - 302, 301, 302, 702, 114, 301, 302, 301, 302, 413, - 414, 127, 120, 121, 128, 419, 301, 302, 422, 122, - 528, 529, 426, 215, 216, 217, 431, 432, 433, 218, - 435, 436, 437, 438, 439, 440, 441, 1007, 1008, 113, - 447, 448, 404, 405, 406, 407, 301, 302, 455, 456, - 457, 125, 463, 968, 969, 970, 971, 138, 985, 408, - 409, 469, 129, 143, 144, 472, 145, 1013, 1014, 140, - 972, 973, 590, 591, 592, 593, 594, 595, 596, 597, - 598, 599, 600, 601, 563, 130, 136, 564, 301, 302, - 137, 1184, 1185, 1186, 1187, 731, -1, 8, 1191, 9, - 986, 301, 302, 139, 204, 205, 206, 207, 208, 835, - 141, 142, 836, 987, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 146, 1007, 100, 218, 1009, 1284, 101, - 165, 1285, 280, 266, 42, 43, 44, 45, 1286, 47, - 166, 1287, 539, 541, 543, 538, 540, 542, 544, 545, - 1288, 151, 548, 1289, 550, 763, 764, 765, 766, 767, - 1381, 1241, 1242, 1382, 1383, 1245, 1385, 1384, 168, 1386, - 1437, 565, 1439, 1438, 1441, 1440, 570, 1442, 602, 1470, - 1472, 578, 1471, 1473, 160, 164, 1474, 580, 581, 1475, - 309, 167, 169, 312, 176, 177, 584, 172, 175, 180, - 178, 179, 181, 588, 10, 11, 12, 13, 14, 15, - 16, 17, 182, 621, 1293, 183, 184, 623, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 624, 195, - 204, 205, 206, 207, 208, 625, 626, 627, 628, 196, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 197, - 253, 198, 218, 199, 250, 259, 260, 732, 902, 264, - 265, 273, 1331, 276, 296, 284, 285, 286, 288, 290, - 204, 205, 206, 207, 208, 298, 289, 200, 201, 665, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 291, - 677, 1359, 218, 306, 292, 307, 293, 294, 310, 322, - 776, 308, 323, 218, 685, 686, 393, 363, -7, -7, - 364, -7, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 703, 374, 375, 707, 708, 709, 376, 75, 533, - 534, 396, 377, 378, 77, 78, 79, 80, 81, 82, +#define YYLAST 7697 + + +static const short yytable[] = { 105, + 257, 459, 318, 673, 949, 675, 155, 176, 1069, 1012, + 677, 994, 323, 958, 994, 330, 995, 137, 129, 995, + 965, 449, 134, 266, 783, 981, 114, 786, 791, 184, + 914, 1170, 160, 162, 126, 596, 597, 598, 599, 600, + 601, 602, 603, 604, 605, 606, 607, 596, 597, 598, + 599, 600, 601, 602, 603, 604, 605, 606, 607, 150, + 306, 307, 151, 152, 790, 153, 792, 306, 307, 983, + 130, 1114, 818, 131, 331, 819, 306, 307, 306, 307, + 450, 308, 267, 784, 306, 307, 306, 307, 820, 466, + 467, 821, 309, 205, 206, 207, 208, 224, 595, 852, + 108, 1090, 324, 268, 7, 118, 1116, 306, 307, 409, + 259, 260, 261, 262, 263, 164, 534, 535, 165, 166, + 861, 1118, 274, 275, 276, 277, 1068, 279, 280, 1230, + 282, 283, 284, 138, 288, 135, 306, 307, 136, 223, + 107, 177, 109, 300, 608, -244, 303, 223, 448, 110, + 304, 305, 310, -243, 306, 307, 824, 306, 307, 306, + 307, 111, 156, 157, 306, 307, 460, 322, 112, 325, + 326, 1091, 319, 158, 113, 1095, 159, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 787, 915, 1171, + 127, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 1069, 306, 307, + 115, 78, 79, 306, 307, 306, 307, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 395, 410, 725, 726, 379, - 728, 380, 381, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 743, 741, 742, 218, 382, 383, 1443, 384, - 385, 752, 75, 533, 1039, 386, 387, 388, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 389, - 390, 391, 392, 411, 429, 397, -7, -7, -7, -7, - -7, -7, -7, -7, 434, 412, 465, 466, 1054, 498, - 468, 794, 475, 499, 500, 501, 502, 503, 504, 521, - 398, 505, 1, 2, 807, 3, 809, 810, 506, 507, - 508, 509, 510, 511, 819, 820, 821, 822, 823, 824, - 825, 826, 827, 828, 829, 830, 512, 513, 514, 515, - 516, 517, 518, 839, 519, 840, 520, 522, 523, 524, - 525, 842, 535, 536, 693, 282, 526, 527, 549, 100, - 287, 530, 532, 537, 531, 546, 156, 547, 579, 551, - 552, 582, 553, 554, 556, 557, 559, 583, 560, 561, - 566, 965, 615, 311, 616, 617, 620, 315, 316, 618, - 629, 630, 631, 878, 632, 880, 633, 694, 634, 635, - 636, 637, 638, 639, 640, 883, 535, 536, 641, 642, - 888, 889, 643, 100, 644, 645, 646, 537, 660, 675, - 156, 903, 647, 905, 648, 907, 649, 650, 651, 590, - 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, - 601, 652, 653, 923, 924, 654, 664, 204, 205, 206, - 207, 208, 655, 399, 934, 656, 936, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 946, 661, 663, 218, - 680, 682, 690, 953, 954, 955, 657, 658, 659, 662, - 960, 691, 689, 692, 964, 695, 966, 696, 697, 698, - 699, 204, 205, 206, 207, 208, 978, 700, 701, 724, - 740, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 729, 733, 983, 218, 712, 713, 739, 714, 715, 716, - 744, 745, 747, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1001, 1002, 1003, 818, 717, 748, 751, 753, - 746, 75, 76, 718, 719, 720, 1015, 77, 78, 79, + 93, 94, 95, 96, 97, 98, 99, 100, 116, 973, + 119, 120, 121, 122, 410, 411, 412, 413, 994, 173, + 306, 307, 174, 995, 419, 420, 569, 123, 124, 570, + 425, 414, 415, 428, 125, 306, 307, 432, 220, 221, + 222, 437, 438, 439, 223, 441, 442, 443, 444, 445, + 446, 447, 479, 480, 117, 453, 454, 306, 307, 1190, + 1191, 1192, 1193, 461, 462, 463, 1197, 469, 128, 822, + 306, 307, 823, 804, 805, 132, 475, 78, 539, 540, + 133, 478, 708, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 306, 307, 306, 307, 841, -7, + -7, 842, -7, 139, 146, 147, 991, 148, 992, 306, + 307, 1013, 1014, 140, 209, 210, 211, 212, 213, 1247, + 1248, 993, 141, 1251, 214, 215, 216, 217, 218, 219, + 220, 221, 222, 143, 1013, 103, 223, 1015, 1290, 104, + 314, 1291, 285, 317, 974, 975, 976, 977, 545, 547, + 549, 544, 546, 548, 550, 551, 1292, 142, 554, 1293, + 556, 978, 979, 144, 699, 272, 273, 220, 221, 222, + 145, 1294, 1299, 223, 1295, -1, 8, 571, 9, 1019, + 1020, 149, 576, 42, 43, 44, 45, 584, 47, 1387, + 154, 168, 1388, 586, 587, 163, 769, 770, 771, 772, + 773, 1389, 590, 1391, 1390, 1443, 1392, 700, 1444, 594, + -7, -7, -7, -7, -7, -7, -7, -7, 1445, 627, + 1337, 1446, 167, 629, 541, 542, 1447, 1476, 169, 1448, + 1477, 103, 170, 171, 630, 543, 1, 2, 159, 3, + 172, 631, 632, 633, 634, 1478, 175, 178, 1479, 1365, + 737, 179, 180, 181, 78, 539, 1045, 182, 183, 908, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 721, 722, - 723, 754, 757, 400, 758, 759, 1041, 1043, 1045, 1040, - 1042, 1044, 1046, 1047, 1048, 1049, 760, 1051, 1052, 761, - 204, 205, 206, 207, 208, 770, 401, 1057, 1058, 1059, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 771, - 772, 773, 218, 774, 779, 775, 1076, 1077, 783, 787, - 789, 791, 792, 1081, 811, 833, 838, 841, 843, 847, - 874, 848, 1087, 875, 879, 849, 881, 850, 851, 853, - 1095, 852, 854, 882, 856, 1100, 885, 857, 1103, 858, - 886, 402, 887, 859, 860, 861, 862, 863, 864, 890, - 891, 892, 865, 866, 867, 868, 893, 1122, 869, 870, - 894, 871, 895, 896, 666, 872, 1128, 1129, 1130, 1131, - 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 876, 873, - 904, 906, 910, 933, 1145, 98, 99, 898, 925, 935, - 929, 938, 100, 939, 940, 941, 101, 942, 944, 280, - 204, 205, 206, 207, 208, 945, 947, 948, 951, 949, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 950, - 957, 1159, 218, 204, 205, 206, 207, 208, 958, 961, - 962, 974, 982, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 963, 981, 1011, 218, 984, 1183, 1010, 1012, - 1060, 1016, 1018, 1019, 1020, 1078, 1021, 1022, 1024, 1030, - 678, 679, 1025, 681, 1050, 1083, 1026, 683, 684, 1201, - 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 204, 205, - 206, 207, 208, 1031, 1032, 1215, 1034, 1061, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 1037, 1222, 1035, - 218, 204, 205, 206, 207, 208, 1086, 1088, 1090, 1091, - 1092, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 1093, 1094, 1096, 218, 727, 1098, 1099, 730, 1251, 1252, - 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1261, 1263, 1265, - 1101, 1102, 1268, 1104, 1105, 1106, 749, 750, 1117, 1121, - 1120, 1142, 755, 756, 1127, 1158, 1143, 1195, 1146, 762, - 1162, 769, 1147, 1148, 1163, 1150, 1151, 1153, 1157, 1291, - 1292, 1155, 1179, 1180, 1188, 1160, 1166, 1299, 1300, 1301, - 1302, 1303, 1304, 1305, 1306, 1307, 1308, 788, 1310, 790, - 1312, 1189, 1190, 1192, 1316, 1193, 1194, 795, 796, 797, - 1198, 1213, 800, 801, 802, 803, 804, 805, 806, 1214, - 1216, 1217, 1239, 1243, 1244, 1218, 1328, 1329, 1219, 1220, - 1221, 1333, 1334, 1335, 1336, 1337, 1338, 27, 28, 29, - 30, 31, 32, 33, 34, 1223, 35, 1225, 37, 38, - 1235, 40, 41, 1236, 1356, 1237, 1246, 1248, 1266, 1360, - 1361, 1362, 1363, 1364, 1365, 1367, 1369, 1371, 53, 1249, - 1267, 1269, 1270, 1273, 1271, 1272, 1295, 1296, 1274, 1297, - 1298, 1290, 54, 55, 1309, 1311, 1313, 1390, 1391, 1392, - 1393, 1394, 1395, 1396, 1314, 1398, 1317, 1400, 1344, 1353, - 1318, 1345, 1346, 1357, 1387, 1354, 1355, 1373, 1389, 1374, - 1397, 1399, 1401, 1402, 1420, 1410, 1411, 1412, 1448, 1416, - 1450, 1452, 1421, 1422, 1457, 1477, 1433, 1479, 1481, 1424, - 1425, 1426, 1428, 1430, 1432, 1453, 1483, 60, 1461, 1484, - 1462, 1463, 1199, 65, 711, 928, 1444, 1445, 1446, 1447, - 66, 1449, 67, 1451, 0, 930, 0, 932, 0, 0, - 0, 687, 937, 668, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1465, 1467, 1469, 458, 0, 0, 0, - 0, 956, 1476, 0, 1478, 0, 1480, 75, 533, 0, - 0, 0, 0, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 0, 0, 0, 0, 75, 76, - 0, 0, 0, 0, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 75, 76, 0, 0, 0, - 0, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 75, 877, 0, 0, 0, 0, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 1079, 670, 0, 1080, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 535, 536, 0, 0, 0, 0, 1097, 100, 672, - 0, 0, 537, 0, 0, 156, 0, 0, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 0, 1126, 100, - 218, 0, 0, 101, 673, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1082, 0, 0, 0, 0, 98, - 99, 204, 205, 206, 207, 208, 100, 688, 0, 0, - 101, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 98, 99, 0, 0, - 710, 0, 0, 100, 0, 0, 0, 101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 979, 0, 0, 0, 0, 0, 1181, - 1182, 0, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 1200, 218, 0, 204, 205, 206, 207, - 208, 980, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 0, 0, 0, 1107, 0, 0, 0, - 0, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 1238, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 1250, 218, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 1109, 0, 0, 218, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 1294, 1111, 218, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 1113, 218, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, - 206, 207, 208, 0, 1114, 1332, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 204, 205, 206, 207, 208, 1115, 0, - 0, 0, 1358, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 0, - 0, 1116, 0, 0, 0, 0, 0, 0, 0, 0, - 1388, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 204, 205, 206, 207, 208, 1144, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 1409, - 0, 0, 218, 0, 0, 204, 205, 206, 207, 208, - 471, 0, 0, 1423, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 204, 205, - 206, 207, 208, 496, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 204, 205, 206, 207, 208, 562, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 204, 205, 206, 207, 208, - 793, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 27, 28, - 29, 30, 31, 32, 33, 34, 0, 35, 0, 37, - 38, 0, 40, 41, 0, -3, 22, 0, 1330, 23, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 53, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 54, 55, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 0, 35, 36, 37, - 38, 39, 40, 41, 0, 0, 0, 42, 43, 44, - 45, 46, 47, 0, 48, 49, 50, 51, 52, 53, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 303, 184, 205, 206, 671, 10, 11, 12, 13, + 14, 15, 16, 17, 1480, 185, 683, 1481, 186, 187, + 188, 189, 258, 782, 209, 210, 211, 212, 213, 190, + 691, 692, 191, 264, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 192, 193, 194, 223, 709, 195, 265, + 713, 714, 715, 196, 197, 198, 1449, 199, 200, 201, + 202, 203, 204, 255, 287, 269, 212, 213, 270, 292, + 278, 281, 289, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 293, 731, 732, 223, 734, 290, 294, 291, + 295, 296, 316, 297, 315, 298, 320, 321, 749, 747, + 748, 299, 271, 301, 327, 311, 312, 758, 209, 210, + 211, 212, 213, 313, 328, 329, 223, 369, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 370, 371, 372, + 223, 541, 542, 399, 373, 738, 401, 374, 103, 375, + 435, 376, 543, 377, 440, 159, 378, 379, 380, 1060, + 381, 404, 382, 383, 384, 385, 386, 800, 387, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 388, 389, + 813, 223, 815, 816, 402, 390, 391, 392, 393, 394, + 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, + 835, 836, 395, 396, 397, 398, 416, 403, 418, 845, + 471, 846, 78, 79, 417, 472, 474, 848, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 481, + 504, 505, 506, 507, 971, 508, 509, 510, 511, 512, + 513, 514, 209, 210, 211, 212, 213, 515, 516, 884, + 517, 886, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 889, 518, 519, 223, 520, 894, 895, 521, 522, + 523, 524, 525, 526, 528, 527, 529, 909, 530, 911, + 531, 913, 532, 533, 557, 536, 555, 537, 538, 585, + 552, 209, 210, 211, 212, 213, 553, 558, 563, 929, + 930, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 940, 559, 942, 223, 560, 562, 565, 588, 566, 567, + 572, 621, 952, 589, 622, 623, 624, 626, 635, 959, + 960, 961, 636, 637, 638, 639, 966, 640, 641, 642, + 970, 643, 972, 644, 645, 646, 647, 648, 649, 650, + 651, 652, 984, 653, 654, 655, 656, 666, 657, 101, + 102, 658, 659, 660, 661, 670, 103, 662, 989, 663, + 104, 681, 664, 285, 665, 686, 667, 668, 688, 998, + 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, + 1009, 669, 695, 696, 697, 698, 701, 702, 703, 78, + 539, 704, 1021, 746, 705, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 706, 707, 730, 750, + 718, 735, 1047, 1049, 1051, 1046, 1048, 1050, 1052, 1053, + 1054, 1055, 739, 1057, 1058, 719, 751, 720, 405, 753, + 754, 757, 759, 1063, 1064, 1065, 721, 722, 723, 724, + 725, 745, 752, 760, 726, 727, 728, 729, 763, 764, + 765, 766, 1082, 1083, 767, 776, 781, 779, 777, 1087, + 778, 780, 684, 685, 844, 687, 849, 789, 1093, 689, + 690, 785, 793, 795, 797, 798, 1101, 817, 839, 853, + 847, 1106, 854, 855, 1109, 856, 477, 857, 881, 858, + 859, 860, 862, 27, 28, 29, 30, 31, 32, 33, + 34, 863, 35, 1128, 37, 38, 864, 40, 41, 865, + 866, 880, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, + 1142, 1143, 1144, 1145, 53, 867, 733, 868, 869, 736, + 1151, 870, 885, 871, 872, 873, 541, 542, 54, 55, + 882, 887, 888, 103, 874, 875, 891, 543, 755, 756, + 159, 876, 892, 893, 761, 762, 877, 878, 879, 896, + 897, 768, 898, 775, 899, 900, 901, 1165, 209, 210, + 211, 212, 213, 902, 904, 910, 912, 916, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 931, 935, 794, + 223, 796, 939, 1189, 941, 944, 63, 945, 946, 801, + 802, 803, 948, 947, 806, 807, 808, 809, 810, 811, + 812, 950, 951, 953, 954, 1207, 1208, 1209, 1210, 1211, + 1212, 1213, 1214, 1215, 209, 210, 211, 212, 213, 955, + 956, 1221, 957, 963, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 964, 1228, 967, 223, 78, 79, 968, + 980, 969, 988, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 1257, 1258, 1259, 1260, 1261, 1262, + 1263, 1264, 1265, 1267, 1269, 1271, 78, 883, 1274, 987, + 1017, 990, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 1016, 1018, 1297, 1298, 1022, 1027, 1056, + 1024, 1025, 1026, 1305, 1306, 1307, 1308, 1309, 1310, 1311, + 1312, 1313, 1314, 1028, 1316, 1030, 1318, 1031, 1032, 1066, + 1322, 1037, 1084, 1089, 1036, 1092, 1038, 936, 1040, 938, + 406, 1041, 1094, 1043, 943, 1096, 1067, 1097, 1098, 1099, + 1107, 1100, 1334, 1335, 1102, 1104, 1105, 1339, 1340, 1341, + 1342, 1343, 1344, 962, 1108, 1110, 1111, 1112, 1123, 1127, + 1126, 1156, 1133, 1164, 1168, 1149, 1148, 1152, 1153, 1154, + 1362, 1157, 1159, 1169, 1161, 1366, 1367, 1368, 1369, 1370, + 1371, 1373, 1375, 1377, 101, 102, 1163, 1166, 1172, 1185, + 1186, 103, 1194, 1195, 1196, 104, 1198, 1199, 1200, 1201, + 1224, 407, 1204, 1396, 1397, 1398, 1399, 1400, 1401, 1402, + 1219, 1404, 1220, 1406, 1222, 1223, 1245, 1225, 1226, 1227, + 1229, 1231, 1249, 101, 102, 408, 1241, 1242, 1243, 1250, + 103, 1416, 1417, 1418, 104, 1252, 1254, 1272, 1255, 1273, + 1275, 1276, 1279, 1277, 1278, 1430, 1431, 1432, 1434, 1436, + 1438, 672, 1280, 1296, 1301, 1302, 1303, 1304, 1315, 1317, + 1319, 1320, 1450, 1451, 1452, 1453, 1323, 1455, 1324, 1457, + 209, 210, 211, 212, 213, 1350, 1351, 1352, 1363, 1379, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 1471, + 1473, 1475, 223, 1359, 674, 1360, 1085, 1361, 1482, 1086, + 1484, 1380, 1486, 1393, 1395, 1403, 1405, 1407, 1454, 1456, + 1458, 1463, 1483, 1408, 78, 79, 1422, 1426, 1439, 1103, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 209, 210, 211, 212, 213, 1427, 1485, 1428, 1459, + 1132, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 1487, 1489, 1490, 223, 717, 209, 210, 211, 212, 213, + 1467, 68, 1468, 1469, 69, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 676, 70, 1205, 223, 693, 934, + 0, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 678, 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 220, 0, 0, 54, 55, 0, 0, 0, 60, 0, - 56, 57, 0, 58, 59, 27, 28, 29, 30, 31, - 32, 33, 34, 0, 35, 0, 37, 38, 0, 40, - 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 53, 462, 0, 0, - 0, 0, 0, 0, 221, 222, 223, 0, 60, 0, - 54, 55, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 0, 0, 0, 0, 0, 0, 0, 0, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 0, 244, 245, 246, 247, 248, 249, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 60, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 674, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 734, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 808, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 1038, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 900, 0, 0, 901, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 1055, 0, 0, 1056, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 1196, 0, 0, 1197, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 204, 205, 206, 207, 208, 0, 416, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 204, 205, 206, 207, 208, 0, - 421, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 204, 205, 206, - 207, 208, 0, 423, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 204, 205, 206, 207, 208, 0, 567, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 204, 205, 206, 207, 208, 0, 571, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 204, 205, 206, 207, - 208, 0, 572, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 204, - 205, 206, 207, 208, 0, 706, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 204, 205, 206, 207, 208, 0, 897, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 204, 205, 206, 207, 208, - 0, 1118, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 204, 205, - 206, 207, 208, 0, 1123, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 204, 205, 206, 207, 208, 0, 1124, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 204, 205, 206, 207, 208, 0, - 1125, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 204, 205, 206, - 207, 208, 0, 1140, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 204, 205, 206, 207, 208, 0, 1141, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 1240, 0, 0, 0, 0, 0, 1161, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 204, 205, 206, 207, - 208, 0, 1247, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 204, - 205, 206, 207, 208, 0, 1343, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 204, 205, 206, 207, 208, 0, 1372, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 445, 346, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 346, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 415, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 417, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 418, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 420, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 424, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 425, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 430, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 467, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 470, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 476, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 477, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 478, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 479, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 480, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 481, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 482, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 483, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 484, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 485, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 487, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 488, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 489, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 490, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 491, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 492, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 555, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 558, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 568, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 569, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 573, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 574, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 575, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 576, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 577, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 619, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 622, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 676, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 735, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 736, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 737, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 738, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 834, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 899, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 931, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 1023, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 1027, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 1029, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 1152, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 1154, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 1156, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 1176, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 1177, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 1178, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 1325, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 1326, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 1327, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 1406, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 0, 1407, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 0, 1408, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 0, 1454, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 0, 1455, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 0, 1456, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 445, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 446, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 486, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 493, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 494, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 497, 0, 0, 495, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 0, 0, 0, 585, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 586, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 587, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 704, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 0, 0, 0, 705, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 831, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 832, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 844, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 845, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 884, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 0, 0, 0, 911, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 912, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 913, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 914, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 0, 0, 0, 915, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 916, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 917, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 918, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 919, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 920, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 0, 0, 0, 921, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 922, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 976, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 1004, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 0, 0, 0, 1005, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 1017, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 1028, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 1033, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 1036, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 1053, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 0, 0, 0, 1064, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 1065, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 1066, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 1067, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 0, 0, 0, 1068, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 1069, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 1070, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 1071, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 1072, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 1073, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 0, 0, 0, 1074, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 1075, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 1119, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 1149, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 0, 0, 0, 1167, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 1168, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 1169, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 1170, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 1171, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 1172, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 0, 0, 0, 1173, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 1174, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 1175, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 1226, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 0, 0, 0, 1227, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 1228, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 1229, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 1230, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 1231, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 1232, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 0, 0, 0, 1233, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 1234, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 1275, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 1276, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 0, 0, 0, 1277, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 1278, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 1279, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 1280, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 1281, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 1282, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 0, 0, 0, 1283, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 1315, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 1319, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 1320, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 0, 0, 0, 1321, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 1322, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 1323, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 1324, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 1342, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 1347, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 0, 0, 0, 1348, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 1349, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 1350, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 1351, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 0, 0, 0, 1352, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 1375, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 1376, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 1377, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 1378, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 1379, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218, 0, 0, 0, 1380, 204, 205, 206, 207, - 208, 0, 0, 0, 0, 0, 209, 210, 211, 212, - 267, 268, 215, 216, 217, 0, 0, 0, 218, 0, - 0, 0, 1403, 204, 205, 206, 207, 208, 0, 0, - 0, 0, 0, 209, 210, 211, 212, 267, 268, 215, - 216, 217, 0, 0, 0, 218, 0, 0, 0, 1404, - 204, 205, 206, 207, 208, 0, 0, 0, 0, 0, - 209, 210, 211, 212, 267, 268, 215, 216, 217, 0, - 0, 0, 218, 0, 0, 0, 1405, 204, 205, 206, - 207, 208, 0, 0, 0, 0, 0, 209, 210, 211, - 212, 267, 268, 215, 216, 217, 0, 0, 0, 218, - 0, 0, 0, 1417, 204, 205, 206, 207, 208, 0, - 0, 0, 0, 0, 209, 210, 211, 212, 267, 268, - 215, 216, 217, 0, 0, 0, 218, 0, 0, 0, - 1418, 204, 205, 206, 207, 208, 0, 0, 0, 0, - 0, 209, 210, 211, 212, 267, 268, 215, 216, 217, - 0, 0, 0, 218, 0, 0, 0, 1419, 204, 205, - 206, 207, 208, 0, 0, 0, 0, 0, 209, 210, - 211, 212, 267, 268, 215, 216, 217, 0, 0, 0, - 218, 0, 0, 0, 1434, 204, 205, 206, 207, 208, - 0, 0, 0, 0, 0, 209, 210, 211, 212, 267, - 268, 215, 216, 217, 0, 0, 0, 218, 0, 0, - 0, 1435, 204, 205, 206, 207, 208, 0, 0, 0, - 0, 0, 209, 210, 211, 212, 267, 268, 215, 216, - 217, 0, 0, 0, 218, 0, 0, 0, 1436, 204, - 205, 206, 207, 208, 0, 0, 0, 0, 0, 209, - 210, 211, 212, 267, 268, 215, 216, 217, 0, 0, - 0, 218 + 0, 1187, 1188, 679, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 1206, 223, 209, 210, 211, + 212, 213, 694, 0, 0, 0, 0, 214, 215, 216, + 217, 218, 219, 220, 221, 222, 0, 0, 103, 223, + 0, 0, 104, 0, 0, 716, 0, 0, 0, 0, + 0, 0, 0, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 1244, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 985, 1256, 223, 0, 0, 0, 906, + 0, 0, 907, 0, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 986, 0, 223, 0, 0, 0, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 1300, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 1113, + 0, 0, 223, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 1115, 0, 0, 223, 0, 0, 0, 0, + 0, 0, 209, 210, 211, 212, 213, 1338, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 1117, 0, 0, 223, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 1364, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 1119, 0, 0, 223, 0, 0, + 0, 0, 0, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 1394, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 1120, 0, 0, 223, 0, 0, 0, 0, + 0, 0, 0, 0, 209, 210, 211, 212, 213, 0, + 0, 1415, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 1121, 0, 1429, 223, 0, 0, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 1122, 0, + 0, 223, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 1150, 0, 0, 223, 0, 0, 0, 0, 0, + 0, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 502, 0, 0, 223, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 568, 0, 0, 223, 0, 0, 0, + 0, 0, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 799, 0, 0, 223, 0, 0, 0, 0, 0, + 0, 0, 0, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 0, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 0, 0, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 27, 28, 29, 30, 31, 32, 33, 34, + 0, 35, 0, 37, 38, 0, 40, 41, 0, 0, + 27, 28, 29, 30, 31, 32, 33, 34, 0, 35, + 0, 37, 38, 53, 40, 41, 0, 0, 0, -3, + 22, 0, 0, 23, 0, 0, 0, 54, 55, 0, + 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 55, 0, 0, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 0, 35, 36, 37, 38, 39, 40, 41, 0, 0, + 0, 42, 43, 44, 45, 46, 47, 0, 48, 49, + 50, 51, 52, 53, 0, 63, 0, 0, 0, 0, + 0, 225, 0, 0, 0, 0, 0, 54, 55, 0, + 0, 0, 0, 63, 56, 57, 0, 58, 59, 60, + 61, 62, 0, 0, 0, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 464, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 0, 468, 0, 0, 0, 0, 680, 226, 227, + 228, 0, 0, 0, 0, 63, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 0, 0, 0, 0, + 0, 0, 0, 0, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 0, 249, 250, 251, 252, 253, + 254, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 740, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 814, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 1044, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 1061, 0, 0, 1062, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 1202, 0, 0, 1203, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 209, 210, 211, 212, 213, 0, 422, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 209, 210, 211, 212, + 213, 0, 427, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 209, + 210, 211, 212, 213, 0, 429, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 209, 210, 211, 212, 213, 0, 573, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 209, 210, 211, 212, 213, + 0, 577, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 209, 210, + 211, 212, 213, 0, 578, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 209, 210, 211, 212, 213, 0, 712, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 1088, 0, 0, 0, 0, 0, + 903, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 209, 210, 211, + 212, 213, 0, 1124, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 209, 210, 211, 212, 213, 0, 1129, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 209, 210, 211, 212, 213, 0, 1130, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 209, 210, 211, 212, + 213, 0, 1131, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 209, + 210, 211, 212, 213, 0, 1146, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 209, 210, 211, 212, 213, 0, 1147, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 1246, 0, 0, 0, 0, + 0, 1167, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 209, 210, + 211, 212, 213, 0, 1253, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 209, 210, 211, 212, 213, 0, 1349, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 209, 210, 211, 212, 213, 0, + 1378, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 451, 352, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 352, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 421, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 423, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 424, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 426, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 430, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 431, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 436, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 473, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 476, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 482, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 483, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 484, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 485, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 486, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 487, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 488, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 489, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 490, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 491, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 493, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 494, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 495, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 496, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 497, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 498, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 561, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 564, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 574, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 575, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 579, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 580, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 581, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 582, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 583, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 625, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 628, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 682, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 741, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 742, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 743, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 744, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 840, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 905, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 937, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 1029, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 1033, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 1035, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 1158, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 1160, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 1162, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 1182, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 1183, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 1184, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 1331, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 1332, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 1333, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 1412, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 0, 1413, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 0, 1414, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 0, 1460, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 0, 1461, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 0, 1462, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 451, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 452, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 492, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 499, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 500, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 503, 0, 0, 501, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 591, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 592, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 593, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 710, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 0, 0, 0, 711, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 837, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 838, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 850, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 851, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 890, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 917, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 918, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 919, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 920, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 0, 0, 0, 921, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 922, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 923, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 924, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 925, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 926, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 927, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 928, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 982, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 1010, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 0, 0, 0, 1011, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 1023, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 1034, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 1039, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 1042, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 1059, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 1070, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 1071, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 1072, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 1073, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 0, 0, 0, 1074, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 1075, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 1076, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 1077, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 1078, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 1079, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 1080, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 1081, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 1125, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 1155, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 0, 0, 0, 1173, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 1174, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 1175, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 1176, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 1177, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 1178, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 1179, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 1180, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 1181, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 1232, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 0, 0, 0, 1233, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 1234, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 1235, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 1236, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 1237, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 1238, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 1239, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 1240, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 1281, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 1282, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 0, 0, 0, 1283, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 1284, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 1285, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 1286, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 1287, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 1288, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 1289, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 1321, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 1325, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 1326, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 0, 0, 0, 1327, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 1328, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 1329, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 1330, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 1348, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 1353, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 1354, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 1355, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 1356, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 1357, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 0, 0, 0, 1358, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 1381, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 1382, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 1383, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 1384, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 0, + 1385, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 0, 0, 0, 1386, 209, 210, + 211, 212, 213, 0, 0, 0, 0, 0, 214, 215, + 216, 217, 272, 273, 220, 221, 222, 0, 0, 0, + 223, 0, 0, 0, 1409, 209, 210, 211, 212, 213, + 0, 0, 0, 0, 0, 214, 215, 216, 217, 272, + 273, 220, 221, 222, 0, 0, 0, 223, 0, 0, + 0, 1410, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 214, 215, 216, 217, 272, 273, 220, 221, + 222, 0, 0, 0, 223, 0, 0, 0, 1411, 209, + 210, 211, 212, 213, 0, 0, 0, 0, 0, 214, + 215, 216, 217, 272, 273, 220, 221, 222, 0, 0, + 0, 223, 0, 0, 0, 1423, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 214, 215, 216, 217, + 272, 273, 220, 221, 222, 0, 0, 0, 223, 0, + 0, 0, 1424, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 214, 215, 216, 217, 272, 273, 220, + 221, 222, 0, 0, 0, 223, 0, 0, 0, 1425, + 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, + 214, 215, 216, 217, 272, 273, 220, 221, 222, 0, + 0, 0, 223, 0, 0, 0, 1440, 209, 210, 211, + 212, 213, 0, 0, 0, 0, 0, 214, 215, 216, + 217, 272, 273, 220, 221, 222, 0, 0, 0, 223, + 0, 0, 0, 1441, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223, 0, 0, 1336, + 1442, 209, 210, 211, 212, 213, 0, 0, 0, 0, + 0, 214, 215, 216, 217, 272, 273, 220, 221, 222, + 0, 0, 0, 223, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 214, 215, 216, 217, 272, 273, + 220, 221, 222, 0, 0, 0, 223 }; static const short yycheck[] = { 7, - 112, 304, 4, 990, 4, 6, 37, 925, 6, 81, - 4, 6, 4, 58, 4, 4, 169, 58, 26, 6, - 173, 60, 60, 6, 7, 4, 65, 65, 6, 146, - 147, 5, 43, 44, 157, 158, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 138, 851, 170, 165, 157, - 158, 157, 158, 157, 158, 860, 6, 44, 157, 158, - 7, 169, 867, 169, 172, 169, 172, 6, 172, 63, - 6, 63, 171, 63, 63, 157, 158, 157, 158, 159, - 160, 161, 165, 157, 158, 165, 50, 51, 171, 171, - 98, 99, 100, 101, 102, 84, 168, 171, 6, 1017, - 6, 157, 158, 7, 6, 168, 6, 115, 116, 117, - 118, 119, 165, 33, 170, 6, 36, 37, 171, 127, - 128, 129, 130, 168, 132, 133, 171, 135, 136, 137, - 171, 139, 33, 172, 172, 36, 37, 168, 39, 6, - 151, 157, 158, 154, 157, 158, 60, 155, 156, 160, - 7, 65, 33, 169, 6, 36, 169, 157, 158, 157, - 158, 7, 157, 158, 172, 6, 174, 175, 168, 171, - 171, 171, 180, 181, 182, 183, 184, 185, 186, 187, + 115, 309, 4, 6, 857, 6, 4, 37, 996, 931, + 6, 60, 81, 866, 60, 4, 65, 58, 26, 65, + 873, 4, 58, 4, 4, 172, 171, 4, 6, 176, + 6, 6, 43, 44, 5, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 33, + 160, 161, 36, 37, 6, 39, 44, 160, 161, 6, + 171, 6, 172, 174, 63, 175, 160, 161, 160, 161, + 63, 174, 63, 63, 160, 161, 160, 161, 172, 6, + 7, 175, 174, 101, 102, 103, 104, 105, 174, 173, + 7, 1023, 171, 84, 141, 7, 6, 160, 161, 7, + 118, 119, 120, 121, 122, 33, 172, 173, 36, 37, + 173, 6, 130, 131, 132, 133, 175, 135, 136, 175, + 138, 139, 140, 174, 142, 171, 160, 161, 174, 168, + 6, 171, 6, 154, 175, 174, 157, 168, 172, 6, + 158, 159, 163, 174, 160, 161, 175, 160, 161, 160, + 161, 6, 160, 161, 160, 161, 172, 175, 6, 177, + 178, 1024, 174, 171, 6, 1028, 174, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 171, 171, 168, 6, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 1199, 1018, 3, 4, 168, 1022, 157, 158, + 198, 199, 200, 201, 202, 203, 204, 174, 174, 174, + 171, 209, 210, 211, 212, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 1205, 160, 161, + 171, 3, 4, 160, 161, 160, 161, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 171, 7, + 152, 153, 154, 155, 152, 153, 154, 155, 60, 33, + 160, 161, 36, 65, 272, 273, 172, 169, 170, 175, + 278, 169, 170, 281, 176, 160, 161, 285, 162, 163, + 164, 289, 290, 291, 168, 293, 294, 295, 296, 297, + 298, 299, 169, 170, 6, 306, 307, 160, 161, 1152, + 1153, 1154, 1155, 311, 312, 313, 1159, 318, 6, 172, + 160, 161, 175, 50, 51, 171, 324, 3, 4, 5, + 171, 329, 172, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 160, 161, 160, 161, 171, 0, + 1, 174, 3, 171, 36, 37, 172, 39, 172, 160, + 161, 172, 173, 171, 146, 147, 148, 149, 150, 1222, + 1223, 172, 41, 1226, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 37, 172, 167, 168, 175, 172, 171, + 167, 175, 174, 170, 152, 153, 154, 155, 409, 410, + 411, 409, 410, 411, 412, 413, 172, 171, 416, 175, + 418, 169, 170, 37, 6, 160, 161, 162, 163, 164, + 37, 172, 1275, 168, 175, 0, 1, 435, 3, 169, + 170, 39, 440, 52, 53, 54, 55, 448, 57, 172, + 174, 5, 175, 451, 452, 174, 96, 97, 98, 99, + 100, 172, 460, 172, 175, 172, 175, 49, 175, 467, + 111, 112, 113, 114, 115, 116, 117, 118, 172, 477, + 1323, 175, 174, 481, 160, 161, 172, 172, 37, 175, + 175, 167, 174, 6, 492, 171, 137, 138, 174, 140, + 5, 499, 500, 501, 502, 172, 171, 171, 175, 1352, + 8, 6, 5, 4, 3, 4, 5, 4, 37, 817, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 157, 158, 166, 167, 149, 150, 151, 152, 157, - 158, 157, 158, 169, 6, 157, 158, 157, 158, 267, - 268, 168, 166, 167, 171, 273, 157, 158, 276, 173, - 169, 170, 280, 159, 160, 161, 284, 285, 286, 165, - 288, 289, 290, 291, 292, 293, 294, 169, 170, 168, - 301, 302, 149, 150, 151, 152, 157, 158, 306, 307, - 308, 6, 313, 149, 150, 151, 152, 41, 169, 166, - 167, 319, 168, 36, 37, 323, 39, 166, 167, 37, - 166, 167, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 169, 168, 168, 172, 157, 158, - 168, 1146, 1147, 1148, 1149, 8, 0, 1, 1153, 3, - 169, 157, 158, 168, 143, 144, 145, 146, 147, 168, - 37, 37, 171, 169, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 39, 169, 164, 165, 172, 169, 168, - 5, 172, 171, 6, 52, 53, 54, 55, 169, 57, - 37, 172, 403, 404, 405, 403, 404, 405, 406, 407, - 169, 171, 410, 172, 412, 93, 94, 95, 96, 97, - 169, 1216, 1217, 172, 169, 1220, 169, 172, 6, 172, - 169, 429, 169, 172, 169, 172, 434, 172, 172, 169, - 169, 442, 172, 172, 171, 171, 169, 445, 446, 172, - 164, 171, 5, 167, 6, 5, 454, 168, 168, 168, - 37, 173, 168, 461, 108, 109, 110, 111, 112, 113, - 114, 115, 168, 471, 1269, 168, 168, 475, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 486, 168, - 143, 144, 145, 146, 147, 493, 494, 495, 496, 168, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 168, - 5, 168, 165, 168, 168, 6, 6, 170, 811, 6, - 5, 168, 1317, 168, 173, 171, 168, 168, 171, 168, - 143, 144, 145, 146, 147, 536, 171, 535, 536, 537, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 168, - 551, 1346, 165, 171, 168, 171, 168, 168, 6, 6, - 662, 171, 168, 165, 562, 563, 5, 168, 0, 1, - 168, 3, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 579, 168, 168, 585, 586, 587, 168, 3, 4, - 5, 170, 168, 168, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 169, 174, 615, 616, 168, - 618, 168, 168, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 633, 631, 632, 165, 168, 168, 1433, 168, - 168, 642, 3, 4, 5, 168, 168, 168, 9, 10, + 29, 542, 176, 541, 542, 543, 111, 112, 113, 114, + 115, 116, 117, 118, 172, 171, 557, 175, 171, 171, + 171, 171, 5, 668, 146, 147, 148, 149, 150, 171, + 568, 569, 171, 6, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 171, 171, 171, 168, 585, 171, 6, + 591, 592, 593, 171, 171, 171, 1439, 171, 171, 171, + 171, 171, 171, 171, 141, 6, 149, 150, 5, 146, + 171, 171, 174, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 174, 621, 622, 168, 624, 171, 174, 171, + 171, 171, 169, 171, 6, 171, 173, 174, 639, 637, + 638, 171, 6, 176, 6, 174, 174, 648, 146, 147, + 148, 149, 150, 174, 6, 171, 168, 171, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 171, 171, 171, + 168, 160, 161, 5, 171, 173, 172, 171, 167, 171, + 7, 171, 171, 171, 7, 174, 171, 171, 171, 987, + 171, 6, 171, 171, 171, 171, 171, 695, 171, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 171, 171, + 708, 168, 710, 711, 173, 171, 171, 171, 171, 171, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 171, 171, 171, 171, 177, 172, 172, 737, + 7, 739, 3, 4, 176, 7, 82, 745, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 168, - 168, 168, 168, 173, 7, 169, 108, 109, 110, 111, - 112, 113, 114, 115, 7, 169, 7, 7, 981, 5, - 82, 689, 174, 5, 5, 5, 5, 5, 5, 126, - 6, 5, 134, 135, 702, 137, 704, 705, 5, 5, - 5, 5, 5, 5, 712, 713, 714, 715, 716, 717, - 718, 719, 720, 721, 722, 723, 5, 5, 5, 5, - 5, 5, 5, 731, 5, 733, 5, 5, 5, 5, - 5, 739, 157, 158, 6, 138, 3, 5, 4, 164, - 143, 5, 5, 168, 6, 6, 171, 6, 174, 7, - 6, 172, 7, 7, 7, 6, 6, 172, 7, 7, - 7, 873, 171, 166, 171, 7, 7, 170, 171, 168, - 140, 169, 169, 781, 169, 786, 169, 49, 169, 169, - 169, 169, 169, 169, 169, 793, 157, 158, 169, 169, - 798, 799, 169, 164, 169, 169, 169, 168, 5, 7, - 171, 812, 169, 814, 169, 816, 169, 169, 169, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 169, 169, 831, 832, 169, 6, 143, 144, 145, - 146, 147, 169, 6, 842, 169, 844, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 854, 170, 173, 165, - 7, 7, 7, 861, 862, 863, 169, 169, 169, 169, - 868, 7, 171, 7, 872, 7, 874, 7, 7, 7, - 7, 143, 144, 145, 146, 147, 884, 7, 7, 6, - 3, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 7, 7, 900, 165, 168, 168, 136, 168, 168, 168, - 3, 3, 3, 911, 912, 913, 914, 915, 916, 917, - 918, 919, 920, 921, 922, 172, 168, 3, 3, 3, - 159, 3, 4, 168, 168, 168, 934, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 168, 168, - 168, 3, 3, 6, 3, 3, 967, 968, 969, 967, - 968, 969, 970, 971, 972, 973, 3, 975, 976, 3, - 143, 144, 145, 146, 147, 3, 6, 985, 986, 987, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 5, - 5, 3, 165, 3, 173, 6, 1004, 1005, 6, 6, - 6, 6, 6, 1011, 171, 6, 83, 173, 169, 169, - 174, 170, 1020, 4, 6, 169, 6, 170, 169, 169, - 1028, 170, 169, 6, 169, 1033, 6, 170, 1036, 170, - 6, 6, 6, 169, 169, 169, 169, 169, 169, 6, - 6, 6, 170, 169, 169, 169, 6, 1055, 169, 169, - 6, 170, 6, 6, 6, 169, 1064, 1065, 1066, 1067, - 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 173, 169, - 6, 6, 6, 4, 1082, 157, 158, 173, 7, 3, - 83, 6, 164, 3, 6, 159, 168, 6, 6, 171, - 143, 144, 145, 146, 147, 3, 6, 3, 3, 6, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 6, - 6, 1119, 165, 143, 144, 145, 146, 147, 3, 3, - 3, 84, 4, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 6, 171, 80, 165, 172, 1145, 171, 6, - 6, 170, 169, 169, 169, 83, 170, 169, 169, 169, - 553, 554, 170, 556, 173, 6, 170, 560, 561, 1167, - 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 143, 144, - 145, 146, 147, 170, 170, 1183, 169, 171, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 169, 1196, 170, - 165, 143, 144, 145, 146, 147, 3, 6, 6, 3, - 6, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 6, 6, 6, 165, 617, 6, 6, 620, 1226, 1227, - 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, - 3, 6, 1240, 5, 173, 6, 639, 640, 4, 172, - 5, 171, 645, 646, 6, 4, 169, 5, 169, 652, - 6, 654, 169, 169, 6, 170, 170, 169, 169, 1267, - 1268, 170, 6, 6, 6, 169, 169, 1275, 1276, 1277, - 1278, 1279, 1280, 1281, 1282, 1283, 1284, 680, 1286, 682, - 1288, 6, 6, 6, 1292, 6, 6, 690, 691, 692, - 5, 169, 695, 696, 697, 698, 699, 700, 701, 172, - 169, 169, 80, 6, 6, 170, 1314, 1315, 170, 169, - 169, 1319, 1320, 1321, 1322, 1323, 1324, 33, 34, 35, - 36, 37, 38, 39, 40, 169, 42, 169, 44, 45, - 171, 47, 48, 171, 1342, 171, 5, 5, 172, 1347, - 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 64, 6, - 171, 169, 169, 172, 170, 170, 6, 6, 172, 6, - 6, 80, 78, 79, 6, 6, 6, 1375, 1376, 1377, - 1378, 1379, 1380, 1381, 171, 1383, 169, 1385, 142, 171, - 169, 169, 169, 6, 6, 171, 171, 169, 6, 170, - 6, 6, 6, 169, 171, 1403, 1404, 1405, 6, 169, - 6, 6, 171, 171, 6, 6, 169, 6, 6, 1417, - 1418, 1419, 1420, 1421, 1422, 170, 0, 133, 171, 0, - 171, 171, 1165, 6, 589, 836, 1434, 1435, 1436, 1437, - 6, 1439, 6, 1441, -1, 838, -1, 840, -1, -1, - -1, 563, 845, 6, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1461, 1462, 1463, 172, -1, -1, -1, - -1, 864, 1470, -1, 1472, -1, 1474, 3, 4, -1, - -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 177, + 5, 5, 5, 5, 879, 5, 5, 5, 5, 5, + 5, 5, 146, 147, 148, 149, 150, 5, 5, 787, + 5, 792, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 799, 5, 5, 168, 5, 804, 805, 5, 5, + 5, 5, 5, 5, 5, 129, 5, 818, 5, 820, + 5, 822, 3, 5, 7, 5, 4, 6, 5, 177, + 6, 146, 147, 148, 149, 150, 6, 6, 6, 837, + 838, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 848, 7, 850, 168, 7, 7, 6, 175, 7, 7, + 7, 174, 860, 175, 174, 7, 171, 7, 143, 867, + 868, 869, 172, 172, 172, 172, 874, 172, 172, 172, + 878, 172, 880, 172, 172, 172, 172, 172, 172, 172, + 172, 172, 890, 172, 172, 172, 172, 5, 172, 160, + 161, 172, 172, 172, 172, 6, 167, 172, 906, 172, + 171, 7, 172, 174, 172, 7, 173, 172, 7, 917, + 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, + 928, 176, 174, 7, 7, 7, 7, 7, 7, 3, + 4, 7, 940, 3, 7, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 7, 7, 6, 3, + 171, 7, 973, 974, 975, 973, 974, 975, 976, 977, + 978, 979, 7, 981, 982, 171, 3, 171, 6, 3, + 3, 3, 3, 991, 992, 993, 171, 171, 171, 171, + 171, 139, 162, 3, 171, 171, 171, 171, 3, 3, + 3, 3, 1010, 1011, 3, 3, 6, 3, 5, 1017, + 5, 3, 559, 560, 83, 562, 172, 6, 1026, 566, + 567, 176, 6, 6, 6, 6, 1034, 174, 6, 172, + 176, 1039, 173, 172, 1042, 173, 8, 172, 4, 173, + 172, 172, 172, 33, 34, 35, 36, 37, 38, 39, + 40, 173, 42, 1061, 44, 45, 173, 47, 48, 172, + 172, 177, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, + 1078, 1079, 1080, 1081, 64, 172, 623, 172, 172, 626, + 1088, 172, 6, 173, 172, 172, 160, 161, 78, 79, + 176, 6, 6, 167, 172, 172, 6, 171, 645, 646, + 174, 172, 6, 6, 651, 652, 173, 172, 172, 6, + 6, 658, 6, 660, 6, 6, 6, 1125, 146, 147, + 148, 149, 150, 6, 176, 6, 6, 6, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 7, 83, 686, + 168, 688, 4, 1151, 3, 6, 136, 3, 6, 696, + 697, 698, 6, 162, 701, 702, 703, 704, 705, 706, + 707, 6, 3, 6, 3, 1173, 1174, 1175, 1176, 1177, + 1178, 1179, 1180, 1181, 146, 147, 148, 149, 150, 6, + 6, 1189, 3, 6, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 3, 1202, 3, 168, 3, 4, 3, + 84, 6, 4, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, -1, -1, -1, -1, 3, 4, - -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 3, 4, -1, -1, -1, - -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 3, 4, -1, -1, -1, -1, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, 1007, 6, -1, 1010, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 157, 158, -1, -1, -1, -1, 1030, 164, 6, - -1, -1, 168, -1, -1, 171, -1, -1, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, 1061, 164, - 165, -1, -1, 168, 6, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 136, -1, -1, -1, -1, 157, - 158, 143, 144, 145, 146, 147, 164, 6, -1, -1, - 168, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, 157, 158, -1, -1, - 6, -1, -1, 164, -1, -1, -1, 168, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 6, -1, -1, -1, -1, -1, 1142, - 1143, -1, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, 1166, 165, -1, 143, 144, 145, 146, - 147, 6, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, -1, -1, -1, 6, -1, -1, -1, - -1, 143, 144, 145, 146, 147, -1, -1, -1, -1, - 1213, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, 1225, 165, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 6, -1, -1, 165, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 1270, 6, 165, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, 6, 165, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 143, 144, - 145, 146, 147, -1, 6, 1318, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, 143, 144, 145, 146, 147, 6, -1, - -1, -1, 1345, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, -1, - -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, - 1373, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 143, 144, 145, 146, 147, 6, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 1402, - -1, -1, 165, -1, -1, 143, 144, 145, 146, 147, - 8, -1, -1, 1416, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, 143, 144, - 145, 146, 147, 8, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, 143, 144, 145, 146, 147, 8, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, 143, 144, 145, 146, 147, - 8, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, 33, 34, - 35, 36, 37, 38, 39, 40, -1, 42, -1, 44, - 45, -1, 47, 48, -1, 0, 1, -1, 141, 4, - 143, 144, 145, 146, 147, -1, -1, -1, -1, 64, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, 78, 79, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, - 45, 46, 47, 48, -1, -1, -1, 52, 53, 54, - 55, 56, 57, -1, 59, 60, 61, 62, 63, 64, + 26, 27, 28, 29, 1232, 1233, 1234, 1235, 1236, 1237, + 1238, 1239, 1240, 1241, 1242, 1243, 3, 4, 1246, 174, + 80, 175, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 174, 6, 1273, 1274, 173, 173, 176, + 172, 172, 172, 1281, 1282, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 1290, 172, 1292, 172, 1294, 173, 173, 6, + 1298, 173, 83, 6, 172, 3, 173, 844, 172, 846, + 6, 173, 6, 172, 851, 6, 174, 3, 6, 6, + 3, 6, 1320, 1321, 6, 6, 6, 1325, 1326, 1327, + 1328, 1329, 1330, 870, 6, 5, 176, 6, 4, 175, + 5, 173, 6, 4, 6, 172, 174, 172, 172, 172, + 1348, 173, 172, 6, 173, 1353, 1354, 1355, 1356, 1357, + 1358, 1359, 1360, 1361, 160, 161, 172, 172, 172, 6, + 6, 167, 6, 6, 6, 171, 6, 6, 6, 5, + 173, 6, 5, 1381, 1382, 1383, 1384, 1385, 1386, 1387, + 172, 1389, 175, 1391, 172, 172, 80, 173, 172, 172, + 172, 172, 6, 160, 161, 6, 174, 174, 174, 6, + 167, 1409, 1410, 1411, 171, 5, 5, 175, 6, 174, + 172, 172, 175, 173, 173, 1423, 1424, 1425, 1426, 1427, + 1428, 6, 175, 80, 6, 6, 6, 6, 6, 6, + 6, 174, 1440, 1441, 1442, 1443, 172, 1445, 172, 1447, + 146, 147, 148, 149, 150, 145, 172, 172, 6, 172, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 1467, + 1468, 1469, 168, 174, 6, 174, 1013, 174, 1476, 1016, + 1478, 173, 1480, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 172, 3, 4, 172, 174, 172, 1036, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 146, 147, 148, 149, 150, 174, 6, 174, 173, + 1067, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 6, 0, 0, 168, 595, 146, 147, 148, 149, 150, + 174, 6, 174, 174, 6, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 6, 6, 1171, 168, 569, 842, + -1, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 6, -1, -1, 168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 36, -1, -1, 78, 79, -1, -1, -1, 133, -1, - 85, 86, -1, 88, 89, 33, 34, 35, 36, 37, - 38, 39, 40, -1, 42, -1, 44, 45, -1, 47, - 48, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 64, 172, -1, -1, - -1, -1, -1, -1, 90, 91, 92, -1, 133, -1, - 78, 79, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, -1, -1, -1, -1, -1, -1, -1, -1, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - -1, 127, 128, 129, 130, 131, 132, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 143, 144, 145, 146, - 147, -1, -1, -1, -1, 133, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, 143, - 144, 145, 146, 147, -1, -1, -1, -1, 175, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, 143, 144, 145, 146, 147, -1, -1, -1, - -1, 175, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, 143, 144, 145, 146, 147, - -1, -1, -1, -1, 175, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, 143, 144, - 145, 146, 147, -1, -1, -1, -1, 175, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, -1, -1, 172, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, -1, -1, 172, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, -1, -1, 172, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, 143, 144, 145, 146, 147, -1, 172, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, 143, 144, 145, 146, 147, -1, - 172, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, 143, 144, 145, - 146, 147, -1, 172, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - 143, 144, 145, 146, 147, -1, 172, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, 143, 144, 145, 146, 147, -1, 172, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, 143, 144, 145, 146, - 147, -1, 172, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, 143, - 144, 145, 146, 147, -1, 172, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, 143, 144, 145, 146, 147, -1, 172, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, 143, 144, 145, 146, 147, - -1, 172, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, 143, 144, - 145, 146, 147, -1, 172, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, 143, 144, 145, 146, 147, -1, 172, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, 143, 144, 145, 146, 147, -1, - 172, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, 143, 144, 145, - 146, 147, -1, 172, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - 143, 144, 145, 146, 147, -1, 172, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, 136, -1, -1, -1, -1, -1, 172, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, 143, 144, 145, 146, - 147, -1, 172, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, 143, - 144, 145, 146, 147, -1, 172, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, 143, 144, 145, 146, 147, -1, 172, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - -1, 170, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, -1, 170, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, -1, 170, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, -1, 170, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, -1, 170, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, 139, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, 169, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, 169, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, 169, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, 169, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, 169, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, 169, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, 169, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, 169, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, 169, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, 169, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, 169, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, 169, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, 169, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, 169, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, 169, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, 169, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, 169, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, 169, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165, -1, -1, -1, 169, 143, 144, 145, 146, - 147, -1, -1, -1, -1, -1, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, -1, -1, 165, -1, - -1, -1, 169, 143, 144, 145, 146, 147, -1, -1, - -1, -1, -1, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, -1, -1, 165, -1, -1, -1, 169, - 143, 144, 145, 146, 147, -1, -1, -1, -1, -1, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - -1, -1, 165, -1, -1, -1, 169, 143, 144, 145, - 146, 147, -1, -1, -1, -1, -1, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, -1, -1, 165, - -1, -1, -1, 169, 143, 144, 145, 146, 147, -1, - -1, -1, -1, -1, 153, 154, 155, 156, 157, 158, - 159, 160, 161, -1, -1, -1, 165, -1, -1, -1, - 169, 143, 144, 145, 146, 147, -1, -1, -1, -1, - -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, -1, -1, 165, -1, -1, -1, 169, 143, 144, - 145, 146, 147, -1, -1, -1, -1, -1, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, -1, -1, - 165, -1, -1, -1, 169, 143, 144, 145, 146, 147, - -1, -1, -1, -1, -1, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, -1, -1, 165, -1, -1, - -1, 169, 143, 144, 145, 146, 147, -1, -1, -1, - -1, -1, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, -1, -1, 165, -1, -1, -1, 169, 143, - 144, 145, 146, 147, -1, -1, -1, -1, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, -1, - -1, 165 + -1, 1148, 1149, 6, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, 1172, 168, 146, 147, 148, + 149, 150, 6, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, 167, 168, + -1, -1, 171, -1, -1, 6, -1, -1, -1, -1, + -1, -1, -1, 146, 147, 148, 149, 150, -1, -1, + -1, -1, 1219, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 6, 1231, 168, -1, -1, -1, 172, + -1, -1, 175, -1, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, 6, -1, 168, -1, -1, -1, + 146, 147, 148, 149, 150, -1, -1, -1, -1, 1276, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 6, + -1, -1, 168, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 6, -1, -1, 168, -1, -1, -1, -1, + -1, -1, 146, 147, 148, 149, 150, 1324, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 6, -1, -1, 168, 146, 147, 148, 149, 150, + -1, -1, -1, -1, 1351, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 6, -1, -1, 168, -1, -1, + -1, -1, -1, 146, 147, 148, 149, 150, -1, -1, + -1, -1, 1379, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 6, -1, -1, 168, -1, -1, -1, -1, + -1, -1, -1, -1, 146, 147, 148, 149, 150, -1, + -1, 1408, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 6, -1, 1422, 168, -1, -1, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 6, -1, + -1, 168, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 6, -1, -1, 168, -1, -1, -1, -1, -1, + -1, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 8, -1, -1, 168, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 8, -1, -1, 168, -1, -1, -1, + -1, -1, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 8, -1, -1, 168, -1, -1, -1, -1, -1, + -1, -1, -1, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, -1, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, -1, -1, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, 33, 34, 35, 36, 37, 38, 39, 40, + -1, 42, -1, 44, 45, -1, 47, 48, -1, -1, + 33, 34, 35, 36, 37, 38, 39, 40, -1, 42, + -1, 44, 45, 64, 47, 48, -1, -1, -1, 0, + 1, -1, -1, 4, -1, -1, -1, 78, 79, -1, + -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 78, 79, -1, -1, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + -1, 42, 43, 44, 45, 46, 47, 48, -1, -1, + -1, 52, 53, 54, 55, 56, 57, -1, 59, 60, + 61, 62, 63, 64, -1, 136, -1, -1, -1, -1, + -1, 36, -1, -1, -1, -1, -1, 78, 79, -1, + -1, -1, -1, 136, 85, 86, -1, 88, 89, 90, + 91, 92, -1, -1, -1, 146, 147, 148, 149, 150, + -1, -1, -1, -1, 175, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, -1, 175, -1, -1, -1, -1, 178, 93, 94, + 95, -1, -1, -1, -1, 136, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, -1, -1, -1, -1, + -1, -1, -1, -1, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, -1, 130, 131, 132, 133, 134, + 135, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, 146, 147, 148, 149, 150, -1, + -1, -1, -1, 178, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, 146, 147, 148, + 149, 150, -1, -1, -1, -1, 178, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + 146, 147, 148, 149, 150, -1, -1, -1, -1, 178, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, -1, -1, 175, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, -1, -1, 175, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, 146, 147, 148, 149, 150, -1, 175, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, 146, 147, 148, 149, + 150, -1, 175, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, 146, + 147, 148, 149, 150, -1, 175, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, 146, 147, 148, 149, 150, -1, 175, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, 146, 147, 148, 149, 150, + -1, 175, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, 146, 147, + 148, 149, 150, -1, 175, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, 146, 147, 148, 149, 150, -1, 175, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, 139, -1, -1, -1, -1, -1, + 175, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, 146, 147, 148, + 149, 150, -1, 175, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + 146, 147, 148, 149, 150, -1, 175, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, 146, 147, 148, 149, 150, -1, 175, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, 146, 147, 148, 149, + 150, -1, 175, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, 146, + 147, 148, 149, 150, -1, 175, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, 146, 147, 148, 149, 150, -1, 175, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, 139, -1, -1, -1, -1, + -1, 175, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, 146, 147, + 148, 149, 150, -1, 175, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, 146, 147, 148, 149, 150, -1, 175, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, 146, 147, 148, 149, 150, -1, + 175, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, -1, 173, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + -1, 173, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, -1, 173, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, -1, 173, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, -1, 173, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, 142, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, -1, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, -1, -1, -1, 172, 146, 147, + 148, 149, 150, -1, -1, -1, -1, -1, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, -1, -1, + 168, -1, -1, -1, 172, 146, 147, 148, 149, 150, + -1, -1, -1, -1, -1, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, -1, -1, 168, -1, -1, + -1, 172, 146, 147, 148, 149, 150, -1, -1, -1, + -1, -1, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, -1, -1, 168, -1, -1, -1, 172, 146, + 147, 148, 149, 150, -1, -1, -1, -1, -1, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, -1, + -1, 168, -1, -1, -1, 172, 146, 147, 148, 149, + 150, -1, -1, -1, -1, -1, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, -1, -1, 168, -1, + -1, -1, 172, 146, 147, 148, 149, 150, -1, -1, + -1, -1, -1, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, -1, -1, 168, -1, -1, -1, 172, + 146, 147, 148, 149, 150, -1, -1, -1, -1, -1, + 156, 157, 158, 159, 160, 161, 162, 163, 164, -1, + -1, -1, 168, -1, -1, -1, 172, 146, 147, 148, + 149, 150, -1, -1, -1, -1, -1, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, -1, -1, 168, + -1, -1, -1, 172, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168, -1, -1, 144, + 172, 146, 147, 148, 149, 150, -1, -1, -1, -1, + -1, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, -1, -1, 168, 146, 147, 148, 149, 150, -1, + -1, -1, -1, -1, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, -1, -1, 168 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/local/share/bison.simple" +#line 3 "/usr/lib/bison.simple" +/* This file comes from bison-1.28. */ /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -2605,46 +2597,66 @@ static const short yycheck[] = { 7, You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ -#ifndef alloca +/* This is the parser code that is written into each bison parser + when the %semantic_parser declaration is not specified in the grammar. + It was written by Richard Stallman by simplifying the hairy parser + used when %semantic_parser is specified. */ + +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ #ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA #define alloca __builtin_alloca #else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA #include <alloca.h> #else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) +/* We think this test detects Watcom and Microsoft C. */ +/* This used to test MSDOS, but that is a bad idea + since that symbol is in the user namespace. */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; + instead, just don't use alloca. */ #include <malloc.h> +#endif #else /* not MSDOS, or __TURBOC__ */ #if defined(_AIX) -#include <malloc.h> +/* I don't know what this was needed for, but it pollutes the namespace. + So I turned it off. rms, 2 May 1997. */ +/* #include <malloc.h> */ #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); -}; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, + and on HPUX 10. Eventually we can turn this on. */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca #endif /* __hpux */ +#endif #endif /* not _AIX */ #endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc +#endif /* Note: there must be only one dollar sign in this file. It is replaced by the list of actions, each action @@ -2654,8 +2666,8 @@ void *alloca (); #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the @@ -2736,12 +2748,12 @@ int yydebug; /* nonzero means print parse trace */ #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); -#endif +/* Define __yy_memcpy. Note that the size argument + should be passed with type unsigned int, because that is what the non-GCC + definitions require. With GCC, __builtin_memcpy takes an arg + of type size_t, but it can handle unsigned int. */ + #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) #else /* not GNU C or C++ */ @@ -2753,7 +2765,7 @@ static void __yy_memcpy (to, from, count) char *to; char *from; - int count; + unsigned int count; { register char *f = from; register char *t = to; @@ -2768,10 +2780,10 @@ __yy_memcpy (to, from, count) /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void -__yy_memcpy (char *to, char *from, int count) +__yy_memcpy (char *to, char *from, unsigned int count) { - register char *f = from; register char *t = to; + register char *f = from; register int i = count; while (i-- > 0) @@ -2781,7 +2793,7 @@ __yy_memcpy (char *to, char *from, int count) #endif #endif -#line 196 "/usr/local/share/bison.simple" +#line 217 "/usr/lib/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -2802,6 +2814,15 @@ __yy_memcpy (char *to, char *from, int count) #define YYPARSE_PARAM_DECL #endif /* not YYPARSE_PARAM */ +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +#ifdef YYPARSE_PARAM +int yyparse (void *); +#else +int yyparse (void); +#endif +#endif + int yyparse(YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL @@ -2830,6 +2851,7 @@ yyparse(YYPARSE_PARAM_ARG) #endif int yystacksize = YYINITDEPTH; + int yyfree_stacks = 0; #ifdef YYPURE int yychar; @@ -2914,18 +2936,32 @@ yynewstate: if (yystacksize >= YYMAXDEPTH) { yyerror("parser stack overflow"); + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } return 2; } yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; - yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); +#ifndef YYSTACK_USE_ALLOCA + yyfree_stacks = 1; +#endif + yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); + __yy_memcpy ((char *)yyss, (char *)yyss1, + size * (unsigned int) sizeof (*yyssp)); + yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); + __yy_memcpy ((char *)yyvs, (char *)yyvs1, + size * (unsigned int) sizeof (*yyvsp)); #ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); + yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); + __yy_memcpy ((char *)yyls, (char *)yyls1, + size * (unsigned int) sizeof (*yylsp)); #endif #endif /* no yyoverflow */ @@ -3086,7 +3122,7 @@ yyreduce: switch (yyn) { case 4: -#line 150 "Gmsh.y" +#line 152 "Gmsh.y" { Msg(PARSER_INFO,"STL File Format"); STL_Surf = Create_Surface(1,MSH_SURF_STL,1); @@ -3095,7 +3131,7 @@ case 4: ; break;} case 5: -#line 164 "Gmsh.y" +#line 166 "Gmsh.y" { STL_Surf->STL->Add_Facet( yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d, @@ -3104,7 +3140,7 @@ case 5: ; break;} case 6: -#line 171 "Gmsh.y" +#line 173 "Gmsh.y" { Msg(PARSER_INFO,"STL File Format Read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -3112,83 +3148,83 @@ case 6: ; break;} case 9: -#line 188 "Gmsh.y" +#line 190 "Gmsh.y" { return 1; ; break;} case 10: -#line 189 "Gmsh.y" +#line 191 "Gmsh.y" { return 1; ; break;} case 11: -#line 190 "Gmsh.y" +#line 192 "Gmsh.y" { return 1; ; break;} case 12: -#line 191 "Gmsh.y" +#line 193 "Gmsh.y" { yyerrok ; return 1; ; break;} case 13: -#line 196 "Gmsh.y" +#line 198 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 File Format"); Create_Step_Solid_BRep(); ; break;} case 14: -#line 201 "Gmsh.y" +#line 203 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 File Format Read"); Resolve_BREP (); ; break;} case 18: -#line 212 "Gmsh.y" +#line 214 "Gmsh.y" { ; break;} case 19: -#line 215 "Gmsh.y" +#line 217 "Gmsh.y" { ; break;} case 20: -#line 219 "Gmsh.y" +#line 221 "Gmsh.y" { ; break;} case 21: -#line 225 "Gmsh.y" +#line 227 "Gmsh.y" { Add_Cartesian_Point((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2]); ; break;} case 22: -#line 231 "Gmsh.y" +#line 233 "Gmsh.y" { Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1.); ; break;} case 23: -#line 238 "Gmsh.y" +#line 240 "Gmsh.y" { Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l, yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. ); ; break;} case 24: -#line 244 "Gmsh.y" +#line 246 "Gmsh.y" { Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d); ; break;} case 25: -#line 248 "Gmsh.y" +#line 250 "Gmsh.y" { Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1); ; break;} case 26: -#line 252 "Gmsh.y" +#line 254 "Gmsh.y" { /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */ Msg(PARSER_INFO,"Found a Face Bound"); @@ -3196,304 +3232,304 @@ case 26: ; break;} case 27: -#line 259 "Gmsh.y" +#line 261 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 28: -#line 263 "Gmsh.y" +#line 265 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l); ; break;} case 29: -#line 268 "Gmsh.y" +#line 270 "Gmsh.y" { Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 30: -#line 272 "Gmsh.y" +#line 274 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 31: -#line 276 "Gmsh.y" +#line 278 "Gmsh.y" { ; break;} case 32: -#line 280 "Gmsh.y" +#line 282 "Gmsh.y" { Add_Axis2_Placement3D ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); ; break;} case 33: -#line 284 "Gmsh.y" +#line 286 "Gmsh.y" { Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]); ; break;} case 34: -#line 288 "Gmsh.y" +#line 290 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 35: -#line 292 "Gmsh.y" +#line 294 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 36: -#line 296 "Gmsh.y" +#line 298 "Gmsh.y" { Msg(PARSER_INFO,"Found a Closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); ; break;} case 37: -#line 302 "Gmsh.y" +#line 304 "Gmsh.y" { ; break;} case 38: -#line 305 "Gmsh.y" +#line 307 "Gmsh.y" { ; break;} case 39: -#line 308 "Gmsh.y" +#line 310 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 40: -#line 312 "Gmsh.y" +#line 314 "Gmsh.y" { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 41: -#line 316 "Gmsh.y" +#line 318 "Gmsh.y" { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 42: -#line 320 "Gmsh.y" +#line 322 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 43: -#line 324 "Gmsh.y" +#line 326 "Gmsh.y" { Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 44: -#line 329 "Gmsh.y" +#line 331 "Gmsh.y" { ; break;} case 45: -#line 332 "Gmsh.y" +#line 334 "Gmsh.y" { ; break;} case 46: -#line 336 "Gmsh.y" +#line 338 "Gmsh.y" { ; break;} case 47: -#line 339 "Gmsh.y" +#line 341 "Gmsh.y" { ; break;} case 48: -#line 343 "Gmsh.y" +#line 345 "Gmsh.y" { ; break;} case 49: -#line 346 "Gmsh.y" +#line 348 "Gmsh.y" { ; break;} case 50: -#line 349 "Gmsh.y" +#line 351 "Gmsh.y" { ; break;} case 51: -#line 359 "Gmsh.y" +#line 361 "Gmsh.y" { ; break;} case 52: -#line 362 "Gmsh.y" +#line 364 "Gmsh.y" { Msg(PARSER_INFO,"Gmsh File Format Read"); ; break;} case 53: -#line 368 "Gmsh.y" +#line 370 "Gmsh.y" { return 1; ; break;} case 54: -#line 369 "Gmsh.y" +#line 371 "Gmsh.y" { return 1; ; break;} case 55: -#line 370 "Gmsh.y" +#line 372 "Gmsh.y" { return 1; ; break;} case 56: -#line 371 "Gmsh.y" +#line 373 "Gmsh.y" { return 1; ; break;} case 57: -#line 372 "Gmsh.y" +#line 374 "Gmsh.y" { return 1; ; break;} case 58: -#line 373 "Gmsh.y" +#line 375 "Gmsh.y" { return 1; ; break;} case 59: -#line 374 "Gmsh.y" +#line 376 "Gmsh.y" { return 1; ; break;} case 60: -#line 375 "Gmsh.y" +#line 377 "Gmsh.y" { return 1; ; break;} case 61: -#line 376 "Gmsh.y" +#line 378 "Gmsh.y" { return 1; ; break;} case 62: -#line 377 "Gmsh.y" +#line 379 "Gmsh.y" { return 1; ; break;} case 63: -#line 378 "Gmsh.y" +#line 380 "Gmsh.y" { return 1; ; break;} case 64: -#line 379 "Gmsh.y" +#line 381 "Gmsh.y" {return 1;; break;} case 65: -#line 381 "Gmsh.y" +#line 383 "Gmsh.y" { return 1; ; break;} case 66: -#line 382 "Gmsh.y" +#line 384 "Gmsh.y" { yyerrok; return 1;; break;} case 67: -#line 387 "Gmsh.y" +#line 389 "Gmsh.y" { Msg(PARSER_INFO, yyvsp[-4].c, yyvsp[-2].d); ; break;} case 68: -#line 398 "Gmsh.y" +#line 400 "Gmsh.y" { EndView(1, Force_ViewNumber,yyname,yyvsp[-4].c,0.,0.,0.); ; break;} case 69: -#line 402 "Gmsh.y" +#line 404 "Gmsh.y" { EndView(1, Force_ViewNumber,yyname,yyvsp[-6].c,yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2]); ; break;} case 70: -#line 409 "Gmsh.y" +#line 411 "Gmsh.y" { BeginView(1); ; break;} case 83: -#line 428 "Gmsh.y" +#line 430 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} case 84: -#line 430 "Gmsh.y" +#line 432 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[0].d) ; ; break;} case 85: -#line 435 "Gmsh.y" +#line 437 "Gmsh.y" { List_Add(ActualView->SP, &yyvsp[-5].d); List_Add(ActualView->SP, &yyvsp[-3].d); List_Add(ActualView->SP, &yyvsp[-1].d); ; break;} case 86: -#line 440 "Gmsh.y" +#line 442 "Gmsh.y" { ActualView->NbSP++ ; ; break;} case 87: -#line 447 "Gmsh.y" +#line 449 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} case 88: -#line 449 "Gmsh.y" +#line 451 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[0].d) ; ; break;} case 89: -#line 454 "Gmsh.y" +#line 456 "Gmsh.y" { List_Add(ActualView->VP, &yyvsp[-5].d); List_Add(ActualView->VP, &yyvsp[-3].d); List_Add(ActualView->VP, &yyvsp[-1].d); ; break;} case 90: -#line 459 "Gmsh.y" +#line 461 "Gmsh.y" { ActualView->NbVP++ ; ; break;} case 91: -#line 466 "Gmsh.y" +#line 468 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} case 92: -#line 468 "Gmsh.y" +#line 470 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[0].d) ; ; break;} case 93: -#line 473 "Gmsh.y" +#line 475 "Gmsh.y" { List_Add(ActualView->TP, &yyvsp[-5].d); List_Add(ActualView->TP, &yyvsp[-3].d); List_Add(ActualView->TP, &yyvsp[-1].d); ; break;} case 94: -#line 478 "Gmsh.y" +#line 480 "Gmsh.y" { ActualView->NbTP++ ; ; break;} case 95: -#line 485 "Gmsh.y" +#line 487 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} case 96: -#line 487 "Gmsh.y" +#line 489 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[0].d) ; ; break;} case 97: -#line 493 "Gmsh.y" +#line 495 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d); @@ -3501,21 +3537,21 @@ case 97: ; break;} case 98: -#line 499 "Gmsh.y" +#line 501 "Gmsh.y" { ActualView->NbSL++ ; ; break;} case 99: -#line 506 "Gmsh.y" +#line 508 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} case 100: -#line 508 "Gmsh.y" +#line 510 "Gmsh.y" { List_Add(ActualView->VL, &yyvsp[0].d) ; ; break;} case 101: -#line 514 "Gmsh.y" +#line 516 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d); @@ -3523,21 +3559,21 @@ case 101: ; break;} case 102: -#line 520 "Gmsh.y" +#line 522 "Gmsh.y" { ActualView->NbVL++ ; ; break;} case 103: -#line 527 "Gmsh.y" +#line 529 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} case 104: -#line 529 "Gmsh.y" +#line 531 "Gmsh.y" { List_Add(ActualView->TL, &yyvsp[0].d) ; ; break;} case 105: -#line 535 "Gmsh.y" +#line 537 "Gmsh.y" { List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d); List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d); @@ -3545,21 +3581,21 @@ case 105: ; break;} case 106: -#line 541 "Gmsh.y" +#line 543 "Gmsh.y" { ActualView->NbTL++ ; ; break;} case 107: -#line 548 "Gmsh.y" +#line 550 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} case 108: -#line 550 "Gmsh.y" +#line 552 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[0].d) ; ; break;} case 109: -#line 557 "Gmsh.y" +#line 559 "Gmsh.y" { List_Add(ActualView->ST, &yyvsp[-17].d); List_Add(ActualView->ST, &yyvsp[-11].d); List_Add(ActualView->ST, &yyvsp[-5].d); @@ -3570,21 +3606,21 @@ case 109: ; break;} case 110: -#line 566 "Gmsh.y" +#line 568 "Gmsh.y" { ActualView->NbST++ ; ; break;} case 111: -#line 573 "Gmsh.y" +#line 575 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} case 112: -#line 575 "Gmsh.y" +#line 577 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[0].d) ; ; break;} case 113: -#line 582 "Gmsh.y" +#line 584 "Gmsh.y" { List_Add(ActualView->VT, &yyvsp[-17].d); List_Add(ActualView->VT, &yyvsp[-11].d); List_Add(ActualView->VT, &yyvsp[-5].d); @@ -3595,21 +3631,21 @@ case 113: ; break;} case 114: -#line 591 "Gmsh.y" +#line 593 "Gmsh.y" { ActualView->NbVT++ ; ; break;} case 115: -#line 598 "Gmsh.y" +#line 600 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} case 116: -#line 600 "Gmsh.y" +#line 602 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[0].d) ; ; break;} case 117: -#line 607 "Gmsh.y" +#line 609 "Gmsh.y" { List_Add(ActualView->TT, &yyvsp[-17].d); List_Add(ActualView->TT, &yyvsp[-11].d); List_Add(ActualView->TT, &yyvsp[-5].d); @@ -3620,21 +3656,21 @@ case 117: ; break;} case 118: -#line 616 "Gmsh.y" +#line 618 "Gmsh.y" { ActualView->NbTT++ ; ; break;} case 119: -#line 623 "Gmsh.y" +#line 625 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} case 120: -#line 625 "Gmsh.y" +#line 627 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[0].d) ; ; break;} case 121: -#line 633 "Gmsh.y" +#line 635 "Gmsh.y" { List_Add(ActualView->SS, &yyvsp[-23].d); List_Add(ActualView->SS, &yyvsp[-17].d); List_Add(ActualView->SS, &yyvsp[-11].d); List_Add(ActualView->SS, &yyvsp[-5].d); @@ -3645,21 +3681,21 @@ case 121: ; break;} case 122: -#line 642 "Gmsh.y" +#line 644 "Gmsh.y" { ActualView->NbSS++ ; ; break;} case 123: -#line 649 "Gmsh.y" +#line 651 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} case 124: -#line 651 "Gmsh.y" +#line 653 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[0].d) ; ; break;} case 125: -#line 659 "Gmsh.y" +#line 661 "Gmsh.y" { List_Add(ActualView->VS, &yyvsp[-23].d); List_Add(ActualView->VS, &yyvsp[-17].d); List_Add(ActualView->VS, &yyvsp[-11].d); List_Add(ActualView->VS, &yyvsp[-5].d); @@ -3670,21 +3706,21 @@ case 125: ; break;} case 126: -#line 668 "Gmsh.y" +#line 670 "Gmsh.y" { ActualView->NbVS++ ; ; break;} case 127: -#line 675 "Gmsh.y" +#line 677 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} case 128: -#line 677 "Gmsh.y" +#line 679 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[0].d) ; ; break;} case 129: -#line 685 "Gmsh.y" +#line 687 "Gmsh.y" { List_Add(ActualView->TS, &yyvsp[-23].d); List_Add(ActualView->TS, &yyvsp[-17].d); List_Add(ActualView->TS, &yyvsp[-11].d); List_Add(ActualView->TS, &yyvsp[-5].d); @@ -3695,13 +3731,13 @@ case 129: ; break;} case 130: -#line 694 "Gmsh.y" +#line 696 "Gmsh.y" { ActualView->NbTS++ ; ; break;} case 131: -#line 710 "Gmsh.y" +#line 712 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; TheSymbol.val = yyvsp[-1].d; @@ -3709,7 +3745,7 @@ case 131: ; break;} case 132: -#line 716 "Gmsh.y" +#line 718 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3719,7 +3755,7 @@ case 132: ; break;} case 133: -#line 724 "Gmsh.y" +#line 726 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3729,7 +3765,7 @@ case 133: ; break;} case 134: -#line 732 "Gmsh.y" +#line 734 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3739,7 +3775,7 @@ case 134: ; break;} case 135: -#line 740 "Gmsh.y" +#line 742 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3749,7 +3785,7 @@ case 135: ; break;} case 136: -#line 748 "Gmsh.y" +#line 750 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3759,7 +3795,7 @@ case 136: ; break;} case 137: -#line 756 "Gmsh.y" +#line 758 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3769,7 +3805,7 @@ case 137: ; break;} case 138: -#line 767 "Gmsh.y" +#line 769 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) vyyerror("Unknown String Option Class '%s'", yyvsp[-5].c); @@ -3783,7 +3819,7 @@ case 138: ; break;} case 139: -#line 780 "Gmsh.y" +#line 782 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -3800,7 +3836,7 @@ case 139: ; break;} case 140: -#line 798 "Gmsh.y" +#line 800 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -3819,7 +3855,7 @@ case 140: ; break;} case 141: -#line 815 "Gmsh.y" +#line 817 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -3841,7 +3877,7 @@ case 141: ; break;} case 142: -#line 836 "Gmsh.y" +#line 838 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -3860,7 +3896,7 @@ case 142: ; break;} case 143: -#line 853 "Gmsh.y" +#line 855 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -3882,7 +3918,7 @@ case 143: ; break;} case 144: -#line 874 "Gmsh.y" +#line 876 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -3901,7 +3937,7 @@ case 144: ; break;} case 145: -#line 891 "Gmsh.y" +#line 893 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -3923,7 +3959,7 @@ case 145: ; break;} case 146: -#line 912 "Gmsh.y" +#line 914 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -3942,7 +3978,7 @@ case 146: ; break;} case 147: -#line 929 "Gmsh.y" +#line 931 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -3964,7 +4000,7 @@ case 147: ; break;} case 148: -#line 950 "Gmsh.y" +#line 952 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c); @@ -3983,7 +4019,7 @@ case 148: ; break;} case 149: -#line 967 "Gmsh.y" +#line 969 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4005,7 +4041,7 @@ case 149: ; break;} case 150: -#line 988 "Gmsh.y" +#line 990 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-4].c); @@ -4024,7 +4060,7 @@ case 150: ; break;} case 151: -#line 1005 "Gmsh.y" +#line 1007 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4046,7 +4082,7 @@ case 151: ; break;} case 152: -#line 1026 "Gmsh.y" +#line 1028 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-4].c); @@ -4065,7 +4101,7 @@ case 152: ; break;} case 153: -#line 1043 "Gmsh.y" +#line 1045 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4087,7 +4123,7 @@ case 153: ; break;} case 154: -#line 1066 "Gmsh.y" +#line 1068 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c); @@ -4114,7 +4150,7 @@ case 154: ; break;} case 155: -#line 1091 "Gmsh.y" +#line 1093 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4144,7 +4180,7 @@ case 155: ; break;} case 156: -#line 1120 "Gmsh.y" +#line 1122 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c); @@ -4171,7 +4207,7 @@ case 156: ; break;} case 157: -#line 1145 "Gmsh.y" +#line 1147 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4201,7 +4237,7 @@ case 157: ; break;} case 158: -#line 1174 "Gmsh.y" +#line 1176 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-5].c))) vyyerror("Unknown Array Option Class '%s'", yyvsp[-5].c); @@ -4228,7 +4264,7 @@ case 158: ; break;} case 159: -#line 1199 "Gmsh.y" +#line 1201 "Gmsh.y" { if(strcmp(yyvsp[-10].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c); @@ -4258,7 +4294,7 @@ case 159: ; break;} case 160: -#line 1230 "Gmsh.y" +#line 1232 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) vyyerror("Unknown Color Option Class '%s'", yyvsp[-7].c); @@ -4272,7 +4308,7 @@ case 160: ; break;} case 161: -#line 1254 "Gmsh.y" +#line 1256 "Gmsh.y" { Cdbpts101((int)yyvsp[-4].d,yyvsp[-1].v[0],yyvsp[-1].v[1],yyvsp[-1].v[2],yyvsp[-1].v[3],yyvsp[-1].v[4]); yyval.s.Type = MSH_POINT; @@ -4280,7 +4316,7 @@ case 161: ; break;} case 162: -#line 1261 "Gmsh.y" +#line 1263 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_POINT; @@ -4288,7 +4324,7 @@ case 162: ; break;} case 163: -#line 1267 "Gmsh.y" +#line 1269 "Gmsh.y" { Vertex *v; Attractor *a; @@ -4309,7 +4345,7 @@ case 163: ; break;} case 164: -#line 1286 "Gmsh.y" +#line 1288 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ List_Read(yyvsp[-3].l,i,&d); @@ -4322,14 +4358,14 @@ case 164: ; break;} case 165: -#line 1297 "Gmsh.y" +#line 1299 "Gmsh.y" { yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-2].d; ; break;} case 166: -#line 1305 "Gmsh.y" +#line 1307 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_LINE; @@ -4337,7 +4373,7 @@ case 166: ; break;} case 167: -#line 1311 "Gmsh.y" +#line 1313 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_SPLN; @@ -4345,7 +4381,7 @@ case 167: ; break;} case 168: -#line 1317 "Gmsh.y" +#line 1319 "Gmsh.y" { Curve *c; Attractor *a; @@ -4366,7 +4402,7 @@ case 168: ; break;} case 169: -#line 1336 "Gmsh.y" +#line 1338 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_CIRC ; @@ -4374,7 +4410,7 @@ case 169: ; break;} case 170: -#line 1342 "Gmsh.y" +#line 1344 "Gmsh.y" { List_T *temp; int i,j; @@ -4392,7 +4428,7 @@ case 170: ; break;} case 171: -#line 1359 "Gmsh.y" +#line 1361 "Gmsh.y" { Cdbseg101((int)yyvsp[-14].d,MSH_SEGM_PARAMETRIC,2,NULL,NULL,-1,-1,yyvsp[-10].d,yyvsp[-8].d,yyvsp[-6].c,yyvsp[-4].c,yyvsp[-2].c); yyval.s.Type = MSH_SEGM_PARAMETRIC ; @@ -4400,7 +4436,7 @@ case 171: ; break;} case 172: -#line 1365 "Gmsh.y" +#line 1367 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_ELLI ; @@ -4408,7 +4444,7 @@ case 172: ; break;} case 173: -#line 1371 "Gmsh.y" +#line 1373 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_LINE; @@ -4416,7 +4452,7 @@ case 173: ; break;} case 174: -#line 1377 "Gmsh.y" +#line 1379 "Gmsh.y" { yyval.s.Type = MSH_SEGM_LOOP; Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4424,7 +4460,7 @@ case 174: ; break;} case 175: -#line 1383 "Gmsh.y" +#line 1385 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_BSPLN; @@ -4432,7 +4468,7 @@ case 175: ; break;} case 176: -#line 1389 "Gmsh.y" +#line 1391 "Gmsh.y" { List_T *Temp; int i; @@ -4453,7 +4489,7 @@ case 176: ; break;} case 177: -#line 1408 "Gmsh.y" +#line 1410 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Curve *c = FindCurve(yyval.s.Num,THEM); @@ -4464,7 +4500,7 @@ case 177: ; break;} case 178: -#line 1420 "Gmsh.y" +#line 1422 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_PLAN; @@ -4472,7 +4508,7 @@ case 178: ; break;} case 179: -#line 1426 "Gmsh.y" +#line 1428 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-2].d,THEM); @@ -4493,7 +4529,7 @@ case 179: ; break;} case 180: -#line 1445 "Gmsh.y" +#line 1447 "Gmsh.y" { List_Read(yyvsp[-1].l,0,&d); i = (int)d; @@ -4516,7 +4552,7 @@ case 180: ; break;} case 181: -#line 1468 "Gmsh.y" +#line 1470 "Gmsh.y" { CreateNurbsSurface ( (int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; @@ -4524,13 +4560,13 @@ case 181: ; break;} case 182: -#line 1476 "Gmsh.y" +#line 1478 "Gmsh.y" { CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); ; break;} case 183: -#line 1480 "Gmsh.y" +#line 1482 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_SURFACE; @@ -4538,7 +4574,7 @@ case 183: ; break;} case 184: -#line 1486 "Gmsh.y" +#line 1488 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_LOOP; @@ -4546,7 +4582,7 @@ case 184: ; break;} case 185: -#line 1492 "Gmsh.y" +#line 1494 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Surface *s = FindSurface(yyval.s.Num,THEM); @@ -4557,7 +4593,7 @@ case 185: ; break;} case 186: -#line 1504 "Gmsh.y" +#line 1506 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -4565,7 +4601,7 @@ case 186: ; break;} case 187: -#line 1510 "Gmsh.y" +#line 1512 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -4573,7 +4609,7 @@ case 187: ; break;} case 188: -#line 1516 "Gmsh.y" +#line 1518 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_VOLUME; @@ -4581,60 +4617,60 @@ case 188: ; break;} case 189: -#line 1529 "Gmsh.y" +#line 1531 "Gmsh.y" { TranslateShapes (yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 190: -#line 1534 "Gmsh.y" +#line 1536 "Gmsh.y" { RotateShapes(yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} case 191: -#line 1539 "Gmsh.y" +#line 1541 "Gmsh.y" { SymmetryShapes(yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-3].v[3],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 192: -#line 1544 "Gmsh.y" +#line 1546 "Gmsh.y" { DilatShapes(yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 193: -#line 1551 "Gmsh.y" +#line 1553 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 194: -#line 1552 "Gmsh.y" +#line 1554 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 195: -#line 1553 "Gmsh.y" +#line 1555 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 196: -#line 1558 "Gmsh.y" +#line 1560 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); ; break;} case 197: -#line 1562 "Gmsh.y" +#line 1564 "Gmsh.y" { List_Add(yyval.l,&yyvsp[0].s); yyval.l = yyvsp[-1].l; ; break;} case 198: -#line 1574 "Gmsh.y" +#line 1576 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -4646,7 +4682,7 @@ case 198: ; break;} case 199: -#line 1592 "Gmsh.y" +#line 1594 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ List_Read (yyvsp[-1].l,i,&TheShape); @@ -4655,7 +4691,7 @@ case 199: ; break;} case 200: -#line 1607 "Gmsh.y" +#line 1609 "Gmsh.y" { yyinTab[RecursionLevel++] = yyin; strcpy(tmpstring, ThePathForIncludes); @@ -4679,7 +4715,7 @@ case 200: ; break;} case 201: -#line 1635 "Gmsh.y" +#line 1637 "Gmsh.y" { char ext[6]; strcpy(ext,yyvsp[-1].c+(strlen(yyvsp[-1].c)-4)); @@ -4711,13 +4747,13 @@ case 201: ; break;} case 202: -#line 1665 "Gmsh.y" +#line 1667 "Gmsh.y" { exit(0); ; break;} case 203: -#line 1669 "Gmsh.y" +#line 1671 "Gmsh.y" { FILE *ff = yyin; MergeProblem(yyvsp[-1].c); @@ -4725,14 +4761,14 @@ case 203: ; break;} case 204: -#line 1675 "Gmsh.y" +#line 1677 "Gmsh.y" { Init(); Draw(); ; break;} case 205: -#line 1680 "Gmsh.y" +#line 1682 "Gmsh.y" { extern long Get_AnimTime(); long sleep_time = Get_AnimTime(); @@ -4742,7 +4778,7 @@ case 205: ; break;} case 206: -#line 1696 "Gmsh.y" +#line 1698 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4757,7 +4793,7 @@ case 206: ; break;} case 207: -#line 1709 "Gmsh.y" +#line 1711 "Gmsh.y" { FILE* ff; if(RecursionLevel) @@ -4772,7 +4808,7 @@ case 207: ; break;} case 208: -#line 1722 "Gmsh.y" +#line 1724 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]) @@ -4793,70 +4829,100 @@ case 208: ; break;} case 209: -#line 1761 "Gmsh.y" +#line 1743 "Gmsh.y" +{ + if(!FunctionManager::Instance()->leaveFunction(&yyin)) + { + vyyerror("Error while exiting function"); + } + ; + break;} +case 210: +#line 1750 "Gmsh.y" +{ + if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c,&yyin)) + { + vyyerror("Unknown Function %s",yyvsp[-1].c); + } + ; + break;} +case 211: +#line 1757 "Gmsh.y" +{ + // skip everything until return is found + if(!FunctionManager::Instance()->createFunction(yyvsp[0].c,yyin)) + { + vyyerror("Redefinition of function %s",yyvsp[0].c); + } + void skip_until(char *until); + skip_until("Return"); + ; + break;} +case 212: +#line 1787 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,&pc,&prc,NULL); ; break;} -case 210: -#line 1766 "Gmsh.y" +case 213: +#line 1792 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d, &pc,&prc,NULL); ; break;} -case 211: -#line 1772 "Gmsh.y" +case 214: +#line 1798 "Gmsh.y" { Extrude_ProtudeCurve(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,NULL); ; break;} -case 212: -#line 1776 "Gmsh.y" +case 215: +#line 1802 "Gmsh.y" { Extrude_ProtudeCurve(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,NULL); ; break;} -case 213: -#line 1780 "Gmsh.y" +case 216: +#line 1806 "Gmsh.y" { Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL); ; break;} -case 214: -#line 1784 "Gmsh.y" +case 217: +#line 1810 "Gmsh.y" { Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL); ; break;} -case 215: -#line 1788 "Gmsh.y" +case 218: +#line 1814 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(1,(int)yyvsp[-7].d,yyvsp[-5].v[0],yyvsp[-5].v[1],yyvsp[-5].v[2],0.,0.,0.,0.,vol,&extr); ; break;} -case 216: -#line 1793 "Gmsh.y" +case 219: +#line 1819 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(0,(int)yyvsp[-11].d,yyvsp[-9].v[0],yyvsp[-9].v[1],yyvsp[-9].v[2],yyvsp[-7].v[0],yyvsp[-7].v[1],yyvsp[-7].v[2],yyvsp[-5].d,vol,&extr); ; break;} -case 217: -#line 1801 "Gmsh.y" +case 220: +#line 1827 "Gmsh.y" { ; break;} -case 218: -#line 1804 "Gmsh.y" +case 221: +#line 1830 "Gmsh.y" { ; break;} -case 219: -#line 1810 "Gmsh.y" +case 222: +#line 1836 "Gmsh.y" { double d; int j; @@ -4874,14 +4940,14 @@ case 219: } ; break;} -case 220: -#line 1827 "Gmsh.y" +case 223: +#line 1853 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} -case 221: -#line 1838 "Gmsh.y" +case 224: +#line 1864 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -4899,8 +4965,8 @@ case 221: } ; break;} -case 222: -#line 1855 "Gmsh.y" +case 225: +#line 1881 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -4918,8 +4984,8 @@ case 222: } ; break;} -case 223: -#line 1872 "Gmsh.y" +case 226: +#line 1898 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -4937,8 +5003,8 @@ case 223: } ; break;} -case 224: -#line 1889 "Gmsh.y" +case 227: +#line 1915 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -4960,8 +5026,8 @@ case 224: } ; break;} -case 225: -#line 1910 "Gmsh.y" +case 228: +#line 1936 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -4982,8 +5048,8 @@ case 225: } ; break;} -case 226: -#line 1930 "Gmsh.y" +case 229: +#line 1956 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d,THEM); if(!v) @@ -5004,8 +5070,8 @@ case 226: } ; break;} -case 227: -#line 1950 "Gmsh.y" +case 230: +#line 1976 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -5023,8 +5089,8 @@ case 227: } ; break;} -case 228: -#line 1967 "Gmsh.y" +case 231: +#line 1993 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -5042,202 +5108,202 @@ case 228: } ; break;} -case 229: -#line 1992 "Gmsh.y" +case 232: +#line 2018 "Gmsh.y" { Coherence_PS(); ; break;} -case 230: -#line 2004 "Gmsh.y" +case 233: +#line 2030 "Gmsh.y" {yyval.i = 1;; break;} -case 231: -#line 2005 "Gmsh.y" +case 234: +#line 2031 "Gmsh.y" {yyval.i = 0;; break;} -case 232: -#line 2006 "Gmsh.y" +case 235: +#line 2032 "Gmsh.y" {yyval.i = -1;; break;} -case 233: -#line 2007 "Gmsh.y" +case 236: +#line 2033 "Gmsh.y" {yyval.i = -1;; break;} -case 234: -#line 2008 "Gmsh.y" +case 237: +#line 2034 "Gmsh.y" {yyval.i = -1;; break;} -case 235: -#line 2012 "Gmsh.y" +case 238: +#line 2038 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 236: -#line 2013 "Gmsh.y" +case 239: +#line 2039 "Gmsh.y" { yyval.d = yyvsp[-1].d ; ; break;} -case 237: -#line 2014 "Gmsh.y" +case 240: +#line 2040 "Gmsh.y" { yyval.d = -yyvsp[0].d ; ; break;} -case 238: -#line 2015 "Gmsh.y" +case 241: +#line 2041 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 239: -#line 2016 "Gmsh.y" +case 242: +#line 2042 "Gmsh.y" { yyval.d = !yyvsp[0].d ; ; break;} -case 240: -#line 2017 "Gmsh.y" +case 243: +#line 2043 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d ; ; break;} -case 241: -#line 2018 "Gmsh.y" +case 244: +#line 2044 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d ; ; break;} -case 242: -#line 2019 "Gmsh.y" +case 245: +#line 2045 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d ; ; break;} -case 243: -#line 2020 "Gmsh.y" +case 246: +#line 2046 "Gmsh.y" { yyval.d = yyvsp[-2].d / yyvsp[0].d ; ; break;} -case 244: -#line 2021 "Gmsh.y" +case 247: +#line 2047 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ; break;} -case 245: -#line 2022 "Gmsh.y" +case 248: +#line 2048 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d,yyvsp[0].d) ; ; break;} -case 246: -#line 2023 "Gmsh.y" +case 249: +#line 2049 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d ; ; break;} -case 247: -#line 2024 "Gmsh.y" +case 250: +#line 2050 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d ; ; break;} -case 248: -#line 2025 "Gmsh.y" +case 251: +#line 2051 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ; break;} -case 249: -#line 2026 "Gmsh.y" +case 252: +#line 2052 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ; break;} -case 250: -#line 2027 "Gmsh.y" +case 253: +#line 2053 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d ; ; break;} -case 251: -#line 2028 "Gmsh.y" +case 254: +#line 2054 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d ; ; break;} -case 252: -#line 2029 "Gmsh.y" +case 255: +#line 2055 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d ; ; break;} -case 253: -#line 2030 "Gmsh.y" +case 256: +#line 2056 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d ; ; break;} -case 254: -#line 2031 "Gmsh.y" +case 257: +#line 2057 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ; break;} -case 255: -#line 2032 "Gmsh.y" +case 258: +#line 2058 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} -case 256: -#line 2033 "Gmsh.y" +case 259: +#line 2059 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} -case 257: -#line 2034 "Gmsh.y" +case 260: +#line 2060 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} -case 258: -#line 2035 "Gmsh.y" +case 261: +#line 2061 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} -case 259: -#line 2036 "Gmsh.y" +case 262: +#line 2062 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} -case 260: -#line 2037 "Gmsh.y" +case 263: +#line 2063 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} -case 261: -#line 2038 "Gmsh.y" +case 264: +#line 2064 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} -case 262: -#line 2039 "Gmsh.y" +case 265: +#line 2065 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} -case 263: -#line 2040 "Gmsh.y" +case 266: +#line 2066 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} -case 264: -#line 2041 "Gmsh.y" +case 267: +#line 2067 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} -case 265: -#line 2042 "Gmsh.y" +case 268: +#line 2068 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 266: -#line 2043 "Gmsh.y" +case 269: +#line 2069 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} -case 267: -#line 2044 "Gmsh.y" +case 270: +#line 2070 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} -case 268: -#line 2045 "Gmsh.y" +case 271: +#line 2071 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} -case 269: -#line 2046 "Gmsh.y" +case 272: +#line 2072 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} -case 270: -#line 2047 "Gmsh.y" +case 273: +#line 2073 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} -case 271: -#line 2048 "Gmsh.y" +case 274: +#line 2074 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} -case 272: -#line 2049 "Gmsh.y" +case 275: +#line 2075 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 273: -#line 2050 "Gmsh.y" +case 276: +#line 2076 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} -case 274: -#line 2051 "Gmsh.y" +case 277: +#line 2077 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} -case 275: -#line 2055 "Gmsh.y" +case 278: +#line 2081 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} -case 276: -#line 2056 "Gmsh.y" +case 279: +#line 2082 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} -case 277: -#line 2058 "Gmsh.y" +case 280: +#line 2084 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if (!List_Query(Symbol_L, &TheSymbol, CompareSymbols)) { @@ -5247,8 +5313,8 @@ case 277: Free(yyvsp[0].c); ; break;} -case 278: -#line 2067 "Gmsh.y" +case 281: +#line 2093 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-2].c); @@ -5266,8 +5332,8 @@ case 278: } ; break;} -case 279: -#line 2084 "Gmsh.y" +case 282: +#line 2110 "Gmsh.y" { if(strcmp(yyvsp[-7].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-7].c); @@ -5288,8 +5354,8 @@ case 279: } ; break;} -case 280: -#line 2105 "Gmsh.y" +case 283: +#line 2131 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c); @@ -5307,8 +5373,8 @@ case 280: } ; break;} -case 281: -#line 2122 "Gmsh.y" +case 284: +#line 2148 "Gmsh.y" { if(strcmp(yyvsp[-8].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-8].c); @@ -5329,8 +5395,8 @@ case 281: } ; break;} -case 282: -#line 2143 "Gmsh.y" +case 285: +#line 2169 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))) vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c); @@ -5348,8 +5414,8 @@ case 282: } ; break;} -case 283: -#line 2160 "Gmsh.y" +case 286: +#line 2186 "Gmsh.y" { if(strcmp(yyvsp[-8].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-8].c); @@ -5370,16 +5436,16 @@ case 283: } ; break;} -case 284: -#line 2183 "Gmsh.y" +case 287: +#line 2209 "Gmsh.y" { ListOfDouble2_L = List_Create(2,1,sizeof(double)) ; for(d=yyvsp[-2].d ; (yyvsp[-2].d<yyvsp[0].d)?(d<=yyvsp[0].d):(d>=yyvsp[0].d) ; (yyvsp[-2].d<yyvsp[0].d)?(d+=1.):(d-=1.)) List_Add(ListOfDouble2_L, &d) ; ; break;} -case 285: -#line 2189 "Gmsh.y" +case 288: +#line 2215 "Gmsh.y" { ListOfDouble2_L = List_Create(2,1,sizeof(double)) ; if(!yyvsp[0].d || (yyvsp[-4].d<yyvsp[-2].d && yyvsp[0].d<0) || (yyvsp[-4].d>yyvsp[-2].d && yyvsp[0].d>0)){ @@ -5391,62 +5457,62 @@ case 285: List_Add(ListOfDouble2_L, &d) ; ; break;} -case 286: -#line 2203 "Gmsh.y" +case 289: +#line 2229 "Gmsh.y" { yyval.v = yyvsp[0].v; ; break;} -case 287: -#line 2207 "Gmsh.y" +case 290: +#line 2233 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = -yyvsp[0].v[i] ; ; break;} -case 288: -#line 2211 "Gmsh.y" +case 291: +#line 2237 "Gmsh.y" { yyval.v = yyvsp[0].v; ; break;} -case 289: -#line 2215 "Gmsh.y" +case 292: +#line 2241 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ; ; break;} -case 290: -#line 2219 "Gmsh.y" +case 293: +#line 2245 "Gmsh.y" { for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ; ; break;} -case 291: -#line 2225 "Gmsh.y" +case 294: +#line 2251 "Gmsh.y" { yyval.v[0]=yyvsp[-9].d; yyval.v[1]=yyvsp[-7].d; yyval.v[2]=yyvsp[-5].d; yyval.v[3]=yyvsp[-3].d; yyval.v[4]=yyvsp[-1].d; ; break;} -case 292: -#line 2229 "Gmsh.y" +case 295: +#line 2255 "Gmsh.y" { yyval.v[0]=yyvsp[-7].d; yyval.v[1]=yyvsp[-5].d; yyval.v[2]=yyvsp[-3].d; yyval.v[3]=yyvsp[-1].d; yyval.v[4]=1.0; ; break;} -case 293: -#line 2233 "Gmsh.y" +case 296: +#line 2259 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; yyval.v[2]=yyvsp[-1].d; yyval.v[3]=0.0; yyval.v[4]=1.0; ; break;} -case 294: -#line 2237 "Gmsh.y" +case 297: +#line 2263 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; yyval.v[2]=yyvsp[-1].d; yyval.v[3]=0.0; yyval.v[4]=1.0; ; break;} -case 295: -#line 2241 "Gmsh.y" +case 298: +#line 2267 "Gmsh.y" { if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-2].c))) vyyerror("Unknown Array Option Class '%s'", yyvsp[-2].c); @@ -5473,8 +5539,8 @@ case 295: } ; break;} -case 296: -#line 2267 "Gmsh.y" +case 299: +#line 2293 "Gmsh.y" { if(strcmp(yyvsp[-7].c, "Post")) vyyerror("Unknown View Option Class '%s'", yyvsp[-7].c); @@ -5505,84 +5571,84 @@ case 296: } ; break;} -case 297: -#line 2300 "Gmsh.y" +case 300: +#line 2326 "Gmsh.y" { ; break;} -case 298: -#line 2303 "Gmsh.y" +case 301: +#line 2329 "Gmsh.y" { ; break;} -case 299: -#line 2309 "Gmsh.y" +case 302: +#line 2335 "Gmsh.y" { ; break;} -case 300: -#line 2312 "Gmsh.y" +case 303: +#line 2338 "Gmsh.y" { ; break;} -case 301: -#line 2318 "Gmsh.y" +case 304: +#line 2344 "Gmsh.y" { ; break;} -case 302: -#line 2321 "Gmsh.y" +case 305: +#line 2347 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 303: -#line 2325 "Gmsh.y" +case 306: +#line 2351 "Gmsh.y" { yyval.l=ListOfListOfDouble_L; ; break;} -case 304: -#line 2332 "Gmsh.y" +case 307: +#line 2358 "Gmsh.y" { ListOfListOfDouble_L = List_Create(2,1,sizeof(List_T*)) ; List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 305: -#line 2337 "Gmsh.y" +case 308: +#line 2363 "Gmsh.y" { List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ; ; break;} -case 306: -#line 2344 "Gmsh.y" +case 309: +#line 2370 "Gmsh.y" { ; break;} -case 307: -#line 2347 "Gmsh.y" +case 310: +#line 2373 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; yyval.l=ListOfDouble_L; ; break;} -case 308: -#line 2353 "Gmsh.y" +case 311: +#line 2379 "Gmsh.y" { yyval.l=ListOfDouble_L; ; break;} -case 309: -#line 2361 "Gmsh.y" +case 312: +#line 2387 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 310: -#line 2366 "Gmsh.y" +case 313: +#line 2392 "Gmsh.y" { ListOfDouble_L = List_Create(2,1,sizeof(double)) ; for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ @@ -5592,14 +5658,14 @@ case 310: List_Delete(ListOfDouble2_L); ; break;} -case 311: -#line 2375 "Gmsh.y" +case 314: +#line 2401 "Gmsh.y" { List_Add(ListOfDouble_L, &(yyvsp[0].d)) ; ; break;} -case 312: -#line 2379 "Gmsh.y" +case 315: +#line 2405 "Gmsh.y" { for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){ List_Read(ListOfDouble2_L, i, &d) ; @@ -5608,34 +5674,34 @@ case 312: List_Delete(ListOfDouble2_L); ; break;} -case 313: -#line 2390 "Gmsh.y" +case 316: +#line 2416 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} -case 314: -#line 2394 "Gmsh.y" +case 317: +#line 2420 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} -case 315: -#line 2398 "Gmsh.y" +case 318: +#line 2424 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, (int)yyvsp[-1].d, yyvsp[-3].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[-3].c); ; break;} -case 316: -#line 2403 "Gmsh.y" +case 319: +#line 2429 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) vyyerror("Unknown Color '%s'", yyvsp[0].c); ; break;} -case 317: -#line 2408 "Gmsh.y" +case 320: +#line 2434 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))) vyyerror("Unknown Color Option Class '%s'", yyvsp[-4].c); @@ -5650,7 +5716,7 @@ case 317: break;} } /* the action file gets copied in in place of this dollarsign */ -#line 498 "/usr/local/share/bison.simple" +#line 543 "/usr/lib/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -5845,8 +5911,32 @@ yyerrhandle: yystate = yyn; goto yynewstate; + + yyacceptlab: + /* YYACCEPT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 0; + + yyabortlab: + /* YYABORT comes here. */ + if (yyfree_stacks) + { + free (yyss); + free (yyvs); +#ifdef YYLSP_NEEDED + free (yyls); +#endif + } + return 1; } -#line 2421 "Gmsh.y" +#line 2447 "Gmsh.y" void InitSymbols(void){ diff --git a/Parser/Gmsh.tab.cpp.h b/Parser/Gmsh.tab.cpp.h index bf41e121a9..ec736ab97d 100644 --- a/Parser/Gmsh.tab.cpp.h +++ b/Parser/Gmsh.tab.cpp.h @@ -7,161 +7,164 @@ typedef union { Shape s; List_T *l; } YYSTYPE; -#define tDOUBLE 258 -#define tSTRING 259 -#define tBIGSTR 260 -#define tEND 261 -#define tAFFECT 262 -#define tDOTS 263 -#define tPi 264 -#define tExp 265 -#define tLog 266 -#define tLog10 267 -#define tSqrt 268 -#define tSin 269 -#define tAsin 270 -#define tCos 271 -#define tAcos 272 -#define tTan 273 -#define tAtan 274 -#define tAtan2 275 -#define tSinh 276 -#define tCosh 277 -#define tTanh 278 -#define tFabs 279 -#define tFloor 280 -#define tCeil 281 -#define tFmod 282 -#define tModulo 283 -#define tHypot 284 -#define tPrintf 285 -#define tDraw 286 -#define tSleep 287 -#define tPoint 288 -#define tCircle 289 -#define tEllipsis 290 -#define tLine 291 -#define tSurface 292 -#define tSpline 293 -#define tVolume 294 -#define tCharacteristic 295 -#define tLength 296 -#define tParametric 297 -#define tElliptic 298 -#define tPlane 299 -#define tRuled 300 -#define tTransfinite 301 -#define tComplex 302 -#define tPhysical 303 -#define tUsing 304 -#define tBump 305 -#define tProgression 306 -#define tRotate 307 -#define tTranslate 308 -#define tSymmetry 309 -#define tDilate 310 -#define tExtrude 311 -#define tDuplicata 312 -#define tLoop 313 -#define tInclude 314 -#define tRecombine 315 -#define tDelete 316 -#define tCoherence 317 -#define tView 318 -#define tAttractor 319 -#define tLayers 320 -#define tScalarTetrahedron 321 -#define tVectorTetrahedron 322 -#define tTensorTetrahedron 323 -#define tScalarTriangle 324 -#define tVectorTriangle 325 -#define tTensorTriangle 326 -#define tScalarLine 327 -#define tVectorLine 328 -#define tTensorLine 329 -#define tScalarPoint 330 -#define tVectorPoint 331 -#define tTensorPoint 332 -#define tBSpline 333 -#define tNurbs 334 -#define tOrder 335 -#define tWith 336 -#define tBounds 337 -#define tKnots 338 -#define tColor 339 -#define tFor 340 -#define tEndFor 341 -#define tScript 342 -#define tExit 343 -#define tMerge 344 -#define tB_SPLINE_SURFACE_WITH_KNOTS 345 -#define tB_SPLINE_CURVE_WITH_KNOTS 346 -#define tCARTESIAN_POINT 347 -#define tTRUE 348 -#define tFALSE 349 -#define tUNSPECIFIED 350 -#define tU 351 -#define tV 352 -#define tEDGE_CURVE 353 -#define tVERTEX_POINT 354 -#define tORIENTED_EDGE 355 -#define tPLANE 356 -#define tFACE_OUTER_BOUND 357 -#define tEDGE_LOOP 358 -#define tADVANCED_FACE 359 -#define tVECTOR 360 -#define tDIRECTION 361 -#define tAXIS2_PLACEMENT_3D 362 -#define tISO 363 -#define tENDISO 364 -#define tENDSEC 365 -#define tDATA 366 -#define tHEADER 367 -#define tFILE_DESCRIPTION 368 -#define tFILE_SCHEMA 369 -#define tFILE_NAME 370 -#define tMANIFOLD_SOLID_BREP 371 -#define tCLOSED_SHELL 372 -#define tADVANCED_BREP_SHAPE_REPRESENTATION 373 -#define tFACE_BOUND 374 -#define tCYLINDRICAL_SURFACE 375 -#define tCONICAL_SURFACE 376 -#define tCIRCLE 377 -#define tTRIMMED_CURVE 378 -#define tGEOMETRIC_SET 379 -#define tCOMPOSITE_CURVE_SEGMENT 380 -#define tCONTINUOUS 381 -#define tCOMPOSITE_CURVE 382 -#define tTOROIDAL_SURFACE 383 -#define tPRODUCT_DEFINITION 384 -#define tPRODUCT_DEFINITION_SHAPE 385 -#define tSHAPE_DEFINITION_REPRESENTATION 386 -#define tELLIPSE 387 -#define tTrimmed 388 -#define tSolid 389 -#define tEndSolid 390 -#define tVertex 391 -#define tFacet 392 -#define tNormal 393 -#define tOuter 394 -#define tLoopSTL 395 -#define tEndLoop 396 -#define tEndFacet 397 -#define tAND 398 -#define tOR 399 -#define tNOTEQUAL 400 -#define tEQUAL 401 -#define tAPPROXEQUAL 402 -#define tAFFECTPLUS 403 -#define tAFFECTMINUS 404 -#define tAFFECTTIMES 405 -#define tAFFECTDIVIDE 406 -#define tLESSOREQUAL 407 -#define tGREATEROREQUAL 408 -#define tCROSSPRODUCT 409 -#define UNARYPREC 410 -#define tPLUSPLUS 411 -#define tMINUSMINUS 412 +#define tDOUBLE 257 +#define tSTRING 258 +#define tBIGSTR 259 +#define tEND 260 +#define tAFFECT 261 +#define tDOTS 262 +#define tPi 263 +#define tExp 264 +#define tLog 265 +#define tLog10 266 +#define tSqrt 267 +#define tSin 268 +#define tAsin 269 +#define tCos 270 +#define tAcos 271 +#define tTan 272 +#define tAtan 273 +#define tAtan2 274 +#define tSinh 275 +#define tCosh 276 +#define tTanh 277 +#define tFabs 278 +#define tFloor 279 +#define tCeil 280 +#define tFmod 281 +#define tModulo 282 +#define tHypot 283 +#define tPrintf 284 +#define tDraw 285 +#define tSleep 286 +#define tPoint 287 +#define tCircle 288 +#define tEllipsis 289 +#define tLine 290 +#define tSurface 291 +#define tSpline 292 +#define tVolume 293 +#define tCharacteristic 294 +#define tLength 295 +#define tParametric 296 +#define tElliptic 297 +#define tPlane 298 +#define tRuled 299 +#define tTransfinite 300 +#define tComplex 301 +#define tPhysical 302 +#define tUsing 303 +#define tBump 304 +#define tProgression 305 +#define tRotate 306 +#define tTranslate 307 +#define tSymmetry 308 +#define tDilate 309 +#define tExtrude 310 +#define tDuplicata 311 +#define tLoop 312 +#define tInclude 313 +#define tRecombine 314 +#define tDelete 315 +#define tCoherence 316 +#define tView 317 +#define tAttractor 318 +#define tLayers 319 +#define tScalarTetrahedron 320 +#define tVectorTetrahedron 321 +#define tTensorTetrahedron 322 +#define tScalarTriangle 323 +#define tVectorTriangle 324 +#define tTensorTriangle 325 +#define tScalarLine 326 +#define tVectorLine 327 +#define tTensorLine 328 +#define tScalarPoint 329 +#define tVectorPoint 330 +#define tTensorPoint 331 +#define tBSpline 332 +#define tNurbs 333 +#define tOrder 334 +#define tWith 335 +#define tBounds 336 +#define tKnots 337 +#define tColor 338 +#define tFor 339 +#define tEndFor 340 +#define tScript 341 +#define tExit 342 +#define tMerge 343 +#define tReturn 344 +#define tCall 345 +#define tFunction 346 +#define tB_SPLINE_SURFACE_WITH_KNOTS 347 +#define tB_SPLINE_CURVE_WITH_KNOTS 348 +#define tCARTESIAN_POINT 349 +#define tTRUE 350 +#define tFALSE 351 +#define tUNSPECIFIED 352 +#define tU 353 +#define tV 354 +#define tEDGE_CURVE 355 +#define tVERTEX_POINT 356 +#define tORIENTED_EDGE 357 +#define tPLANE 358 +#define tFACE_OUTER_BOUND 359 +#define tEDGE_LOOP 360 +#define tADVANCED_FACE 361 +#define tVECTOR 362 +#define tDIRECTION 363 +#define tAXIS2_PLACEMENT_3D 364 +#define tISO 365 +#define tENDISO 366 +#define tENDSEC 367 +#define tDATA 368 +#define tHEADER 369 +#define tFILE_DESCRIPTION 370 +#define tFILE_SCHEMA 371 +#define tFILE_NAME 372 +#define tMANIFOLD_SOLID_BREP 373 +#define tCLOSED_SHELL 374 +#define tADVANCED_BREP_SHAPE_REPRESENTATION 375 +#define tFACE_BOUND 376 +#define tCYLINDRICAL_SURFACE 377 +#define tCONICAL_SURFACE 378 +#define tCIRCLE 379 +#define tTRIMMED_CURVE 380 +#define tGEOMETRIC_SET 381 +#define tCOMPOSITE_CURVE_SEGMENT 382 +#define tCONTINUOUS 383 +#define tCOMPOSITE_CURVE 384 +#define tTOROIDAL_SURFACE 385 +#define tPRODUCT_DEFINITION 386 +#define tPRODUCT_DEFINITION_SHAPE 387 +#define tSHAPE_DEFINITION_REPRESENTATION 388 +#define tELLIPSE 389 +#define tTrimmed 390 +#define tSolid 391 +#define tEndSolid 392 +#define tVertex 393 +#define tFacet 394 +#define tNormal 395 +#define tOuter 396 +#define tLoopSTL 397 +#define tEndLoop 398 +#define tEndFacet 399 +#define tAND 400 +#define tOR 401 +#define tNOTEQUAL 402 +#define tEQUAL 403 +#define tAPPROXEQUAL 404 +#define tAFFECTPLUS 405 +#define tAFFECTMINUS 406 +#define tAFFECTTIMES 407 +#define tAFFECTDIVIDE 408 +#define tLESSOREQUAL 409 +#define tGREATEROREQUAL 410 +#define tCROSSPRODUCT 411 +#define UNARYPREC 412 +#define tPLUSPLUS 413 +#define tMINUSMINUS 414 extern YYSTYPE yylval; diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index ad9fd2fa14..5ce893dd60 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,4 +1,4 @@ -%{ /* $Id: Gmsh.y,v 1.25 2000-12-07 09:21:34 geuzaine Exp $ */ +%{ /* $Id: Gmsh.y,v 1.26 2000-12-07 16:03:44 remacle Exp $ */ #include <stdarg.h> @@ -16,6 +16,7 @@ #include "Colors.h" #include "Parser.h" #include "Main.h" +#include "FunctionManager.h" #ifdef __DECCXX // bug in bison #include <alloca.h> @@ -86,6 +87,7 @@ void vyyerror (char *fmt, ...); %token tScalarPoint tVectorPoint tTensorPoint %token tBSpline tNurbs tOrder tWith tBounds tKnots %token tColor tFor tEndFor tScript tExit tMerge +%token tReturn tCall tFunction %token tB_SPLINE_SURFACE_WITH_KNOTS %token tB_SPLINE_CURVE_WITH_KNOTS @@ -1737,7 +1739,31 @@ Loop : ImbricatedLoop--; } } - + | tReturn + { + if(!FunctionManager::Instance()->leaveFunction(&yyin)) + { + vyyerror("Error while exiting function"); + } + } + | tCall tSTRING tEND + { + if(!FunctionManager::Instance()->enterFunction($2,&yyin)) + { + vyyerror("Unknown Function %s",$2); + } + } + | tFunction tSTRING + { + // skip everything until return is found + if(!FunctionManager::Instance()->createFunction($2,yyin)) + { + vyyerror("Redefinition of function %s",$2); + } + void skip_until(char *until); + skip_until("Return"); + } +; /* --------------- S C R I P T --------------- diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index ad3c718231..eac5173ed9 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -2,7 +2,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.25 2000-12-07 09:21:34 geuzaine Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.26 2000-12-07 16:03:44 remacle Exp $ */ #define FLEX_SCANNER @@ -283,116 +283,117 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 176 -#define YY_END_OF_BUFFER 177 -static yyconst short int yy_accept[966] = +#define YY_NUM_RULES 178 +#define YY_END_OF_BUFFER 179 +static yyconst short int yy_accept[979] = { 0, - 0, 0, 177, 175, 1, 1, 175, 5, 169, 175, - 6, 175, 175, 175, 175, 175, 170, 14, 2, 175, - 9, 175, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 175, 175, 0, 0, 22, 169, 18, 12, 19, - 10, 20, 11, 0, 172, 0, 0, 0, 0, 3, - 4, 13, 16, 171, 170, 0, 24, 21, 25, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 73, 174, 174, 174, 174, 174, 174, 174, 111, - 114, 105, 108, 174, 174, 174, 174, 174, 174, 174, - 174, 113, 174, 116, 174, 107, 110, 174, 174, 174, - 174, 112, 115, 106, 109, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 17, 23, 0, 0, - 15, 0, 122, 123, 124, 125, 171, 0, 0, 173, - - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 40, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 52, - 174, 174, 174, 174, 174, 174, 100, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 66, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 84, 174, 174, 174, 174, 174, 174, 174, 94, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - - 174, 174, 174, 174, 174, 0, 0, 0, 172, 0, - 0, 171, 174, 26, 174, 174, 174, 174, 174, 174, - 28, 30, 174, 174, 174, 174, 35, 174, 174, 174, - 174, 174, 174, 174, 38, 174, 174, 174, 174, 174, - 39, 139, 174, 174, 174, 50, 174, 174, 174, 0, - 174, 174, 174, 103, 174, 174, 174, 57, 174, 59, - 174, 174, 174, 0, 174, 174, 133, 174, 174, 64, - 174, 65, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 86, 174, 85, 174, 174, 83, 174, 174, 174, - - 174, 93, 174, 174, 174, 174, 174, 97, 174, 99, - 174, 174, 174, 174, 164, 8, 174, 174, 174, 174, - 174, 0, 0, 0, 171, 174, 174, 174, 174, 174, - 174, 174, 32, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 45, 174, 174, - 174, 174, 174, 174, 174, 0, 174, 174, 174, 174, - 174, 174, 58, 174, 174, 60, 0, 174, 62, 174, - 174, 67, 174, 104, 174, 70, 174, 71, 137, 174, - 174, 174, 74, 75, 76, 174, 174, 174, 174, 82, - 174, 174, 51, 174, 174, 174, 174, 174, 174, 174, - - 96, 174, 174, 174, 174, 174, 174, 161, 174, 174, - 163, 168, 174, 0, 0, 174, 174, 174, 174, 27, - 29, 31, 174, 174, 174, 37, 174, 152, 174, 174, - 174, 174, 174, 174, 42, 174, 174, 174, 47, 48, - 174, 174, 174, 174, 0, 145, 174, 174, 101, 174, - 174, 174, 174, 174, 174, 174, 138, 0, 174, 68, - 63, 174, 69, 174, 174, 174, 174, 79, 174, 174, - 81, 174, 90, 87, 174, 174, 174, 174, 174, 174, - 174, 134, 174, 98, 174, 174, 174, 7, 162, 160, - 0, 0, 174, 174, 174, 174, 33, 174, 36, 174, - - 174, 174, 174, 174, 174, 174, 174, 174, 44, 174, - 174, 174, 174, 56, 0, 174, 174, 54, 174, 174, - 174, 174, 174, 174, 0, 61, 174, 174, 174, 174, - 174, 174, 174, 174, 88, 174, 174, 174, 174, 174, - 95, 174, 174, 165, 174, 0, 0, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 0, 53, 55, 174, 174, - 174, 174, 174, 174, 0, 174, 174, 174, 174, 72, - 174, 174, 174, 89, 174, 174, 174, 174, 174, 166, - 167, 0, 0, 174, 174, 174, 174, 34, 174, 174, - - 174, 174, 174, 174, 174, 174, 43, 135, 49, 174, - 128, 0, 174, 174, 174, 141, 174, 174, 0, 174, - 174, 174, 174, 174, 80, 174, 174, 174, 174, 92, - 174, 0, 0, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 46, 174, 127, 0, 131, - 174, 174, 174, 174, 0, 174, 174, 174, 78, 174, - 174, 174, 174, 174, 174, 0, 0, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 0, 174, 174, 140, 174, 0, 174, 174, 174, 77, - 174, 174, 174, 91, 174, 121, 0, 121, 174, 174, - - 174, 174, 174, 174, 174, 146, 174, 174, 174, 174, - 0, 174, 174, 174, 143, 174, 174, 174, 174, 174, - 174, 129, 120, 174, 132, 120, 174, 174, 174, 174, - 174, 174, 174, 174, 0, 174, 174, 154, 174, 126, - 174, 174, 174, 153, 174, 174, 174, 174, 174, 174, - 174, 174, 41, 0, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 117, 156, 150, 174, 0, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 144, 130, 142, 174, 174, 174, 151, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 136, 174, - - 174, 174, 174, 174, 157, 174, 174, 174, 174, 174, - 149, 148, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 155, 174, 174, 174, 174, - 174, 158, 174, 174, 119, 174, 174, 174, 174, 174, - 174, 118, 174, 174, 174, 174, 174, 174, 174, 174, - 159, 174, 174, 147, 0 + 0, 0, 179, 177, 1, 1, 177, 5, 171, 177, + 6, 177, 177, 177, 177, 177, 172, 14, 2, 177, + 9, 177, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 177, 177, 0, 0, 22, 171, 18, 12, 19, + 10, 20, 11, 0, 174, 0, 0, 0, 0, 3, + 4, 13, 16, 173, 172, 0, 24, 21, 25, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 73, 176, 176, 176, 176, 176, 176, 176, + 113, 116, 107, 110, 176, 176, 176, 176, 176, 176, + 176, 176, 115, 176, 118, 176, 109, 112, 176, 176, + 176, 176, 114, 117, 108, 111, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 17, 23, 0, + 0, 15, 0, 124, 125, 126, 127, 173, 0, 0, + + 175, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 40, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 52, 176, 176, 176, 176, 176, 176, 100, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 66, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 84, 176, 176, 176, 176, 176, + 176, 176, 94, 176, 176, 176, 176, 176, 176, 176, + + 176, 176, 176, 176, 176, 176, 176, 176, 176, 0, + 0, 0, 174, 0, 0, 173, 176, 26, 176, 176, + 176, 176, 176, 176, 28, 30, 176, 176, 176, 176, + 35, 176, 176, 176, 176, 176, 176, 106, 176, 38, + 176, 176, 176, 176, 176, 39, 141, 176, 176, 176, + 50, 176, 176, 176, 0, 176, 176, 176, 102, 176, + 176, 176, 57, 176, 59, 176, 176, 176, 176, 0, + 176, 176, 135, 176, 176, 64, 176, 65, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 86, 176, + + 85, 176, 176, 83, 176, 176, 176, 176, 93, 176, + 176, 176, 176, 176, 97, 176, 99, 176, 176, 176, + 176, 166, 8, 176, 176, 176, 176, 176, 0, 0, + 0, 173, 176, 176, 176, 176, 176, 176, 176, 32, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 45, 176, 176, 176, 176, 176, + 176, 176, 0, 176, 176, 176, 176, 176, 176, 58, + 176, 176, 176, 60, 0, 176, 62, 176, 176, 67, + 176, 103, 176, 70, 176, 71, 139, 176, 176, 176, + 74, 75, 76, 176, 176, 176, 176, 176, 82, 176, + + 176, 51, 176, 176, 176, 176, 176, 176, 176, 96, + 176, 176, 176, 176, 176, 176, 163, 176, 176, 165, + 170, 176, 0, 0, 176, 176, 176, 176, 27, 29, + 31, 176, 176, 176, 37, 176, 154, 176, 176, 176, + 176, 176, 176, 42, 176, 176, 176, 47, 48, 176, + 176, 176, 176, 0, 147, 176, 176, 101, 176, 176, + 176, 176, 176, 176, 176, 176, 140, 0, 176, 68, + 63, 176, 69, 176, 176, 176, 176, 79, 176, 176, + 105, 81, 176, 90, 87, 176, 176, 176, 176, 176, + 176, 176, 136, 176, 98, 176, 176, 176, 7, 164, + + 162, 0, 0, 176, 176, 176, 176, 33, 176, 36, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 44, + 176, 176, 176, 176, 56, 0, 176, 176, 54, 176, + 176, 176, 176, 176, 176, 176, 0, 61, 176, 176, + 176, 176, 176, 176, 176, 176, 88, 176, 176, 176, + 176, 176, 95, 176, 176, 167, 176, 0, 0, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 0, 53, 55, + 176, 176, 176, 176, 176, 104, 176, 0, 176, 176, + 176, 176, 72, 176, 176, 176, 89, 176, 176, 176, + + 176, 176, 168, 169, 0, 0, 176, 176, 176, 176, + 34, 176, 176, 176, 176, 176, 176, 176, 176, 43, + 137, 49, 176, 130, 0, 176, 176, 176, 143, 176, + 176, 0, 176, 176, 176, 176, 176, 80, 176, 176, + 176, 176, 92, 176, 0, 0, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 46, 176, + 129, 0, 133, 176, 176, 176, 176, 0, 176, 176, + 176, 78, 176, 176, 176, 176, 176, 176, 0, 0, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 0, 176, 176, 142, 176, 0, 176, + + 176, 176, 77, 176, 176, 176, 91, 176, 123, 0, + 123, 176, 176, 176, 176, 176, 176, 176, 148, 176, + 176, 176, 176, 0, 176, 176, 176, 145, 176, 176, + 176, 176, 176, 176, 131, 122, 176, 134, 122, 176, + 176, 176, 176, 176, 176, 176, 176, 0, 176, 176, + 156, 176, 128, 176, 176, 176, 155, 176, 176, 176, + 176, 176, 176, 176, 176, 41, 0, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 119, 158, 152, + 176, 0, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 146, 132, 144, 176, 176, 176, + + 153, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 138, 176, 176, 176, 176, 176, 159, 176, 176, + 176, 176, 176, 151, 150, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, + 176, 176, 176, 176, 176, 176, 176, 176, 157, 176, + 176, 176, 176, 176, 160, 176, 176, 121, 176, 176, + 176, 176, 176, 176, 120, 176, 176, 176, 176, 176, + 176, 176, 176, 161, 176, 176, 149, 0 } ; static yyconst int yy_ec[256] = @@ -439,227 +440,231 @@ static yyconst int yy_meta[75] = 3, 3, 1, 1 } ; -static yyconst short int yy_base[971] = +static yyconst short int yy_base[984] = { 0, - 0, 0, 1227, 49, 50, 1228, 55, 52, 68, 73, + 0, 0, 1240, 49, 50, 1241, 55, 52, 68, 73, 53, 65, 78, 79, 111, 93, 130, 71, 77, 87, - 109, 117, 123, 131, 176, 138, 178, 135, 181, 184, - 175, 81, 125, 203, 216, 205, 215, 234, 221, 274, - 309, 202, 269, 224, 245, 236, 259, 302, 255, 277, - 264, 293, 332, 1188, 1188, 1228, 353, 1228, 1228, 1228, - 1228, 1228, 1228, 1212, 362, 1211, 1210, 126, 1209, 1228, - 1228, 1228, 1228, 367, 382, 391, 1228, 1228, 1228, 0, - 72, 1176, 1182, 1186, 1165, 1158, 115, 1177, 1151, 1172, - 1144, 1151, 1170, 1169, 1170, 81, 1172, 1139, 1147, 1154, - - 1138, 354, 1160, 1161, 1141, 1140, 1148, 1134, 1166, 1160, - 1167, 1134, 1139, 267, 1165, 1155, 1138, 1126, 1125, 1121, - 1147, 1160, 1120, 1144, 1129, 1118, 1142, 1106, 1116, 1115, - 115, 1138, 1109, 1120, 1107, 1139, 1117, 1145, 1130, 1102, - 1094, 0, 1115, 117, 121, 1112, 1096, 1103, 1137, 0, - 0, 0, 0, 1091, 1094, 1097, 1103, 1097, 1090, 1089, - 1093, 0, 1112, 0, 1119, 0, 0, 1089, 167, 1091, - 226, 0, 0, 0, 0, 1094, 1088, 1079, 1092, 1092, - 1081, 1072, 1076, 1073, 1080, 1073, 1228, 1228, 1100, 1095, - 1228, 408, 1228, 1228, 1228, 1228, 413, 428, 433, 438, - - 1098, 1068, 1109, 1091, 1090, 331, 1069, 1068, 1063, 1068, - 1087, 1064, 1061, 1081, 1096, 1080, 1081, 1087, 1086, 1057, - 1057, 1050, 1062, 1059, 1050, 1048, 1053, 1085, 1080, 1053, - 1056, 1035, 1045, 1075, 1070, 350, 1043, 1071, 1032, 0, - 1033, 1069, 1068, 1029, 1032, 1040, 0, 1056, 1064, 1028, - 1078, 1029, 1020, 1058, 1031, 1028, 1029, 1067, 1018, 1048, - 1023, 1010, 1026, 1048, 1021, 1037, 1046, 1022, 1005, 1009, - 1008, 1014, 1006, 1010, 1003, 1014, 1009, 1023, 1007, 1002, - 1002, 1004, 999, 989, 1000, 994, 1015, 1016, 994, 989, - 989, 987, 1005, 1004, 975, 976, 986, 402, 988, 978, - - 157, 980, 985, 980, 970, 994, 996, 448, 455, 464, - 469, 474, 992, 0, 996, 993, 1015, 968, 971, 978, - 0, 1011, 976, 967, 989, 970, 0, 994, 986, 992, - 981, 992, 980, 948, 0, 965, 955, 948, 947, 952, - 0, 0, 984, 942, 941, 0, 949, 957, 966, 972, - 975, 939, 939, 0, 932, 950, 949, 0, 932, 0, - 968, 967, 927, 978, 924, 925, 0, 925, 922, 0, - 974, 0, 958, 932, 926, 918, 946, 917, 953, 937, - 919, 920, 923, 909, 910, 907, 908, 912, 904, 917, - 941, 0, 905, 0, 904, 905, 0, 915, 910, 931, - - 926, 0, 895, 900, 903, 920, 929, 0, 896, 0, - 905, 892, 891, 885, 0, 0, 897, 900, 884, 895, - 893, 914, 917, 479, 484, 912, 917, 914, 892, 874, - 878, 877, 0, 885, 875, 903, 868, 892, 904, 904, - 889, 905, 901, 868, 874, 871, 870, 0, 869, 880, - 867, 866, 867, 228, 877, 876, 890, 66, 850, 861, - 276, 476, 0, 871, 872, 0, 897, 857, 0, 843, - 851, 0, 869, 0, 844, 0, 863, 0, 0, 878, - 849, 850, 0, 0, 0, 846, 846, 848, 844, 0, - 848, 829, 0, 841, 842, 826, 865, 863, 217, 836, - - 0, 849, 842, 833, 834, 823, 825, 0, 827, 823, - 0, 0, 810, 843, 853, 841, 849, 850, 836, 0, - 0, 858, 806, 818, 834, 0, 838, 0, 820, 836, - 832, 826, 806, 797, 0, 802, 791, 829, 0, 0, - 810, 816, 820, 829, 818, 0, 797, 796, 0, 799, - 814, 808, 822, 825, 822, 807, 0, 829, 791, 0, - 0, 809, 0, 815, 800, 774, 790, 0, 773, 780, - 0, 810, 0, 0, 782, 770, 810, 806, 774, 781, - 777, 0, 780, 0, 774, 764, 768, 0, 0, 0, - 782, 792, 780, 795, 789, 785, 0, 757, 0, 790, - - 793, 775, 773, 765, 781, 772, 757, 758, 0, 771, - 741, 767, 768, 0, 794, 738, 751, 0, 759, 759, - 759, 763, 767, 765, 782, 0, 768, 767, 744, 727, - 732, 724, 728, 760, 0, 715, 751, 736, 723, 716, - 0, 743, 714, 0, 727, 741, 749, 739, 727, 746, - 750, 708, 723, 734, 739, 741, 727, 741, 704, 700, - 710, 726, 712, 717, 721, 744, 0, 0, 721, 729, - 730, 727, 726, 727, 735, 702, 701, 722, 690, 0, - 689, 692, 716, 0, 695, 717, 684, 687, 702, 0, - 0, 696, 706, 694, 363, 704, 709, 0, 150, 685, - - 705, 682, 685, 701, 662, 31, 0, 0, 0, 84, - 0, 184, 205, 203, 204, 0, 215, 238, 283, 281, - 301, 312, 289, 281, 0, 321, 314, 317, 295, 0, - 331, 324, 358, 346, 349, 369, 375, 376, 369, 372, - 378, 397, 407, 394, 400, 0, 371, 0, 423, 0, - 409, 427, 436, 435, 461, 466, 478, 477, 0, 446, - 471, 466, 470, 457, 475, 0, 487, 517, 487, 490, - 493, 495, 492, 493, 496, 500, 498, 513, 494, 477, - 531, 521, 508, 0, 520, 534, 515, 521, 520, 0, - 521, 514, 511, 0, 514, 1228, 0, 0, 518, 530, - - 591, 531, 516, 532, 530, 0, 523, 540, 525, 509, - 551, 531, 528, 529, 1228, 540, 545, 537, 533, 547, - 549, 0, 1228, 529, 0, 0, 542, 552, 557, 545, - 539, 558, 542, 534, 576, 545, 557, 0, 567, 0, - 573, 574, 583, 0, 567, 567, 566, 590, 575, 590, - 591, 580, 0, 605, 585, 585, 575, 583, 588, 601, - 597, 580, 585, 603, 0, 583, 0, 604, 619, 608, - 599, 612, 606, 603, 613, 618, 626, 612, 596, 605, - 623, 1228, 0, 0, 608, 611, 601, 0, 612, 625, - 611, 609, 627, 630, 629, 621, 619, 632, 0, 630, - - 630, 633, 638, 628, 619, 641, 621, 622, 630, 637, - 0, 0, 633, 636, 636, 643, 647, 651, 649, 641, - 654, 646, 635, 648, 662, 659, 649, 651, 656, 649, - 653, 652, 654, 653, 659, 0, 669, 670, 671, 659, - 663, 0, 665, 662, 0, 662, 663, 678, 666, 684, - 672, 0, 668, 669, 680, 689, 676, 673, 679, 685, - 0, 680, 682, 0, 1228, 717, 720, 723, 726, 729 + 109, 117, 123, 131, 176, 138, 178, 186, 133, 181, + 199, 81, 125, 209, 231, 152, 151, 230, 232, 275, + 310, 218, 270, 139, 221, 240, 278, 303, 276, 294, + 225, 281, 333, 1201, 1201, 1241, 352, 1241, 1241, 1241, + 1241, 1241, 1241, 1225, 363, 1224, 1223, 126, 1222, 1241, + 1241, 1241, 1241, 368, 383, 392, 1241, 1241, 1241, 0, + 72, 1189, 1195, 1199, 1178, 1171, 241, 1190, 1164, 1185, + 1157, 1164, 1183, 1182, 1183, 81, 1185, 108, 1161, 1168, + + 1152, 355, 1174, 1175, 1155, 1154, 1162, 1148, 1180, 1174, + 1181, 1148, 1153, 164, 1179, 1169, 1152, 1140, 1139, 1135, + 1138, 1160, 1173, 1133, 1157, 1142, 1131, 1155, 1119, 1129, + 1128, 123, 1151, 1122, 1133, 1120, 1152, 1130, 1158, 1143, + 1115, 1107, 0, 1128, 113, 170, 210, 1110, 1117, 1151, + 0, 0, 0, 0, 1105, 1108, 1111, 1117, 1111, 1104, + 1103, 1107, 0, 1126, 0, 1133, 0, 0, 1103, 265, + 1105, 161, 0, 0, 0, 0, 1108, 1102, 1093, 1106, + 1106, 1095, 1086, 1090, 1087, 1094, 1087, 1241, 1241, 1114, + 1109, 1241, 409, 1241, 1241, 1241, 1241, 414, 429, 434, + + 439, 1112, 1082, 1123, 1105, 1104, 300, 1083, 1082, 1077, + 1082, 1101, 1078, 1075, 1095, 1110, 1094, 1095, 1101, 1100, + 1072, 1070, 1070, 1063, 1075, 1072, 1063, 1061, 1066, 1098, + 1093, 1066, 1069, 1048, 1058, 1088, 1083, 258, 1056, 1084, + 1045, 0, 1046, 1082, 1081, 1042, 1045, 1053, 0, 1053, + 1068, 1076, 1040, 1090, 1041, 1032, 1070, 1043, 1040, 1041, + 1079, 1030, 1060, 1035, 1022, 1038, 1060, 1033, 1049, 1058, + 1034, 1017, 1021, 1020, 1026, 1018, 1022, 1015, 1008, 1025, + 1020, 1034, 1018, 1013, 1013, 1015, 1010, 1000, 1011, 1005, + 1026, 1027, 1005, 1000, 1000, 998, 1016, 1015, 986, 987, + + 997, 403, 999, 989, 213, 991, 996, 991, 981, 1005, + 1007, 449, 456, 465, 470, 475, 1003, 0, 1007, 1004, + 1026, 979, 982, 989, 0, 1022, 987, 978, 1000, 981, + 0, 1005, 997, 1003, 992, 1003, 991, 0, 959, 0, + 976, 966, 959, 958, 963, 0, 0, 995, 953, 952, + 0, 960, 968, 977, 983, 986, 950, 950, 0, 943, + 961, 960, 0, 943, 0, 940, 978, 977, 937, 988, + 934, 935, 0, 935, 932, 0, 984, 0, 968, 942, + 936, 928, 956, 927, 963, 947, 929, 930, 933, 919, + 920, 917, 918, 922, 916, 913, 926, 950, 0, 914, + + 0, 913, 914, 0, 924, 919, 940, 935, 0, 904, + 909, 912, 929, 938, 0, 905, 0, 914, 901, 900, + 894, 0, 0, 906, 909, 893, 904, 902, 923, 926, + 480, 485, 921, 926, 923, 901, 883, 887, 886, 0, + 894, 884, 912, 877, 901, 913, 913, 898, 914, 910, + 877, 883, 880, 879, 0, 878, 889, 876, 875, 876, + 246, 886, 885, 899, 66, 859, 870, 297, 477, 0, + 864, 879, 880, 0, 905, 865, 0, 851, 859, 0, + 877, 0, 852, 0, 871, 0, 0, 886, 857, 858, + 0, 0, 0, 854, 854, 856, 845, 851, 0, 855, + + 836, 0, 848, 849, 833, 872, 870, 303, 843, 0, + 856, 849, 840, 841, 830, 832, 0, 834, 830, 0, + 0, 817, 850, 860, 848, 856, 857, 843, 0, 0, + 865, 813, 825, 841, 0, 845, 0, 827, 843, 839, + 833, 813, 804, 0, 809, 798, 836, 0, 0, 817, + 823, 827, 836, 825, 0, 804, 803, 0, 806, 821, + 815, 829, 832, 829, 792, 813, 0, 835, 797, 0, + 0, 815, 0, 821, 806, 780, 796, 0, 779, 786, + 0, 0, 816, 0, 0, 788, 776, 816, 812, 780, + 787, 783, 0, 786, 0, 780, 770, 774, 0, 0, + + 0, 788, 798, 786, 801, 795, 791, 0, 763, 0, + 796, 799, 781, 779, 771, 787, 778, 763, 764, 0, + 777, 747, 773, 774, 0, 800, 744, 757, 0, 765, + 765, 765, 769, 773, 742, 770, 787, 0, 773, 772, + 749, 732, 737, 729, 733, 765, 0, 720, 756, 741, + 728, 721, 0, 748, 719, 0, 732, 746, 754, 744, + 732, 751, 755, 713, 728, 739, 744, 746, 732, 746, + 709, 705, 715, 731, 717, 722, 726, 749, 0, 0, + 726, 734, 735, 732, 731, 0, 732, 740, 707, 706, + 727, 695, 0, 694, 697, 721, 0, 700, 722, 689, + + 692, 706, 0, 0, 698, 706, 692, 363, 57, 86, + 0, 346, 149, 189, 194, 207, 273, 243, 272, 0, + 0, 0, 303, 0, 347, 336, 324, 331, 0, 337, + 325, 378, 349, 365, 366, 352, 343, 0, 381, 375, + 375, 366, 0, 402, 394, 408, 397, 401, 435, 432, + 433, 434, 435, 466, 471, 481, 468, 474, 0, 444, + 0, 494, 0, 463, 481, 491, 475, 501, 481, 493, + 492, 0, 461, 486, 481, 485, 472, 490, 0, 501, + 528, 503, 516, 516, 508, 505, 506, 514, 518, 511, + 526, 507, 490, 544, 534, 521, 0, 533, 547, 528, + + 534, 533, 0, 534, 527, 524, 0, 527, 1241, 0, + 0, 531, 543, 602, 544, 529, 545, 543, 0, 537, + 554, 538, 522, 564, 544, 541, 542, 1241, 553, 558, + 550, 546, 560, 562, 0, 1241, 542, 0, 0, 555, + 565, 570, 558, 552, 571, 555, 547, 589, 562, 584, + 0, 590, 0, 586, 587, 596, 0, 585, 585, 579, + 603, 588, 603, 604, 593, 0, 618, 598, 598, 588, + 596, 601, 614, 610, 593, 598, 616, 0, 596, 0, + 617, 632, 621, 612, 626, 620, 616, 626, 631, 639, + 625, 609, 618, 636, 1241, 0, 0, 621, 624, 614, + + 0, 625, 638, 624, 622, 640, 643, 642, 634, 632, + 645, 0, 643, 645, 648, 651, 641, 632, 654, 634, + 635, 643, 650, 0, 0, 646, 649, 649, 656, 660, + 664, 662, 654, 667, 659, 648, 661, 675, 672, 662, + 664, 669, 662, 666, 665, 667, 666, 672, 0, 682, + 683, 684, 672, 676, 0, 678, 675, 0, 675, 676, + 691, 679, 697, 685, 0, 681, 682, 693, 702, 689, + 686, 692, 698, 0, 693, 695, 0, 1241, 730, 733, + 736, 739, 742 } ; -static yyconst short int yy_def[971] = +static yyconst short int yy_def[984] = { 0, - 965, 1, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - - 966, 966, 966, 966, 966, 965, 965, 965, 965, 965, - 965, 965, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 965, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 965, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 965, 965, 965, 965, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 965, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 965, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 965, 965, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 965, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 965, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 965, 965, 966, 966, 966, 966, 966, 966, 966, 966, - - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 965, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 965, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 965, 965, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 965, 966, 966, 966, 966, - 966, 966, 966, 966, 965, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 965, 965, 966, 966, 966, 966, 966, 966, 966, - - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 965, 966, 966, 966, 966, 966, 966, 965, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 965, 965, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 965, 966, - 966, 966, 966, 966, 965, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 967, 965, 968, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 965, 966, 966, 966, 966, 965, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 965, 969, 966, 966, 966, - - 970, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 965, 966, 966, 966, 965, 966, 966, 966, 966, 966, - 966, 966, 965, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 965, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 965, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 965, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 965, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, - 966, 966, 966, 966, 0, 965, 965, 965, 965, 965 + 978, 1, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + + 979, 979, 979, 979, 979, 979, 979, 979, 979, 978, + 978, 978, 978, 978, 978, 978, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 978, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 978, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 978, 978, + 978, 978, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 978, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 978, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 978, 978, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 978, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 978, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + + 979, 978, 978, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 978, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 978, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 978, 978, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 978, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 978, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + + 979, 979, 979, 979, 978, 978, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 978, 979, 979, 979, 979, 979, + 979, 978, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 978, 978, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 978, 979, 979, 979, 979, 979, 978, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 980, 978, + 981, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 978, 979, 979, 979, 979, 978, 979, + + 979, 979, 979, 979, 979, 979, 979, 979, 978, 982, + 979, 979, 979, 983, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 978, 979, 979, 979, 978, 979, 979, + 979, 979, 979, 979, 979, 978, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 978, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 978, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 978, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 978, 979, 979, 979, 979, 979, + + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, + 979, 979, 979, 979, 979, 979, 979, 0, 978, 978, + 978, 978, 978 } ; -static yyconst short int yy_nxt[1303] = +static yyconst short int yy_nxt[1316] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 18, 19, @@ -669,145 +674,146 @@ static yyconst short int yy_nxt[1303] = 32, 32, 32, 45, 46, 32, 32, 32, 47, 32, 48, 49, 32, 32, 32, 50, 32, 32, 51, 32, 32, 32, 52, 53, 54, 54, 56, 54, 54, 58, - 54, 57, 57, 57, 57, 57, 59, 60, 747, 62, + 54, 57, 57, 57, 57, 57, 59, 60, 750, 62, 54, 55, 55, 54, 55, 55, 54, 55, 54, 61, - 63, 70, 54, 54, 54, 71, 88, 55, 77, 201, - 55, 748, 54, 55, 72, 55, 217, 218, 54, 55, + 63, 70, 54, 54, 54, 71, 88, 55, 77, 202, + 55, 751, 54, 55, 72, 55, 218, 219, 54, 55, 55, 55, 64, 83, 65, 65, 65, 65, 65, 55, - 78, 547, 548, 202, 54, 55, 54, 195, 79, 66, + 78, 556, 557, 203, 54, 55, 54, 196, 79, 66, 73, 74, 54, 75, 75, 75, 75, 75, 81, 82, - 88, 55, 67, 68, 69, 54, 88, 76, 115, 55, - 88, 103, 190, 88, 208, 83, 116, 83, 84, 104, - 258, 89, 55, 83, 271, 739, 259, 83, 273, 90, - 83, 209, 274, 76, 117, 126, 272, 85, 86, 87, - 740, 105, 91, 118, 119, 106, 120, 749, 92, 93, - - 88, 88, 107, 88, 109, 108, 88, 94, 121, 88, - 95, 122, 110, 96, 111, 124, 290, 83, 83, 416, - 83, 417, 97, 83, 291, 98, 83, 88, 88, 99, - 88, 750, 100, 101, 127, 125, 112, 102, 113, 132, - 88, 88, 751, 752, 83, 83, 88, 83, 114, 88, - 753, 293, 128, 542, 136, 123, 129, 83, 83, 88, - 130, 88, 543, 83, 131, 294, 83, 170, 138, 133, - 88, 579, 135, 139, 146, 580, 83, 134, 83, 137, - 88, 178, 147, 140, 88, 180, 754, 83, 148, 88, - 141, 142, 143, 755, 88, 144, 171, 83, 145, 88, - - 551, 83, 88, 172, 149, 179, 83, 173, 150, 174, - 175, 83, 151, 552, 152, 153, 83, 186, 54, 83, - 181, 756, 184, 154, 239, 155, 176, 88, 757, 240, - 177, 156, 157, 241, 88, 55, 158, 159, 185, 758, - 759, 160, 760, 162, 83, 161, 163, 164, 165, 166, - 167, 83, 761, 188, 762, 182, 318, 54, 168, 763, - 350, 764, 765, 183, 766, 187, 57, 57, 57, 57, - 57, 319, 320, 169, 55, 65, 65, 65, 65, 65, - 197, 197, 197, 197, 197, 767, 768, 735, 769, 192, - 351, 736, 770, 74, 198, 75, 75, 75, 75, 75, - - 199, 199, 771, 772, 200, 200, 200, 200, 200, 76, - 224, 773, 225, 226, 774, 192, 775, 308, 308, 227, - 198, 309, 309, 309, 309, 309, 197, 197, 197, 197, - 197, 776, 777, 778, 779, 76, 780, 311, 311, 781, - 310, 312, 312, 312, 312, 312, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 411, 782, 783, 784, - 412, 309, 309, 309, 309, 309, 310, 413, 309, 309, - 309, 309, 309, 424, 424, 785, 786, 425, 425, 425, - 425, 425, 312, 312, 312, 312, 312, 312, 312, 312, - 312, 312, 425, 425, 425, 425, 425, 425, 425, 425, - - 425, 425, 553, 787, 788, 789, 790, 791, 792, 793, - 794, 795, 554, 797, 799, 800, 555, 796, 796, 801, - 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, - 802, 803, 804, 805, 806, 796, 796, 796, 796, 796, - 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, - 817, 818, 819, 820, 821, 822, 824, 825, 827, 828, - 829, 830, 831, 832, 796, 833, 834, 835, 836, 837, - 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, - 848, 849, 850, 851, 852, 853, 854, 855, 856, 796, - 796, 823, 823, 857, 823, 823, 823, 823, 823, 823, - - 823, 823, 823, 823, 858, 859, 860, 861, 862, 823, - 823, 823, 823, 823, 863, 864, 865, 866, 867, 868, - 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, - 879, 880, 881, 882, 883, 884, 885, 886, 823, 887, - 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, + 88, 55, 67, 68, 69, 54, 88, 76, 88, 55, + 122, 103, 191, 88, 88, 83, 221, 83, 84, 104, + 274, 89, 55, 83, 222, 83, 88, 88, 261, 90, + 83, 83, 275, 76, 262, 127, 297, 85, 86, 87, + 137, 105, 91, 83, 83, 106, 179, 754, 92, 93, + + 298, 88, 107, 88, 109, 108, 88, 94, 123, 115, + 95, 88, 110, 96, 111, 138, 755, 116, 83, 136, + 83, 241, 97, 83, 88, 98, 242, 276, 83, 99, + 243, 277, 100, 101, 88, 117, 112, 102, 113, 125, + 128, 83, 756, 88, 118, 119, 88, 120, 114, 757, + 88, 83, 124, 121, 133, 88, 88, 88, 129, 126, + 83, 278, 130, 83, 139, 88, 131, 83, 355, 140, + 132, 551, 83, 83, 83, 423, 279, 424, 187, 141, + 552, 180, 83, 171, 134, 147, 142, 143, 144, 181, + 209, 145, 135, 148, 146, 88, 758, 172, 356, 149, + + 88, 88, 759, 88, 173, 150, 54, 210, 174, 151, + 175, 176, 83, 152, 294, 153, 154, 83, 83, 88, + 83, 560, 295, 55, 155, 322, 156, 177, 88, 760, + 761, 178, 157, 158, 561, 88, 83, 159, 160, 182, + 323, 324, 161, 185, 163, 83, 162, 164, 165, 166, + 167, 168, 83, 188, 189, 186, 183, 590, 54, 169, + 762, 591, 763, 764, 184, 57, 57, 57, 57, 57, + 765, 752, 766, 767, 170, 55, 65, 65, 65, 65, + 65, 198, 198, 198, 198, 198, 753, 748, 768, 769, + 193, 749, 770, 771, 74, 199, 75, 75, 75, 75, + + 75, 200, 200, 772, 773, 201, 201, 201, 201, 201, + 76, 226, 774, 227, 228, 775, 193, 776, 312, 312, + 229, 199, 313, 313, 313, 313, 313, 198, 198, 198, + 198, 198, 777, 778, 779, 780, 76, 781, 315, 315, + 782, 314, 316, 316, 316, 316, 316, 201, 201, 201, + 201, 201, 201, 201, 201, 201, 201, 418, 783, 784, + 785, 419, 313, 313, 313, 313, 313, 314, 420, 313, + 313, 313, 313, 313, 431, 431, 786, 787, 432, 432, + 432, 432, 432, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 432, 432, 432, 432, 432, 432, 432, + + 432, 432, 432, 562, 788, 789, 790, 791, 792, 793, + 794, 795, 796, 563, 797, 798, 799, 564, 800, 801, + 802, 803, 804, 805, 806, 807, 808, 810, 809, 809, + 812, 809, 809, 809, 809, 809, 809, 809, 809, 809, + 809, 813, 814, 815, 816, 817, 809, 809, 809, 809, + 809, 818, 819, 820, 821, 822, 823, 824, 825, 826, + 827, 828, 829, 830, 831, 832, 833, 834, 835, 837, + 838, 840, 841, 842, 843, 809, 844, 845, 846, 847, + 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, + 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, + + 809, 809, 836, 836, 868, 836, 836, 836, 836, 836, + 836, 836, 836, 836, 836, 869, 870, 871, 872, 873, + 836, 836, 836, 836, 836, 874, 875, 876, 877, 878, + 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, + 889, 890, 891, 892, 893, 894, 895, 896, 897, 836, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, - 908, 909, 910, 823, 823, 911, 912, 913, 914, 915, - 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, + 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, + 918, 919, 920, 921, 836, 836, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, - 956, 957, 958, 959, 960, 961, 962, 963, 964, 80, - 796, 746, 796, 798, 745, 798, 823, 744, 823, 826, - 743, 826, 742, 741, 738, 737, 734, 733, 732, 731, - 730, 729, 728, 727, 726, 725, 724, 723, 722, 721, - 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, - 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, - 700, 699, 698, 697, 696, 695, 694, 693, 692, 691, - 690, 689, 688, 687, 686, 685, 684, 683, 682, 681, - 680, 679, 678, 677, 676, 675, 674, 673, 672, 671, - - 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, - 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, - 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, - 640, 639, 638, 637, 636, 635, 634, 633, 632, 631, - 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, - 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, - 610, 609, 608, 607, 606, 605, 604, 603, 602, 601, - 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, - 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, - 578, 577, 576, 575, 574, 573, 572, 571, 570, 569, - - 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, - 558, 557, 556, 550, 549, 546, 545, 544, 541, 540, - 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, - 529, 528, 527, 526, 525, 524, 523, 522, 521, 520, - 519, 518, 517, 516, 515, 514, 513, 512, 511, 510, - 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, - 499, 498, 497, 496, 495, 494, 493, 492, 491, 490, - 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, - 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, - 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, - - 459, 458, 457, 456, 455, 454, 453, 452, 451, 450, - 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, - 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, - 429, 428, 427, 426, 423, 422, 421, 420, 419, 418, - 415, 414, 410, 409, 408, 407, 406, 405, 404, 403, - 402, 401, 400, 399, 398, 397, 396, 395, 394, 393, - 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, - 382, 381, 380, 379, 378, 377, 376, 375, 374, 373, - 372, 371, 370, 369, 368, 367, 366, 365, 364, 363, - 362, 361, 360, 359, 358, 357, 356, 355, 354, 353, - - 352, 349, 348, 347, 346, 345, 344, 343, 342, 341, - 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, - 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, - 317, 316, 315, 314, 313, 307, 306, 305, 304, 303, - 302, 301, 300, 299, 298, 297, 296, 295, 292, 289, - 288, 287, 286, 285, 284, 283, 282, 281, 280, 279, - 278, 277, 276, 275, 270, 269, 268, 267, 266, 265, - 264, 263, 262, 261, 260, 257, 256, 255, 254, 253, - 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, - 242, 238, 237, 236, 235, 234, 233, 232, 231, 230, - - 229, 228, 223, 222, 221, 220, 219, 216, 215, 214, - 213, 212, 211, 210, 201, 207, 206, 205, 204, 203, - 196, 194, 193, 191, 190, 189, 965, 3, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - - 965, 965 + 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, + 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, + 976, 977, 80, 809, 747, 809, 811, 746, 811, 836, + 745, 836, 839, 744, 839, 743, 742, 741, 740, 739, + 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, + 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, + 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, + 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, + 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, + + 688, 687, 686, 685, 684, 683, 682, 681, 680, 679, + 678, 677, 676, 675, 674, 673, 672, 671, 670, 669, + 668, 667, 666, 665, 664, 663, 662, 661, 660, 659, + 658, 657, 656, 655, 654, 653, 652, 651, 650, 649, + 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, + 638, 637, 636, 635, 634, 633, 632, 631, 630, 629, + 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, + 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, + 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, + 598, 597, 596, 595, 594, 593, 592, 589, 588, 587, + + 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, + 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, + 566, 565, 559, 558, 555, 554, 553, 550, 549, 548, + 547, 546, 545, 544, 543, 542, 541, 540, 539, 538, + 537, 536, 535, 534, 533, 532, 531, 530, 529, 528, + 527, 526, 525, 524, 523, 522, 521, 520, 519, 518, + 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, + 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, + 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, + 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, + + 477, 476, 475, 474, 473, 472, 471, 470, 469, 468, + 467, 466, 465, 464, 463, 462, 461, 460, 459, 458, + 457, 456, 455, 454, 453, 452, 451, 450, 449, 448, + 447, 446, 445, 444, 443, 442, 441, 440, 439, 438, + 437, 436, 435, 434, 433, 430, 429, 428, 427, 426, + 425, 422, 421, 417, 416, 415, 414, 413, 412, 411, + 410, 409, 408, 407, 406, 405, 404, 403, 402, 401, + 400, 399, 398, 397, 396, 395, 394, 393, 392, 391, + 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, + 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, + + 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, + 360, 359, 358, 357, 354, 353, 352, 351, 350, 349, + 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, + 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, + 328, 327, 326, 325, 321, 320, 319, 318, 317, 311, + 310, 309, 308, 307, 306, 305, 304, 303, 302, 301, + 300, 299, 296, 293, 292, 291, 290, 289, 288, 287, + 286, 285, 284, 283, 282, 281, 280, 273, 272, 271, + 270, 269, 268, 267, 266, 265, 264, 263, 260, 259, + 258, 257, 256, 255, 254, 253, 252, 251, 250, 249, + + 248, 247, 246, 245, 244, 240, 239, 238, 237, 236, + 235, 234, 233, 232, 231, 230, 225, 224, 223, 220, + 217, 216, 215, 214, 213, 212, 211, 202, 208, 207, + 206, 205, 204, 197, 195, 194, 192, 191, 190, 978, + 3, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978 } ; -static yyconst short int yy_chk[1303] = +static yyconst short int yy_chk[1316] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -817,142 +823,143 @@ static yyconst short int yy_chk[1303] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, 7, 8, 11, 10, - 7, 9, 9, 9, 9, 9, 12, 13, 706, 14, + 7, 9, 9, 9, 9, 9, 12, 13, 709, 14, 12, 4, 5, 9, 8, 11, 18, 7, 10, 13, 14, 16, 19, 13, 14, 16, 32, 12, 20, 81, 9, 710, 20, 18, 16, 10, 96, 96, 16, 19, 13, 14, 15, 32, 15, 15, 15, 15, 15, 20, - 21, 458, 458, 81, 21, 16, 15, 68, 22, 15, + 21, 465, 465, 81, 21, 16, 15, 68, 22, 15, 16, 17, 22, 17, 17, 17, 17, 17, 23, 23, - 33, 21, 15, 15, 15, 17, 24, 17, 28, 22, - 28, 26, 68, 26, 87, 23, 28, 33, 23, 26, - 131, 24, 17, 24, 144, 699, 131, 28, 145, 24, - 26, 87, 145, 17, 28, 33, 144, 23, 23, 23, - 699, 26, 24, 28, 28, 26, 28, 712, 24, 25, - - 31, 25, 26, 27, 27, 26, 29, 25, 29, 30, - 25, 30, 27, 25, 27, 31, 169, 31, 25, 301, - 27, 301, 25, 29, 169, 25, 30, 42, 34, 25, - 36, 713, 25, 25, 34, 31, 27, 25, 27, 35, - 37, 35, 714, 715, 42, 34, 39, 36, 27, 44, - 717, 171, 34, 454, 37, 30, 34, 37, 35, 38, - 34, 46, 454, 39, 34, 171, 44, 42, 38, 35, - 45, 499, 36, 38, 39, 499, 38, 35, 46, 37, - 49, 44, 39, 38, 47, 46, 718, 45, 39, 51, - 38, 38, 38, 719, 43, 38, 43, 49, 38, 40, - - 461, 47, 50, 43, 40, 45, 51, 43, 40, 43, - 43, 43, 40, 461, 40, 40, 40, 51, 52, 50, - 47, 720, 49, 40, 114, 40, 43, 48, 721, 114, - 43, 40, 40, 114, 41, 52, 40, 40, 50, 722, - 723, 40, 724, 41, 48, 40, 41, 41, 41, 41, - 41, 41, 726, 53, 727, 48, 206, 53, 41, 728, - 236, 729, 731, 48, 732, 52, 57, 57, 57, 57, - 57, 206, 206, 41, 53, 65, 65, 65, 65, 65, - 74, 74, 74, 74, 74, 733, 734, 695, 735, 65, - 236, 695, 736, 75, 74, 75, 75, 75, 75, 75, - - 76, 76, 737, 738, 76, 76, 76, 76, 76, 75, - 102, 739, 102, 102, 740, 65, 741, 192, 192, 102, - 74, 192, 192, 192, 192, 192, 197, 197, 197, 197, - 197, 742, 743, 744, 745, 75, 747, 198, 198, 749, - 197, 198, 198, 198, 198, 198, 199, 199, 199, 199, - 199, 200, 200, 200, 200, 200, 298, 751, 752, 753, - 298, 308, 308, 308, 308, 308, 197, 298, 309, 309, - 309, 309, 309, 310, 310, 754, 755, 310, 310, 310, - 310, 310, 311, 311, 311, 311, 311, 312, 312, 312, - 312, 312, 424, 424, 424, 424, 424, 425, 425, 425, - - 425, 425, 462, 756, 757, 758, 760, 761, 762, 763, - 764, 765, 462, 767, 769, 770, 462, 768, 768, 771, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 772, 773, 774, 775, 776, 768, 768, 768, 768, 768, - 777, 778, 779, 780, 781, 782, 783, 785, 786, 787, - 788, 789, 791, 792, 793, 795, 799, 800, 802, 803, - 804, 805, 807, 808, 768, 809, 810, 811, 812, 813, - 814, 816, 817, 818, 819, 820, 821, 824, 827, 828, - 829, 830, 831, 832, 833, 834, 835, 836, 837, 768, - 768, 801, 801, 839, 801, 801, 801, 801, 801, 801, - - 801, 801, 801, 801, 841, 842, 843, 845, 846, 801, - 801, 801, 801, 801, 847, 848, 849, 850, 851, 852, - 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, - 864, 866, 868, 869, 870, 871, 872, 873, 801, 874, - 875, 876, 877, 878, 879, 880, 881, 885, 886, 887, - 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, - 900, 901, 902, 801, 801, 903, 904, 905, 906, 907, - 908, 909, 910, 913, 914, 915, 916, 917, 918, 919, - 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, - 930, 931, 932, 933, 934, 935, 937, 938, 939, 940, - - 941, 943, 944, 946, 947, 948, 949, 950, 951, 953, - 954, 955, 956, 957, 958, 959, 960, 962, 963, 966, - 967, 705, 967, 968, 704, 968, 969, 703, 969, 970, - 702, 970, 701, 700, 697, 696, 694, 693, 692, 689, - 688, 687, 686, 685, 683, 682, 681, 679, 678, 677, - 676, 675, 674, 673, 672, 671, 670, 669, 666, 665, - 664, 663, 662, 661, 660, 659, 658, 657, 656, 655, - 654, 653, 652, 651, 650, 649, 648, 647, 646, 645, - 643, 642, 640, 639, 638, 637, 636, 634, 633, 632, - 631, 630, 629, 628, 627, 625, 624, 623, 622, 621, - - 620, 619, 617, 616, 615, 613, 612, 611, 610, 608, - 607, 606, 605, 604, 603, 602, 601, 600, 598, 596, - 595, 594, 593, 592, 591, 587, 586, 585, 583, 581, - 580, 579, 578, 577, 576, 575, 572, 570, 569, 567, - 566, 565, 564, 562, 559, 558, 556, 555, 554, 553, - 552, 551, 550, 548, 547, 545, 544, 543, 542, 541, - 538, 537, 536, 534, 533, 532, 531, 530, 529, 527, - 525, 524, 523, 522, 519, 518, 517, 516, 515, 514, - 513, 510, 509, 507, 506, 505, 504, 503, 502, 500, - 498, 497, 496, 495, 494, 492, 491, 489, 488, 487, - - 486, 482, 481, 480, 477, 475, 473, 471, 470, 468, - 467, 465, 464, 460, 459, 457, 456, 455, 453, 452, - 451, 450, 449, 447, 446, 445, 444, 443, 442, 441, - 440, 439, 438, 437, 436, 435, 434, 432, 431, 430, - 429, 428, 427, 426, 423, 422, 421, 420, 419, 418, - 417, 414, 413, 412, 411, 409, 407, 406, 405, 404, - 403, 401, 400, 399, 398, 396, 395, 393, 391, 390, - 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, - 379, 378, 377, 376, 375, 374, 373, 371, 369, 368, - 366, 365, 364, 363, 362, 361, 359, 357, 356, 355, - - 353, 352, 351, 350, 349, 348, 347, 345, 344, 343, - 340, 339, 338, 337, 336, 334, 333, 332, 331, 330, - 329, 328, 326, 325, 324, 323, 322, 320, 319, 318, - 317, 316, 315, 313, 307, 306, 305, 304, 303, 302, - 300, 299, 297, 296, 295, 294, 293, 292, 291, 290, - 289, 288, 287, 286, 285, 284, 283, 282, 281, 280, - 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, - 269, 268, 267, 266, 265, 264, 263, 262, 261, 260, - 259, 258, 257, 256, 255, 254, 253, 252, 251, 250, - 249, 248, 246, 245, 244, 243, 242, 241, 239, 238, - - 237, 235, 234, 233, 232, 231, 230, 229, 228, 227, - 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, - 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, - 205, 204, 203, 202, 201, 190, 189, 186, 185, 184, - 183, 182, 181, 180, 179, 178, 177, 176, 170, 168, - 165, 163, 161, 160, 159, 158, 157, 156, 155, 154, - 149, 148, 147, 146, 143, 141, 140, 139, 138, 137, - 136, 135, 134, 133, 132, 130, 129, 128, 127, 126, - 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, - 115, 113, 112, 111, 110, 109, 108, 107, 106, 105, - - 104, 103, 101, 100, 99, 98, 97, 95, 94, 93, - 92, 91, 90, 89, 88, 86, 85, 84, 83, 82, - 69, 67, 66, 64, 55, 54, 3, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - 965, 965, 965, 965, 965, 965, 965, 965, 965, 965, - - 965, 965 + 33, 21, 15, 15, 15, 17, 24, 17, 29, 22, + 29, 26, 68, 26, 44, 23, 98, 33, 23, 26, + 145, 24, 17, 24, 98, 29, 37, 36, 132, 24, + 26, 44, 145, 17, 132, 33, 172, 23, 23, 23, + 37, 26, 24, 37, 36, 26, 44, 713, 24, 25, + + 172, 25, 26, 27, 27, 26, 30, 25, 30, 28, + 25, 28, 27, 25, 27, 37, 714, 28, 25, 36, + 27, 114, 25, 30, 31, 25, 114, 146, 28, 25, + 114, 146, 25, 25, 34, 28, 27, 25, 27, 31, + 34, 31, 715, 42, 28, 28, 45, 28, 27, 716, + 51, 34, 30, 28, 35, 38, 35, 39, 34, 31, + 42, 147, 34, 45, 38, 46, 34, 51, 238, 38, + 34, 461, 38, 35, 39, 305, 147, 305, 51, 38, + 461, 45, 46, 42, 35, 39, 38, 38, 38, 46, + 87, 38, 35, 39, 38, 43, 717, 43, 238, 39, + + 40, 49, 718, 47, 43, 40, 52, 87, 43, 40, + 43, 43, 43, 40, 170, 40, 40, 40, 49, 50, + 47, 468, 170, 52, 40, 207, 40, 43, 48, 719, + 723, 43, 40, 40, 468, 41, 50, 40, 40, 47, + 207, 207, 40, 49, 41, 48, 40, 41, 41, 41, + 41, 41, 41, 52, 53, 50, 48, 508, 53, 41, + 725, 508, 726, 727, 48, 57, 57, 57, 57, 57, + 728, 712, 730, 731, 41, 53, 65, 65, 65, 65, + 65, 74, 74, 74, 74, 74, 712, 708, 732, 733, + 65, 708, 734, 735, 75, 74, 75, 75, 75, 75, + + 75, 76, 76, 736, 737, 76, 76, 76, 76, 76, + 75, 102, 739, 102, 102, 740, 65, 741, 193, 193, + 102, 74, 193, 193, 193, 193, 193, 198, 198, 198, + 198, 198, 742, 744, 745, 746, 75, 747, 199, 199, + 748, 198, 199, 199, 199, 199, 199, 200, 200, 200, + 200, 200, 201, 201, 201, 201, 201, 302, 749, 750, + 751, 302, 312, 312, 312, 312, 312, 198, 302, 313, + 313, 313, 313, 313, 314, 314, 752, 753, 314, 314, + 314, 314, 314, 315, 315, 315, 315, 315, 316, 316, + 316, 316, 316, 431, 431, 431, 431, 431, 432, 432, + + 432, 432, 432, 469, 754, 755, 756, 757, 758, 760, + 762, 764, 765, 469, 766, 767, 768, 469, 769, 770, + 771, 773, 774, 775, 776, 777, 778, 780, 781, 781, + 782, 781, 781, 781, 781, 781, 781, 781, 781, 781, + 781, 783, 784, 785, 786, 787, 781, 781, 781, 781, + 781, 788, 789, 790, 791, 792, 793, 794, 795, 796, + 798, 799, 800, 801, 802, 804, 805, 806, 808, 812, + 813, 815, 816, 817, 818, 781, 820, 821, 822, 823, + 824, 825, 826, 827, 829, 830, 831, 832, 833, 834, + 837, 840, 841, 842, 843, 844, 845, 846, 847, 848, + + 781, 781, 814, 814, 849, 814, 814, 814, 814, 814, + 814, 814, 814, 814, 814, 850, 852, 854, 855, 856, + 814, 814, 814, 814, 814, 858, 859, 860, 861, 862, + 863, 864, 865, 867, 868, 869, 870, 871, 872, 873, + 874, 875, 876, 877, 879, 881, 882, 883, 884, 814, + 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, + 898, 899, 900, 902, 903, 904, 905, 906, 907, 908, + 909, 910, 911, 913, 814, 814, 914, 915, 916, 917, + 918, 919, 920, 921, 922, 923, 926, 927, 928, 929, + 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, + + 940, 941, 942, 943, 944, 945, 946, 947, 948, 950, + 951, 952, 953, 954, 956, 957, 959, 960, 961, 962, + 963, 964, 966, 967, 968, 969, 970, 971, 972, 973, + 975, 976, 979, 980, 707, 980, 981, 706, 981, 982, + 705, 982, 983, 702, 983, 701, 700, 699, 698, 696, + 695, 694, 692, 691, 690, 689, 688, 687, 685, 684, + 683, 682, 681, 678, 677, 676, 675, 674, 673, 672, + 671, 670, 669, 668, 667, 666, 665, 664, 663, 662, + 661, 660, 659, 658, 657, 655, 654, 652, 651, 650, + 649, 648, 646, 645, 644, 643, 642, 641, 640, 639, + + 637, 636, 635, 634, 633, 632, 631, 630, 628, 627, + 626, 624, 623, 622, 621, 619, 618, 617, 616, 615, + 614, 613, 612, 611, 609, 607, 606, 605, 604, 603, + 602, 598, 597, 596, 594, 592, 591, 590, 589, 588, + 587, 586, 583, 580, 579, 577, 576, 575, 574, 572, + 569, 568, 566, 565, 564, 563, 562, 561, 560, 559, + 557, 556, 554, 553, 552, 551, 550, 547, 546, 545, + 543, 542, 541, 540, 539, 538, 536, 534, 533, 532, + 531, 528, 527, 526, 525, 524, 523, 522, 519, 518, + 516, 515, 514, 513, 512, 511, 509, 507, 506, 505, + + 504, 503, 501, 500, 498, 497, 496, 495, 494, 490, + 489, 488, 485, 483, 481, 479, 478, 476, 475, 473, + 472, 471, 467, 466, 464, 463, 462, 460, 459, 458, + 457, 456, 454, 453, 452, 451, 450, 449, 448, 447, + 446, 445, 444, 443, 442, 441, 439, 438, 437, 436, + 435, 434, 433, 430, 429, 428, 427, 426, 425, 424, + 421, 420, 419, 418, 416, 414, 413, 412, 411, 410, + 408, 407, 406, 405, 403, 402, 400, 398, 397, 396, + 395, 394, 393, 392, 391, 390, 389, 388, 387, 386, + 385, 384, 383, 382, 381, 380, 379, 377, 375, 374, + + 372, 371, 370, 369, 368, 367, 366, 364, 362, 361, + 360, 358, 357, 356, 355, 354, 353, 352, 350, 349, + 348, 345, 344, 343, 342, 341, 339, 337, 336, 335, + 334, 333, 332, 330, 329, 328, 327, 326, 324, 323, + 322, 321, 320, 319, 317, 311, 310, 309, 308, 307, + 306, 304, 303, 301, 300, 299, 298, 297, 296, 295, + 294, 293, 292, 291, 290, 289, 288, 287, 286, 285, + 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, + 274, 273, 272, 271, 270, 269, 268, 267, 266, 265, + 264, 263, 262, 261, 260, 259, 258, 257, 256, 255, + + 254, 253, 252, 251, 250, 248, 247, 246, 245, 244, + 243, 241, 240, 239, 237, 236, 235, 234, 233, 232, + 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, + 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, + 211, 210, 209, 208, 206, 205, 204, 203, 202, 191, + 190, 187, 186, 185, 184, 183, 182, 181, 180, 179, + 178, 177, 171, 169, 166, 164, 162, 161, 160, 159, + 158, 157, 156, 155, 150, 149, 148, 144, 142, 141, + 140, 139, 138, 137, 136, 135, 134, 133, 131, 130, + 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, + + 119, 118, 117, 116, 115, 113, 112, 111, 110, 109, + 108, 107, 106, 105, 104, 103, 101, 100, 99, 97, + 95, 94, 93, 92, 91, 90, 89, 88, 86, 85, + 84, 83, 82, 69, 67, 66, 64, 55, 54, 3, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + + 978, 978, 978, 978, 978, 978, 978, 978, 978, 978, + 978, 978, 978, 978, 978 } ; static yy_state_type yy_last_accepting_state; @@ -1010,7 +1017,7 @@ void skipline(void); && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); -#line 1014 "Gmsh.yy.cpp" +#line 1021 "Gmsh.yy.cpp" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1158,13 +1165,13 @@ YY_MALLOC_DECL YY_DECL { register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; + register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; #line 60 "Gmsh.l" -#line 1168 "Gmsh.yy.cpp" +#line 1175 "Gmsh.yy.cpp" if ( yy_init ) { @@ -1215,13 +1222,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 966 ) + if ( yy_current_state >= 979 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 1228 ); + while ( yy_base[yy_current_state] != 1241 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1755,370 +1762,380 @@ return tEndFor; case 102: YY_RULE_SETUP #line 185 "Gmsh.l" -return tScript; +return tExit; YY_BREAK case 103: YY_RULE_SETUP #line 186 "Gmsh.l" -return tExit; +return tMerge; YY_BREAK case 104: YY_RULE_SETUP #line 187 "Gmsh.l" -return tMerge; +return tFunction; YY_BREAK case 105: YY_RULE_SETUP -#line 189 "Gmsh.l" -return tScalarTetrahedron; +#line 188 "Gmsh.l" +return tReturn; YY_BREAK case 106: YY_RULE_SETUP -#line 190 "Gmsh.l" -return tVectorTetrahedron; +#line 189 "Gmsh.l" +return tCall; YY_BREAK case 107: YY_RULE_SETUP #line 191 "Gmsh.l" -return tTensorTetrahedron; +return tScalarTetrahedron; YY_BREAK case 108: YY_RULE_SETUP #line 192 "Gmsh.l" -return tScalarTriangle; +return tVectorTetrahedron; YY_BREAK case 109: YY_RULE_SETUP #line 193 "Gmsh.l" -return tVectorTriangle; +return tTensorTetrahedron; YY_BREAK case 110: YY_RULE_SETUP #line 194 "Gmsh.l" -return tTensorTriangle; +return tScalarTriangle; YY_BREAK case 111: YY_RULE_SETUP #line 195 "Gmsh.l" -return tScalarLine; +return tVectorTriangle; YY_BREAK case 112: YY_RULE_SETUP #line 196 "Gmsh.l" -return tVectorLine; +return tTensorTriangle; YY_BREAK case 113: YY_RULE_SETUP #line 197 "Gmsh.l" -return tTensorLine; +return tScalarLine; YY_BREAK case 114: YY_RULE_SETUP #line 198 "Gmsh.l" -return tScalarPoint; +return tVectorLine; YY_BREAK case 115: YY_RULE_SETUP #line 199 "Gmsh.l" -return tVectorPoint; +return tTensorLine; YY_BREAK case 116: YY_RULE_SETUP #line 200 "Gmsh.l" -return tTensorPoint; +return tScalarPoint; YY_BREAK case 117: YY_RULE_SETUP -#line 203 "Gmsh.l" -return tCARTESIAN_POINT; +#line 201 "Gmsh.l" +return tVectorPoint; YY_BREAK case 118: YY_RULE_SETUP -#line 204 "Gmsh.l" -return tB_SPLINE_SURFACE_WITH_KNOTS; +#line 202 "Gmsh.l" +return tTensorPoint; YY_BREAK case 119: YY_RULE_SETUP #line 205 "Gmsh.l" -return tB_SPLINE_CURVE_WITH_KNOTS; +return tCARTESIAN_POINT; YY_BREAK case 120: YY_RULE_SETUP #line 206 "Gmsh.l" -return tUNSPECIFIED; +return tB_SPLINE_SURFACE_WITH_KNOTS; YY_BREAK case 121: YY_RULE_SETUP #line 207 "Gmsh.l" -return tCONTINUOUS; +return tB_SPLINE_CURVE_WITH_KNOTS; YY_BREAK case 122: YY_RULE_SETUP #line 208 "Gmsh.l" -return tFALSE; +return tUNSPECIFIED; YY_BREAK case 123: YY_RULE_SETUP #line 209 "Gmsh.l" -return tTRUE; +return tCONTINUOUS; YY_BREAK case 124: YY_RULE_SETUP #line 210 "Gmsh.l" -return tU; +return tFALSE; YY_BREAK case 125: YY_RULE_SETUP #line 211 "Gmsh.l" -return tV; +return tTRUE; YY_BREAK case 126: YY_RULE_SETUP #line 212 "Gmsh.l" -return tORIENTED_EDGE; +return tU; YY_BREAK case 127: YY_RULE_SETUP #line 213 "Gmsh.l" -return tEDGE_CURVE; +return tV; YY_BREAK case 128: YY_RULE_SETUP #line 214 "Gmsh.l" -return tEDGE_LOOP; +return tORIENTED_EDGE; YY_BREAK case 129: YY_RULE_SETUP #line 215 "Gmsh.l" -return tVERTEX_POINT; +return tEDGE_CURVE; YY_BREAK case 130: YY_RULE_SETUP #line 216 "Gmsh.l" -return tFACE_OUTER_BOUND; +return tEDGE_LOOP; YY_BREAK case 131: YY_RULE_SETUP #line 217 "Gmsh.l" -return tFACE_BOUND; +return tVERTEX_POINT; YY_BREAK case 132: YY_RULE_SETUP #line 218 "Gmsh.l" -return tADVANCED_FACE; +return tFACE_OUTER_BOUND; YY_BREAK case 133: YY_RULE_SETUP #line 219 "Gmsh.l" -return tLine; +return tFACE_BOUND; YY_BREAK case 134: YY_RULE_SETUP #line 220 "Gmsh.l" -return tVECTOR; +return tADVANCED_FACE; YY_BREAK case 135: YY_RULE_SETUP #line 221 "Gmsh.l" -return tDIRECTION; +return tLine; YY_BREAK case 136: YY_RULE_SETUP #line 222 "Gmsh.l" -return tAXIS2_PLACEMENT_3D; +return tVECTOR; YY_BREAK case 137: YY_RULE_SETUP #line 223 "Gmsh.l" -return tPLANE; +return tDIRECTION; YY_BREAK case 138: YY_RULE_SETUP #line 224 "Gmsh.l" -return tHEADER; +return tAXIS2_PLACEMENT_3D; YY_BREAK case 139: YY_RULE_SETUP #line 225 "Gmsh.l" -return tDATA; +return tPLANE; YY_BREAK case 140: YY_RULE_SETUP #line 226 "Gmsh.l" -return tFILE_SCHEMA; +return tHEADER; YY_BREAK case 141: YY_RULE_SETUP #line 227 "Gmsh.l" -return tFILE_NAME; +return tDATA; YY_BREAK case 142: YY_RULE_SETUP #line 228 "Gmsh.l" -return tFILE_DESCRIPTION; +return tFILE_SCHEMA; YY_BREAK case 143: YY_RULE_SETUP #line 229 "Gmsh.l" -return tISO; +return tFILE_NAME; YY_BREAK case 144: YY_RULE_SETUP #line 230 "Gmsh.l" -return tENDISO; +return tFILE_DESCRIPTION; YY_BREAK case 145: YY_RULE_SETUP #line 231 "Gmsh.l" -return tENDSEC; +return tISO; YY_BREAK case 146: YY_RULE_SETUP #line 232 "Gmsh.l" -return tCLOSED_SHELL; +return tENDISO; YY_BREAK case 147: YY_RULE_SETUP #line 233 "Gmsh.l" -return tADVANCED_BREP_SHAPE_REPRESENTATION; +return tENDSEC; YY_BREAK case 148: YY_RULE_SETUP #line 234 "Gmsh.l" -return tMANIFOLD_SOLID_BREP; +return tCLOSED_SHELL; YY_BREAK case 149: YY_RULE_SETUP #line 235 "Gmsh.l" -return tCYLINDRICAL_SURFACE; +return tADVANCED_BREP_SHAPE_REPRESENTATION; YY_BREAK case 150: YY_RULE_SETUP #line 236 "Gmsh.l" -return tCONICAL_SURFACE; +return tMANIFOLD_SOLID_BREP; YY_BREAK case 151: YY_RULE_SETUP #line 237 "Gmsh.l" -return tTOROIDAL_SURFACE; +return tCYLINDRICAL_SURFACE; YY_BREAK case 152: YY_RULE_SETUP #line 238 "Gmsh.l" -return tCIRCLE; +return tCONICAL_SURFACE; YY_BREAK case 153: YY_RULE_SETUP #line 239 "Gmsh.l" -return tTRIMMED_CURVE; +return tTOROIDAL_SURFACE; YY_BREAK case 154: YY_RULE_SETUP #line 240 "Gmsh.l" -return tGEOMETRIC_SET; +return tCIRCLE; YY_BREAK case 155: YY_RULE_SETUP #line 241 "Gmsh.l" -return tCOMPOSITE_CURVE_SEGMENT; +return tTRIMMED_CURVE; YY_BREAK case 156: YY_RULE_SETUP #line 242 "Gmsh.l" -return tCOMPOSITE_CURVE; +return tGEOMETRIC_SET; YY_BREAK case 157: YY_RULE_SETUP #line 243 "Gmsh.l" -return tPRODUCT_DEFINITION; +return tCOMPOSITE_CURVE_SEGMENT; YY_BREAK case 158: YY_RULE_SETUP #line 244 "Gmsh.l" -return tPRODUCT_DEFINITION_SHAPE; +return tCOMPOSITE_CURVE; YY_BREAK case 159: YY_RULE_SETUP #line 245 "Gmsh.l" -return tSHAPE_DEFINITION_REPRESENTATION; +return tPRODUCT_DEFINITION; YY_BREAK case 160: YY_RULE_SETUP -#line 247 "Gmsh.l" -return tVertex; +#line 246 "Gmsh.l" +return tPRODUCT_DEFINITION_SHAPE; YY_BREAK case 161: YY_RULE_SETUP -#line 248 "Gmsh.l" -return tFacet; +#line 247 "Gmsh.l" +return tSHAPE_DEFINITION_REPRESENTATION; YY_BREAK case 162: YY_RULE_SETUP #line 249 "Gmsh.l" -return tNormal; +return tVertex; YY_BREAK case 163: YY_RULE_SETUP #line 250 "Gmsh.l" -return tOuter; +return tFacet; YY_BREAK case 164: YY_RULE_SETUP #line 251 "Gmsh.l" -return tLoopSTL; +return tNormal; YY_BREAK case 165: YY_RULE_SETUP #line 252 "Gmsh.l" -return tEndLoop; +return tOuter; YY_BREAK case 166: YY_RULE_SETUP #line 253 "Gmsh.l" -return tEndFacet; +return tLoopSTL; YY_BREAK case 167: YY_RULE_SETUP #line 254 "Gmsh.l" -{skipline();return tEndSolid;} +return tEndLoop; YY_BREAK case 168: YY_RULE_SETUP #line 255 "Gmsh.l" -{skipline();return tSolid;} +return tEndFacet; YY_BREAK case 169: YY_RULE_SETUP -#line 257 "Gmsh.l" -{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} +#line 256 "Gmsh.l" +{skipline();return tEndSolid;} YY_BREAK case 170: -#line 260 "Gmsh.l" +YY_RULE_SETUP +#line 257 "Gmsh.l" +{skipline();return tSolid;} + YY_BREAK case 171: -#line 261 "Gmsh.l" +YY_RULE_SETUP +#line 259 "Gmsh.l" +{yylval.d = (double)atoi((char*)(yytext+1)); return tDOUBLE;} + YY_BREAK case 172: #line 262 "Gmsh.l" case 173: +#line 263 "Gmsh.l" +case 174: +#line 264 "Gmsh.l" +case 175: YY_RULE_SETUP -#line 262 "Gmsh.l" +#line 264 "Gmsh.l" {yylval.d = atof((char *)yytext); return tDOUBLE;} YY_BREAK -case 174: +case 176: YY_RULE_SETUP -#line 264 "Gmsh.l" +#line 266 "Gmsh.l" {yylval.c = strsave((char*)yytext); return tSTRING;} YY_BREAK -case 175: +case 177: YY_RULE_SETUP -#line 266 "Gmsh.l" +#line 268 "Gmsh.l" return yytext[0]; YY_BREAK -case 176: +case 178: YY_RULE_SETUP -#line 268 "Gmsh.l" +#line 270 "Gmsh.l" ECHO; YY_BREAK -#line 2122 "Gmsh.yy.cpp" +#line 2139 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2410,7 +2427,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 966 ) + if ( yy_current_state >= 979 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2445,11 +2462,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 966 ) + if ( yy_current_state >= 979 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 965); + yy_is_jam = (yy_current_state == 978); return yy_is_jam ? 0 : yy_current_state; } @@ -3004,7 +3021,7 @@ int main() return 0; } #endif -#line 268 "Gmsh.l" +#line 270 "Gmsh.l" #undef yywrap @@ -3049,3 +3066,42 @@ void skipline(void) while (yyinput() != '\n') ; } +void skip_until(char *until) +{ + int l = strlen(until); + char chars[256]; + while(1) + { + while (1) + { + chars[0] = yyinput(); + if(chars[0] == EOF) + { + fprintf(stderr, "Error, Unexpected End Of File\n") ; + exit(1); + } + if(chars[0] == until[0])break; + } + + printf("%c",chars[0]); + for(int i=1;i<l;i++) + { + chars[i] = yyinput(); + if(chars[i] == EOF) + { + fprintf(stderr, "Error, Unexpected End Of File\n") ; + exit(1); + } + } + chars[l] = '\0'; + if(!strcmp(chars,until)) + { + return; + } + for(int i=1;i<l-1;i++) + { + unput(chars[l-i]); + } + } +} + diff --git a/Parser/Makefile b/Parser/Makefile index 434428ecd1..eb22ecb908 100644 --- a/Parser/Makefile +++ b/Parser/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.6 2000-12-07 08:46:27 geuzaine Exp $ +# $Id: Makefile,v 1.7 2000-12-07 16:03:44 remacle Exp $ # # Makefile for "libParser.a" # @@ -23,7 +23,8 @@ INCLUDE = -I../includes -I../Common -I../DataStr -I../Geo -I../Graphics\ CFLAGS = $(C_FLAGS) $(OS_FLAGS) $(INCLUDE) SRC = Gmsh.yy.cpp \ - Gmsh.tab.cpp + Gmsh.tab.cpp\ + FunctionManager.cpp OBJ = $(SRC:.cpp=.o) -- GitLab