From c018b6bf9aa99e7d50c314892f4cdfaba51dbb0f Mon Sep 17 00:00:00 2001 From: Ryszard Glab Date: Mon, 18 Dec 2006 17:22:06 +0000 Subject: [PATCH] 2006-12-18 18:20 UTC+0100 Ryszard Glab * include/hbcomp.h + added extern BOOL hb_compCheckUnclosedStru( HB_COMP_DECL ) * include/hbcompdf.h + added 'int iLastLineErr' to HB_COMP structure * include/hbpp.h + added extern BOOL hb_pp_eof( PHB_PP_STATE ) * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/harbour.yyc * source/compiler/harbour.yyh * source/compiler/hbgenerr.c * fixed reporting errors in cases of unclosed delimiters or unclosed control structures IF/WHILE/FOR/etc * source/pp/ppcore.c + added hb_pp_eof() function --- harbour/ChangeLog | 21 + harbour/include/hbcomp.h | 1 + harbour/include/hbcompdf.h | 1 + harbour/include/hbpp.h | 1 + harbour/source/compiler/harbour.c | 2 + harbour/source/compiler/harbour.y | 165 +- harbour/source/compiler/harbour.yyc | 7495 ++++++++++++++------------- harbour/source/compiler/harbour.yyh | 2 +- harbour/source/compiler/hbgenerr.c | 4 +- harbour/source/pp/ppcore.c | 8 + 10 files changed, 4067 insertions(+), 3633 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 0b1597c000..bee00c0c69 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,27 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2006-12-18 18:20 UTC+0100 Ryszard Glab + * include/hbcomp.h + + added extern BOOL hb_compCheckUnclosedStru( HB_COMP_DECL ) + + * include/hbcompdf.h + + added 'int iLastLineErr' to HB_COMP structure + + * include/hbpp.h + + added extern BOOL hb_pp_eof( PHB_PP_STATE ) + + * source/compiler/harbour.c + * source/compiler/harbour.y + * source/compiler/harbour.yyc + * source/compiler/harbour.yyh + * source/compiler/hbgenerr.c + * fixed reporting errors in cases of unclosed delimiters or + unclosed control structures IF/WHILE/FOR/etc + + * source/pp/ppcore.c + + added hb_pp_eof() function + 2006-12-18 14:19 UTC+0200 Chen Kedem * doc/dirstruc.txt + Add a oneliner description for: source/rdd/usrrdd, source/rtl/gtgui diff --git a/harbour/include/hbcomp.h b/harbour/include/hbcomp.h index e9db372cc6..023061cc73 100644 --- a/harbour/include/hbcomp.h +++ b/harbour/include/hbcomp.h @@ -233,6 +233,7 @@ extern void hb_compStaticDefStart( HB_COMP_DECL ); extern void hb_compStaticDefEnd( HB_COMP_DECL ); extern void hb_compGenStaticName( char *, HB_COMP_DECL ); +extern BOOL hb_compCheckUnclosedStru( HB_COMP_DECL ); #ifdef HB_MACRO_SUPPORT diff --git a/harbour/include/hbcompdf.h b/harbour/include/hbcompdf.h index fafdac7adc..b763d2e964 100644 --- a/harbour/include/hbcompdf.h +++ b/harbour/include/hbcompdf.h @@ -592,6 +592,7 @@ typedef struct _HB_COMP int iVarScope; /* holds the scope for next variables to be defined */ int iLanguage; /* default Harbour generated output language */ int iGenCOutput; /* C code generation should be verbose (use comments) or not */ + int ilastLineErr; /* line numer with last syntax error */ BOOL fExit; /* force breaking compilation process */ BOOL fQuiet; /* be quiet during compilation (-q) */ diff --git a/harbour/include/hbpp.h b/harbour/include/hbpp.h index f28d31e85b..1cfab240bd 100644 --- a/harbour/include/hbpp.h +++ b/harbour/include/hbpp.h @@ -632,6 +632,7 @@ extern BOOL hb_pp_inFile( PHB_PP_STATE pState, char * szFileName, BOOL fSearch extern BOOL hb_pp_outFile( PHB_PP_STATE pState, char * szOutFileName, FILE * file_out ); extern char * hb_pp_fileName( PHB_PP_STATE pState ); extern int hb_pp_line( PHB_PP_STATE pState ); +extern BOOL hb_pp_eof( PHB_PP_STATE pState ); extern int hb_pp_lineTot( PHB_PP_STATE pState ); extern char * hb_pp_outFileName( PHB_PP_STATE pState ); extern char * hb_pp_nextLine( PHB_PP_STATE pState, ULONG * pulLen ); diff --git a/harbour/source/compiler/harbour.c b/harbour/source/compiler/harbour.c index 294c3897b7..05e2a2d1cc 100644 --- a/harbour/source/compiler/harbour.c +++ b/harbour/source/compiler/harbour.c @@ -1866,6 +1866,7 @@ void hb_compFunctionAdd( HB_COMP_DECL, char * szFunName, HB_SYMBOLSCOPE cScope, HB_COMP_PARAM->functions.iCount++; HB_COMP_PARAM->lastLinePos = 0; /* optimization of line numbers opcode generation */ + HB_COMP_PARAM->ilastLineErr = 0; /* position of last syntax error (line number) */ hb_compGenPCode3( HB_P_FRAME, 0, 0, HB_COMP_PARAM ); /* frame for locals and parameters */ hb_compGenPCode3( HB_P_SFRAME, 0, 0, HB_COMP_PARAM ); /* frame for statics variables */ @@ -4536,6 +4537,7 @@ static int hb_compCompile( HB_COMP_DECL, char * szPrg, BOOL bSingleFile ) } hb_compparse( HB_COMP_PARAM ); + hb_compCheckUnclosedStru( HB_COMP_PARAM ); if( HB_COMP_PARAM->pFilePpo ) { diff --git a/harbour/source/compiler/harbour.y b/harbour/source/compiler/harbour.y index 5e5bd1385f..c7d64c83ba 100644 --- a/harbour/source/compiler/harbour.y +++ b/harbour/source/compiler/harbour.y @@ -304,7 +304,6 @@ Source : Crlf | Function | Statement | Line - | ProcReq | error Crlf { yyclearin; yyerrok; } | Source Crlf | Source VarDefs @@ -314,7 +313,6 @@ Source : Crlf | Source Function | Source Statement | Source Line - | Source ProcReq | Source error Crlf { yyclearin; yyerrok; } ; @@ -322,30 +320,6 @@ Line : LINE NUM_LONG LITERAL Crlf | LINE NUM_LONG LITERAL '@' LITERAL Crlf /* Xbase++ style */ ; -ProcReq : PROCREQ CompTimeStr ')' Crlf { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; } - ; - -CompTimeStr : LITERAL { - if( $1.dealloc ) - { - $1.string = hb_compIdentifierNew( HB_COMP_PARAM, $1.string, HB_IDENT_FREE ); - $1.dealloc = FALSE; - } - hb_compAutoOpenAdd( HB_COMP_PARAM, $1.string ); - } - | LITERAL '+' LITERAL { - { - char szFileName[ _POSIX_PATH_MAX + 1 ]; - hb_strncat( hb_strncpy( szFileName, $1.string, _POSIX_PATH_MAX ), $3.string, _POSIX_PATH_MAX ); - hb_compAutoOpenAdd( HB_COMP_PARAM, hb_compIdentifierNew( HB_COMP_PARAM, szFileName, HB_IDENT_COPY ) ); - if( $1.dealloc ) - hb_xfree( $1.string ); - if( $3.dealloc ) - hb_xfree( $3.string ); - } - } - ; - Function : FunScope FUNCTION IdentName { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, $3, ( HB_SYMBOLSCOPE ) $1, 0 ); } Crlf {} | FunScope PROCEDURE IdentName { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, $3, ( HB_SYMBOLSCOPE ) $1, FUN_PROCEDURE ); } Crlf {} | FunScope FUNCTION IdentName { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, $3, ( HB_SYMBOLSCOPE ) $1, 0 ); HB_COMP_PARAM->iVarScope = VS_PARAMETER; } '(' Params ')' Crlf {} @@ -494,6 +468,28 @@ Statement : ExecFlow { HB_COMP_PARAM->fDontGenLineNum = TRUE; } CrlfStmnt { } else hb_compGenWarning( HB_COMP_PARAM, hb_comp_szWarnings, 'W', HB_COMP_WARN_DUPL_ANNOUNCE, $2, NULL ); } Crlf + | PROCREQ CompTimeStr ')' Crlf { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; } + ; + +CompTimeStr : LITERAL { + if( $1.dealloc ) + { + $1.string = hb_compIdentifierNew( HB_COMP_PARAM, $1.string, HB_IDENT_FREE ); + $1.dealloc = FALSE; + } + hb_compAutoOpenAdd( HB_COMP_PARAM, $1.string ); + } + | LITERAL '+' LITERAL { + { + char szFileName[ _POSIX_PATH_MAX + 1 ]; + hb_strncat( hb_strncpy( szFileName, $1.string, _POSIX_PATH_MAX ), $3.string, _POSIX_PATH_MAX ); + hb_compAutoOpenAdd( HB_COMP_PARAM, hb_compIdentifierNew( HB_COMP_PARAM, szFileName, HB_IDENT_COPY ) ); + if( $1.dealloc ) + hb_xfree( $1.string ); + if( $3.dealloc ) + hb_xfree( $3.string ); + } + } ; CrlfStmnt : { hb_compLinePushIfInside( HB_COMP_PARAM ); } Crlf @@ -503,7 +499,18 @@ LineStat : Crlf { $$ = 0; HB_COMP_PARAM->fDontGenLineNum = T | Statement { $$ = 1; } | Declaration { $$ = 1; } | Line { $$ = 1; } - | ControlError { $$ = 0; hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, NULL, NULL ); } + | ControlError { $$ = 0; hb_compCheckUnclosedStru( HB_COMP_PARAM ); } + | error { int iLine = hb_pp_line( HB_COMP_PARAM->pLex->pPP ); + if( HB_COMP_PARAM->ilastLineErr && HB_COMP_PARAM->ilastLineErr == iLine ) + { + yyclearin; + } + else + { + yyerrok; + HB_COMP_PARAM->ilastLineErr = iLine; + } + } ; ControlError : FunScopeId FUNCTION IdentName Crlf {} @@ -1526,8 +1533,12 @@ IfElseIf : ELSEIF { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE } ; -EndIf : ENDIF { --HB_COMP_PARAM->wIfCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); } - | END { --HB_COMP_PARAM->wIfCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); } +EndIf : ENDIF { if( HB_COMP_PARAM->wIfCounter ) + --HB_COMP_PARAM->wIfCounter; + HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); } + | END { if( HB_COMP_PARAM->wIfCounter ) + --HB_COMP_PARAM->wIfCounter; + HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); } ; DoCase : DoCaseBegin @@ -1548,11 +1559,13 @@ DoCase : DoCaseBegin ; EndCase : ENDCASE - { --HB_COMP_PARAM->wCaseCounter; - HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); - } + { if( HB_COMP_PARAM->wCaseCounter ) + --HB_COMP_PARAM->wCaseCounter; + HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); + } | END - { --HB_COMP_PARAM->wCaseCounter; + { if( HB_COMP_PARAM->wCaseCounter ) + --HB_COMP_PARAM->wCaseCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); } ; @@ -1612,7 +1625,9 @@ DoWhile : WhileBegin Expression Crlf } EndWhile { - hb_compGenJumpHere( $4, HB_COMP_PARAM ); --HB_COMP_PARAM->wWhileCounter; + hb_compGenJumpHere( $4, HB_COMP_PARAM ); + if( HB_COMP_PARAM->wWhileCounter ) + --HB_COMP_PARAM->wWhileCounter; hb_compLoopEnd( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; } @@ -1716,10 +1731,18 @@ StepExpr : /* default step expression */ { $$ = NULL; } | STEP Expression { $$ = hb_compExprReduce( $2, HB_COMP_PARAM ); } ; -ForStatements : EmptyStats NEXT { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; } - | EmptyStats NEXT IdentName { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; } - | EmptyStats END { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; } - | EmptyStats END IdentName { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; } +ForStatements : EmptyStats NEXT { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; } + | EmptyStats NEXT IdentName { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; } + | EmptyStats END { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; } + | EmptyStats END IdentName { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; } ; ForVar : IdentName { $$ = hb_compExprNewVarRef( $1, HB_COMP_PARAM ); } @@ -1795,8 +1818,8 @@ DoSwitch : SwitchBegin ; EndSwitch : END - { - --HB_COMP_PARAM->wSwitchCounter; + { if( HB_COMP_PARAM->wSwitchCounter ) + --HB_COMP_PARAM->wSwitchCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); } ; @@ -1859,7 +1882,7 @@ BeginSeq : BEGINSEQ { ++HB_COMP_PARAM->wSeqCounter; $$ = hb_compSeque * RECOVER clause is used */ hb_compGenJumpThere( $5, HB_COMP_PARAM->functions.pLast->lPCodePos, HB_COMP_PARAM ); - if( !$6 ) /* only if there is no RECOVER clause */ + if( !$6 && HB_COMP_PARAM->wSeqCounter ) /* only if there is no RECOVER clause */ --HB_COMP_PARAM->wSeqCounter; /* RECOVER is also considered as end of sequence */ hb_compSequenceFinish( $2, $4, HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; @@ -1875,7 +1898,8 @@ RecoverEmpty : RECOVER { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; $$ = HB_COMP_PARAM->functions.pLast->lPCodePos; - --HB_COMP_PARAM->wSeqCounter; + if( HB_COMP_PARAM->wSeqCounter ) + --HB_COMP_PARAM->wSeqCounter; hb_compLinePush( HB_COMP_PARAM ); hb_compGenPCode2( HB_P_SEQRECOVER, HB_P_POP, HB_COMP_PARAM ); } @@ -1885,7 +1909,8 @@ RecoverUsing : RECOVERUSING IdentName { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; $$ = HB_COMP_PARAM->functions.pLast->lPCodePos; - --HB_COMP_PARAM->wSeqCounter; + if( HB_COMP_PARAM->wSeqCounter ) + --HB_COMP_PARAM->wSeqCounter; hb_compLinePush( HB_COMP_PARAM ); hb_compGenPCode1( HB_P_SEQRECOVER, HB_COMP_PARAM ); hb_compGenPopVar( $2, HB_COMP_PARAM ); @@ -1943,8 +1968,8 @@ WithObject : WITHOBJECT Expression Crlf } EmptyStatements END - { - --HB_COMP_PARAM->wWithObjectCnt; + { if( HB_COMP_PARAM->wWithObjectCnt ) + --HB_COMP_PARAM->wWithObjectCnt; hb_compGenPCode1( HB_P_WITHOBJECTEND, HB_COMP_PARAM ); } | WITHOBJECT Expression Crlf END { hb_compExprDelete( $2, HB_COMP_PARAM ); } @@ -2643,12 +2668,60 @@ static HB_EXPR_PTR hb_compCheckPassByRef( HB_COMP_DECL, HB_EXPR_PTR pExpr ) /* ************************************************************************* */ +BOOL hb_compCheckUnclosedStru( HB_COMP_DECL ) +{ + BOOL fUnclosed = TRUE; + + if( HB_COMP_PARAM->wIfCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "IF", NULL ); + HB_COMP_PARAM->wIfCounter = 0; + } + else if( HB_COMP_PARAM->wForCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "FOR", NULL ); + HB_COMP_PARAM->wForCounter = 0; + } + else if( HB_COMP_PARAM->wWhileCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "WHILE", NULL ); + HB_COMP_PARAM->wWhileCounter = 0; + } + else if( HB_COMP_PARAM->wCaseCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "CASE", NULL ); + HB_COMP_PARAM->wCaseCounter = 0; + } + else if( HB_COMP_PARAM->wSwitchCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "SWITCH", NULL ); + HB_COMP_PARAM->wSwitchCounter = 0; + } + else if( HB_COMP_PARAM->wWithObjectCnt ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "WITH OBJECT", NULL ); + HB_COMP_PARAM->wWithObjectCnt = 0; + } + else if( HB_COMP_PARAM->wSeqCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "BEGIN SEQUENCE", NULL ); + HB_COMP_PARAM->wSeqCounter = 0; + } + else + fUnclosed = FALSE; + + return fUnclosed; +} + void yyerror( HB_COMP_DECL, char * s ) { HB_SYMBOL_UNUSED( pComp ); if( !HB_COMP_PARAM->pLex->lasttok || HB_COMP_PARAM->pLex->lasttok[ 0 ] == '\n' ) - hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_YACC, s, "" ); + { + if( ! hb_pp_eof( HB_COMP_PARAM->pLex->pPP ) ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_INCOMPLETE_STMT, NULL, NULL ); + } else hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_YACC, s, HB_COMP_PARAM->pLex->lasttok ); } diff --git a/harbour/source/compiler/harbour.yyc b/harbour/source/compiler/harbour.yyc index d7e02bab5b..06156a01ac 100644 --- a/harbour/source/compiler/harbour.yyc +++ b/harbour/source/compiler/harbour.yyc @@ -284,7 +284,7 @@ /* Copy the first part of user declarations. */ -#line 4 "harbour.y" +#line 4 "../../harbour.y" /* * $Id$ @@ -403,7 +403,7 @@ static void hb_compDebugStart( void ) { }; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 103 "harbour.y" +#line 103 "../../harbour.y" { char * string; /* to hold a string returned by lex */ int iNumber; /* to hold a temporary integer number */ @@ -456,7 +456,7 @@ typedef union YYSTYPE /* Copy the second part of user declarations. */ -#line 145 "harbour.y" +#line 145 "../../harbour.y" /* This must be placed after the above union - the union is * typedef-ined to YYSTYPE @@ -681,16 +681,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 7275 +#define YYLAST 8506 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 126 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 247 +#define YYNNTS 246 /* YYNRULES -- Number of rules. */ -#define YYNRULES 767 +#define YYNRULES 766 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1299 +#define YYNSTATES 1298 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -706,7 +706,7 @@ static const yytype_uint8 yytranslate[] = 115, 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, 105, 110, 113, 2, - 119, 118, 108, 106, 117, 107, 2, 109, 2, 2, + 118, 119, 108, 106, 117, 107, 2, 109, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 122, 116, 103, 102, 104, 2, 114, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -746,330 +746,330 @@ static const yytype_uint8 yytranslate[] = static const yytype_uint16 yyprhs[] = { 0, 0, 3, 4, 7, 8, 10, 12, 14, 16, - 18, 20, 22, 24, 26, 29, 32, 35, 38, 41, - 44, 47, 50, 53, 56, 60, 65, 72, 77, 79, - 83, 84, 90, 91, 97, 98, 107, 108, 117, 118, - 120, 122, 124, 125, 127, 129, 133, 134, 136, 138, - 140, 142, 144, 146, 148, 151, 153, 155, 157, 159, - 161, 163, 165, 167, 169, 171, 174, 177, 182, 183, - 187, 190, 193, 196, 199, 202, 205, 208, 211, 214, - 217, 220, 223, 226, 229, 232, 233, 238, 241, 242, - 247, 248, 249, 255, 256, 257, 263, 264, 268, 269, - 273, 277, 278, 283, 284, 287, 289, 291, 293, 295, - 297, 302, 310, 315, 323, 324, 326, 328, 330, 332, - 335, 337, 341, 343, 345, 347, 349, 351, 353, 355, - 357, 359, 361, 363, 365, 367, 369, 371, 373, 375, - 377, 379, 381, 384, 387, 389, 392, 394, 397, 400, - 402, 404, 407, 409, 412, 413, 418, 421, 424, 427, - 429, 432, 434, 436, 439, 442, 445, 448, 452, 455, + 18, 20, 22, 24, 27, 30, 33, 36, 39, 42, + 45, 48, 51, 55, 60, 67, 68, 74, 75, 81, + 82, 91, 92, 101, 102, 104, 106, 108, 109, 111, + 113, 117, 118, 120, 122, 124, 126, 128, 130, 132, + 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, + 155, 158, 161, 166, 167, 171, 174, 177, 180, 183, + 186, 189, 192, 195, 198, 201, 204, 207, 210, 213, + 216, 217, 222, 225, 226, 231, 232, 233, 239, 240, + 241, 247, 248, 252, 253, 257, 261, 262, 267, 272, + 274, 278, 279, 282, 284, 286, 288, 290, 292, 294, + 299, 307, 312, 320, 321, 323, 325, 327, 329, 332, + 334, 338, 340, 342, 344, 346, 348, 350, 352, 354, + 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, + 376, 378, 381, 384, 386, 389, 391, 394, 397, 399, + 401, 404, 406, 409, 410, 415, 418, 421, 424, 426, + 429, 431, 433, 436, 439, 442, 445, 449, 452, 455, 458, 461, 464, 467, 470, 473, 476, 479, 482, 485, - 488, 491, 493, 495, 497, 500, 503, 506, 509, 512, + 488, 490, 492, 494, 497, 500, 503, 506, 509, 512, 515, 518, 521, 524, 527, 530, 533, 536, 539, 542, 545, 548, 551, 554, 557, 560, 563, 566, 569, 572, 575, 578, 581, 584, 587, 590, 593, 596, 599, 602, - 605, 608, 611, 614, 617, 620, 621, 627, 629, 630, - 636, 637, 643, 645, 649, 652, 654, 656, 658, 662, - 666, 670, 674, 678, 682, 686, 690, 694, 698, 702, - 706, 710, 714, 718, 722, 726, 730, 734, 738, 741, - 744, 745, 751, 754, 756, 758, 760, 762, 764, 766, - 768, 769, 773, 775, 777, 779, 781, 783, 785, 787, - 788, 792, 794, 796, 797, 801, 803, 804, 808, 810, - 812, 814, 816, 818, 820, 822, 824, 826, 828, 830, - 832, 833, 837, 838, 842, 845, 848, 851, 854, 857, - 858, 860, 862, 864, 866, 868, 870, 872, 874, 876, + 605, 608, 611, 614, 617, 618, 624, 626, 627, 633, + 634, 640, 642, 646, 649, 651, 653, 655, 659, 663, + 667, 671, 675, 679, 683, 687, 691, 695, 699, 703, + 707, 711, 715, 719, 723, 727, 731, 735, 738, 741, + 742, 748, 751, 753, 755, 757, 759, 761, 763, 765, + 766, 770, 772, 774, 776, 778, 780, 782, 784, 785, + 789, 791, 793, 794, 798, 800, 801, 805, 807, 809, + 811, 813, 815, 817, 819, 821, 823, 825, 827, 829, + 830, 834, 835, 839, 842, 845, 848, 851, 854, 855, + 857, 859, 861, 863, 865, 867, 869, 871, 873, 875, 878, 881, 884, 887, 890, 893, 896, 899, 902, 905, 908, 911, 914, 917, 920, 923, 926, 929, 932, 935, - 938, 941, 944, 947, 950, 954, 958, 962, 966, 970, - 974, 978, 982, 986, 990, 994, 998, 1002, 1006, 1010, - 1014, 1018, 1022, 1026, 1030, 1034, 1038, 1042, 1046, 1050, - 1054, 1058, 1062, 1066, 1070, 1074, 1078, 1082, 1086, 1090, - 1094, 1098, 1102, 1106, 1110, 1114, 1118, 1122, 1126, 1130, - 1134, 1138, 1142, 1146, 1150, 1154, 1158, 1162, 1166, 1170, - 1174, 1178, 1182, 1186, 1190, 1194, 1198, 1202, 1206, 1210, - 1214, 1218, 1222, 1226, 1230, 1234, 1238, 1242, 1246, 1250, - 1254, 1258, 1262, 1266, 1270, 1274, 1278, 1282, 1286, 1290, - 1294, 1298, 1302, 1306, 1310, 1314, 1318, 1322, 1326, 1330, - 1334, 1338, 1342, 1346, 1350, 1354, 1358, 1362, 1366, 1370, - 1374, 1378, 1382, 1386, 1390, 1394, 1398, 1402, 1406, 1410, - 1414, 1418, 1422, 1426, 1430, 1434, 1438, 1442, 1446, 1450, - 1454, 1458, 1462, 1466, 1470, 1474, 1478, 1482, 1486, 1490, - 1494, 1498, 1502, 1506, 1510, 1514, 1518, 1522, 1526, 1530, - 1534, 1538, 1542, 1546, 1550, 1554, 1558, 1562, 1564, 1566, - 1568, 1570, 1572, 1574, 1578, 1582, 1586, 1590, 1594, 1598, - 1602, 1606, 1610, 1614, 1618, 1622, 1626, 1630, 1634, 1638, - 1642, 1645, 1648, 1652, 1657, 1659, 1663, 1664, 1671, 1672, - 1679, 1681, 1685, 1686, 1689, 1694, 1697, 1700, 1703, 1706, - 1708, 1710, 1712, 1714, 1717, 1720, 1724, 1728, 1732, 1736, - 1739, 1740, 1749, 1752, 1753, 1758, 1759, 1764, 1765, 1770, - 1772, 1776, 1778, 1782, 1784, 1787, 1792, 1795, 1799, 1800, - 1804, 1805, 1806, 1813, 1816, 1820, 1823, 1826, 1830, 1835, - 1836, 1841, 1844, 1849, 1853, 1854, 1859, 1862, 1867, 1868, - 1877, 1878, 1884, 1888, 1892, 1893, 1901, 1903, 1907, 1909, - 1912, 1914, 1917, 1918, 1925, 1926, 1930, 1931, 1933, 1935, - 1939, 1941, 1945, 1947, 1950, 1954, 1960, 1965, 1971, 1979, - 1983, 1988, 1995, 2001, 2008, 2017, 2019, 2021, 2023, 2025, - 2027, 2029, 2031, 2034, 2038, 2042, 2047, 2049, 2052, 2053, - 2055, 2056, 2057, 2064, 2065, 2066, 2073, 2074, 2075, 2082, - 2083, 2084, 2091, 2092, 2093, 2100, 2101, 2106, 2107, 2108, - 2115, 2116, 2117, 2125, 2127, 2129, 2133, 2137, 2140, 2145, - 2147, 2149, 2150, 2154, 2156, 2159, 2160, 2161, 2168, 2169, - 2170, 2178, 2179, 2180, 2186, 2187, 2193, 2194, 2195, 2203, - 2205, 2207, 2209, 2210, 2211, 2212, 2225, 2227, 2229, 2230, - 2233, 2236, 2240, 2243, 2247, 2249, 2251, 2253, 2257, 2259, - 2263, 2264, 2265, 2266, 2277, 2278, 2280, 2281, 2286, 2289, - 2291, 2292, 2297, 2299, 2302, 2303, 2309, 2310, 2317, 2319, - 2322, 2323, 2324, 2330, 2331, 2332, 2333, 2342, 2343, 2344, - 2349, 2350, 2355, 2357, 2360, 2362, 2364, 2366, 2369, 2374, - 2376, 2380, 2382, 2385, 2387, 2390, 2394, 2396, 2399, 2402, - 2404, 2406, 2409, 2412, 2413, 2420, 2425, 2427 + 938, 941, 944, 947, 951, 955, 959, 963, 967, 971, + 975, 979, 983, 987, 991, 995, 999, 1003, 1007, 1011, + 1015, 1019, 1023, 1027, 1031, 1035, 1039, 1043, 1047, 1051, + 1055, 1059, 1063, 1067, 1071, 1075, 1079, 1083, 1087, 1091, + 1095, 1099, 1103, 1107, 1111, 1115, 1119, 1123, 1127, 1131, + 1135, 1139, 1143, 1147, 1151, 1155, 1159, 1163, 1167, 1171, + 1175, 1179, 1183, 1187, 1191, 1195, 1199, 1203, 1207, 1211, + 1215, 1219, 1223, 1227, 1231, 1235, 1239, 1243, 1247, 1251, + 1255, 1259, 1263, 1267, 1271, 1275, 1279, 1283, 1287, 1291, + 1295, 1299, 1303, 1307, 1311, 1315, 1319, 1323, 1327, 1331, + 1335, 1339, 1343, 1347, 1351, 1355, 1359, 1363, 1367, 1371, + 1375, 1379, 1383, 1387, 1391, 1395, 1399, 1403, 1407, 1411, + 1415, 1419, 1423, 1427, 1431, 1435, 1439, 1443, 1447, 1451, + 1455, 1459, 1463, 1467, 1471, 1475, 1479, 1483, 1487, 1491, + 1495, 1499, 1503, 1507, 1511, 1515, 1519, 1523, 1527, 1531, + 1535, 1539, 1543, 1547, 1551, 1555, 1559, 1561, 1563, 1565, + 1567, 1569, 1571, 1575, 1579, 1583, 1587, 1591, 1595, 1599, + 1603, 1607, 1611, 1615, 1619, 1623, 1627, 1631, 1635, 1639, + 1642, 1645, 1649, 1654, 1656, 1660, 1661, 1668, 1669, 1676, + 1678, 1682, 1683, 1686, 1691, 1694, 1697, 1700, 1703, 1705, + 1707, 1709, 1711, 1714, 1717, 1721, 1725, 1729, 1733, 1736, + 1737, 1746, 1749, 1750, 1755, 1756, 1761, 1762, 1767, 1769, + 1773, 1775, 1779, 1781, 1784, 1789, 1792, 1796, 1797, 1801, + 1802, 1803, 1810, 1813, 1817, 1820, 1823, 1827, 1832, 1833, + 1838, 1841, 1846, 1850, 1851, 1856, 1859, 1864, 1865, 1874, + 1875, 1881, 1885, 1889, 1890, 1898, 1900, 1904, 1906, 1909, + 1911, 1914, 1915, 1922, 1923, 1927, 1928, 1930, 1932, 1936, + 1938, 1942, 1944, 1947, 1951, 1957, 1962, 1968, 1976, 1980, + 1985, 1992, 1998, 2005, 2014, 2016, 2018, 2020, 2022, 2024, + 2026, 2028, 2031, 2035, 2039, 2044, 2046, 2049, 2050, 2052, + 2053, 2054, 2061, 2062, 2063, 2070, 2071, 2072, 2079, 2080, + 2081, 2088, 2089, 2090, 2097, 2098, 2103, 2104, 2105, 2112, + 2113, 2114, 2122, 2124, 2126, 2130, 2134, 2137, 2142, 2144, + 2146, 2147, 2151, 2153, 2156, 2157, 2158, 2165, 2166, 2167, + 2175, 2176, 2177, 2183, 2184, 2190, 2191, 2192, 2200, 2202, + 2204, 2206, 2207, 2208, 2209, 2222, 2224, 2226, 2227, 2230, + 2233, 2237, 2240, 2244, 2246, 2248, 2250, 2254, 2256, 2260, + 2261, 2262, 2263, 2274, 2275, 2277, 2278, 2283, 2286, 2288, + 2289, 2294, 2296, 2299, 2300, 2306, 2307, 2314, 2316, 2319, + 2320, 2321, 2327, 2328, 2329, 2330, 2339, 2340, 2341, 2346, + 2347, 2352, 2354, 2357, 2359, 2361, 2363, 2366, 2371, 2373, + 2377, 2379, 2382, 2384, 2387, 2391, 2393, 2396, 2399, 2401, + 2403, 2406, 2409, 2410, 2417, 2422, 2424 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 127, 0, -1, -1, 128, 129, -1, -1, 372, -1, - 254, -1, 267, -1, 270, -1, 273, -1, 133, -1, - 144, -1, 130, -1, 131, -1, 1, 372, -1, 129, - 372, -1, 129, 254, -1, 129, 267, -1, 129, 270, - -1, 129, 273, -1, 129, 133, -1, 129, 144, -1, - 129, 130, -1, 129, 131, -1, 129, 1, 372, -1, - 68, 10, 19, 372, -1, 68, 10, 19, 114, 19, - 372, -1, 92, 132, 118, 372, -1, 19, -1, 19, - 106, 19, -1, -1, 138, 3, 162, 134, 372, -1, - -1, 138, 4, 162, 135, 372, -1, -1, 138, 3, - 162, 136, 119, 139, 118, 372, -1, -1, 138, 4, - 162, 137, 119, 139, 118, 372, -1, -1, 12, -1, - 24, -1, 25, -1, -1, 100, -1, 143, -1, 143, - 117, 100, -1, -1, 141, -1, 77, -1, 73, -1, - 75, -1, 76, -1, 72, -1, 78, -1, 74, 162, - -1, 79, -1, 142, -1, 71, -1, 90, -1, 86, - -1, 88, -1, 89, -1, 84, -1, 85, -1, 91, - -1, 87, 162, -1, 162, 140, -1, 143, 117, 162, - 140, -1, -1, 288, 145, 155, -1, 370, 155, -1, - 251, 155, -1, 195, 155, -1, 190, 155, -1, 203, - 155, -1, 182, 155, -1, 184, 155, -1, 245, 155, - -1, 218, 155, -1, 217, 155, -1, 228, 155, -1, - 221, 155, -1, 220, 155, -1, 367, 155, -1, 62, - 155, -1, -1, 62, 146, 211, 372, -1, 6, 155, - -1, -1, 6, 147, 211, 372, -1, -1, -1, 29, - 148, 259, 149, 372, -1, -1, -1, 60, 150, 259, - 151, 372, -1, -1, 25, 152, 155, -1, -1, 43, - 153, 155, -1, 23, 161, 372, -1, -1, 22, 162, - 154, 372, -1, -1, 156, 372, -1, 372, -1, 144, - -1, 273, -1, 130, -1, 158, -1, 159, 3, 162, - 372, -1, 159, 3, 162, 119, 139, 118, 372, -1, - 159, 4, 162, 372, -1, 159, 4, 162, 119, 139, - 118, 372, -1, -1, 12, -1, 24, -1, 25, -1, - 157, -1, 160, 157, -1, 162, -1, 161, 117, 162, - -1, 5, -1, 47, -1, 46, -1, 43, -1, 25, - -1, 51, -1, 81, -1, 23, -1, 22, -1, 11, - -1, 41, -1, 12, -1, 60, -1, 29, -1, 52, - -1, 92, -1, 96, -1, 8, -1, 10, -1, 99, - -1, 10, 35, -1, 8, 35, -1, 7, -1, 166, - 35, -1, 19, -1, 168, 35, -1, 235, 35, -1, - 20, -1, 21, -1, 171, 35, -1, 67, -1, 173, - 35, -1, -1, 120, 176, 234, 121, -1, 175, 35, - -1, 175, 232, -1, 178, 35, -1, 162, -1, 162, - 35, -1, 69, -1, 70, -1, 182, 35, -1, 113, - 245, -1, 184, 35, -1, 50, 35, -1, 50, 35, - 186, -1, 186, 181, -1, 186, 165, -1, 186, 246, - -1, 186, 183, -1, 186, 185, -1, 186, 167, -1, - 186, 169, -1, 186, 172, -1, 186, 170, -1, 186, - 174, -1, 186, 177, -1, 186, 179, -1, 186, 253, - -1, 162, -1, 182, -1, 184, -1, 165, 188, -1, - 183, 188, -1, 185, 188, -1, 246, 188, -1, 167, - 188, -1, 169, 188, -1, 172, 188, -1, 170, 188, - -1, 174, 188, -1, 177, 188, -1, 179, 188, -1, - 192, 188, -1, 253, 188, -1, 199, 188, -1, 202, - 188, -1, 205, 188, -1, 181, 188, -1, 186, 188, - -1, 187, 188, -1, 165, 245, -1, 181, 245, -1, - 183, 245, -1, 185, 245, -1, 246, 245, -1, 186, - 245, -1, 166, 232, -1, 168, 232, -1, 235, 232, - -1, 171, 232, -1, 173, 232, -1, 180, 232, -1, - 189, 232, -1, 190, 232, -1, 182, 232, -1, 184, - 232, -1, 201, 232, -1, 203, 232, -1, 195, 232, - -1, 251, 232, -1, 245, 232, -1, 191, 35, -1, - -1, 162, 119, 194, 198, 118, -1, 193, -1, -1, - 182, 119, 196, 198, 118, -1, -1, 184, 119, 197, - 198, 118, -1, 214, -1, 198, 117, 214, -1, 195, - 35, -1, 162, -1, 182, -1, 184, -1, 163, 122, - 200, -1, 166, 122, 200, -1, 164, 122, 200, -1, - 168, 122, 200, -1, 180, 122, 200, -1, 235, 122, - 200, -1, 171, 122, 200, -1, 173, 122, 200, -1, - 175, 122, 200, -1, 178, 122, 200, -1, 189, 122, - 200, -1, 190, 122, 200, -1, 182, 122, 200, -1, - 184, 122, 200, -1, 195, 122, 200, -1, 251, 122, - 200, -1, 245, 122, 200, -1, 191, 122, 200, -1, - 203, 122, 200, -1, 201, 122, 200, -1, 122, 200, - -1, 201, 35, -1, -1, 201, 119, 204, 198, 118, - -1, 203, 35, -1, 163, -1, 166, -1, 164, -1, - 168, -1, 235, -1, 171, -1, 173, -1, -1, 173, - 207, 141, -1, 175, -1, 178, -1, 189, -1, 182, - -1, 184, -1, 191, -1, 195, -1, -1, 195, 208, - 141, -1, 251, -1, 201, -1, -1, 201, 209, 141, - -1, 203, -1, -1, 203, 210, 141, -1, 190, -1, - 220, -1, 228, -1, 217, -1, 218, -1, 219, -1, - 229, -1, 230, -1, 231, -1, 180, -1, 206, -1, - 245, -1, -1, 180, 212, 141, -1, -1, 245, 213, - 141, -1, 114, 162, -1, 114, 193, -1, 114, 182, - -1, 114, 189, -1, 114, 201, -1, -1, 211, -1, - 162, -1, 189, -1, 182, -1, 184, -1, 201, -1, - 191, -1, 245, -1, 33, -1, 34, -1, 163, 216, - -1, 166, 216, -1, 168, 216, -1, 235, 216, -1, - 171, 216, -1, 173, 216, -1, 175, 216, -1, 178, - 216, -1, 180, 216, -1, 182, 216, -1, 184, 216, - -1, 189, 216, -1, 190, 216, -1, 191, 216, -1, - 245, 216, -1, 251, 216, -1, 195, 216, -1, 201, - 216, -1, 203, 216, -1, 33, 211, -1, 34, 211, - -1, 28, 211, -1, 107, 211, -1, 106, 211, -1, - 163, 9, 211, -1, 166, 9, 211, -1, 168, 9, - 211, -1, 235, 9, 211, -1, 171, 9, 211, -1, - 173, 9, 211, -1, 175, 9, 211, -1, 178, 9, - 211, -1, 180, 9, 211, -1, 182, 9, 211, -1, - 184, 9, 211, -1, 189, 9, 211, -1, 190, 9, - 211, -1, 191, 9, 211, -1, 245, 9, 211, -1, - 251, 9, 211, -1, 195, 9, 211, -1, 201, 9, - 211, -1, 203, 9, 211, -1, 163, 102, 211, -1, - 166, 102, 211, -1, 164, 102, 211, -1, 168, 102, - 211, -1, 235, 102, 211, -1, 171, 102, 211, -1, - 173, 102, 211, -1, 175, 102, 211, -1, 178, 102, - 211, -1, 180, 102, 211, -1, 182, 102, 211, -1, - 184, 102, 211, -1, 189, 102, 211, -1, 190, 102, - 211, -1, 191, 102, 211, -1, 245, 102, 211, -1, - 251, 102, 211, -1, 195, 102, 211, -1, 201, 102, - 211, -1, 203, 102, 211, -1, 163, 53, 211, -1, - 166, 53, 211, -1, 168, 53, 211, -1, 235, 53, - 211, -1, 171, 53, 211, -1, 173, 53, 211, -1, - 175, 53, 211, -1, 178, 53, 211, -1, 180, 53, - 211, -1, 182, 53, 211, -1, 184, 53, 211, -1, - 189, 53, 211, -1, 190, 53, 211, -1, 191, 53, - 211, -1, 245, 53, 211, -1, 251, 53, 211, -1, - 195, 53, 211, -1, 201, 53, 211, -1, 203, 53, - 211, -1, 163, 54, 211, -1, 166, 54, 211, -1, - 168, 54, 211, -1, 235, 54, 211, -1, 171, 54, - 211, -1, 173, 54, 211, -1, 175, 54, 211, -1, - 178, 54, 211, -1, 180, 54, 211, -1, 182, 54, - 211, -1, 184, 54, 211, -1, 189, 54, 211, -1, - 190, 54, 211, -1, 191, 54, 211, -1, 245, 54, - 211, -1, 251, 54, 211, -1, 195, 54, 211, -1, - 201, 54, 211, -1, 203, 54, 211, -1, 163, 55, - 211, -1, 166, 55, 211, -1, 168, 55, 211, -1, - 235, 55, 211, -1, 171, 55, 211, -1, 173, 55, - 211, -1, 175, 55, 211, -1, 178, 55, 211, -1, - 180, 55, 211, -1, 182, 55, 211, -1, 184, 55, - 211, -1, 189, 55, 211, -1, 190, 55, 211, -1, - 191, 55, 211, -1, 245, 55, 211, -1, 251, 55, - 211, -1, 195, 55, 211, -1, 201, 55, 211, -1, - 203, 55, 211, -1, 163, 56, 211, -1, 166, 56, - 211, -1, 168, 56, 211, -1, 235, 56, 211, -1, - 171, 56, 211, -1, 173, 56, 211, -1, 175, 56, - 211, -1, 178, 56, 211, -1, 180, 56, 211, -1, - 182, 56, 211, -1, 184, 56, 211, -1, 189, 56, - 211, -1, 190, 56, 211, -1, 191, 56, 211, -1, - 245, 56, 211, -1, 251, 56, 211, -1, 195, 56, - 211, -1, 201, 56, 211, -1, 203, 56, 211, -1, - 163, 59, 211, -1, 166, 59, 211, -1, 168, 59, - 211, -1, 235, 59, 211, -1, 171, 59, 211, -1, - 173, 59, 211, -1, 175, 59, 211, -1, 178, 59, - 211, -1, 180, 59, 211, -1, 182, 59, 211, -1, - 184, 59, 211, -1, 189, 59, 211, -1, 190, 59, - 211, -1, 191, 59, 211, -1, 245, 59, 211, -1, - 251, 59, 211, -1, 195, 59, 211, -1, 201, 59, - 211, -1, 203, 59, 211, -1, 163, 58, 211, -1, - 166, 58, 211, -1, 168, 58, 211, -1, 235, 58, - 211, -1, 171, 58, 211, -1, 173, 58, 211, -1, - 175, 58, 211, -1, 178, 58, 211, -1, 180, 58, - 211, -1, 182, 58, 211, -1, 184, 58, 211, -1, - 189, 58, 211, -1, 190, 58, 211, -1, 191, 58, - 211, -1, 245, 58, 211, -1, 251, 58, 211, -1, - 195, 58, 211, -1, 201, 58, 211, -1, 203, 58, - 211, -1, 222, -1, 223, -1, 224, -1, 225, -1, - 226, -1, 227, -1, 211, 106, 211, -1, 211, 107, - 211, -1, 211, 108, 211, -1, 211, 109, 211, -1, - 211, 110, 211, -1, 211, 57, 211, -1, 211, 26, - 211, -1, 211, 27, 211, -1, 211, 30, 211, -1, - 211, 103, 211, -1, 211, 104, 211, -1, 211, 48, - 211, -1, 211, 49, 211, -1, 211, 31, 211, -1, - 211, 32, 211, -1, 211, 105, 211, -1, 211, 102, - 211, -1, 233, 123, -1, 124, 211, -1, 233, 117, - 211, -1, 233, 123, 124, 211, -1, 214, -1, 234, - 117, 214, -1, -1, 93, 236, 239, 125, 238, 121, - -1, -1, 93, 237, 240, 125, 238, 121, -1, 211, - -1, 238, 117, 211, -1, -1, 162, 140, -1, 240, - 117, 162, 140, -1, 247, 118, -1, 248, 118, -1, - 249, 118, -1, 250, 118, -1, 241, -1, 242, -1, - 243, -1, 244, -1, 245, 35, -1, 119, 214, -1, - 247, 117, 214, -1, 248, 117, 214, -1, 249, 117, - 214, -1, 250, 117, 214, -1, 13, 243, -1, -1, - 14, 247, 117, 214, 117, 252, 214, 118, -1, 251, - 35, -1, -1, 11, 255, 258, 372, -1, -1, 12, - 256, 258, 372, -1, -1, 52, 257, 272, 372, -1, - 261, -1, 258, 117, 261, -1, 260, -1, 259, 117, - 260, -1, 261, -1, 182, 140, -1, 182, 140, 9, - 211, -1, 182, 265, -1, 182, 265, 142, -1, -1, - 162, 140, 262, -1, -1, -1, 162, 140, 263, 9, - 264, 211, -1, 162, 265, -1, 162, 265, 142, -1, - 266, 123, -1, 124, 211, -1, 266, 117, 211, -1, - 266, 123, 124, 211, -1, -1, 50, 268, 269, 372, - -1, 162, 140, -1, 269, 117, 162, 140, -1, 269, - 51, 162, -1, -1, 41, 271, 272, 372, -1, 162, - 140, -1, 272, 117, 162, 140, -1, -1, 80, 162, - 119, 274, 283, 118, 140, 372, -1, -1, 80, 162, - 275, 278, 372, -1, 82, 162, 372, -1, 83, 279, - 372, -1, -1, 83, 120, 140, 276, 277, 121, 372, - -1, 281, -1, 277, 117, 281, -1, 279, -1, 278, - 279, -1, 281, -1, 278, 281, -1, -1, 162, 119, - 280, 283, 118, 140, -1, -1, 162, 282, 140, -1, - -1, 286, -1, 287, -1, 286, 117, 287, -1, 285, - -1, 284, 117, 285, -1, 214, -1, 162, 140, -1, - 114, 162, 140, -1, 114, 162, 119, 284, 118, -1, - 286, 117, 162, 140, -1, 286, 117, 114, 162, 140, - -1, 286, 117, 114, 162, 119, 284, 118, -1, 81, - 162, 140, -1, 81, 114, 162, 140, -1, 81, 114, - 162, 119, 284, 118, -1, 287, 117, 81, 162, 140, - -1, 287, 117, 81, 114, 162, 140, -1, 287, 117, - 81, 114, 162, 119, 284, 118, -1, 289, -1, 311, - -1, 325, -1, 330, -1, 357, -1, 340, -1, 345, - -1, 292, 310, -1, 292, 303, 310, -1, 292, 305, - 310, -1, 292, 305, 303, 310, -1, 157, -1, 290, - 157, -1, -1, 290, -1, -1, -1, 14, 206, 293, - 372, 294, 291, -1, -1, -1, 14, 180, 295, 372, - 296, 291, -1, -1, -1, 14, 241, 297, 372, 298, - 291, -1, -1, -1, 14, 242, 299, 372, 300, 291, - -1, -1, -1, 14, 244, 301, 372, 302, 291, -1, - -1, 15, 372, 304, 291, -1, -1, -1, 16, 306, - 211, 372, 307, 291, -1, -1, -1, 305, 16, 308, - 211, 372, 309, 291, -1, 18, -1, 17, -1, 315, - 316, 312, -1, 315, 321, 312, -1, 315, 312, -1, - 315, 316, 321, 312, -1, 39, -1, 17, -1, -1, - 36, 314, 372, -1, 313, -1, 313, 160, -1, -1, - -1, 37, 317, 211, 372, 318, 291, -1, -1, -1, - 316, 37, 319, 211, 372, 320, 291, -1, -1, -1, - 38, 322, 372, 323, 291, -1, -1, 321, 38, 324, - 372, 291, -1, -1, -1, 328, 211, 372, 326, 291, - 327, 329, -1, 42, -1, 17, -1, 40, -1, -1, - -1, -1, 44, 215, 334, 211, 331, 46, 211, 335, - 332, 372, 333, 336, -1, 102, -1, 9, -1, -1, - 47, 211, -1, 291, 45, -1, 291, 45, 162, -1, - 291, 17, -1, 291, 17, 162, -1, 162, -1, 189, - -1, 337, -1, 338, 117, 337, -1, 211, -1, 339, - 117, 211, -1, -1, -1, -1, 95, 338, 51, 339, - 341, 344, 342, 372, 343, 336, -1, -1, 96, -1, - -1, 350, 346, 351, 347, -1, 350, 347, -1, 17, - -1, -1, 97, 349, 211, 372, -1, 348, -1, 348, - 160, -1, -1, 37, 211, 352, 372, 291, -1, -1, - 351, 37, 211, 353, 372, 291, -1, 354, -1, 351, - 354, -1, -1, -1, 38, 355, 372, 356, 291, -1, - -1, -1, -1, 61, 358, 372, 291, 359, 361, 360, - 17, -1, -1, -1, 364, 372, 362, 291, -1, -1, - 365, 372, 363, 291, -1, 63, -1, 64, 162, -1, - 162, -1, 182, -1, 184, -1, 65, 366, -1, 65, - 366, 66, 368, -1, 94, -1, 94, 66, 368, -1, - 117, -1, 117, 369, -1, 369, -1, 368, 117, -1, - 368, 117, 369, -1, 162, -1, 114, 193, -1, 114, - 162, -1, 206, -1, 245, -1, 114, 182, -1, 114, - 189, -1, -1, 98, 211, 372, 371, 290, 17, -1, - 98, 211, 372, 17, -1, 115, -1, 116, -1 + 127, 0, -1, -1, 128, 129, -1, -1, 371, -1, + 253, -1, 266, -1, 269, -1, 272, -1, 131, -1, + 142, -1, 130, -1, 1, 371, -1, 129, 371, -1, + 129, 253, -1, 129, 266, -1, 129, 269, -1, 129, + 272, -1, 129, 131, -1, 129, 142, -1, 129, 130, + -1, 129, 1, 371, -1, 68, 10, 19, 371, -1, + 68, 10, 19, 114, 19, 371, -1, -1, 136, 3, + 161, 132, 371, -1, -1, 136, 4, 161, 133, 371, + -1, -1, 136, 3, 161, 134, 118, 137, 119, 371, + -1, -1, 136, 4, 161, 135, 118, 137, 119, 371, + -1, -1, 12, -1, 24, -1, 25, -1, -1, 100, + -1, 141, -1, 141, 117, 100, -1, -1, 139, -1, + 77, -1, 73, -1, 75, -1, 76, -1, 72, -1, + 78, -1, 74, 161, -1, 79, -1, 140, -1, 71, + -1, 90, -1, 86, -1, 88, -1, 89, -1, 84, + -1, 85, -1, 91, -1, 87, 161, -1, 161, 138, + -1, 141, 117, 161, 138, -1, -1, 287, 143, 154, + -1, 369, 154, -1, 250, 154, -1, 194, 154, -1, + 189, 154, -1, 202, 154, -1, 181, 154, -1, 183, + 154, -1, 244, 154, -1, 217, 154, -1, 216, 154, + -1, 227, 154, -1, 220, 154, -1, 219, 154, -1, + 366, 154, -1, 62, 154, -1, -1, 62, 144, 210, + 371, -1, 6, 154, -1, -1, 6, 145, 210, 371, + -1, -1, -1, 29, 146, 258, 147, 371, -1, -1, + -1, 60, 148, 258, 149, 371, -1, -1, 25, 150, + 154, -1, -1, 43, 151, 154, -1, 23, 160, 371, + -1, -1, 22, 161, 152, 371, -1, 92, 153, 119, + 371, -1, 19, -1, 19, 106, 19, -1, -1, 155, + 371, -1, 371, -1, 142, -1, 272, -1, 130, -1, + 157, -1, 1, -1, 158, 3, 161, 371, -1, 158, + 3, 161, 118, 137, 119, 371, -1, 158, 4, 161, + 371, -1, 158, 4, 161, 118, 137, 119, 371, -1, + -1, 12, -1, 24, -1, 25, -1, 156, -1, 159, + 156, -1, 161, -1, 160, 117, 161, -1, 5, -1, + 47, -1, 46, -1, 43, -1, 25, -1, 51, -1, + 81, -1, 23, -1, 22, -1, 11, -1, 41, -1, + 12, -1, 60, -1, 29, -1, 52, -1, 92, -1, + 96, -1, 8, -1, 10, -1, 99, -1, 10, 35, + -1, 8, 35, -1, 7, -1, 165, 35, -1, 19, + -1, 167, 35, -1, 234, 35, -1, 20, -1, 21, + -1, 170, 35, -1, 67, -1, 172, 35, -1, -1, + 120, 175, 233, 121, -1, 174, 35, -1, 174, 231, + -1, 177, 35, -1, 161, -1, 161, 35, -1, 69, + -1, 70, -1, 181, 35, -1, 113, 244, -1, 183, + 35, -1, 50, 35, -1, 50, 35, 185, -1, 185, + 180, -1, 185, 164, -1, 185, 245, -1, 185, 182, + -1, 185, 184, -1, 185, 166, -1, 185, 168, -1, + 185, 171, -1, 185, 169, -1, 185, 173, -1, 185, + 176, -1, 185, 178, -1, 185, 252, -1, 161, -1, + 181, -1, 183, -1, 164, 187, -1, 182, 187, -1, + 184, 187, -1, 245, 187, -1, 166, 187, -1, 168, + 187, -1, 171, 187, -1, 169, 187, -1, 173, 187, + -1, 176, 187, -1, 178, 187, -1, 191, 187, -1, + 252, 187, -1, 198, 187, -1, 201, 187, -1, 204, + 187, -1, 180, 187, -1, 185, 187, -1, 186, 187, + -1, 164, 244, -1, 180, 244, -1, 182, 244, -1, + 184, 244, -1, 245, 244, -1, 185, 244, -1, 165, + 231, -1, 167, 231, -1, 234, 231, -1, 170, 231, + -1, 172, 231, -1, 179, 231, -1, 188, 231, -1, + 189, 231, -1, 181, 231, -1, 183, 231, -1, 200, + 231, -1, 202, 231, -1, 194, 231, -1, 250, 231, + -1, 244, 231, -1, 190, 35, -1, -1, 161, 118, + 193, 197, 119, -1, 192, -1, -1, 181, 118, 195, + 197, 119, -1, -1, 183, 118, 196, 197, 119, -1, + 213, -1, 197, 117, 213, -1, 194, 35, -1, 161, + -1, 181, -1, 183, -1, 162, 122, 199, -1, 165, + 122, 199, -1, 163, 122, 199, -1, 167, 122, 199, + -1, 179, 122, 199, -1, 234, 122, 199, -1, 170, + 122, 199, -1, 172, 122, 199, -1, 174, 122, 199, + -1, 177, 122, 199, -1, 188, 122, 199, -1, 189, + 122, 199, -1, 181, 122, 199, -1, 183, 122, 199, + -1, 194, 122, 199, -1, 250, 122, 199, -1, 244, + 122, 199, -1, 190, 122, 199, -1, 202, 122, 199, + -1, 200, 122, 199, -1, 122, 199, -1, 200, 35, + -1, -1, 200, 118, 203, 197, 119, -1, 202, 35, + -1, 162, -1, 165, -1, 163, -1, 167, -1, 234, + -1, 170, -1, 172, -1, -1, 172, 206, 139, -1, + 174, -1, 177, -1, 188, -1, 181, -1, 183, -1, + 190, -1, 194, -1, -1, 194, 207, 139, -1, 250, + -1, 200, -1, -1, 200, 208, 139, -1, 202, -1, + -1, 202, 209, 139, -1, 189, -1, 219, -1, 227, + -1, 216, -1, 217, -1, 218, -1, 228, -1, 229, + -1, 230, -1, 179, -1, 205, -1, 244, -1, -1, + 179, 211, 139, -1, -1, 244, 212, 139, -1, 114, + 161, -1, 114, 192, -1, 114, 181, -1, 114, 188, + -1, 114, 200, -1, -1, 210, -1, 161, -1, 188, + -1, 181, -1, 183, -1, 200, -1, 190, -1, 244, + -1, 33, -1, 34, -1, 162, 215, -1, 165, 215, + -1, 167, 215, -1, 234, 215, -1, 170, 215, -1, + 172, 215, -1, 174, 215, -1, 177, 215, -1, 179, + 215, -1, 181, 215, -1, 183, 215, -1, 188, 215, + -1, 189, 215, -1, 190, 215, -1, 244, 215, -1, + 250, 215, -1, 194, 215, -1, 200, 215, -1, 202, + 215, -1, 33, 210, -1, 34, 210, -1, 28, 210, + -1, 107, 210, -1, 106, 210, -1, 162, 9, 210, + -1, 165, 9, 210, -1, 167, 9, 210, -1, 234, + 9, 210, -1, 170, 9, 210, -1, 172, 9, 210, + -1, 174, 9, 210, -1, 177, 9, 210, -1, 179, + 9, 210, -1, 181, 9, 210, -1, 183, 9, 210, + -1, 188, 9, 210, -1, 189, 9, 210, -1, 190, + 9, 210, -1, 244, 9, 210, -1, 250, 9, 210, + -1, 194, 9, 210, -1, 200, 9, 210, -1, 202, + 9, 210, -1, 162, 102, 210, -1, 165, 102, 210, + -1, 163, 102, 210, -1, 167, 102, 210, -1, 234, + 102, 210, -1, 170, 102, 210, -1, 172, 102, 210, + -1, 174, 102, 210, -1, 177, 102, 210, -1, 179, + 102, 210, -1, 181, 102, 210, -1, 183, 102, 210, + -1, 188, 102, 210, -1, 189, 102, 210, -1, 190, + 102, 210, -1, 244, 102, 210, -1, 250, 102, 210, + -1, 194, 102, 210, -1, 200, 102, 210, -1, 202, + 102, 210, -1, 162, 53, 210, -1, 165, 53, 210, + -1, 167, 53, 210, -1, 234, 53, 210, -1, 170, + 53, 210, -1, 172, 53, 210, -1, 174, 53, 210, + -1, 177, 53, 210, -1, 179, 53, 210, -1, 181, + 53, 210, -1, 183, 53, 210, -1, 188, 53, 210, + -1, 189, 53, 210, -1, 190, 53, 210, -1, 244, + 53, 210, -1, 250, 53, 210, -1, 194, 53, 210, + -1, 200, 53, 210, -1, 202, 53, 210, -1, 162, + 54, 210, -1, 165, 54, 210, -1, 167, 54, 210, + -1, 234, 54, 210, -1, 170, 54, 210, -1, 172, + 54, 210, -1, 174, 54, 210, -1, 177, 54, 210, + -1, 179, 54, 210, -1, 181, 54, 210, -1, 183, + 54, 210, -1, 188, 54, 210, -1, 189, 54, 210, + -1, 190, 54, 210, -1, 244, 54, 210, -1, 250, + 54, 210, -1, 194, 54, 210, -1, 200, 54, 210, + -1, 202, 54, 210, -1, 162, 55, 210, -1, 165, + 55, 210, -1, 167, 55, 210, -1, 234, 55, 210, + -1, 170, 55, 210, -1, 172, 55, 210, -1, 174, + 55, 210, -1, 177, 55, 210, -1, 179, 55, 210, + -1, 181, 55, 210, -1, 183, 55, 210, -1, 188, + 55, 210, -1, 189, 55, 210, -1, 190, 55, 210, + -1, 244, 55, 210, -1, 250, 55, 210, -1, 194, + 55, 210, -1, 200, 55, 210, -1, 202, 55, 210, + -1, 162, 56, 210, -1, 165, 56, 210, -1, 167, + 56, 210, -1, 234, 56, 210, -1, 170, 56, 210, + -1, 172, 56, 210, -1, 174, 56, 210, -1, 177, + 56, 210, -1, 179, 56, 210, -1, 181, 56, 210, + -1, 183, 56, 210, -1, 188, 56, 210, -1, 189, + 56, 210, -1, 190, 56, 210, -1, 244, 56, 210, + -1, 250, 56, 210, -1, 194, 56, 210, -1, 200, + 56, 210, -1, 202, 56, 210, -1, 162, 59, 210, + -1, 165, 59, 210, -1, 167, 59, 210, -1, 234, + 59, 210, -1, 170, 59, 210, -1, 172, 59, 210, + -1, 174, 59, 210, -1, 177, 59, 210, -1, 179, + 59, 210, -1, 181, 59, 210, -1, 183, 59, 210, + -1, 188, 59, 210, -1, 189, 59, 210, -1, 190, + 59, 210, -1, 244, 59, 210, -1, 250, 59, 210, + -1, 194, 59, 210, -1, 200, 59, 210, -1, 202, + 59, 210, -1, 162, 58, 210, -1, 165, 58, 210, + -1, 167, 58, 210, -1, 234, 58, 210, -1, 170, + 58, 210, -1, 172, 58, 210, -1, 174, 58, 210, + -1, 177, 58, 210, -1, 179, 58, 210, -1, 181, + 58, 210, -1, 183, 58, 210, -1, 188, 58, 210, + -1, 189, 58, 210, -1, 190, 58, 210, -1, 244, + 58, 210, -1, 250, 58, 210, -1, 194, 58, 210, + -1, 200, 58, 210, -1, 202, 58, 210, -1, 221, + -1, 222, -1, 223, -1, 224, -1, 225, -1, 226, + -1, 210, 106, 210, -1, 210, 107, 210, -1, 210, + 108, 210, -1, 210, 109, 210, -1, 210, 110, 210, + -1, 210, 57, 210, -1, 210, 26, 210, -1, 210, + 27, 210, -1, 210, 30, 210, -1, 210, 103, 210, + -1, 210, 104, 210, -1, 210, 48, 210, -1, 210, + 49, 210, -1, 210, 31, 210, -1, 210, 32, 210, + -1, 210, 105, 210, -1, 210, 102, 210, -1, 232, + 123, -1, 124, 210, -1, 232, 117, 210, -1, 232, + 123, 124, 210, -1, 213, -1, 233, 117, 213, -1, + -1, 93, 235, 238, 125, 237, 121, -1, -1, 93, + 236, 239, 125, 237, 121, -1, 210, -1, 237, 117, + 210, -1, -1, 161, 138, -1, 239, 117, 161, 138, + -1, 246, 119, -1, 247, 119, -1, 248, 119, -1, + 249, 119, -1, 240, -1, 241, -1, 242, -1, 243, + -1, 244, 35, -1, 118, 213, -1, 246, 117, 213, + -1, 247, 117, 213, -1, 248, 117, 213, -1, 249, + 117, 213, -1, 13, 242, -1, -1, 14, 246, 117, + 213, 117, 251, 213, 119, -1, 250, 35, -1, -1, + 11, 254, 257, 371, -1, -1, 12, 255, 257, 371, + -1, -1, 52, 256, 271, 371, -1, 260, -1, 257, + 117, 260, -1, 259, -1, 258, 117, 259, -1, 260, + -1, 181, 138, -1, 181, 138, 9, 210, -1, 181, + 264, -1, 181, 264, 140, -1, -1, 161, 138, 261, + -1, -1, -1, 161, 138, 262, 9, 263, 210, -1, + 161, 264, -1, 161, 264, 140, -1, 265, 123, -1, + 124, 210, -1, 265, 117, 210, -1, 265, 123, 124, + 210, -1, -1, 50, 267, 268, 371, -1, 161, 138, + -1, 268, 117, 161, 138, -1, 268, 51, 161, -1, + -1, 41, 270, 271, 371, -1, 161, 138, -1, 271, + 117, 161, 138, -1, -1, 80, 161, 118, 273, 282, + 119, 138, 371, -1, -1, 80, 161, 274, 277, 371, + -1, 82, 161, 371, -1, 83, 278, 371, -1, -1, + 83, 120, 138, 275, 276, 121, 371, -1, 280, -1, + 276, 117, 280, -1, 278, -1, 277, 278, -1, 280, + -1, 277, 280, -1, -1, 161, 118, 279, 282, 119, + 138, -1, -1, 161, 281, 138, -1, -1, 285, -1, + 286, -1, 285, 117, 286, -1, 284, -1, 283, 117, + 284, -1, 213, -1, 161, 138, -1, 114, 161, 138, + -1, 114, 161, 118, 283, 119, -1, 285, 117, 161, + 138, -1, 285, 117, 114, 161, 138, -1, 285, 117, + 114, 161, 118, 283, 119, -1, 81, 161, 138, -1, + 81, 114, 161, 138, -1, 81, 114, 161, 118, 283, + 119, -1, 286, 117, 81, 161, 138, -1, 286, 117, + 81, 114, 161, 138, -1, 286, 117, 81, 114, 161, + 118, 283, 119, -1, 288, -1, 310, -1, 324, -1, + 329, -1, 356, -1, 339, -1, 344, -1, 291, 309, + -1, 291, 302, 309, -1, 291, 304, 309, -1, 291, + 304, 302, 309, -1, 156, -1, 289, 156, -1, -1, + 289, -1, -1, -1, 14, 205, 292, 371, 293, 290, + -1, -1, -1, 14, 179, 294, 371, 295, 290, -1, + -1, -1, 14, 240, 296, 371, 297, 290, -1, -1, + -1, 14, 241, 298, 371, 299, 290, -1, -1, -1, + 14, 243, 300, 371, 301, 290, -1, -1, 15, 371, + 303, 290, -1, -1, -1, 16, 305, 210, 371, 306, + 290, -1, -1, -1, 304, 16, 307, 210, 371, 308, + 290, -1, 18, -1, 17, -1, 314, 315, 311, -1, + 314, 320, 311, -1, 314, 311, -1, 314, 315, 320, + 311, -1, 39, -1, 17, -1, -1, 36, 313, 371, + -1, 312, -1, 312, 159, -1, -1, -1, 37, 316, + 210, 371, 317, 290, -1, -1, -1, 315, 37, 318, + 210, 371, 319, 290, -1, -1, -1, 38, 321, 371, + 322, 290, -1, -1, 320, 38, 323, 371, 290, -1, + -1, -1, 327, 210, 371, 325, 290, 326, 328, -1, + 42, -1, 17, -1, 40, -1, -1, -1, -1, 44, + 214, 333, 210, 330, 46, 210, 334, 331, 371, 332, + 335, -1, 102, -1, 9, -1, -1, 47, 210, -1, + 290, 45, -1, 290, 45, 161, -1, 290, 17, -1, + 290, 17, 161, -1, 161, -1, 188, -1, 336, -1, + 337, 117, 336, -1, 210, -1, 338, 117, 210, -1, + -1, -1, -1, 95, 337, 51, 338, 340, 343, 341, + 371, 342, 335, -1, -1, 96, -1, -1, 349, 345, + 350, 346, -1, 349, 346, -1, 17, -1, -1, 97, + 348, 210, 371, -1, 347, -1, 347, 159, -1, -1, + 37, 210, 351, 371, 290, -1, -1, 350, 37, 210, + 352, 371, 290, -1, 353, -1, 350, 353, -1, -1, + -1, 38, 354, 371, 355, 290, -1, -1, -1, -1, + 61, 357, 371, 290, 358, 360, 359, 17, -1, -1, + -1, 363, 371, 361, 290, -1, -1, 364, 371, 362, + 290, -1, 63, -1, 64, 161, -1, 161, -1, 181, + -1, 183, -1, 65, 365, -1, 65, 365, 66, 367, + -1, 94, -1, 94, 66, 367, -1, 117, -1, 117, + 368, -1, 368, -1, 367, 117, -1, 367, 117, 368, + -1, 161, -1, 114, 192, -1, 114, 161, -1, 205, + -1, 244, -1, 114, 181, -1, 114, 188, -1, -1, + 98, 210, 371, 370, 289, 17, -1, 98, 210, 371, + 17, -1, 115, -1, 116, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1077,81 +1077,81 @@ static const yytype_uint16 yyrline[] = { 0, 295, 295, 295, 296, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 321, 322, 325, 328, 336, - 349, 349, 350, 350, 351, 351, 352, 352, 355, 356, - 357, 358, 361, 362, 363, 364, 367, 368, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 393, 394, 402, 402, - 403, 404, 405, 406, 407, 408, 414, 420, 421, 422, - 423, 424, 425, 426, 427, 429, 429, 433, 447, 447, - 467, 469, 467, 473, 475, 473, 480, 480, 481, 481, - 482, 483, 483, 499, 499, 502, 503, 504, 505, 506, - 509, 510, 511, 512, 515, 516, 517, 518, 521, 522, - 525, 526, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 542, 543, 544, 545, 550, - 551, 554, 562, 563, 568, 571, 576, 582, 587, 592, - 593, 596, 601, 604, 609, 609, 612, 617, 620, 625, - 628, 633, 634, 637, 642, 645, 652, 653, 658, 659, - 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, - 670, 673, 674, 675, 678, 679, 680, 681, 682, 683, - 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, - 694, 695, 696, 705, 706, 707, 708, 709, 710, 715, - 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 732, 737, 737, 740, 741, 741, - 742, 742, 745, 746, 749, 755, 756, 757, 760, 761, - 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, - 772, 773, 774, 775, 776, 777, 778, 779, 780, 786, - 791, 791, 794, 803, 804, 805, 806, 807, 808, 809, - 810, 810, 811, 812, 813, 814, 815, 816, 817, 818, - 818, 819, 820, 821, 821, 822, 823, 823, 824, 825, - 826, 827, 828, 829, 830, 831, 832, 835, 836, 837, - 838, 838, 839, 839, 840, 841, 842, 843, 844, 847, - 848, 851, 852, 853, 854, 855, 856, 857, 863, 864, - 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, - 881, 882, 883, 884, 885, 886, 887, 888, 889, 892, - 893, 896, 897, 898, 905, 906, 907, 908, 909, 910, - 911, 912, 913, 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, 948, 949, 950, 951, 952, 953, 954, - 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, - 965, 966, 969, 970, 971, 972, 973, 974, 975, 976, - 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, - 987, 990, 991, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, - 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, - 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1032, - 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, - 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1053, 1054, - 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, - 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1074, 1075, 1076, - 1077, 1078, 1079, 1082, 1083, 1084, 1085, 1086, 1087, 1090, - 1091, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, - 1105, 1111, 1112, 1113, 1116, 1117, 1120, 1120, 1122, 1122, - 1128, 1129, 1135, 1138, 1139, 1149, 1152, 1155, 1158, 1161, - 1162, 1163, 1164, 1167, 1170, 1173, 1176, 1179, 1180, 1183, - 1185, 1184, 1190, 1193, 1193, 1194, 1194, 1195, 1195, 1202, - 1203, 1206, 1207, 1215, 1216, 1218, 1222, 1229, 1238, 1238, - 1252, 1255, 1252, 1280, 1281, 1287, 1290, 1291, 1292, 1296, - 1296, 1299, 1300, 1301, 1304, 1304, 1307, 1308, 1311, 1311, - 1334, 1334, 1335, 1336, 1337, 1337, 1340, 1341, 1344, 1345, - 1346, 1347, 1350, 1350, 1372, 1372, 1428, 1429, 1430, 1431, - 1434, 1435, 1438, 1444, 1445, 1446, 1447, 1448, 1449, 1452, - 1453, 1454, 1455, 1456, 1457, 1460, 1461, 1462, 1463, 1464, - 1465, 1466, 1469, 1470, 1471, 1472, 1475, 1476, 1479, 1480, - 1483, 1483, 1483, 1487, 1487, 1487, 1491, 1491, 1491, 1495, - 1495, 1495, 1499, 1499, 1499, 1504, 1504, 1508, 1510, 1508, - 1518, 1520, 1518, 1529, 1530, 1533, 1537, 1541, 1544, 1550, - 1554, 1560, 1560, 1563, 1564, 1572, 1573, 1572, 1584, 1585, - 1584, 1597, 1597, 1597, 1599, 1599, 1604, 1609, 1603, 1621, - 1624, 1625, 1629, 1640, 1645, 1628, 1711, 1712, 1715, 1716, - 1719, 1720, 1721, 1722, 1725, 1726, 1729, 1730, 1733, 1734, - 1738, 1744, 1753, 1737, 1773, 1774, 1778, 1777, 1790, 1797, - 1805, 1804, 1814, 1815, 1823, 1823, 1826, 1826, 1829, 1831, - 1834, 1834, 1834, 1838, 1840, 1848, 1838, 1869, 1870, 1870, - 1871, 1871, 1874, 1884, 1901, 1902, 1903, 1906, 1908, 1910, - 1915, 1922, 1923, 1924, 1925, 1926, 1929, 1930, 1931, 1932, - 1933, 1934, 1935, 1939, 1938, 1950, 1953, 1954 + 314, 315, 316, 319, 320, 323, 323, 324, 324, 325, + 325, 326, 326, 329, 330, 331, 332, 335, 336, 337, + 338, 341, 342, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 367, 368, 376, 376, 377, 378, 379, 380, 381, + 382, 388, 394, 395, 396, 397, 398, 399, 400, 401, + 403, 403, 407, 421, 421, 441, 443, 441, 447, 449, + 447, 454, 454, 455, 455, 456, 457, 457, 471, 474, + 482, 495, 495, 498, 499, 500, 501, 502, 503, 516, + 517, 518, 519, 522, 523, 524, 525, 528, 529, 532, + 533, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 550, 551, 552, 557, 558, + 561, 569, 570, 575, 578, 583, 589, 594, 599, 600, + 603, 608, 611, 616, 616, 619, 624, 627, 632, 635, + 640, 641, 644, 649, 652, 659, 660, 665, 666, 667, + 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, + 680, 681, 682, 685, 686, 687, 688, 689, 690, 691, + 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, + 702, 703, 712, 713, 714, 715, 716, 717, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, 736, 739, 744, 744, 747, 748, 748, 749, + 749, 752, 753, 756, 762, 763, 764, 767, 768, 769, + 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, + 780, 781, 782, 783, 784, 785, 786, 787, 793, 798, + 798, 801, 810, 811, 812, 813, 814, 815, 816, 817, + 817, 818, 819, 820, 821, 822, 823, 824, 825, 825, + 826, 827, 828, 828, 829, 830, 830, 831, 832, 833, + 834, 835, 836, 837, 838, 839, 842, 843, 844, 845, + 845, 846, 846, 847, 848, 849, 850, 851, 854, 855, + 858, 859, 860, 861, 862, 863, 864, 870, 871, 878, + 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, + 889, 890, 891, 892, 893, 894, 895, 896, 899, 900, + 903, 904, 905, 912, 913, 914, 915, 916, 917, 918, + 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, + 929, 930, 933, 934, 935, 936, 937, 938, 939, 940, + 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, + 951, 952, 955, 956, 957, 958, 959, 960, 961, 962, + 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, + 973, 976, 977, 978, 979, 980, 981, 982, 983, 984, + 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, + 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, + 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1018, + 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, + 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1039, 1040, + 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, + 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1060, 1061, 1062, + 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, + 1073, 1074, 1075, 1076, 1077, 1078, 1081, 1082, 1083, 1084, + 1085, 1086, 1089, 1090, 1091, 1092, 1093, 1094, 1097, 1098, + 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1112, + 1118, 1119, 1120, 1123, 1124, 1127, 1127, 1129, 1129, 1135, + 1136, 1142, 1145, 1146, 1156, 1159, 1162, 1165, 1168, 1169, + 1170, 1171, 1174, 1177, 1180, 1183, 1186, 1187, 1190, 1192, + 1191, 1197, 1200, 1200, 1201, 1201, 1202, 1202, 1209, 1210, + 1213, 1214, 1222, 1223, 1225, 1229, 1236, 1245, 1245, 1259, + 1262, 1259, 1287, 1288, 1294, 1297, 1298, 1299, 1303, 1303, + 1306, 1307, 1308, 1311, 1311, 1314, 1315, 1318, 1318, 1341, + 1341, 1342, 1343, 1344, 1344, 1347, 1348, 1351, 1352, 1353, + 1354, 1357, 1357, 1379, 1379, 1435, 1436, 1437, 1438, 1441, + 1442, 1445, 1451, 1452, 1453, 1454, 1455, 1456, 1459, 1460, + 1461, 1462, 1463, 1464, 1467, 1468, 1469, 1470, 1471, 1472, + 1473, 1476, 1477, 1478, 1479, 1482, 1483, 1486, 1487, 1490, + 1490, 1490, 1494, 1494, 1494, 1498, 1498, 1498, 1502, 1502, + 1502, 1506, 1506, 1506, 1511, 1511, 1515, 1517, 1515, 1525, + 1527, 1525, 1536, 1539, 1544, 1548, 1552, 1555, 1561, 1566, + 1573, 1573, 1576, 1577, 1585, 1586, 1585, 1597, 1598, 1597, + 1610, 1610, 1610, 1612, 1612, 1617, 1622, 1616, 1636, 1639, + 1640, 1644, 1655, 1660, 1643, 1726, 1727, 1730, 1731, 1734, + 1737, 1740, 1743, 1748, 1749, 1752, 1753, 1756, 1757, 1761, + 1767, 1776, 1760, 1796, 1797, 1801, 1800, 1813, 1820, 1828, + 1827, 1837, 1838, 1846, 1846, 1849, 1849, 1852, 1854, 1857, + 1857, 1857, 1861, 1863, 1871, 1861, 1892, 1893, 1893, 1894, + 1894, 1897, 1908, 1926, 1927, 1928, 1931, 1933, 1935, 1940, + 1947, 1948, 1949, 1950, 1951, 1954, 1955, 1956, 1957, 1958, + 1959, 1960, 1964, 1963, 1975, 1978, 1979 }; #endif @@ -1177,12 +1177,12 @@ static const char *const yytname[] = "AS_NUMERIC_ARRAY", "AS_OBJECT_ARRAY", "PROCREQ", "CBSTART", "DOIDENT", "FOREACH", "DESCEND", "DOSWITCH", "WITHOBJECT", "NUM_DATE", "EPSILON", "POST", "'='", "'<'", "'>'", "'$'", "'+'", "'-'", "'*'", "'/'", "'%'", - "UNARY", "PRE", "'&'", "'@'", "'\\n'", "';'", "','", "')'", "'('", "'{'", + "UNARY", "PRE", "'&'", "'@'", "'\\n'", "';'", "','", "'('", "')'", "'{'", "'}'", "':'", "']'", "'['", "'|'", "$accept", "Main", "@1", "Source", - "Line", "ProcReq", "CompTimeStr", "Function", "@2", "@3", "@4", "@5", - "FunScope", "Params", "AsType", "StrongType", "AsArray", "ParamList", - "Statement", "@6", "@7", "@8", "@9", "@10", "@11", "@12", "@13", "@14", - "@15", "CrlfStmnt", "@16", "LineStat", "ControlError", "FunScopeId", + "Line", "Function", "@2", "@3", "@4", "@5", "FunScope", "Params", + "AsType", "StrongType", "AsArray", "ParamList", "Statement", "@6", "@7", + "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "CompTimeStr", + "CrlfStmnt", "@16", "LineStat", "ControlError", "FunScopeId", "Statements", "ExtList", "IdentName", "NumValue", "DateValue", "NumAlias", "NilValue", "NilAlias", "LiteralValue", "LiteralAlias", "CodeBlockAlias", "Logical", "LogicalAlias", "SelfValue", "SelfAlias", @@ -1237,7 +1237,7 @@ static const yytype_uint16 yytoknum[] = 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 61, 60, 62, 36, 43, 45, 42, 47, - 37, 357, 358, 38, 64, 10, 59, 44, 41, 40, + 37, 357, 358, 38, 64, 10, 59, 44, 40, 41, 123, 125, 58, 93, 91, 124 }; # endif @@ -1247,121 +1247,121 @@ static const yytype_uint16 yyr1[] = { 0, 126, 128, 127, 127, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 130, 130, 131, 132, 132, - 134, 133, 135, 133, 136, 133, 137, 133, 138, 138, - 138, 138, 139, 139, 139, 139, 140, 140, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 143, 143, 145, 144, - 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, - 144, 144, 144, 144, 144, 146, 144, 144, 147, 144, - 148, 149, 144, 150, 151, 144, 152, 144, 153, 144, - 144, 154, 144, 156, 155, 157, 157, 157, 157, 157, - 158, 158, 158, 158, 159, 159, 159, 159, 160, 160, - 161, 161, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, - 163, 164, 165, 165, 166, 167, 168, 169, 170, 171, - 171, 172, 173, 174, 176, 175, 177, 178, 179, 180, - 181, 182, 182, 183, 184, 185, 186, 186, 187, 187, - 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, - 187, 188, 188, 188, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 190, 190, 190, 190, 190, 190, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 192, 194, 193, 195, 196, 195, - 197, 195, 198, 198, 199, 200, 200, 200, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, - 201, 201, 201, 201, 201, 201, 201, 201, 201, 202, - 204, 203, 205, 206, 206, 206, 206, 206, 206, 206, - 207, 206, 206, 206, 206, 206, 206, 206, 206, 208, - 206, 206, 206, 209, 206, 206, 210, 206, 206, 206, - 206, 206, 206, 206, 206, 206, 206, 211, 211, 211, - 212, 211, 213, 211, 211, 211, 211, 211, 211, 214, - 214, 215, 215, 215, 215, 215, 215, 215, 216, 216, - 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, - 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, - 218, 219, 219, 219, 220, 220, 220, 220, 220, 220, + 129, 129, 129, 130, 130, 132, 131, 133, 131, 134, + 131, 135, 131, 136, 136, 136, 136, 137, 137, 137, + 137, 138, 138, 139, 139, 139, 139, 139, 139, 139, + 139, 139, 140, 140, 140, 140, 140, 140, 140, 140, + 140, 141, 141, 143, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, + 144, 142, 142, 145, 142, 146, 147, 142, 148, 149, + 142, 150, 142, 151, 142, 142, 152, 142, 142, 153, + 153, 155, 154, 156, 156, 156, 156, 156, 156, 157, + 157, 157, 157, 158, 158, 158, 158, 159, 159, 160, + 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, + 163, 164, 164, 165, 166, 167, 168, 169, 170, 170, + 171, 172, 173, 175, 174, 176, 177, 178, 179, 180, + 181, 181, 182, 183, 184, 185, 185, 186, 186, 186, + 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, + 187, 187, 187, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 189, 189, 189, 189, 189, 189, 190, 190, + 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, + 190, 190, 190, 191, 193, 192, 194, 195, 194, 196, + 194, 197, 197, 198, 199, 199, 199, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, + 200, 200, 200, 200, 200, 200, 200, 200, 201, 203, + 202, 204, 205, 205, 205, 205, 205, 205, 205, 206, + 205, 205, 205, 205, 205, 205, 205, 205, 207, 205, + 205, 205, 208, 205, 205, 209, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 210, 210, 210, 211, + 210, 212, 210, 210, 210, 210, 210, 210, 213, 213, + 214, 214, 214, 214, 214, 214, 214, 215, 215, 216, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, + 216, 216, 216, 216, 216, 216, 216, 216, 217, 217, + 218, 218, 218, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, - 220, 220, 220, 221, 221, 221, 221, 221, 221, 221, + 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 222, 222, 222, 222, 222, 222, 222, + 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, - 223, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 223, 223, 223, 223, 223, 223, 223, 223, 223, 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, 226, + 225, 225, 225, 225, 225, 225, 225, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 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, 229, 229, 229, 229, 229, 229, 230, - 230, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 232, 233, 233, 233, 234, 234, 236, 235, 237, 235, - 238, 238, 239, 240, 240, 241, 242, 243, 244, 245, - 245, 245, 245, 246, 247, 248, 249, 250, 250, 251, - 252, 251, 253, 255, 254, 256, 254, 257, 254, 258, - 258, 259, 259, 260, 260, 260, 260, 260, 262, 261, - 263, 264, 261, 261, 261, 265, 266, 266, 266, 268, - 267, 269, 269, 269, 271, 270, 272, 272, 274, 273, - 275, 273, 273, 273, 276, 273, 277, 277, 278, 278, - 278, 278, 280, 279, 282, 281, 283, 283, 283, 283, - 284, 284, 285, 286, 286, 286, 286, 286, 286, 287, - 287, 287, 287, 287, 287, 288, 288, 288, 288, 288, - 288, 288, 289, 289, 289, 289, 290, 290, 291, 291, - 293, 294, 292, 295, 296, 292, 297, 298, 292, 299, - 300, 292, 301, 302, 292, 304, 303, 306, 307, 305, - 308, 309, 305, 310, 310, 311, 311, 311, 311, 312, - 312, 314, 313, 315, 315, 317, 318, 316, 319, 320, - 316, 322, 323, 321, 324, 321, 326, 327, 325, 328, - 329, 329, 331, 332, 333, 330, 334, 334, 335, 335, - 336, 336, 336, 336, 337, 337, 338, 338, 339, 339, - 341, 342, 343, 340, 344, 344, 346, 345, 345, 347, - 349, 348, 350, 350, 352, 351, 353, 351, 351, 351, - 355, 356, 354, 358, 359, 360, 357, 361, 362, 361, - 363, 361, 364, 365, 366, 366, 366, 367, 367, 367, - 367, 368, 368, 368, 368, 368, 369, 369, 369, 369, - 369, 369, 369, 371, 370, 370, 372, 372 + 226, 226, 226, 226, 226, 226, 227, 227, 227, 227, + 227, 227, 228, 228, 228, 228, 228, 228, 229, 229, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 231, + 232, 232, 232, 233, 233, 235, 234, 236, 234, 237, + 237, 238, 239, 239, 240, 241, 242, 243, 244, 244, + 244, 244, 245, 246, 247, 248, 249, 249, 250, 251, + 250, 252, 254, 253, 255, 253, 256, 253, 257, 257, + 258, 258, 259, 259, 259, 259, 259, 261, 260, 262, + 263, 260, 260, 260, 264, 265, 265, 265, 267, 266, + 268, 268, 268, 270, 269, 271, 271, 273, 272, 274, + 272, 272, 272, 275, 272, 276, 276, 277, 277, 277, + 277, 279, 278, 281, 280, 282, 282, 282, 282, 283, + 283, 284, 285, 285, 285, 285, 285, 285, 286, 286, + 286, 286, 286, 286, 287, 287, 287, 287, 287, 287, + 287, 288, 288, 288, 288, 289, 289, 290, 290, 292, + 293, 291, 294, 295, 291, 296, 297, 291, 298, 299, + 291, 300, 301, 291, 303, 302, 305, 306, 304, 307, + 308, 304, 309, 309, 310, 310, 310, 310, 311, 311, + 313, 312, 314, 314, 316, 317, 315, 318, 319, 315, + 321, 322, 320, 323, 320, 325, 326, 324, 327, 328, + 328, 330, 331, 332, 329, 333, 333, 334, 334, 335, + 335, 335, 335, 336, 336, 337, 337, 338, 338, 340, + 341, 342, 339, 343, 343, 345, 344, 344, 346, 348, + 347, 349, 349, 351, 350, 352, 350, 350, 350, 354, + 355, 353, 357, 358, 359, 356, 360, 361, 360, 362, + 360, 363, 364, 365, 365, 365, 366, 366, 366, 366, + 367, 367, 367, 367, 367, 368, 368, 368, 368, 368, + 368, 368, 370, 369, 369, 371, 371 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 0, 2, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 3, 4, 6, 4, 1, 3, - 0, 5, 0, 5, 0, 8, 0, 8, 0, 1, - 1, 1, 0, 1, 1, 3, 0, 1, 1, 1, - 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 2, 4, 0, 3, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 0, 4, 2, 0, 4, - 0, 0, 5, 0, 0, 5, 0, 3, 0, 3, - 3, 0, 4, 0, 2, 1, 1, 1, 1, 1, - 4, 7, 4, 7, 0, 1, 1, 1, 1, 2, - 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 3, 4, 6, 0, 5, 0, 5, 0, + 8, 0, 8, 0, 1, 1, 1, 0, 1, 1, + 3, 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 1, 2, 1, 2, 2, 1, - 1, 2, 1, 2, 0, 4, 2, 2, 2, 1, - 2, 1, 1, 2, 2, 2, 2, 3, 2, 2, + 2, 2, 4, 0, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 1, 1, 1, 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, 2, - 2, 2, 2, 2, 2, 0, 5, 1, 0, 5, - 0, 5, 1, 3, 2, 1, 1, 1, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 0, 5, 2, 1, 1, 1, 1, 1, 1, 1, - 0, 3, 1, 1, 1, 1, 1, 1, 1, 0, - 3, 1, 1, 0, 3, 1, 0, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 3, 0, 3, 2, 2, 2, 2, 2, 0, + 0, 4, 2, 0, 4, 0, 0, 5, 0, 0, + 5, 0, 3, 0, 3, 3, 0, 4, 4, 1, + 3, 0, 2, 1, 1, 1, 1, 1, 1, 4, + 7, 4, 7, 0, 1, 1, 1, 1, 2, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 1, 2, 1, 2, 2, 1, 1, + 2, 1, 2, 0, 4, 2, 2, 2, 1, 2, + 1, 1, 2, 2, 2, 2, 3, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 1, 1, 1, 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, 3, 3, 3, 3, 3, 3, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 0, 5, 1, 0, 5, 0, + 5, 1, 3, 2, 1, 1, 1, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 2, 2, 0, + 5, 2, 1, 1, 1, 1, 1, 1, 1, 0, + 3, 1, 1, 1, 1, 1, 1, 1, 0, 3, + 1, 1, 0, 3, 1, 0, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, + 3, 0, 3, 2, 2, 2, 2, 2, 0, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -1376,34 +1376,34 @@ static const yytype_uint8 yyr2[] = 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 3, 4, 1, 3, 0, 6, 0, 6, - 1, 3, 0, 2, 4, 2, 2, 2, 2, 1, - 1, 1, 1, 2, 2, 3, 3, 3, 3, 2, - 0, 8, 2, 0, 4, 0, 4, 0, 4, 1, - 3, 1, 3, 1, 2, 4, 2, 3, 0, 3, - 0, 0, 6, 2, 3, 2, 2, 3, 4, 0, - 4, 2, 4, 3, 0, 4, 2, 4, 0, 8, - 0, 5, 3, 3, 0, 7, 1, 3, 1, 2, - 1, 2, 0, 6, 0, 3, 0, 1, 1, 3, - 1, 3, 1, 2, 3, 5, 4, 5, 7, 3, - 4, 6, 5, 6, 8, 1, 1, 1, 1, 1, - 1, 1, 2, 3, 3, 4, 1, 2, 0, 1, - 0, 0, 6, 0, 0, 6, 0, 0, 6, 0, - 0, 6, 0, 0, 6, 0, 4, 0, 0, 6, - 0, 0, 7, 1, 1, 3, 3, 2, 4, 1, - 1, 0, 3, 1, 2, 0, 0, 6, 0, 0, - 7, 0, 0, 5, 0, 5, 0, 0, 7, 1, - 1, 1, 0, 0, 0, 12, 1, 1, 0, 2, - 2, 3, 2, 3, 1, 1, 1, 3, 1, 3, - 0, 0, 0, 10, 0, 1, 0, 4, 2, 1, - 0, 4, 1, 2, 0, 5, 0, 6, 1, 2, - 0, 0, 5, 0, 0, 0, 8, 0, 0, 4, - 0, 4, 1, 2, 1, 1, 1, 2, 4, 1, - 3, 1, 2, 1, 2, 3, 1, 2, 2, 1, - 1, 2, 2, 0, 6, 4, 1, 1 + 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, + 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 3, 4, 1, 3, 0, 6, 0, 6, 1, + 3, 0, 2, 4, 2, 2, 2, 2, 1, 1, + 1, 1, 2, 2, 3, 3, 3, 3, 2, 0, + 8, 2, 0, 4, 0, 4, 0, 4, 1, 3, + 1, 3, 1, 2, 4, 2, 3, 0, 3, 0, + 0, 6, 2, 3, 2, 2, 3, 4, 0, 4, + 2, 4, 3, 0, 4, 2, 4, 0, 8, 0, + 5, 3, 3, 0, 7, 1, 3, 1, 2, 1, + 2, 0, 6, 0, 3, 0, 1, 1, 3, 1, + 3, 1, 2, 3, 5, 4, 5, 7, 3, 4, + 6, 5, 6, 8, 1, 1, 1, 1, 1, 1, + 1, 2, 3, 3, 4, 1, 2, 0, 1, 0, + 0, 6, 0, 0, 6, 0, 0, 6, 0, 0, + 6, 0, 0, 6, 0, 4, 0, 0, 6, 0, + 0, 7, 1, 1, 3, 3, 2, 4, 1, 1, + 0, 3, 1, 2, 0, 0, 6, 0, 0, 7, + 0, 0, 5, 0, 5, 0, 0, 7, 1, 1, + 1, 0, 0, 0, 12, 1, 1, 0, 2, 2, + 3, 2, 3, 1, 1, 1, 3, 1, 3, 0, + 0, 0, 10, 0, 1, 0, 4, 2, 1, 0, + 4, 1, 2, 0, 5, 0, 6, 1, 2, 0, + 0, 5, 0, 0, 0, 8, 0, 0, 4, 0, + 4, 1, 2, 1, 1, 1, 2, 4, 1, 3, + 1, 2, 1, 2, 3, 1, 2, 2, 1, 1, + 2, 2, 0, 6, 4, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1411,1735 +1411,1984 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 2, 0, 0, 1, 0, 122, 88, 144, 139, 140, - 553, 555, 0, 0, 146, 149, 150, 130, 129, 40, - 126, 90, 0, 0, 671, 584, 689, 125, 0, 124, - 123, 579, 127, 557, 93, 733, 85, 0, 152, 0, - 161, 162, 0, 128, 0, 0, 137, 528, 749, 0, - 138, 720, 0, 141, 0, 766, 767, 309, 154, 0, - 0, 12, 13, 10, 0, 11, 159, 0, 0, 0, + 2, 0, 0, 1, 0, 121, 83, 143, 138, 139, + 552, 554, 0, 0, 145, 148, 149, 129, 128, 35, + 125, 85, 0, 0, 670, 583, 688, 124, 0, 123, + 122, 578, 126, 556, 88, 732, 80, 0, 151, 0, + 160, 161, 0, 127, 0, 0, 136, 527, 748, 0, + 137, 719, 0, 140, 0, 765, 766, 308, 153, 0, + 0, 12, 10, 0, 11, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 103, 0, 103, 0, 0, - 0, 0, 103, 0, 0, 227, 103, 0, 0, 0, - 103, 0, 103, 103, 103, 103, 497, 498, 499, 500, - 501, 502, 103, 0, 539, 540, 541, 542, 103, 0, - 0, 0, 0, 0, 103, 0, 6, 7, 8, 9, - 68, 625, 0, 626, 673, 0, 627, 0, 628, 630, - 631, 722, 716, 629, 103, 103, 5, 14, 0, 87, - 0, 143, 142, 0, 0, 549, 0, 0, 0, 131, - 133, 0, 130, 129, 126, 0, 135, 132, 125, 0, - 136, 134, 137, 0, 0, 0, 263, 265, 264, 266, - 268, 269, 272, 273, 297, 275, 276, 274, 288, 277, - 278, 282, 285, 298, 0, 291, 292, 293, 289, 290, - 294, 295, 296, 267, 539, 540, 542, 299, 0, 281, - 101, 0, 120, 103, 0, 297, 298, 339, 340, 0, - 0, 103, 159, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 313, 314, 312, 0, 316, 0, 315, 0, - 0, 0, 317, 0, 166, 0, 0, 0, 0, 0, - 84, 744, 745, 746, 747, 0, 590, 0, 46, 0, - 0, 28, 0, 532, 0, 0, 159, 0, 0, 705, - 0, 0, 0, 706, 0, 0, 0, 164, 310, 544, - 309, 235, 236, 237, 258, 0, 22, 23, 20, 21, - 16, 17, 18, 19, 15, 0, 0, 160, 225, 0, - 318, 319, 0, 0, 0, 0, 0, 0, 0, 0, - 320, 0, 0, 181, 182, 183, 184, 203, 0, 145, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, - 209, 0, 188, 0, 147, 0, 0, 0, 0, 0, - 0, 0, 0, 322, 210, 189, 191, 0, 151, 0, - 0, 0, 0, 0, 0, 0, 0, 324, 212, 190, - 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, - 325, 213, 192, 0, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 326, 157, 193, 0, 158, 0, 0, - 0, 0, 0, 0, 0, 0, 327, 194, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 328, 214, 200, - 204, 0, 163, 0, 0, 0, 0, 0, 0, 0, - 228, 0, 75, 329, 217, 185, 205, 0, 165, 0, - 0, 0, 0, 0, 0, 0, 230, 0, 76, 330, - 218, 186, 206, 0, 0, 181, 169, 0, 173, 0, - 174, 176, 0, 175, 0, 177, 0, 178, 0, 179, - 168, 182, 171, 183, 172, 201, 0, 208, 170, 0, - 180, 202, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 331, 215, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 73, 332, 216, 0, 224, 0, 0, 0, - 0, 0, 0, 0, 0, 333, 195, 0, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 72, 336, 221, - 197, 0, 259, 0, 0, 0, 0, 0, 0, 0, - 260, 0, 337, 219, 198, 0, 262, 0, 0, 0, - 0, 0, 0, 0, 0, 74, 338, 220, 199, 79, - 78, 82, 81, 80, 0, 148, 0, 0, 0, 0, - 0, 0, 0, 0, 323, 211, 0, 543, 0, 0, - 0, 0, 0, 0, 0, 0, 77, 334, 223, 187, - 207, 309, 535, 309, 536, 309, 537, 309, 538, 0, - 552, 0, 0, 0, 0, 0, 0, 0, 0, 71, - 335, 222, 196, 103, 0, 657, 664, 663, 0, 0, - 632, 133, 116, 126, 108, 106, 118, 109, 0, 674, - 107, 105, 670, 675, 681, 669, 667, 0, 0, 0, - 723, 719, 0, 718, 83, 70, 0, 104, 46, 0, - 559, 0, 0, 341, 343, 342, 304, 306, 307, 305, - 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 0, 101, 0, 0, 0, + 0, 101, 0, 0, 226, 101, 0, 0, 0, 101, + 0, 101, 101, 101, 101, 496, 497, 498, 499, 500, + 501, 101, 0, 538, 539, 540, 541, 101, 0, 0, + 0, 0, 0, 101, 0, 6, 7, 8, 9, 63, + 624, 0, 625, 0, 0, 626, 0, 627, 629, 630, + 0, 715, 628, 101, 101, 5, 13, 0, 82, 0, + 142, 141, 0, 0, 548, 0, 0, 0, 130, 132, + 0, 129, 128, 125, 0, 134, 131, 124, 0, 135, + 133, 136, 0, 0, 0, 262, 264, 263, 265, 267, + 268, 271, 272, 296, 274, 275, 273, 287, 276, 277, + 281, 284, 297, 0, 290, 291, 292, 288, 289, 293, + 294, 295, 266, 538, 539, 541, 298, 0, 280, 96, + 0, 119, 101, 0, 296, 297, 338, 339, 0, 0, + 101, 158, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 312, 313, 311, 0, 315, 0, 314, 0, 0, + 0, 316, 0, 165, 0, 0, 0, 0, 0, 79, + 743, 744, 745, 746, 0, 589, 0, 41, 0, 0, + 99, 0, 531, 0, 0, 158, 0, 0, 704, 0, + 0, 0, 705, 0, 0, 0, 163, 309, 543, 308, + 234, 235, 236, 257, 0, 21, 19, 20, 15, 16, + 17, 18, 14, 0, 0, 159, 224, 0, 317, 318, + 0, 0, 0, 0, 0, 0, 0, 0, 319, 0, + 0, 180, 181, 182, 183, 202, 0, 144, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 320, 208, 0, + 187, 0, 146, 0, 0, 0, 0, 0, 0, 0, + 0, 321, 209, 188, 190, 0, 150, 0, 0, 0, + 0, 0, 0, 0, 0, 323, 211, 189, 0, 152, + 0, 0, 0, 0, 0, 0, 0, 0, 324, 212, + 191, 0, 155, 0, 0, 0, 0, 0, 0, 0, + 0, 325, 156, 192, 0, 157, 0, 0, 0, 0, + 0, 0, 0, 0, 326, 193, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 327, 213, 199, 203, 0, + 162, 0, 0, 0, 0, 0, 0, 0, 227, 0, + 70, 328, 216, 184, 204, 0, 164, 0, 0, 0, + 0, 0, 0, 0, 229, 0, 71, 329, 217, 185, + 205, 0, 0, 180, 168, 0, 172, 0, 173, 175, + 0, 174, 0, 176, 0, 177, 0, 178, 167, 181, + 170, 182, 171, 200, 0, 207, 169, 0, 179, 201, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, + 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 331, 215, 0, 223, 0, 0, 0, 0, 0, + 0, 0, 0, 332, 194, 0, 233, 0, 0, 0, + 0, 0, 0, 0, 0, 67, 335, 220, 196, 0, + 258, 0, 0, 0, 0, 0, 0, 0, 259, 0, + 336, 218, 197, 0, 261, 0, 0, 0, 0, 0, + 0, 0, 0, 69, 337, 219, 198, 74, 73, 77, + 76, 75, 0, 147, 0, 0, 0, 0, 0, 0, + 0, 0, 322, 210, 0, 542, 0, 0, 0, 0, + 0, 0, 0, 0, 72, 333, 222, 186, 206, 308, + 534, 308, 535, 308, 536, 308, 537, 0, 551, 0, + 0, 0, 0, 0, 0, 0, 0, 66, 334, 221, + 195, 101, 0, 656, 663, 662, 0, 0, 631, 108, + 132, 115, 125, 106, 104, 117, 107, 0, 0, 105, + 103, 669, 674, 680, 668, 666, 0, 0, 0, 0, + 718, 0, 717, 78, 65, 0, 102, 41, 0, 558, + 0, 0, 340, 342, 341, 303, 305, 306, 304, 307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, - 0, 0, 100, 97, 46, 91, 561, 563, 672, 46, - 0, 99, 697, 696, 0, 167, 46, 0, 0, 94, - 638, 0, 0, 0, 588, 0, 592, 57, 52, 49, - 0, 50, 51, 48, 53, 55, 62, 63, 59, 0, - 60, 61, 58, 64, 594, 47, 56, 602, 593, 0, - 0, 0, 46, 0, 0, 751, 159, 298, 299, 750, - 753, 0, 0, 0, 763, 524, 0, 24, 30, 32, - 309, 344, 383, 402, 421, 440, 478, 459, 363, 238, - 365, 240, 345, 384, 403, 422, 441, 479, 460, 364, - 239, 521, 0, 520, 346, 385, 404, 423, 442, 480, - 461, 366, 241, 348, 387, 406, 425, 444, 482, 463, - 368, 244, 349, 388, 407, 426, 445, 483, 464, 369, - 245, 350, 389, 408, 427, 446, 484, 465, 370, 246, - 351, 390, 409, 428, 447, 485, 466, 371, 247, 352, - 391, 410, 429, 448, 486, 467, 372, 242, 353, 392, - 411, 430, 449, 487, 468, 373, 309, 250, 354, 393, - 412, 431, 450, 488, 469, 374, 309, 251, 355, 394, - 413, 432, 451, 489, 470, 375, 248, 356, 395, 414, - 433, 452, 490, 471, 376, 249, 357, 396, 415, 434, - 453, 491, 472, 377, 255, 360, 399, 418, 437, 456, - 494, 475, 380, 252, 361, 400, 419, 438, 457, 495, - 476, 381, 309, 257, 362, 401, 420, 439, 458, 496, - 477, 382, 256, 347, 386, 405, 424, 443, 481, 462, - 367, 243, 358, 397, 416, 435, 454, 492, 473, 378, - 254, 545, 546, 547, 548, 359, 398, 417, 436, 455, - 493, 474, 379, 253, 69, 655, 0, 633, 660, 0, - 634, 0, 0, 119, 0, 0, 678, 665, 0, 684, - 666, 686, 0, 730, 0, 728, 89, 0, 568, 573, - 0, 0, 554, 556, 309, 271, 301, 644, 280, 284, - 287, 641, 509, 510, 511, 516, 517, 514, 515, 508, - 519, 512, 513, 518, 503, 504, 505, 506, 507, 647, - 650, 653, 303, 545, 102, 121, 564, 566, 0, 0, - 586, 0, 585, 692, 581, 0, 0, 580, 558, 0, - 636, 639, 734, 86, 748, 0, 25, 606, 604, 0, - 598, 600, 54, 65, 0, 606, 29, 27, 0, 533, - 0, 0, 304, 306, 307, 305, 752, 754, 708, 710, - 707, 721, 765, 114, 309, 155, 0, 0, 0, 0, - 0, 232, 522, 0, 0, 0, 0, 114, 0, 0, - 635, 0, 0, 0, 682, 0, 668, 0, 114, 724, - 0, 0, 717, 729, 576, 569, 0, 574, 0, 575, - 560, 0, 638, 638, 638, 638, 638, 550, 0, 567, - 562, 92, 46, 0, 583, 46, 95, 637, 737, 0, - 128, 0, 46, 0, 607, 608, 46, 599, 601, 591, - 604, 0, 596, 0, 530, 0, 46, 0, 755, 0, - 714, 114, 525, 31, 42, 33, 42, 309, 226, 523, - 229, 231, 261, 656, 658, 0, 42, 110, 42, 112, - 676, 638, 0, 638, 687, 0, 731, 726, 571, 577, - 0, 645, 642, 648, 651, 654, 309, 565, 587, 0, - 582, 742, 0, 735, 0, 0, 26, 0, 46, 46, - 613, 46, 0, 0, 605, 0, 0, 46, 0, 527, - 534, 529, 709, 715, 711, 764, 43, 0, 44, 46, - 0, 233, 638, 661, 0, 0, 638, 683, 679, 685, - 0, 638, 638, 0, 0, 578, 0, 698, 743, 0, - 738, 740, 46, 619, 309, 614, 0, 0, 46, 609, - 0, 597, 595, 603, 531, 0, 0, 0, 66, 0, - 659, 638, 0, 0, 677, 638, 690, 691, 688, 725, - 732, 638, 572, 551, 0, 693, 736, 114, 114, 309, - 620, 612, 0, 610, 589, 46, 616, 0, 46, 712, - 35, 45, 46, 37, 662, 111, 113, 680, 727, 699, - 0, 739, 741, 0, 309, 615, 309, 617, 46, 622, - 114, 67, 694, 621, 611, 0, 309, 623, 0, 713, - 114, 618, 0, 702, 700, 695, 624, 703, 701 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 308, 0, + 0, 95, 92, 41, 86, 560, 562, 671, 41, 0, + 94, 696, 695, 0, 166, 41, 0, 0, 89, 0, + 0, 0, 0, 587, 0, 591, 52, 47, 44, 0, + 45, 46, 43, 48, 50, 57, 58, 54, 0, 55, + 56, 53, 59, 593, 42, 51, 601, 592, 0, 0, + 0, 41, 0, 0, 750, 158, 297, 298, 749, 752, + 0, 0, 0, 762, 523, 0, 22, 25, 27, 308, + 343, 382, 401, 420, 439, 477, 458, 362, 237, 364, + 239, 344, 383, 402, 421, 440, 478, 459, 363, 238, + 520, 0, 519, 345, 384, 403, 422, 441, 479, 460, + 365, 240, 347, 386, 405, 424, 443, 481, 462, 367, + 243, 348, 387, 406, 425, 444, 482, 463, 368, 244, + 349, 388, 407, 426, 445, 483, 464, 369, 245, 350, + 389, 408, 427, 446, 484, 465, 370, 246, 351, 390, + 409, 428, 447, 485, 466, 371, 241, 352, 391, 410, + 429, 448, 486, 467, 372, 308, 249, 353, 392, 411, + 430, 449, 487, 468, 373, 308, 250, 354, 393, 412, + 431, 450, 488, 469, 374, 247, 355, 394, 413, 432, + 451, 489, 470, 375, 248, 356, 395, 414, 433, 452, + 490, 471, 376, 254, 359, 398, 417, 436, 455, 493, + 474, 379, 251, 360, 399, 418, 437, 456, 494, 475, + 380, 308, 256, 361, 400, 419, 438, 457, 495, 476, + 381, 255, 346, 385, 404, 423, 442, 480, 461, 366, + 242, 357, 396, 415, 434, 453, 491, 472, 377, 253, + 544, 545, 546, 547, 358, 397, 416, 435, 454, 492, + 473, 378, 252, 64, 654, 0, 632, 659, 0, 633, + 0, 0, 118, 0, 0, 677, 664, 0, 683, 665, + 685, 0, 729, 0, 727, 84, 0, 567, 572, 0, + 0, 553, 555, 308, 270, 300, 643, 279, 283, 286, + 640, 508, 509, 510, 515, 516, 513, 514, 507, 518, + 511, 512, 517, 502, 503, 504, 505, 506, 646, 649, + 652, 302, 544, 97, 120, 563, 565, 0, 0, 585, + 0, 584, 691, 580, 0, 0, 579, 557, 0, 635, + 0, 733, 81, 747, 0, 23, 605, 603, 0, 597, + 599, 49, 60, 0, 605, 100, 98, 0, 532, 0, + 0, 303, 305, 306, 304, 751, 753, 707, 709, 706, + 720, 764, 0, 308, 154, 0, 0, 0, 0, 0, + 231, 521, 0, 0, 0, 0, 0, 0, 0, 634, + 0, 0, 0, 681, 0, 667, 0, 0, 723, 0, + 0, 716, 728, 575, 568, 0, 573, 0, 574, 559, + 0, 0, 0, 0, 0, 0, 549, 0, 566, 561, + 87, 41, 0, 582, 41, 90, 636, 736, 0, 127, + 0, 41, 0, 606, 607, 41, 598, 600, 590, 603, + 0, 595, 0, 529, 0, 41, 0, 754, 0, 713, + 0, 524, 26, 37, 28, 37, 308, 225, 522, 228, + 230, 260, 655, 657, 0, 37, 109, 37, 111, 675, + 0, 0, 0, 686, 0, 730, 725, 570, 576, 0, + 644, 641, 647, 650, 653, 308, 564, 586, 0, 581, + 741, 0, 734, 0, 0, 24, 0, 41, 41, 612, + 41, 0, 0, 604, 0, 0, 41, 0, 526, 533, + 528, 708, 714, 710, 763, 38, 0, 39, 41, 0, + 232, 0, 660, 0, 0, 0, 682, 678, 684, 0, + 0, 0, 0, 0, 577, 0, 697, 742, 0, 737, + 739, 41, 618, 308, 613, 0, 0, 41, 608, 0, + 596, 594, 602, 530, 0, 0, 0, 61, 0, 658, + 0, 0, 0, 676, 0, 689, 690, 687, 724, 731, + 0, 571, 550, 0, 692, 735, 0, 0, 308, 619, + 611, 0, 609, 588, 41, 615, 0, 41, 711, 30, + 40, 41, 32, 661, 110, 112, 679, 726, 698, 0, + 738, 740, 0, 308, 614, 308, 616, 41, 621, 0, + 62, 693, 620, 610, 0, 308, 622, 0, 712, 0, + 617, 0, 701, 699, 694, 623, 702, 700 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 2, 60, 614, 62, 262, 63, 1046, 1048, - 1047, 1049, 64, 1187, 724, 725, 726, 1188, 615, 603, - 249, 148, 214, 999, 247, 1009, 213, 221, 680, 149, - 150, 1010, 617, 618, 619, 211, 66, 176, 177, 69, - 178, 71, 179, 73, 74, 180, 76, 181, 78, 182, - 280, 80, 183, 82, 215, 84, 185, 86, 186, 88, - 89, 90, 316, 187, 188, 189, 94, 95, 750, 190, - 836, 846, 1050, 97, 284, 191, 99, 192, 892, 101, - 216, 651, 654, 655, 656, 278, 652, 678, 1251, 240, - 407, 195, 196, 197, 198, 105, 106, 107, 108, 109, - 110, 111, 199, 200, 201, 202, 424, 331, 746, 203, - 263, 264, 1115, 731, 733, 114, 115, 116, 117, 207, - 119, 120, 121, 122, 123, 209, 1156, 125, 126, 153, - 154, 246, 639, 685, 686, 687, 1075, 1076, 1204, 959, - 960, 127, 245, 697, 128, 220, 690, 620, 1017, 705, - 1024, 1111, 1019, 260, 1025, 1021, 1106, 1103, 1252, 1253, - 1104, 1105, 130, 131, 1011, 1288, 132, 657, 1083, 653, - 1082, 675, 1084, 676, 1085, 677, 1086, 608, 1057, 609, - 936, 1192, 1059, 1231, 610, 133, 626, 134, 219, 135, - 627, 944, 1196, 1065, 1235, 628, 945, 1141, 1067, 136, - 1068, 1200, 137, 1238, 138, 1093, 1270, 1290, 694, 1245, - 1289, 273, 274, 1039, 139, 1120, 1225, 1280, 1184, 140, - 632, 633, 141, 275, 142, 954, 1145, 1203, 955, 1070, - 1202, 143, 248, 1098, 1209, 1163, 1247, 1248, 1164, 1165, - 254, 144, 739, 740, 145, 1043, 621 + -1, 1, 2, 60, 613, 62, 1045, 1047, 1046, 1048, + 63, 1186, 723, 724, 725, 1187, 614, 601, 248, 147, + 213, 998, 246, 1008, 212, 220, 679, 261, 148, 149, + 1009, 616, 617, 618, 210, 65, 175, 176, 68, 177, + 70, 178, 72, 73, 179, 75, 180, 77, 181, 279, + 79, 182, 81, 214, 83, 184, 85, 185, 87, 88, + 89, 314, 186, 187, 188, 93, 94, 749, 189, 835, + 845, 1049, 96, 283, 190, 98, 191, 891, 100, 215, + 650, 653, 654, 655, 277, 651, 677, 1250, 239, 405, + 194, 195, 196, 197, 104, 105, 106, 107, 108, 109, + 110, 198, 199, 200, 201, 422, 329, 745, 202, 262, + 263, 1114, 730, 732, 113, 114, 115, 116, 206, 118, + 119, 120, 121, 122, 208, 1155, 124, 125, 152, 153, + 245, 638, 684, 685, 686, 1074, 1075, 1203, 958, 959, + 126, 244, 696, 127, 219, 689, 619, 1016, 704, 1023, + 1110, 1018, 259, 1024, 1020, 1105, 1102, 1251, 1252, 1103, + 1104, 129, 130, 1010, 1287, 131, 656, 1082, 652, 1081, + 674, 1083, 675, 1084, 676, 1085, 606, 1056, 607, 935, + 1191, 1058, 1230, 608, 132, 625, 133, 218, 134, 626, + 943, 1195, 1064, 1234, 627, 944, 1140, 1066, 135, 1067, + 1199, 136, 1237, 137, 1092, 1269, 1289, 693, 1244, 1288, + 272, 273, 1038, 138, 1119, 1224, 1279, 1183, 139, 631, + 632, 140, 274, 141, 953, 1144, 1202, 954, 1069, 1201, + 142, 247, 1097, 1208, 1162, 1246, 1247, 1163, 1164, 253, + 143, 738, 739, 144, 1042, 620 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -1198 +#define YYPACT_NINF -1093 static const yytype_int16 yypact[] = { - 20, 49, 5207, -1198, 114, -1198, 161, -1198, 18, 50, - 7, 233, -26, 6254, -1198, -1198, -1198, 3826, 3826, -1198, - 21, 466, 6254, 6254, -1198, 853, -1198, 169, 4387, -1198, - -1198, 78, -1198, 977, 1009, -1198, 161, 6929, -1198, 120, - -1198, -1198, 3826, -1198, 3826, 589, 119, 22, 79, 4387, - -1198, -1198, 6254, -1198, -26, -1198, -1198, 6254, -1198, 6929, - 4170, -1198, -1198, -1198, 347, -1198, 9, 405, -68, 3793, - 1112, 6929, 1962, 6929, 6929, 2083, 6929, 2139, 6929, 2246, - 6929, 1742, 6929, 2319, 3793, 1342, 3793, 1448, 3793, 6486, - 6929, 2360, 3042, 2726, 6929, -1198, 2304, 6929, 1501, 6929, - 2331, 6929, -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, - -1198, -1198, -1198, 2454, -1198, -1198, -1198, -1198, 2486, 3793, - 251, 258, 298, 319, 2826, 6929, -1198, -1198, -1198, -1198, - -1198, -1198, 456, -1198, 5416, 416, -1198, 6254, -1198, -1198, - -1198, 5416, 141, -1198, -1198, -1198, -1198, -1198, 6254, -1198, - 114, -1198, -1198, 3826, 3826, -1198, 51, 73, 83, -1198, - -1198, -26, -1198, -1198, -1198, 6254, -1198, -1198, -1198, 78, - -1198, -1198, -1198, 6254, 6254, 4387, 600, 96, 3182, 3192, - 3209, 6536, 3309, 504, 5020, 2123, 2990, 305, 1016, 907, - 6595, 4462, 6654, 336, 7094, -1198, -1198, -1198, -1198, -1198, - -1198, -1198, -1198, 3441, 353, 361, 368, 6713, 370, 3478, - -1198, 144, -1198, -1198, 7058, 4883, -1198, -1198, -1198, 114, - 3826, -1198, 8, 116, 96, -17, -4, 55, 132, 175, - 3, -54, -8, 56, -41, -24, 11, 176, 84, 184, - 0, 196, 205, 212, 170, 3826, 3826, 7058, 114, 6254, - -1198, -1198, -1198, -1198, 187, 282, 186, 114, 5107, 193, - 114, 197, 219, -1198, 3826, 3918, 154, -8, 56, -41, - 11, 84, 205, -1198, -23, 6254, 6339, -1198, 7094, -1198, - 6254, -1198, -1198, -1198, -1198, 114, -1198, -1198, -1198, -1198, - -1198, -1198, -1198, -1198, -1198, 3826, 3826, -1198, -1198, 6254, - -1198, -1198, 6254, 6254, 6254, 6254, 6254, 6254, 6254, 6929, - -1198, 6254, 6929, -1198, -1198, -1198, -1198, -1198, 6254, -1198, - 6254, 6254, 6254, 6254, 6254, 6254, 6254, 6929, 6254, -1198, - -1198, 33, -1198, 6254, -1198, 6254, 6254, 6254, 6254, 6254, - 6254, 6254, 6929, -1198, -1198, -1198, -1198, 6254, -1198, 6254, - 6254, 6254, 6254, 6254, 6254, 6254, 6929, -1198, -1198, -1198, - 6254, -1198, 6254, 6254, 6254, 6254, 6254, 6254, 6254, 6929, - -1198, -1198, -1198, 6254, -1198, 6254, 6254, 6254, 6254, 6254, - 6254, 6254, 6929, -1198, -1198, -1198, 6254, -1198, 6254, 6254, - 6254, 6254, 6254, 6254, 6254, 6929, -1198, -1198, 6254, 6254, - 6254, 6254, 6254, 6254, 6254, 6254, 6929, -1198, -1198, -1198, - -1198, 6254, -1198, 6254, 6254, 6254, 6254, 6254, 6254, 6254, - -1198, 6929, -1198, -1198, -1198, -1198, -1198, 6254, -1198, 6254, - 6254, 6254, 6254, 6254, 6254, 6254, -1198, 6929, -1198, -1198, - -1198, -1198, -1198, 18, 50, 280, -1198, 313, -1198, 343, - -1198, -1198, 357, -1198, 366, -1198, -3, -1198, 377, -1198, - -1198, 383, -1198, 385, -1198, -1198, 391, 395, -1198, 399, - -1198, -1198, 6254, 6254, 6254, 6254, 6254, 6254, 6254, 6254, - 6929, -1198, -1198, 6254, 6254, 6254, 6254, 6254, 6254, 6254, - 6254, 6929, -1198, -1198, -1198, 6254, -1198, 6254, 6254, 6254, - 6254, 6254, 6254, 6254, 6929, -1198, -1198, 6254, -1198, 6254, - 6254, 6254, 6254, 6254, 6254, 6254, 6929, -1198, -1198, -1198, - -1198, 6254, -1198, 6254, 6254, 6254, 6254, 6254, 6254, 6254, - -1198, 6929, -1198, -1198, -1198, 6254, -1198, 6254, 6254, 6254, - 6254, 6254, 6254, 6254, 6929, -1198, -1198, -1198, -1198, -1198, - -1198, -1198, -1198, -1198, 6254, -1198, 6254, 6254, 6254, 6254, - 6254, 6254, 6254, 6929, -1198, -1198, 6254, -1198, 6254, 6254, - 6254, 6254, 6254, 6254, 6254, 6929, -1198, -1198, -1198, -1198, - -1198, 6254, -1198, 6254, -1198, 6254, -1198, 6254, -1198, 6254, - -1198, 6254, 6254, 6254, 6254, 6254, 6254, 6254, 6929, -1198, - -1198, -1198, -1198, -1198, 114, -1198, -1198, -1198, 473, 488, - -1198, 540, -1198, 26, -1198, -1198, -1198, -1198, 549, 5416, - -1198, -1198, -1198, -1198, -1198, -1198, -1198, 428, 143, 6339, - 5416, -1198, 534, -1198, -1198, -1198, 6339, -1198, 4696, 326, - -1198, 326, 254, 4316, -1198, -1198, 127, -8, -41, 223, - 84, 5107, 5107, 114, 5107, 5107, 5107, 114, 6254, 6254, - 6254, 6254, 6254, 6254, 6254, 6254, 6254, 6254, 6254, 6254, - 6254, 6254, 6254, 6254, 6254, 114, 114, 114, 5107, 6254, - 114, 3826, -1198, -1198, 4696, 271, -1198, -1198, -1198, 5107, - 378, -1198, -1198, -1198, 6254, -1198, 5107, 266, 378, 271, - 5416, 6339, 3918, 179, -1198, 3826, -1198, -1198, -1198, -1198, - 3826, -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, 3826, - -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, 409, - 114, 331, 5107, -66, 4387, 6370, 227, 417, 4246, 345, - -1198, 6254, 4387, 6339, 462, -1198, 131, -1198, 379, 392, - 6254, 7094, 7094, 7094, 7094, 7094, 7094, 7094, 7094, -1198, - 7094, -1198, 7094, 7094, 7094, 7094, 7094, 7094, 7094, 7094, - -1198, 7094, 6254, 394, 7094, 7094, 7094, 7094, 7094, 7094, - 7094, 7094, -1198, 7094, 7094, 7094, 7094, 7094, 7094, 7094, - 7094, -1198, 7094, 7094, 7094, 7094, 7094, 7094, 7094, 7094, - -1198, 7094, 7094, 7094, 7094, 7094, 7094, 7094, 7094, -1198, - 7094, 7094, 7094, 7094, 7094, 7094, 7094, 7094, -1198, 7094, - 7094, 7094, 7094, 7094, 7094, 7094, 7094, -1198, 7094, 7094, - 7094, 7094, 7094, 7094, 7094, 7094, 6254, -1198, 7094, 7094, - 7094, 7094, 7094, 7094, 7094, 7094, 6254, -1198, 7094, 7094, - 7094, 7094, 7094, 7094, 7094, 7094, -1198, 7094, 7094, 7094, - 7094, 7094, 7094, 7094, 7094, -1198, 7094, 7094, 7094, 7094, - 7094, 7094, 7094, 7094, -1198, 7094, 7094, 7094, 7094, 7094, - 7094, 7094, 7094, -1198, 7094, 7094, 7094, 7094, 7094, 7094, - 7094, 7094, 6254, -1198, 7094, 7094, 7094, 7094, 7094, 7094, - 7094, 7094, -1198, 7094, 7094, 7094, 7094, 7094, 7094, 7094, - 7094, -1198, 7094, 7094, 7094, 7094, 7094, 7094, 7094, 7094, - -1198, -1198, -1198, -1198, -1198, 7094, 7094, 7094, 7094, 7094, - 7094, 7094, 7094, -1198, -1198, -1198, 6254, -1198, -1198, 473, - -1198, 3826, 3826, -1198, 6254, 114, -1198, -1198, 143, -1198, - -1198, -1198, 6254, -1198, 294, -1198, -1198, 6254, 507, 913, - 98, 3826, -1198, -1198, 6254, -1198, -1198, -1198, -1198, -1198, - -1198, -1198, 3547, 7094, 4316, 4316, 4316, 4316, 4316, 471, - 4316, 4316, 4316, 4316, 340, 340, 264, 264, 264, -1198, - -1198, -1198, -1198, 406, -1198, -1198, 521, 913, 7058, 114, - -1198, 3826, -1198, 7094, -1198, 3826, 3826, -1198, -1198, 114, - -1198, 5416, -1198, -1198, 345, 517, -1198, 5350, 193, 4038, - -1198, -1198, -1198, -1198, 3826, 5350, -1198, -1198, 6254, -1198, - 3826, 6254, 69, 80, 393, 117, -1198, 6370, 7094, 429, - -1198, -1198, -1198, 6138, 6254, -1198, 114, 431, 114, 435, - 458, -1198, 7094, 6254, 460, 464, 475, 5545, 6339, 6254, - -1198, 270, 279, 6339, -1198, 6254, -1198, 114, 5663, 7094, - 114, 6254, -1198, -1198, 7094, -1198, 539, -1198, 6254, 432, - -1198, 406, 5416, 5416, 5416, 5416, 5416, -1198, 6254, -1198, - -1198, -1198, 5107, 518, -1198, 5107, -1198, -1198, 520, 114, - 6800, 3826, 5107, 449, 452, 472, 5107, -1198, -1198, -1198, - -1198, 207, -1198, 477, 7094, 209, 5107, 245, -1198, 6254, - 503, 5902, -1198, -1198, 6972, -1198, 6972, 6254, -1198, 7094, - -1198, -1198, -1198, -1198, -1198, 6339, 6972, -1198, 6972, -1198, - -1198, 5416, 6339, 5416, -1198, 114, -1198, 7094, -1198, 7094, - 6254, -1198, -1198, -1198, -1198, -1198, 6254, 7094, -1198, 6254, - -1198, -1198, 3826, -1198, 114, 114, -1198, 3826, 5107, 5259, - -1198, 5107, 6843, 529, -1198, 3826, 114, 5107, 6254, -1198, - -1198, -1198, 7094, -1198, -1198, -1198, -1198, 497, 499, 5107, - 502, -1198, 5416, -1198, 505, 506, 5416, -1198, -1198, -1198, - 16, 5416, 5416, 114, 6254, 7094, 509, 6455, -1198, 605, - -1198, -1198, 7086, -1198, 6254, -1198, 114, 3826, 5107, 472, - 6886, -1198, -1198, -1198, 7094, 114, 114, 7015, -1198, 114, - -1198, 5416, 114, 114, -1198, 5416, -1198, -1198, -1198, -1198, - -1198, 5416, 7094, -1198, 6254, -1198, -1198, 6020, 6020, 6254, - -1198, -1198, 480, -1198, -1198, 7135, -1198, 3826, 5107, -1198, - -1198, -1198, 5107, -1198, -1198, -1198, -1198, -1198, -1198, 7094, - 114, -1198, -1198, 485, 6254, -1198, 6254, -1198, 7156, -1198, - 5781, -1198, -1198, -1198, -1198, 487, 6254, -1198, 19, -1198, - 5781, -1198, 490, 3826, 3826, -1198, -1198, -1198, -1198 + 42, 76, 7322, -1093, 173, -1093, 213, -1093, 58, 78, + 413, 291, -94, 5447, -1093, -1093, -1093, 8334, 8334, -1093, + 48, 729, 5447, 5447, -1093, 854, -1093, 272, 4084, -1093, + -1093, 99, -1093, 910, 1054, -1093, 213, 3480, -1093, 147, + -1093, -1093, 8334, -1093, 8334, 588, 158, 65, 137, 4084, + -1093, -1093, 5447, -1093, -94, -1093, -1093, 5447, -1093, 3480, + 4414, -1093, -1093, 293, -1093, -12, 1344, -22, 3673, 1585, + 3480, 1784, 3480, 3480, 1948, 3480, 2330, 3480, 2392, 3480, + 2853, 3480, 816, 3673, 1471, 3673, 1723, 3673, 7674, 3480, + 1526, 2175, 3079, 3480, -1093, 2425, 3480, 1774, 3480, 2454, + 3480, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, + -1093, -1093, 2670, -1093, -1093, -1093, -1093, 2811, 3673, -50, + 7, 131, 156, 2885, 3480, -1093, -1093, -1093, -1093, -1093, + -1093, 316, -1093, 5628, 22, -1093, 5447, -1093, -1093, -1093, + 6122, 180, -1093, -1093, -1093, -1093, -1093, 5447, -1093, 173, + -1093, -1093, 8334, 8334, -1093, 96, 145, 152, -1093, -1093, + -94, -1093, -1093, -1093, 5447, -1093, -1093, -1093, 99, -1093, + -1093, -1093, 5447, 5447, 4084, 492, 182, 870, 1888, 2608, + 7796, 2776, 3132, 7724, 2057, 2639, 1096, 1220, 3209, 7855, + 2233, 7914, 305, 3045, -1093, -1093, -1093, -1093, -1093, -1093, + -1093, -1093, 2963, 373, 378, 381, 7973, 164, 3071, -1093, + 195, -1093, -1093, 8291, 8032, -1093, -1093, -1093, 173, 8334, + -1093, 9, 194, 182, 20, 37, 70, 83, 101, -15, + 242, -1, 28, 277, 294, 3, 139, 49, 150, 10, + 154, 160, 193, 286, 8334, 8334, 8291, 173, 5447, -1093, + -1093, -1093, -1093, 256, 332, 230, 173, 5229, 245, 173, + 267, 258, -1093, 8334, 4616, 119, -1, 28, 277, 3, + 49, 160, -1093, -35, 5447, 3969, -1093, 3045, -1093, 5447, + -1093, -1093, -1093, -1093, 173, -1093, -1093, -1093, -1093, -1093, + -1093, -1093, -1093, 8334, 8334, -1093, -1093, 5447, -1093, -1093, + 5447, 5447, 5447, 5447, 5447, 5447, 5447, 3480, -1093, 5447, + 3480, -1093, -1093, -1093, -1093, -1093, 5447, -1093, 5447, 5447, + 5447, 5447, 5447, 5447, 5447, 3480, 5447, -1093, -1093, 52, + -1093, 5447, -1093, 5447, 5447, 5447, 5447, 5447, 5447, 5447, + 3480, -1093, -1093, -1093, -1093, 5447, -1093, 5447, 5447, 5447, + 5447, 5447, 5447, 5447, 3480, -1093, -1093, -1093, 5447, -1093, + 5447, 5447, 5447, 5447, 5447, 5447, 5447, 3480, -1093, -1093, + -1093, 5447, -1093, 5447, 5447, 5447, 5447, 5447, 5447, 5447, + 3480, -1093, -1093, -1093, 5447, -1093, 5447, 5447, 5447, 5447, + 5447, 5447, 5447, 3480, -1093, -1093, 5447, 5447, 5447, 5447, + 5447, 5447, 5447, 5447, 3480, -1093, -1093, -1093, -1093, 5447, + -1093, 5447, 5447, 5447, 5447, 5447, 5447, 5447, -1093, 3480, + -1093, -1093, -1093, -1093, -1093, 5447, -1093, 5447, 5447, 5447, + 5447, 5447, 5447, 5447, -1093, 3480, -1093, -1093, -1093, -1093, + -1093, 58, 78, 349, -1093, 357, -1093, 368, -1093, -1093, + 393, -1093, 397, -1093, -10, -1093, 409, -1093, -1093, 421, + -1093, 427, -1093, -1093, 435, 439, -1093, 442, -1093, -1093, + 5447, 5447, 5447, 5447, 5447, 5447, 5447, 5447, 3480, -1093, + -1093, 5447, 5447, 5447, 5447, 5447, 5447, 5447, 5447, 3480, + -1093, -1093, -1093, 5447, -1093, 5447, 5447, 5447, 5447, 5447, + 5447, 5447, 3480, -1093, -1093, 5447, -1093, 5447, 5447, 5447, + 5447, 5447, 5447, 5447, 3480, -1093, -1093, -1093, -1093, 5447, + -1093, 5447, 5447, 5447, 5447, 5447, 5447, 5447, -1093, 3480, + -1093, -1093, -1093, 5447, -1093, 5447, 5447, 5447, 5447, 5447, + 5447, 5447, 3480, -1093, -1093, -1093, -1093, -1093, -1093, -1093, + -1093, -1093, 5447, -1093, 5447, 5447, 5447, 5447, 5447, 5447, + 5447, 3480, -1093, -1093, 5447, -1093, 5447, 5447, 5447, 5447, + 5447, 5447, 5447, 3480, -1093, -1093, -1093, -1093, -1093, 5447, + -1093, 5447, -1093, 5447, -1093, 5447, -1093, 5447, -1093, 5447, + 5447, 5447, 5447, 5447, 5447, 5447, 3480, -1093, -1093, -1093, + -1093, -1093, 173, -1093, -1093, -1093, 481, 325, -1093, -1093, + 501, -1093, 50, -1093, -1093, -1093, -1093, 503, 5762, -1093, + -1093, -1093, -1093, -1093, -1093, -1093, 248, 207, 3969, 6242, + -1093, 471, -1093, -1093, -1093, 3969, -1093, 4481, 295, -1093, + 295, 369, 3190, -1093, -1093, 80, -1, 277, 196, 49, + 5229, 5229, 173, 5229, 5229, 5229, 173, 5447, 5447, 5447, + 5447, 5447, 5447, 5447, 5447, 5447, 5447, 5447, 5447, 5447, + 5447, 5447, 5447, 5447, 173, 173, 173, 5229, 5447, 173, + 8334, -1093, -1093, 4481, 394, -1093, -1093, -1093, 5229, 309, + -1093, -1093, -1093, 5447, -1093, 5229, 140, 309, 394, 6362, + 3969, 4616, 327, -1093, 8334, -1093, -1093, -1093, -1093, 8334, + -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 8334, -1093, + -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 377, 173, + 396, 5229, -77, 4084, 7558, 244, 334, 4275, 402, -1093, + 5447, 4084, 3969, 473, -1093, -43, -1093, 395, 404, 5447, + 3045, 3045, 3045, 3045, 3045, 3045, 3045, 3045, -1093, 3045, + -1093, 3045, 3045, 3045, 3045, 3045, 3045, 3045, 3045, -1093, + 3045, 5447, 405, 3045, 3045, 3045, 3045, 3045, 3045, 3045, + 3045, -1093, 3045, 3045, 3045, 3045, 3045, 3045, 3045, 3045, + -1093, 3045, 3045, 3045, 3045, 3045, 3045, 3045, 3045, -1093, + 3045, 3045, 3045, 3045, 3045, 3045, 3045, 3045, -1093, 3045, + 3045, 3045, 3045, 3045, 3045, 3045, 3045, -1093, 3045, 3045, + 3045, 3045, 3045, 3045, 3045, 3045, -1093, 3045, 3045, 3045, + 3045, 3045, 3045, 3045, 3045, 5447, -1093, 3045, 3045, 3045, + 3045, 3045, 3045, 3045, 3045, 5447, -1093, 3045, 3045, 3045, + 3045, 3045, 3045, 3045, 3045, -1093, 3045, 3045, 3045, 3045, + 3045, 3045, 3045, 3045, -1093, 3045, 3045, 3045, 3045, 3045, + 3045, 3045, 3045, -1093, 3045, 3045, 3045, 3045, 3045, 3045, + 3045, 3045, -1093, 3045, 3045, 3045, 3045, 3045, 3045, 3045, + 3045, 5447, -1093, 3045, 3045, 3045, 3045, 3045, 3045, 3045, + 3045, -1093, 3045, 3045, 3045, 3045, 3045, 3045, 3045, 3045, + -1093, 3045, 3045, 3045, 3045, 3045, 3045, 3045, 3045, -1093, + -1093, -1093, -1093, -1093, 3045, 3045, 3045, 3045, 3045, 3045, + 3045, 3045, -1093, -1093, -1093, 5447, -1093, -1093, 481, -1093, + 8334, 8334, -1093, 5447, 173, -1093, -1093, 207, -1093, -1093, + -1093, 5447, -1093, 12, -1093, -1093, 5447, 519, 493, 116, + 8334, -1093, -1093, 5447, -1093, -1093, -1093, -1093, -1093, -1093, + -1093, 4711, 3045, 3190, 3190, 3190, 3190, 3190, 475, 3190, + 3190, 3190, 3190, 329, 329, 183, 183, 183, -1093, -1093, + -1093, -1093, 416, -1093, -1093, 521, 493, 8291, 173, -1093, + 8334, -1093, 3045, -1093, 8334, 8334, -1093, -1093, 173, -1093, + 5326, -1093, -1093, 402, 515, -1093, 3316, 245, 4210, -1093, + -1093, -1093, -1093, 8334, 3316, -1093, -1093, 5447, -1093, 8334, + 5447, -14, 64, 259, 105, -1093, 7558, 3045, 419, -1093, + -1093, -1093, 7442, 5447, -1093, 173, 423, 173, 424, 312, + -1093, 3045, 5447, 335, 338, 342, 6722, 3969, 5447, -1093, + 253, 279, 3969, -1093, 5447, -1093, 173, 6842, 3045, 173, + 5447, -1093, -1093, 3045, -1093, 530, -1093, 5447, 431, -1093, + 416, 5882, 5882, 5882, 5882, 5882, -1093, 5447, -1093, -1093, + -1093, 5229, 497, -1093, 5229, -1093, -1093, 453, 173, 3856, + 8334, 5229, 447, 444, 450, 5229, -1093, -1093, -1093, -1093, + 91, -1093, 449, 3045, 185, 5229, 186, -1093, 5447, 477, + 7082, -1093, -1093, 8205, -1093, 8205, 5447, -1093, 3045, -1093, + -1093, -1093, -1093, -1093, 3969, 8205, -1093, 8205, -1093, -1093, + 6482, 3969, 6482, -1093, 173, -1093, 3045, -1093, 3045, 5447, + -1093, -1093, -1093, -1093, -1093, 5447, 3045, -1093, 5447, -1093, + -1093, 8334, -1093, 173, 173, -1093, 8334, 5229, 4899, -1093, + 5229, 8119, 494, -1093, 8334, 173, 5229, 5447, -1093, -1093, + -1093, 3045, -1093, -1093, -1093, -1093, 457, 468, 5229, 467, + -1093, 5882, -1093, 469, 472, 6002, -1093, -1093, -1093, 24, + 6602, 6602, 173, 5447, 3045, 476, 5108, -1093, 570, -1093, + -1093, 8332, -1093, 5447, -1093, 173, 8334, 5229, 450, 8162, + -1093, -1093, -1093, 3045, 173, 173, 8248, -1093, 173, -1093, + 5882, 173, 173, -1093, 6002, -1093, -1093, -1093, -1093, -1093, + 6602, 3045, -1093, 5447, -1093, -1093, 7202, 7202, 5447, -1093, + -1093, 356, -1093, -1093, 8367, -1093, 8334, 5229, -1093, -1093, + -1093, 5229, -1093, -1093, -1093, -1093, -1093, -1093, 3045, 173, + -1093, -1093, 361, 5447, -1093, 5447, -1093, 8388, -1093, 6962, + -1093, -1093, -1093, -1093, 365, 5447, -1093, 11, -1093, 6962, + -1093, 366, 8334, 8334, -1093, -1093, -1093, -1093 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1198, -1198, -1198, -1198, 13, 565, -1198, 569, -1198, -1198, - -1198, -1198, -1198, -913, -319, -246, -922, -1198, 46, -1198, - -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, 178, - -1198, -133, -1198, -1198, 496, -1198, 3352, 1449, 1468, 542, - 94, 553, 215, 556, 557, 351, 559, 611, 562, 688, - -1198, 563, 742, 568, 919, 572, -2, 574, 75, 575, - 421, -1198, 3681, 1516, 1609, 1731, -1198, -169, -1198, 1872, - -1198, -1198, -791, -1198, 335, 2091, -1198, 2267, -1198, -1198, - -10, -1198, -1198, -1198, -1198, 4329, -1198, -1198, -36, -1198, - 3605, 619, 1781, -1198, 1949, -1198, -1198, -1198, -1198, -1198, - -1198, -1198, 2213, -1198, -1198, -1198, 4934, -1198, -1198, 988, - -1198, -1198, -365, -1198, -1198, 654, 655, 657, 659, 138, - 585, 10, 663, 664, -1198, 1203, -1198, 591, 618, -1198, - -1198, -1198, 528, 436, -314, -149, -1198, -1198, -1198, 2, - -1198, 627, -1198, -1198, 628, -1198, 443, 48, -1198, -1198, - -1198, -1198, -1198, -703, -1198, -1005, -1198, -332, -1197, -579, - -1198, -476, -1198, -1198, -346, -661, -1198, -1198, -1198, -1198, - -1198, -1198, -1198, -1198, -1198, -1198, -1198, 90, -1198, -1198, - -1198, -1198, -1198, -1198, -598, -1198, -615, -1198, -1198, -1198, - -1198, -1198, -1198, -1198, -1198, 74, -1198, -1198, -1198, -1198, - -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, - -588, -39, -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, - -1198, -248, -1198, -1198, -1198, -1198, -1198, -1198, -247, -1198, - -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, -1198, - -1198, -1198, 6, -728, -1198, -1198, 2935 + -1093, -1093, -1093, -1093, 29, 532, -1093, -1093, -1093, -1093, + -1093, -1092, -441, -297, -931, -1093, 30, -1093, -1093, -1093, + -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, 115, -1093, + -127, -1093, -1093, 456, -1093, 3579, 1335, 1518, 502, 127, + 509, 249, 510, 513, 370, 516, 432, 517, 621, -1093, + 520, 684, 524, 893, 527, -2, 531, 60, 534, 360, + -1093, 3685, 1549, 1731, 1969, -1093, -173, -1093, 2036, -1093, + -1093, -799, -1093, 388, 2204, -1093, 2267, -1093, -1093, -11, + -1093, -1093, -1093, -1093, 4528, -1093, -1093, -27, -1093, 3852, + 1794, 2333, -1093, 2364, -1093, -1093, -1093, -1093, -1093, -1093, + -1093, 2550, -1093, -1093, -1093, 5055, -1093, -1093, 958, -1093, + -1093, -423, -1093, -1093, 596, 605, 608, 611, 181, 537, + 2, 614, 616, -1093, 1291, -1093, 542, 572, -1093, -1093, + -1093, 483, 391, -359, -149, -1093, -1093, -1093, -42, -1093, + 582, -1093, -1093, 583, -1093, 399, 35, -1093, -1093, -1093, + -1093, -1093, -699, -1093, -1006, -1093, -379, -1005, -627, -1093, + -524, -1093, -1093, -390, -677, -1093, -1093, -1093, -1093, -1093, + -1093, -1093, -1093, -1093, -1093, -1093, 47, -1093, -1093, -1093, + -1093, -1093, -1093, -599, -1093, -617, -1093, -1093, -1093, -1093, + -1093, -1093, -1093, -1093, 31, -1093, -1093, -1093, -1093, -1093, + -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -634, + -83, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, + -294, -1093, -1093, -1093, -1093, -1093, -1093, -292, -1093, -1093, + -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, -1093, + -1093, -39, -723, -1093, -1093, 3180 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -763 +#define YYTABLE_NINF -762 static const yytype_int16 yytable[] = { - 85, 616, 1020, 193, 640, 640, 649, 1036, 616, 692, - 937, 940, 947, 950, 1108, 61, -131, -311, 319, 1112, - -4, 279, 156, 208, -41, -41, 232, 412, 741, -117, - -117, 334, 374, 1236, 311, 252, 1293, 1077, 387, 1012, - -131, -131, -131, 297, 297, 1054, 496, 267, 65, 3, - 129, 1030, 1273, 151, 312, 1055, 1237, 282, 85, 1031, - -131, -131, -131, -131, 1294, -131, -131, 314, 406, 314, - 328, 314, 314, 286, 314, 1089, 314, 87, 314, 1285, - 314, 480, 314, 328, 314, 152, 314, 461, 314, 1292, - 348, 428, 314, 57, 742, 314, 70, 314, 491, 314, - 328, 1056, 693, 233, 297, 327, 289, 328, 293, -131, - -311, 420, 253, 244, 421, 412, 328, 314, 342, 522, - 328, 328, 225, 314, 268, 395, -131, 298, 298, -131, - 255, -131, 85, 504, 283, 87, -96, -96, 261, 85, - 118, -96, -96, 225, 315, 265, 315, -526, 315, 315, - 772, 315, -227, 315, 70, 315, 773, 315, 631, 315, - 622, 315, 297, 315, 463, 315, 242, 361, 581, 315, - 1221, 642, 315, 647, 315, 436, 315, 356, 437, 328, - 328, 949, 625, 447, -758, -758, -758, 272, 298, 297, - 583, -159, 277, -159, 315, -761, -761, -761, 118, 420, - 315, 586, 421, 530, 328, -704, 531, 317, 328, 87, - 374, 508, 684, 1190, 250, 1078, 87, 72, 312, 536, - 169, 1079, 410, 1194, 426, 1195, 442, 467, 70, 55, - 56, 555, -757, -757, -757, 70, -39, -39, 309, -227, - 567, -227, -133, 226, 745, 684, 298, 590, 1044, -159, - 268, -159, 1045, 702, 369, 737, 328, 580, -227, 55, - 56, 681, 297, 422, 226, 438, -133, -133, -133, 225, - 492, -704, 118, 298, 517, 72, -103, -103, 545, 118, - 549, 550, 551, 552, -98, -98, -133, -133, -133, -133, - 553, -133, -133, 1015, 55, 56, 576, 382, 516, 328, - 328, 703, 599, 729, 449, 704, 544, 282, 328, 1118, - 282, 631, 727, 272, 472, 297, 1107, 1005, 563, 958, - 328, 665, 634, 635, 1175, 282, 1178, 575, 1176, 328, - 1179, 1071, 953, 1066, 598, -133, 328, 730, 300, 301, - 282, 1060, -756, -756, -756, -227, 298, -227, 319, 72, - 295, 296, -133, 75, 282, -133, 72, -133, 473, 474, - 475, 476, 1178, 477, 478, 996, 1181, 282, 581, 582, - 1000, 964, 672, 673, 674, 583, 584, 1004, 334, 227, - 282, 55, 56, 1006, 283, 55, 56, 283, 998, 1136, - 226, 683, 348, 282, 55, 56, 1133, 665, 1138, 691, - 227, 361, 283, 738, 282, 965, 966, 1144, 968, 969, - 970, 75, 387, 1029, 299, 585, 586, 283, 412, 282, - 428, 1151, 1152, 1153, 1154, 1155, 555, 480, 1026, 328, - 567, 283, 992, 622, 590, 282, 587, 588, 300, 301, - 452, 55, 56, 961, 283, 622, 670, 671, 672, 673, - 674, -640, -640, 623, 624, 625, 1028, 283, 302, 303, - 304, 305, 1037, 306, 307, 946, 624, 625, -646, -646, - 283, 604, 605, 606, 607, -135, -649, -649, 282, 1042, - 1197, 283, 1199, -652, -652, 75, 943, 679, 582, 282, - 606, 607, 75, 55, 56, 1001, 283, 943, -34, -135, - -135, -135, 282, 604, 938, 606, 607, 308, -762, -762, - -762, -36, 283, 386, 282, 480, -570, 328, 1053, -135, - -135, -135, -135, 1087, -135, -135, 227, 309, 665, 282, - 1088, 1230, -759, -759, -759, 1234, 1099, 300, 301, 387, - 1239, 1240, 282, -115, -115, 921, 1119, 922, 1148, 923, - 1124, 924, 941, 942, 1126, 283, 1150, 388, 389, 390, - 391, 282, 392, 393, 1159, 1035, 283, 1171, -135, 1172, - 1264, 952, 953, 282, 1267, 1127, 1128, 1127, 1130, 283, - 1268, 1127, 1131, 1161, 1162, -135, 1271, 1272, -135, 1173, - -135, 283, 1127, 1132, 5, 1177, 282, 1274, 1275, 1183, - 159, 160, 1274, 1283, 1274, 1291, 283, 1274, 1296, 299, - 1220, 162, 163, 77, 164, 1226, 1227, 85, 166, 283, - 1229, 102, 1246, 1232, 1233, 287, 395, 1243, 85, 288, - 167, 446, 168, 300, 301, 29, 30, 630, 283, 228, - 32, 170, 448, 993, 759, 450, 451, 761, 453, 171, - 283, 455, 457, 302, 303, 304, 305, 459, 306, 307, - 228, 460, 770, 462, 464, 695, 1117, 204, 205, 155, - 43, 77, 206, 283, 468, 157, 158, 782, 290, 102, - 470, 172, 641, 699, 1090, 50, 997, 291, 292, 698, - 79, 791, 737, 1113, 87, 1284, 1219, 1121, 85, 939, - 454, 948, 1295, 1040, 800, 87, 1072, 1073, 1014, 258, - 0, 0, 0, 70, 1051, 0, 229, 809, 0, 0, - 0, 0, 309, 0, 70, 737, 0, 0, 0, 0, - 818, 0, 1033, 0, 0, 0, 0, 229, 0, 0, - 267, 827, 0, 0, 81, 77, 0, 0, 79, 0, - 0, 0, 77, 102, 0, 0, 837, 118, 0, 0, - 102, 0, 0, 0, 0, 0, 0, 0, 118, 0, - 230, 0, 847, 1158, 0, 87, 1160, 456, 0, 0, - 0, 934, 0, 1170, 0, 0, 228, 1174, 0, 0, - 0, 230, 0, 0, 70, 0, 0, 1180, 0, 0, - 1051, 0, 81, 0, 0, 0, 0, 0, 0, 268, - 1051, 0, 1080, 0, 0, 856, 0, 268, 0, 0, - 0, 0, 79, 0, 0, 0, 865, 0, 225, 79, - 0, 458, 0, 0, 72, 0, 225, 0, 118, 874, - 738, 0, 0, 0, 0, 72, 0, 0, 0, 1213, - 1215, 883, 1216, 0, 0, 0, 1051, 0, 1223, 0, - 0, 0, -132, 229, 0, 0, 893, 0, 0, 0, - 1228, 0, 272, 738, 0, 0, 81, 0, 1097, 902, - 272, 0, 0, 81, 0, 0, -132, -132, -132, 0, - 0, 0, 0, 1250, 0, 0, 0, 0, 911, 1256, - 0, 0, 0, 0, 0, 0, -132, -132, -132, -132, - 920, -132, -132, 0, 0, 72, 495, 230, 0, 0, - 0, 83, 0, 0, 0, 0, 0, 0, 1081, 0, - 0, 0, 184, 933, 0, 0, 1277, 0, 0, 1279, - 300, 301, 496, 1281, 0, 0, 0, 231, 0, 226, - 0, 0, 0, 0, 0, -132, 0, 226, 0, 1287, - 497, 498, 499, 500, 0, 501, 502, 0, 231, 0, - 75, 0, -132, 0, 0, -132, 0, -132, 0, 83, - 0, 75, 0, 0, 707, 0, -136, 0, 1097, 0, - 113, 0, 0, 0, 0, 0, 684, 716, 717, 718, - 719, 720, 721, 722, 723, 0, 0, 0, 1122, 85, - -136, -136, -136, 0, 0, 0, 241, 0, -134, 0, - 0, 0, 0, 0, 0, 483, 0, 737, 0, 504, - -136, -136, -136, -136, 0, -136, -136, 241, 0, 0, - 0, 85, -134, -134, -134, 0, 0, 0, 113, 300, - 301, 75, 0, 83, 0, 85, 0, 0, 0, 0, - 83, 0, -134, -134, -134, -134, 85, -134, -134, 484, - 485, 486, 487, 0, 488, 489, 0, 466, 0, -136, - 85, 85, 85, 85, 85, 227, 87, 0, 0, 0, - 0, 1191, 0, 227, 231, 0, -136, 0, 0, -136, - 0, -136, 0, 0, 0, 70, 0, 0, 0, 0, - 0, -134, 0, 0, 0, 0, 0, 0, 87, 85, - 1206, 318, 113, 0, 0, 0, 0, 0, -134, 113, - 0, -134, 87, -134, 0, 0, 0, 70, 491, 85, - 328, 85, 0, 87, 0, 300, 301, 319, 0, 118, - 0, 70, 0, 0, 0, 0, 0, 87, 87, 87, - 87, 87, 70, 241, 0, 320, 321, 322, 323, 0, - 324, 325, 0, 0, 0, 738, 70, 70, 70, 70, - 70, 118, 0, 0, 0, 0, 0, 0, 0, 0, - 85, 0, 0, 0, 85, 118, 87, 0, 0, 85, - 85, 0, 0, 0, 0, 124, 118, 0, 0, 0, - 0, 0, 0, 0, 326, 70, 87, 0, 87, 0, - 118, 118, 118, 118, 118, 0, 72, 0, 0, 85, - 77, 243, 0, 85, 327, 70, 328, 70, 102, 85, - 0, 77, 0, 0, 0, 85, 85, 0, 0, 102, - 0, 0, 243, 0, 0, 0, 0, 0, 72, 118, - 0, 0, 0, 124, 0, 0, 0, 87, 0, 0, - 0, 87, 72, 0, 0, 0, 87, 87, 85, 118, - 0, 118, 0, 72, 0, 0, 70, 0, 85, 0, - 70, 0, 469, 0, 0, 70, 70, 72, 72, 72, - 72, 72, 0, 0, 0, 0, 87, 79, 0, 0, - 87, 77, 0, 0, 0, 0, 87, 0, 79, 102, - 0, 0, 87, 87, 0, 70, 0, 0, 0, 70, - 118, 0, 0, 0, 118, 70, 72, 124, 0, 118, - 118, 70, 70, 0, 124, 228, 0, 0, 0, 0, - 0, 411, 0, 228, 0, 87, 72, 0, 72, 0, - 0, 81, 75, 0, 0, 87, 0, 0, 0, 118, - 0, 0, 81, 118, 70, 300, 301, 412, 243, 118, - 0, 0, 0, 0, 70, 118, 118, 0, 79, 0, - 0, 0, 0, 0, 75, 413, 414, 415, 416, 0, - 417, 418, 0, 0, 0, 0, 0, 72, 75, 0, - 0, 72, 0, 0, 0, 0, 72, 72, 118, 75, - 0, 0, 229, 0, 0, 0, 0, 0, 118, 0, - 229, 0, 0, 75, 75, 75, 75, 75, 0, 0, - 0, 0, 81, 0, 419, 0, 72, 0, 0, 0, - 72, 67, 0, 0, 0, 0, 72, 427, 0, 0, - 0, 420, 72, 72, 421, 0, 328, 0, 0, 0, - 68, 0, 75, 0, 0, 0, 230, 223, 0, 0, - 0, 300, 301, 428, 230, 0, 0, 0, 0, 0, - 0, 0, 75, 0, 75, 72, 224, 0, 223, 0, - 0, 429, 430, 431, 432, 72, 433, 434, 0, 67, - 521, 0, 0, 0, 0, 0, 0, 224, 91, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, - 0, 0, 0, 0, 300, 301, 522, 0, 83, 0, - 0, 0, 0, 75, 234, 0, 0, 75, 0, 83, - 435, 0, 75, 75, 523, 524, 525, 526, 0, 527, - 528, 0, 0, 0, 0, 269, 0, 436, 0, 0, - 437, 0, 328, 0, 0, 0, 91, 0, 0, 0, - 0, 0, 75, 67, 0, 0, 75, 0, 0, 0, - 67, 0, 75, 0, 0, 0, 0, 0, 75, 75, - 0, 0, 68, 529, 0, 0, 0, 113, 0, 68, - 0, 92, 0, 0, 0, 0, 0, 0, 113, 83, - 530, 0, 77, 531, 223, 328, 0, 0, 0, 0, - 102, 75, 0, 0, 0, 0, 0, 235, 0, 0, - 0, 75, 0, 224, 0, 0, 0, 0, 0, 0, - 91, 0, 0, 231, 77, 0, 0, 91, 235, 0, - 0, 231, 102, 0, 0, 0, 0, 0, 77, 92, - 0, 0, 0, 0, 0, 0, 102, 0, 0, 77, - 0, 0, 0, 0, 0, 0, 0, 102, 113, 0, - 0, 648, 0, 77, 77, 77, 77, 77, 0, 79, - 0, 102, 102, 102, 102, 102, 0, 0, 0, 0, + 84, 648, 192, 639, 639, 1019, 615, 936, 939, 946, + 949, 1035, 1107, 615, 155, 207, 740, 1111, -310, 691, + 385, 295, 1011, 295, 57, 372, 231, 1076, 1292, 630, + 278, 61, 64, 1189, 410, 251, 1053, 128, 494, 621, + 1029, 1235, -4, 1193, 295, 1194, 1054, 266, 1030, 1070, + 952, -36, -36, -116, -116, 317, 1293, 281, 84, 622, + 623, 624, 86, 426, 1236, 1088, 312, 579, 312, 580, + 312, 312, 332, 312, 1043, 312, 3, 312, 1044, 312, + 309, 312, 741, 312, 520, 312, 459, 312, 232, 285, + 287, 312, 1055, 150, 312, 291, 312, 252, 312, 410, + 310, -757, -757, -757, 296, 346, 296, 393, -158, 267, + -158, -310, 692, 151, 326, 295, 312, 418, 359, 282, + 86, 419, 312, 326, 581, 502, 582, 296, 313, 69, + 313, 84, 313, 313, 243, 313, 372, 313, 84, 313, + -226, 313, 325, 313, 326, 313, 434, 313, 461, 313, + 435, 249, 326, 313, 295, 224, 313, 254, 313, 340, + 313, 326, 641, -91, -91, -91, -91, 528, 1220, 771, + -703, 529, 646, 326, 506, 772, 224, 260, 313, -760, + -760, -760, 418, 117, 313, 534, 419, 69, 326, 553, + -525, 1004, 354, 86, 326, 565, 957, 630, 296, 420, + 86, 436, -158, 264, -158, 367, 490, 326, 1174, 241, + 515, 683, 1175, 579, 543, 445, 547, 548, 549, 550, + -756, -756, -756, 380, 621, 326, 551, -226, 588, -226, + 271, -226, 574, 1077, 267, 276, -703, 296, 597, 1078, + 664, 117, 995, 1272, 683, 948, 624, 999, 583, 315, + 584, 71, 744, 736, 1003, 55, 56, 1005, 633, 634, + 69, 514, 581, 326, 408, 621, 424, 69, 440, 465, + 1284, 584, 542, 585, 326, 586, 561, 225, 326, 295, + 1291, 678, 573, 580, 326, 945, 623, 624, 55, 56, + 1028, 671, 672, 673, -34, -34, 293, 294, 225, 578, + -132, 224, 1177, 1177, 310, 281, 1178, 1180, 281, 71, + 55, 56, 680, 1117, 117, 596, 307, 326, -226, 1106, + -226, 117, 701, 281, -132, -132, -132, 682, -101, -101, + 1065, 602, 603, 604, 605, 690, 168, 447, 281, 1059, + 602, 937, 604, 605, -132, -132, -132, -132, 703, -132, + -132, 702, 281, 964, 965, 271, 967, 968, 969, -755, + -755, -755, 296, 726, 404, 281, 326, 282, 55, 56, + 282, 1135, 74, 728, -761, -761, -761, 729, 281, 1132, + 991, 478, 71, 326, 295, 282, 664, -93, -93, 71, + 1143, 281, 317, -132, 55, 56, 1025, 1137, 226, 478, + 282, 326, 281, 332, 1150, 1151, 1152, 1153, 1154, -132, + 55, 56, 960, -132, 282, -132, 489, 281, 326, 226, + -639, -639, -130, 225, 55, 56, 1000, 282, 346, 1126, + 74, 1127, 359, 281, 76, 669, 670, 671, 672, 673, + 282, 1014, 55, 56, 385, 737, -130, -130, -130, -758, + -758, -758, 1126, 282, 1129, 1126, 410, 1130, 450, 1126, + 227, 1131, 426, 1196, 282, 1198, -130, -130, -130, -130, + 553, -130, -130, 1273, 565, 1274, 281, 588, 1273, 282, + 1282, 227, 1273, 1273, 1290, 1295, 963, 281, -645, -645, + 1041, 942, 76, -648, -648, 282, -651, -651, 604, 605, + 281, 297, 942, 74, -114, -114, 940, 941, 951, 952, + 74, 997, 281, -29, 1229, -130, 1160, 1161, 1233, 1036, + 452, 1027, -31, 1238, 1239, 298, 299, 281, -569, 1052, + 1087, -130, 664, 1086, 1098, -130, 1118, -130, 282, 1147, + 281, 1123, 1125, 1158, 226, 300, 301, 302, 303, 282, + 304, 305, 920, 1263, 921, 1149, 922, 1266, 923, 281, + 1034, 1171, 282, 1267, 706, 76, 1170, 1172, 1176, 1270, + 1271, 281, 76, 1182, 282, 1219, 1225, 715, 716, 717, + 718, 719, 720, 721, 722, 1226, 1228, 1245, 1231, 282, + 444, 1232, 286, 5, 281, 1242, 629, 446, 448, 158, + 159, 449, 282, 694, 451, 453, 227, 1116, 455, 203, + 161, 162, 457, 163, 307, 458, 84, 165, 204, 460, + 154, 282, 462, 78, 205, 466, 156, 84, 157, 166, + 468, 167, 288, 282, 29, 30, 640, 698, 1089, 32, + 169, 996, 289, 290, 697, 1112, 1283, 1218, 170, 228, + 1157, 992, 1120, 1159, 938, 1294, 282, 947, 1039, 1071, + 1169, 1072, 1013, 0, 1173, 0, 0, 0, 0, 43, + 228, 0, 0, 0, 1179, 0, 0, 0, 86, 0, + 171, 78, 0, 0, 50, 0, 80, 0, 0, 86, + 736, 0, 0, 0, 0, 758, 0, 84, 760, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 257, 454, + 0, 0, 229, 769, 0, 0, 933, 0, 0, 0, + 0, 0, 1050, 736, 0, 0, 1212, 1214, 781, 1215, + 0, 1032, 0, 229, 0, 1222, 0, 0, -134, 266, + 0, 0, 790, 0, 80, 69, 0, 1227, 0, 0, + 0, 0, 0, 0, 78, 799, 69, 0, 0, 86, + 0, 78, -134, -134, -134, 0, 0, 0, 808, 0, + 1249, 0, 456, 0, 0, 0, 1255, 0, 0, 0, + 0, 817, -134, -134, -134, -134, 0, -134, -134, 0, + 0, 0, 826, 267, 0, 228, 0, 0, 0, 117, + 0, 267, 0, 0, 0, 0, 0, 836, 1050, 0, + 117, 1079, 0, 1276, 0, 0, 1278, 80, 1050, 0, + 1280, 0, 0, 846, 80, 396, 69, 0, 0, 0, + 0, -134, 0, 0, 0, 0, 1286, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -134, 0, 298, + 299, -134, 0, -134, 0, 0, 0, 0, 229, 0, + 224, 0, 0, -131, 1050, 0, 855, 71, 224, 397, + 398, 399, 400, 0, 401, 402, 0, 864, 71, 316, + 117, 0, 737, 1096, 0, 0, 0, -131, -131, -131, + 873, 0, 0, 0, 0, 82, 0, 0, 0, 0, + 0, 0, 882, 298, 299, 317, 183, -131, -131, -131, + -131, 0, -131, -131, 271, 737, 0, 892, 403, -135, + 0, 230, 271, 318, 319, 320, 321, 0, 322, 323, + 901, 0, 0, 0, 0, 0, 1080, 0, 404, 0, + 326, 0, 230, -135, -135, -135, 0, 0, 71, 910, + 0, 0, 0, 82, 0, 0, -131, 0, 0, 0, + 112, 919, 0, -135, -135, -135, -135, 0, -135, -135, + 0, 0, -131, 0, 0, 0, -131, 0, -131, 0, + 0, 0, 225, 0, 932, 0, 240, 0, 74, 0, + 225, 0, 325, 1096, 326, 683, 0, 0, 0, 74, + 0, 0, 0, 0, 0, 0, 0, 240, 84, 0, + 0, 0, -135, 0, 0, 0, 1121, 0, 112, 0, + 0, 0, 0, 0, 0, 736, 82, 0, -135, 0, + 0, 0, -135, 82, -135, 0, 0, 0, 0, 0, + 84, 0, 0, 0, 0, 0, 464, 0, 0, 0, + 76, 0, 0, 0, 84, 0, 0, 0, 0, 0, + 0, 76, 0, -133, 0, 84, 0, 230, 0, 74, + 86, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 84, 84, 84, 84, 0, 0, 0, -133, -133, -133, + 0, 112, 0, 0, 0, 0, 0, 0, 112, 1190, + 0, 0, 86, 226, 0, 470, 0, -133, -133, -133, + -133, 226, -133, -133, 0, 0, 86, 0, 84, 0, + 0, 0, 0, 0, 0, 0, 0, 86, 1205, 298, + 299, 76, 240, 0, 0, 0, 0, 69, 84, 0, + 84, 86, 86, 86, 86, 86, 0, 0, 0, 471, + 472, 473, 474, 0, 475, 476, -133, 0, 0, 0, + 0, 0, 0, 0, 0, 227, 0, 0, 0, 69, + 0, 0, -133, 227, 0, 0, -133, 0, -133, 0, + 86, 0, 0, 69, 0, 0, 0, 0, 0, 84, + 0, 117, 0, 84, 69, 0, 0, 0, 84, 84, + 86, 0, 86, 0, 0, 0, 0, 0, 69, 69, + 69, 69, 69, 0, 0, 0, 0, 737, 478, 0, + 326, 0, 0, 117, 0, 0, 0, 0, 84, 481, + 0, 0, 84, 0, 0, 0, 0, 117, 84, 78, + 0, 0, 0, 0, 84, 84, 0, 69, 117, 0, + 78, 86, 0, 298, 299, 86, 0, 0, 0, 71, + 86, 86, 117, 117, 117, 117, 117, 69, 0, 69, + 0, 0, 0, 482, 483, 484, 485, 84, 486, 487, + 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, + 86, 71, 0, 123, 86, 0, 0, 0, 0, 0, + 86, 117, 80, 0, 0, 71, 86, 86, 0, 0, + 0, 0, 0, 80, 0, 0, 71, 0, 69, 242, + 78, 117, 69, 117, 0, 0, 0, 69, 69, 0, + 71, 71, 71, 71, 71, 0, 0, 66, 0, 86, + 242, 0, 489, 0, 326, 0, 0, 0, 0, 86, + 0, 123, 0, 297, 228, 0, 0, 69, 0, 0, + 0, 69, 228, 222, 0, 0, 0, 69, 0, 71, + 0, 0, 117, 69, 69, 0, 117, 298, 299, 467, + 74, 117, 117, 80, 222, 0, 0, 0, 0, 71, + 0, 71, 0, 0, 0, 66, 0, 300, 301, 302, + 303, 0, 304, 305, 0, 0, 69, 0, 0, 0, + 0, 117, 74, 0, 0, 117, 69, 229, 0, 0, + 0, 117, 0, 0, 123, 229, 74, 117, 117, 0, + 0, 123, 0, 0, 0, 0, 0, 74, 0, 0, + 71, 0, 76, 0, 71, 0, 306, 0, 0, 71, + 71, 74, 74, 74, 74, 74, 0, 0, 0, 0, + 117, 0, 0, 0, 0, 242, 307, 0, 66, 0, + 117, 0, 0, 0, 76, 66, 0, 0, 0, 71, + 409, 0, 0, 71, 0, 0, 0, 0, 76, 71, + 74, 0, 0, 0, 0, 71, 71, 0, 0, 76, + 0, 0, 0, 0, 298, 299, 410, 0, 0, 222, + 74, 82, 74, 76, 76, 76, 76, 76, 0, 0, + 67, 0, 82, 0, 411, 412, 413, 414, 71, 415, + 416, 0, 0, 0, 0, 470, 0, 0, 71, 0, + 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, + 0, 90, 76, 0, 0, 0, 0, 0, 0, 298, + 299, 74, 0, 0, 0, 74, 0, 223, 0, 0, + 74, 74, 76, 417, 76, 0, 112, 233, 67, 471, + 472, 473, 474, 0, 475, 476, 0, 112, 0, 418, + 0, 0, 82, 419, 316, 326, 0, 0, 268, 0, + 74, 0, 0, 0, 74, 0, 0, 0, 0, 90, + 74, 0, 0, 0, 0, 0, 74, 74, 298, 299, + 317, 0, 0, 76, 0, 0, 230, 76, 477, 0, + 0, 78, 76, 76, 230, 0, 0, 0, 318, 319, + 320, 321, 0, 322, 323, 0, 0, 0, 478, 74, + 326, 67, 0, 0, 0, 0, 0, 112, 67, 74, + 0, 0, 76, 78, 0, 0, 76, 0, 0, 0, + 0, 0, 76, 0, 0, 0, 0, 78, 76, 76, + 0, 0, 90, 0, 0, 0, 0, 324, 78, 90, + 0, 240, 223, 0, 80, 0, 0, 0, 0, 240, + 0, 0, 78, 78, 78, 78, 78, 325, 0, 326, + 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 76, 0, 647, 0, 0, 80, 0, 0, 0, + 0, 0, 425, 91, 0, 0, 0, 0, 0, 0, + 80, 78, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 80, 0, 0, 0, 0, 298, 299, 426, 234, + 0, 78, 0, 78, 0, 80, 80, 80, 80, 80, + 0, 0, 0, 0, 0, 0, 427, 428, 429, 430, + 234, 431, 432, 519, 0, 0, 0, 0, 0, 0, + 0, 91, 0, 331, 0, 0, 101, 0, 0, 0, + 0, 0, 0, 0, 80, 0, 0, 298, 299, 520, + 0, 0, 78, 0, 0, 0, 78, 298, 299, 332, + 0, 78, 78, 0, 80, 433, 80, 521, 522, 523, + 524, 0, 525, 526, 0, 0, 0, 333, 334, 335, + 336, 434, 337, 338, 0, 435, 0, 326, 0, 0, + 0, 78, 0, 0, 101, 78, 0, 0, 0, 0, + 0, 78, 0, 0, 91, 0, 0, 78, 78, 0, + 0, 91, 0, 0, 0, 80, 527, 0, 0, 80, + 0, 0, 0, 0, 80, 80, 339, 0, 0, 0, + 0, 0, 528, 0, 0, 0, 529, 331, 326, 0, + 78, 0, 0, 82, 0, 234, 340, 0, 326, 123, + 78, 0, 0, 0, 80, 0, 0, 0, 80, 0, + 123, 298, 299, 332, 80, 0, 0, 101, 0, 0, + 80, 80, 0, 0, 101, 82, 0, 0, 0, 0, + 0, 333, 334, 335, 336, 0, 337, 338, 0, 82, + 0, 0, 0, 66, 0, 0, 0, 345, 0, 0, + 82, 0, 0, 80, 66, 0, 0, 0, 112, 0, + 0, 92, 0, 80, 82, 82, 82, 82, 82, 0, + 0, 298, 299, 346, 0, 0, 0, 0, 0, 0, + 123, 0, 0, 0, 0, 0, 0, 235, 0, 0, + 112, 347, 348, 349, 350, 0, 351, 352, 0, 0, + 340, 0, 326, 82, 112, 0, 0, 0, 269, 0, + 0, 0, 0, 0, 242, 112, 0, 0, 0, 92, + 0, 0, 242, 82, 66, 82, 0, 0, 95, 112, + 112, 112, 112, 112, 0, 0, 0, 0, 0, 0, + 353, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 236, 0, 409, 0, 222, 0, + 354, 0, 326, 0, 0, 0, 222, 0, 112, 0, + 0, 0, 0, 0, 82, 236, 0, 0, 82, 0, + 298, 299, 410, 82, 82, 0, 95, 0, 112, 0, + 112, 0, 92, 0, 0, 0, 0, 0, 0, 92, + 411, 412, 413, 414, 0, 415, 416, 0, 0, 0, + 0, 0, 0, 82, 0, 0, 0, 82, 0, 0, + 0, 0, 0, 82, 0, 0, 67, 0, 0, 82, + 82, 0, 0, 269, 0, 0, 0, 67, 0, 112, + 0, 0, 0, 112, 0, 0, 0, 0, 112, 112, + 0, 0, 0, 0, 0, 0, 0, 90, 0, 95, + 0, 0, 82, 0, 0, 418, 95, 0, 90, 419, + 0, 326, 82, 0, 481, 0, 0, 0, 112, 0, + 0, 0, 112, 0, 0, 0, 0, 0, 112, 0, + 0, 0, 0, 0, 112, 112, 97, 0, 298, 299, + 236, 0, 0, 0, 0, 0, 0, 67, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 482, 483, + 484, 485, 237, 486, 487, 0, 0, 112, 0, 0, + 0, 0, 519, 0, 0, 0, 0, 112, 90, 0, + 0, 223, 0, 270, 0, 0, 0, 0, 0, 223, + 0, 0, 0, 0, 97, 0, 298, 299, 520, 99, + 0, 0, 0, 0, 0, 0, 0, 488, 0, 0, + 0, 0, 1033, 0, 0, 0, 521, 522, 523, 524, + 268, 525, 526, 0, 0, 238, 0, 489, 0, 326, + 0, 123, 0, 0, -282, -282, -282, -282, -282, -282, + -282, -282, -282, 0, 0, 0, 238, -282, -282, -282, + -282, -282, -282, -282, -282, 0, 0, 99, 0, 0, + 0, 0, 0, 123, 0, 102, 0, 97, 0, 358, + 0, 0, 0, 0, 97, 66, 0, 123, 0, 91, + 0, 528, 0, 0, 0, 529, 0, 326, 123, 0, + 91, 0, 0, 298, 299, 359, 103, 0, 0, 0, + 0, 0, 123, 123, 123, 123, 123, 66, 649, 0, + 0, 0, 0, 360, 361, 362, 363, 0, 364, 365, + 0, 66, 0, 102, 0, 0, 0, 0, 0, 0, + 99, 371, 66, 0, 0, 0, 0, 99, 0, 0, + 0, 123, 101, 0, 0, 0, 66, 66, 66, 66, + 66, 0, 0, 101, 103, 298, 299, 372, 0, 0, + 91, 123, 366, 123, 505, 0, 0, 0, 0, 0, + 0, 238, 0, 0, 0, 373, 374, 375, 376, 0, + 377, 378, 367, 0, 326, 66, 0, 0, 298, 299, + 506, 0, 0, 533, 234, 0, 102, 0, 0, 0, + 0, 0, 234, 102, 0, 66, 0, 66, 507, 508, + 509, 510, 123, 511, 512, 0, 123, 298, 299, 534, + 0, 123, 123, 101, 379, 0, 0, 103, 0, 0, + 0, 0, 0, 0, 103, 0, 0, 535, 536, 537, + 538, 0, 539, 540, 380, 0, 326, 0, 0, 0, + 0, 123, 0, 0, 0, 123, 66, 513, 67, 0, + 66, 123, 0, 0, 0, 66, 66, 123, 123, 0, + 0, 0, 0, 0, 0, 0, 0, 514, 0, 326, + 0, 0, 111, 0, 0, 0, 541, 0, 0, 90, + 67, 0, 0, 0, 0, 66, 0, 0, 0, 66, + 123, 0, 0, 0, 67, 66, 542, 0, 326, 0, + 123, 66, 66, 0, 0, 67, 0, 92, 0, 0, + 0, 90, 0, 0, 0, 0, 0, 0, 92, 67, + 67, 67, 67, 67, 0, 90, 0, 0, 0, 0, + 111, 0, 0, 0, 66, 0, 90, 345, 0, 0, + 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, + 90, 90, 90, 90, 90, 0, 0, 0, 67, 0, + 0, 298, 299, 346, 0, 0, 0, 0, 425, 0, + 0, 0, 0, 0, 95, 0, 0, 0, 67, 0, + 67, 347, 348, 349, 350, 95, 351, 352, 92, 90, + 0, 0, 298, 299, 426, 0, 0, 0, 0, 552, + 0, 0, 0, 111, 0, 0, 0, 0, 0, 90, + 111, 90, 427, 428, 429, 430, 0, 431, 432, 0, + 0, 0, 269, 298, 299, 553, 0, 0, 0, 67, + 269, 0, 0, 67, 0, 0, 0, 0, 67, 67, + 0, 0, 0, 554, 555, 556, 557, 0, 558, 559, + 354, 0, 326, 0, 0, 95, 0, 0, 0, 0, + 90, 91, 0, 0, 90, 0, 0, 0, 67, 90, + 90, 0, 67, 0, 0, 0, 0, 434, 67, 0, + 0, 435, 0, 326, 67, 67, 0, 0, 0, 236, + 0, 0, 560, 91, 0, 0, 0, 236, 0, 90, + 0, 0, 0, 90, 0, 371, 0, 91, 0, 90, + 0, 0, 561, 0, 326, 90, 90, 67, 91, 0, + 0, 0, 0, 0, 101, 0, 0, 67, 0, 298, + 299, 372, 91, 91, 91, 91, 91, 0, 0, 0, + 564, 0, 97, 0, 0, 0, 0, 0, 90, 373, + 374, 375, 376, 97, 377, 378, 101, 0, 90, 0, + 0, 0, 0, 0, 298, 299, 565, 0, 0, 0, + 101, 91, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 101, 384, 0, 566, 567, 568, 569, 0, 570, + 571, 91, 0, 91, 0, 101, 101, 101, 101, 101, + 0, 0, 0, 0, 0, 99, 298, 299, 385, 0, + 0, 0, 0, 0, 587, 0, 99, 0, 380, 0, + 326, 0, 0, 97, 0, 0, 386, 387, 388, 389, + 0, 390, 391, 572, 101, 0, 0, 0, 298, 299, + 588, 0, 91, 0, 0, 0, 91, 0, 0, 0, + 0, 91, 91, 573, 101, 326, 101, 649, 589, 590, + 591, 592, 0, 593, 594, 270, 0, 0, 0, 0, + 0, 102, 0, 0, 0, 392, 0, 0, 0, 0, + 0, 91, 102, 0, 0, 91, 99, 0, 0, 0, + 0, 91, 552, 0, 0, 393, 0, 91, 91, 92, + 0, 0, 103, 0, 0, 101, 0, 595, 0, 101, + 0, 0, 0, 103, 101, 101, 298, 299, 553, 0, + 238, 0, 0, 0, 0, 0, 0, 596, 238, 326, + 91, 92, 0, 0, 0, 0, 554, 555, 556, 557, + 91, 558, 559, 0, 101, 92, 0, 0, 101, 0, + 0, 0, 102, 0, 101, 0, 92, 0, 0, 0, + 101, 101, 0, 0, 0, 0, 95, 0, 0, 0, + 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 0, 0, 0, + 0, 657, 658, 101, 0, 659, 660, 661, 95, 0, + 587, 0, 0, 101, 0, 561, 0, 326, 493, 92, + 0, 0, 95, 662, 663, 0, 0, 0, 0, 0, + 0, 0, 664, 95, 298, 299, 588, 0, 0, 92, + 0, 92, 298, 299, 494, 0, 0, 95, 95, 95, + 95, 95, 0, 0, 589, 590, 591, 592, 0, 593, + 594, 0, 495, 496, 497, 498, 0, 499, 500, 0, + 0, 384, 0, 0, 0, 0, 0, 665, 666, 667, + 668, 669, 670, 671, 672, 673, 95, 0, 0, 0, + 92, 0, 0, 0, 92, 298, 299, 385, 111, 92, + 92, 0, 0, 0, 0, 0, 95, 0, 95, 111, + 0, 501, 145, 0, 146, 386, 387, 388, 389, 0, + 390, 391, 0, 596, 0, 326, 0, 0, 0, 92, + 0, 502, 0, 92, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 97, 92, 92, 0, 493, 0, + 659, 660, 661, 0, 0, 0, 0, 95, 0, 0, + 0, 95, 0, 0, 0, 0, 95, 95, 662, 663, + 292, 0, 298, 299, 494, 0, 97, 664, 92, 111, + 0, 0, 0, 0, 393, 0, 0, 0, 92, 0, + 97, 0, 495, 496, 497, 498, 95, 499, 500, 0, + 95, 97, 0, 0, 0, 0, 95, 99, 0, 0, + 0, 0, 95, 95, 0, 97, 97, 97, 97, 97, + 0, 0, 665, 666, 667, 668, 669, 670, 671, 672, + 673, 0, 0, 0, 0, 0, 0, 0, 0, 99, + 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, + 0, 5, 0, 99, 97, 95, 0, 158, 159, 636, + 0, 502, 0, 0, 99, 0, 0, 0, 161, 162, + 0, 163, 0, 102, 97, 165, 97, 0, 99, 99, + 99, 99, 99, 0, 0, 0, 0, 166, 0, 167, + 0, 0, 29, 30, 0, 0, 0, 32, 169, 0, + 0, 0, 0, 0, 103, 102, 170, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 99, 0, 102, + 681, 0, 0, 0, 0, 97, 0, 1099, 687, 97, + 102, 0, 0, 0, 97, 97, 103, 99, 171, 99, + 0, 0, 50, 0, 102, 102, 102, 102, 102, 0, + 103, 0, 0, 0, 0, 0, 0, 699, 0, 0, + 1100, 103, 0, 0, 97, 0, 705, 0, 97, 727, + 0, 0, 0, 0, 97, 103, 103, 103, 103, 103, + 97, 97, 0, 102, 0, 743, 0, 0, 99, 0, + 0, 0, 99, 0, 746, 0, 0, 99, 99, 0, + 0, 0, 0, 102, 0, 102, 0, 0, 0, 0, + 0, 0, 0, 97, 103, 5, 0, 0, 0, 0, + 0, 158, 159, 97, 0, 0, 0, 99, 0, 0, + 0, 99, 161, 162, 103, 163, 103, 99, 0, 165, + 0, 0, 0, 99, 99, 0, 0, 0, 0, 0, + 0, 166, 0, 167, 102, 0, 29, 30, 102, 0, + 0, 32, 169, 102, 102, 0, 0, 0, 0, 0, + 170, 0, 0, 0, 0, 0, 99, 0, 0, 40, + 41, 0, 0, 0, 0, 103, 99, 0, 0, 103, + 111, 43, 0, 102, 103, 103, 0, 102, 0, 0, + 0, 0, 171, 102, 0, 0, 50, 0, 0, 102, + 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 111, 54, 103, 0, 209, 211, 103, 0, + 0, 0, 0, 0, 103, 0, 111, 221, 0, 0, + 103, 103, 102, 0, 0, 0, 250, 111, 0, 0, + 0, 255, 102, 256, 258, 0, 0, 0, 265, 0, + 0, 111, 111, 111, 111, 111, 0, 0, 280, 0, + 0, 0, 0, 103, 0, 0, 0, 311, 0, 311, + 0, 311, 311, 103, 311, 0, 311, 0, 311, 0, + 311, 0, 311, 0, 311, 0, 311, 443, 311, 0, + 111, 0, 311, 0, 0, 311, 0, 311, 5, 311, + 0, 0, 0, 0, 158, 159, 0, 0, 0, 0, + 111, 0, 111, 0, 0, 161, 162, 311, 163, 0, + 0, 0, 165, 311, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 0, 167, 0, 0, 29, + 30, 0, 0, 0, 32, 169, 0, 0, 0, 0, + 0, 637, 637, 170, 0, 0, 0, 0, 0, 0, + 0, 111, 40, 41, 0, 111, 0, 0, 0, 0, + 111, 111, 0, 645, 43, 330, 0, 343, 344, 0, + 357, 0, 370, 0, 383, 171, 395, 0, 407, 50, + 423, 0, 439, 463, 469, 0, 0, 0, 504, 0, + 111, 518, 934, 532, 111, 546, 54, 0, 0, 0, + 111, 57, 637, 0, 0, 0, 111, 111, 688, 0, + 0, 0, 0, 577, 0, 0, 0, 0, 950, 600, + 0, 0, 0, 0, 0, 955, 0, 0, 961, 0, + 962, 0, 0, 695, 688, 637, 0, 0, 0, 111, + 0, 0, 966, 0, 0, 0, 970, 0, 0, 111, + 0, 0, 731, 735, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 988, 989, 990, 0, 0, 993, + 0, 5, 0, 0, 0, 0, 0, 158, 159, 1001, + 0, 0, 747, 748, 0, 0, 1006, 1007, 161, 162, + 1012, 163, 1015, 0, 0, 165, 280, 0, 0, 280, + 0, 0, 0, 0, 0, 0, 0, 166, 0, 167, + 0, 0, 29, 30, 280, 0, 0, 32, 169, 1026, + 0, 0, 0, 0, 0, 0, 170, 0, 308, 280, + 0, 327, 1040, 341, 0, 0, 355, 0, 368, 0, + 381, 0, 394, 280, 0, 0, 421, 43, 437, 0, + 0, 0, 479, 491, 503, 0, 280, 516, 171, 530, + 0, 544, 50, 0, 0, 0, 0, 0, 0, 280, + 0, 0, 0, 0, 562, 0, 0, 0, 0, 575, + 1166, 0, 280, 0, 0, 598, 0, 0, 0, 0, + 0, 0, 0, 280, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 657, 658, 0, 280, 659, + 660, 661, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 280, 0, 0, 662, 663, 0, + 0, 0, 0, 0, 0, 0, 664, 308, 0, 327, + 341, 355, 368, 381, 394, 0, 421, 437, 479, 491, + 503, 516, 530, 544, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 562, 0, 0, 280, 575, 0, + 598, 0, 0, 0, 0, 0, 0, 0, 280, 0, + 0, 665, 666, 667, 668, 669, 670, 671, 672, 673, + 0, 280, 0, 0, 55, 56, 0, 0, 0, 5, + 0, 7, 8, 280, 9, 158, 159, 12, 160, 0, + 0, 0, 0, 14, 15, 16, 161, 162, 280, 163, + 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 280, 0, 0, 1063, 166, 0, 167, 0, 0, + 29, 30, 0, 0, 168, 32, 169, 0, 0, 0, + 280, 0, 0, 0, 170, 0, 0, 0, 0, 0, + 0, 38, 280, 40, 41, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 280, 171, 47, 1090, 0, + 50, 0, 0, 53, 0, 0, 0, 0, 1095, 0, + 0, 0, 0, 0, 0, 0, 0, 54, 1108, 0, + 0, 0, 57, 0, 58, 0, 59, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, + 0, 158, 159, 0, 0, 1122, 0, 1124, 0, 0, + 0, 0, 161, 162, 0, 163, 0, 1133, 0, 165, + 1136, 1138, 1139, 0, 0, 0, 1142, 0, 0, 1145, + 0, 166, 0, 167, 0, 0, 29, 30, 0, 994, + 0, 32, 169, 0, 0, 0, 0, 0, 0, 0, + 170, 0, 0, 0, 0, 0, 0, 0, 1165, 0, + 735, 0, 0, 1017, 564, 0, 0, 0, 1021, 0, + 0, 43, 0, 0, 0, 0, 0, 1022, 0, 0, + 0, 0, 171, 0, 0, 0, 50, 0, 298, 299, + 565, 0, 1031, 735, 1192, 0, 0, 0, 0, 0, + 265, 1197, 0, 0, 1200, 55, 56, 0, 566, 567, + 568, 569, 0, 570, 571, 0, 0, 0, 0, 0, + 0, 0, 0, 1209, 1210, 0, -301, -301, -301, -301, + -301, -301, -301, -301, -301, 1221, 0, 0, 0, -301, + -301, -301, -301, -301, -301, -301, -301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, - 241, 79, 77, 93, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 92, 0, 79, 0, 0, 0, 0, - 92, 386, 77, 81, 77, 0, 79, 0, 0, 236, - 102, 0, 102, 0, 0, 0, 0, 0, 0, 0, - 79, 79, 79, 79, 79, 300, 301, 387, 0, 0, - 270, 0, 0, 103, 235, 81, 0, 0, 0, 0, - 0, 93, 0, 0, 0, 388, 389, 390, 391, 81, - 392, 393, 0, 77, 0, 0, 0, 77, 0, 79, - 81, 102, 77, 77, 0, 102, 0, 0, 0, 0, - 102, 102, 124, 0, 81, 81, 81, 81, 81, 79, - 0, 79, 0, 124, 0, 0, 0, 0, 0, 0, - 0, 103, 77, 0, 394, 0, 77, 0, 0, 0, - 102, 0, 77, 0, 102, 0, 0, 0, 77, 77, - 102, 0, 0, 81, 395, 93, 102, 102, 0, 0, - 0, 0, 93, 0, 96, 0, 0, 0, 0, 0, - 79, 0, 0, 81, 79, 81, 0, 0, 0, 79, - 79, 77, 0, 0, 0, 0, 0, 0, 0, 102, - 237, 77, 0, 124, 0, 0, 270, 0, 0, 102, - 0, 0, 0, 0, 0, 103, 0, 0, 0, 79, - 0, 237, 103, 79, 0, 0, 0, 0, 0, 79, - 83, 0, 96, 0, 81, 79, 79, 243, 81, 0, - 0, 0, 0, 81, 81, 243, 0, 0, 0, 0, - 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 83, 0, 0, 0, 0, 0, 79, 0, - 0, 333, 0, 81, 0, 0, 83, 81, 79, 0, - 0, 0, 0, 81, 0, 0, 0, 83, 0, 81, - 81, 0, 0, 0, 0, 300, 301, 334, 0, 113, - 0, 83, 83, 83, 83, 83, 96, 0, 0, 104, - 0, 0, 0, 96, 0, 335, 336, 337, 338, 0, - 339, 340, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 113, 81, 0, 0, 0, 0, 0, 0, 0, - 83, 0, 0, 0, 0, 113, 0, 237, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, - 83, 0, 83, 0, 341, 0, 0, 0, 67, 0, - 113, 113, 113, 113, 113, 0, 0, 0, 0, 67, - 0, 0, 0, 104, 342, 0, 328, 68, 0, 0, - 104, 0, 347, 98, 0, 0, 0, 0, 68, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, - 0, 83, 0, 0, 0, 83, 300, 301, 348, 238, - 83, 83, 0, 0, 0, 0, 0, 0, 0, 113, - 0, 113, 411, 0, 0, 91, 349, 350, 351, 352, - 271, 353, 354, 0, 0, 0, 91, 0, 360, 67, - 83, 98, 0, 0, 83, 0, 300, 301, 412, 0, - 83, 0, 0, 0, 0, 0, 83, 83, 68, 0, - 0, 0, 300, 301, 361, 0, 413, 414, 415, 416, - 113, 417, 418, 223, 113, 355, 0, 0, 0, 113, - 113, 223, 362, 363, 364, 365, 0, 366, 367, 83, - 0, 0, 224, 0, 0, 356, 0, 328, 0, 83, - 224, 0, 0, 0, 124, 112, 91, 0, 0, 113, - 0, 0, 0, 113, 0, 98, 0, 0, 92, 113, - 0, 0, 98, 0, 0, 113, 113, 0, 0, 92, - 0, 368, 420, 0, 0, 421, 124, 328, 0, 0, - 1034, 0, 0, 0, 0, 373, 0, 0, 269, 0, - 124, 369, 0, 328, 0, 0, 650, 0, 113, 100, - 0, 124, 0, 112, 0, 0, 0, 0, 113, 300, - 301, 374, 0, 0, 0, 124, 124, 124, 124, 124, - 0, 0, 0, 0, 0, 239, 0, 0, 0, 375, - 376, 377, 378, 0, 379, 380, 0, 0, 0, 92, - 0, 0, 0, 507, 0, 0, 239, 0, 0, 0, - 0, 0, 0, 0, 124, 0, 0, 100, 398, 0, - 0, 0, 0, 0, 0, 0, 0, 300, 301, 508, - 535, 0, 0, 235, 124, 0, 124, 112, 381, 0, - 93, 235, 300, 301, 112, 0, 0, 509, 510, 511, - 512, 93, 513, 514, 300, 301, 536, 0, 382, 472, - 328, 0, 399, 400, 401, 402, 0, 403, 404, 0, - 0, 0, 0, 0, 537, 538, 539, 540, 0, 541, - 542, 0, 0, 300, 301, 124, 0, 0, 0, 124, - 103, 100, 0, 0, 124, 124, 515, 0, 100, 0, - 0, 103, 0, 473, 474, 475, 476, 0, 477, 478, - 0, 405, 0, 0, 0, 0, 516, 0, 328, 0, - 0, 93, 0, 543, 124, 0, 0, 0, 124, 0, - 0, 406, 239, 328, 124, 0, 0, 0, 0, 0, - 124, 124, 0, 544, 0, 328, 0, 0, 0, 0, - 67, 0, 479, 554, 0, 270, 0, 0, 0, 0, - 0, 0, 0, 270, 0, 0, 0, 0, 0, 68, - 0, 103, 480, 124, 328, 0, 0, 300, 301, 555, - 0, 96, 67, 124, 0, 566, 0, 0, 0, 0, - 0, 0, 96, 0, 0, 0, 67, 556, 557, 558, - 559, 68, 560, 561, 0, 0, 0, 67, 0, 300, - 301, 567, 0, 0, 0, 68, 0, 91, 0, 0, - 0, 67, 67, 67, 67, 67, 68, 0, 0, 568, - 569, 570, 571, 0, 572, 573, 0, 0, 0, 0, - 68, 68, 68, 68, 68, 0, 562, 0, 0, 91, - 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, - 67, 0, 96, 91, 0, 0, 563, 0, 328, 104, - 0, 0, 0, 0, 91, 0, 0, 0, 574, 68, - 67, 0, 67, 0, 0, 0, 0, 0, 91, 91, - 91, 91, 91, 0, 0, 0, 237, 0, 575, 68, - 328, 68, 0, 0, 237, 0, 0, 0, 0, 0, - 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, - 0, 67, 0, 0, 0, 67, 0, 0, 0, 104, - 67, 67, 92, 0, 0, 0, 0, 91, 0, 91, - 68, 0, 0, 0, 68, 0, 92, 0, 0, 68, - 68, 0, 0, 0, 0, 0, 0, 92, 0, 0, - 67, 0, 0, 0, 67, 0, 0, 0, 0, 0, - 67, 92, 92, 92, 92, 92, 67, 67, 0, 68, - 0, 0, 0, 68, 0, 0, 0, 0, 91, 68, - 98, 0, 91, 0, 0, 68, 68, 91, 91, 0, - 0, 98, 0, 0, 0, 0, 0, 0, 0, 67, - 92, 0, 0, 0, 0, 495, 0, 0, 0, 67, - 0, 0, 93, 0, 0, 0, 0, 91, 68, 0, - 92, 91, 92, 0, 0, 0, 0, 91, 68, 300, - 301, 496, 0, 91, 91, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 93, 0, 0, 0, 0, 497, - 498, 499, 500, 0, 501, 502, 0, 0, 93, 0, - 0, 98, 103, 0, 0, 0, 91, 0, 0, 93, - 0, 92, 0, 0, 0, 92, 91, 0, 0, 0, - 92, 92, 0, 93, 93, 93, 93, 93, 0, 0, - 0, 0, 0, 0, 103, 650, 0, 0, 503, 0, - 0, 0, 112, 271, 0, 589, 0, 0, 103, 0, - 92, 0, 0, 112, 92, 0, 0, 0, 504, 103, - 92, 0, 93, 0, 0, 0, 92, 92, 0, 300, - 301, 590, 0, 103, 103, 103, 103, 103, 0, 0, - 0, 0, 93, 0, 93, 0, 0, 0, 0, 591, - 592, 593, 594, 96, 595, 596, 100, 0, 0, 92, - 0, 0, 0, 0, 0, 0, 0, 100, 0, 92, - 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 112, 0, 96, 0, 0, 0, 0, - 0, 0, 103, 93, 103, 0, 0, 93, 597, 96, - 0, 0, 93, 93, 0, 0, 0, 146, 0, 147, - 96, 0, 0, 0, 0, 0, 0, 0, 598, 0, - 328, 0, 0, 0, 96, 96, 96, 96, 96, 0, - 104, 0, 93, 0, 0, 0, 93, 100, 0, 0, - 0, 0, 93, 103, 0, 0, 0, 103, 93, 93, - 0, 0, 103, 103, 0, 0, 0, 0, 0, 0, - 0, 0, 104, 96, 0, 294, 0, 0, 0, 427, - 0, 239, 0, 0, 0, 0, 104, 0, 0, 239, - 0, 93, 103, 96, 0, 96, 103, 104, 0, 0, - 0, 93, 103, 300, 301, 428, 0, 0, 103, 103, - 0, 104, 104, 104, 104, 104, 0, 0, 0, 0, - 0, 0, 0, 429, 430, 431, 432, 0, 433, 434, - 0, 483, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 103, 0, 0, 96, 0, 0, 0, 96, 0, - 104, 103, 0, 96, 96, 300, 301, 0, 0, 0, - 0, 0, 0, 0, 0, 637, 0, 0, 0, 0, - 104, 0, 104, 0, 0, 484, 485, 486, 487, 0, - 488, 489, 98, 96, 0, 0, 0, 96, 0, 436, - 0, 0, 437, 96, 328, 0, 0, 0, 0, 96, - 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, - 0, 104, 0, 0, 490, 104, 682, 0, 98, 0, - 104, 104, 96, 0, 688, 0, 0, 0, 0, 98, - 0, 0, 96, 0, 491, 0, 328, 0, 0, 0, - 0, 0, 0, 98, 98, 98, 98, 98, 0, 0, - 104, 0, 0, 700, 104, 0, 0, 0, 0, 0, - 104, 318, 706, 0, 0, 728, 104, 104, 0, 0, - 0, 333, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 744, 98, 0, 0, 300, 301, 319, 347, 0, - 747, 0, 0, 0, 112, 300, 301, 334, 0, 104, - 0, 0, 98, 0, 98, 320, 321, 322, 323, 104, - 324, 325, 300, 301, 348, 335, 336, 337, 338, 0, - 339, 340, 0, 0, 0, 0, 112, 0, 0, 0, - 0, 0, 349, 350, 351, 352, 0, 353, 354, 0, - 112, 0, 0, 0, 0, 0, 0, 0, 100, 0, - 0, 112, 0, 98, 0, 0, 0, 98, 0, 0, - 0, 0, 98, 98, 0, 112, 112, 112, 112, 112, - 0, 0, 0, 0, 327, 0, 328, 0, 0, 0, - 100, 0, 0, 0, 342, 0, 328, 0, 373, 0, - 0, 0, 98, 0, 100, 0, 98, 0, 0, 0, - 0, 356, 98, 328, 112, 100, 0, 0, 98, 98, - 0, 0, 300, 301, 374, 0, 0, 0, 0, 100, - 100, 100, 100, 100, 112, 0, 112, 0, 0, 0, - 0, 0, 375, 376, 377, 378, 0, 379, 380, 210, - 212, 98, 0, 0, 0, 0, 0, 0, 0, 0, - 222, 98, 0, 0, 0, 0, 0, 0, 100, 251, - 0, 0, 0, 0, 256, 0, 257, 259, 0, 0, - 0, 266, 0, 0, 0, 112, 0, 0, 100, 112, - 100, 281, 0, 0, 112, 112, 0, 0, 0, 0, - 0, 313, 0, 313, 0, 313, 313, 0, 313, 0, - 313, 382, 313, 328, 313, 0, 313, 0, 313, 0, - 313, 445, 313, 0, 112, 0, 313, 0, 112, 313, - 554, 313, 0, 313, 112, 0, 0, 0, 0, 100, - 112, 112, 0, 100, 0, 0, 0, 0, 100, 100, - 0, 313, 0, 0, 300, 301, 555, 313, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, - 0, 0, 0, 112, 556, 557, 558, 559, 100, 560, - 561, 0, 100, 112, 0, 638, 638, 0, 100, 0, - 0, 300, 301, 590, 100, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 646, 0, 0, - 0, 591, 592, 593, 594, 0, 595, 596, 0, 935, - 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, - 0, 0, 0, 563, 951, 328, 638, 0, 0, 0, - 0, 956, 689, 658, 962, 0, 963, 660, 661, 662, - 0, 0, 0, 0, 0, 0, 0, 0, 967, 0, - 0, 0, 971, 0, 0, 663, 664, 696, 689, 638, - 598, 0, 328, 0, 665, 0, 0, 0, 0, 0, - 989, 990, 991, 0, 0, 994, 732, 736, 0, 0, - 0, 0, 0, 0, 0, 1002, 0, 0, 0, 0, - 0, 0, 1007, 1008, 0, 0, 1013, 0, 1016, 0, - 0, 0, 0, 0, 0, 0, 0, 748, 749, 666, - 667, 668, 669, 670, 671, 672, 673, 674, 0, 0, - 0, 281, 0, 0, 281, 1027, 0, 0, 0, 0, - 0, 0, 310, 0, 0, 329, 0, 343, 1041, 281, - 357, 0, 370, 0, 383, 0, 396, 0, 0, 0, - 423, 0, 439, 0, 281, 0, 481, 493, 505, 0, - 0, 518, 0, 532, 0, 546, 0, 0, 281, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 564, 0, - 0, 281, 0, 577, 0, 0, 0, 0, 0, 600, - 0, 0, 0, 0, 281, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 281, 0, 0, - 0, 0, 332, 0, 345, 346, 0, 359, 281, 372, - 0, 385, 0, 397, 0, 409, 0, 425, 0, 441, - 465, 471, 0, 281, 0, 506, 0, 0, 520, 0, - 534, 310, 548, 329, 343, 357, 370, 383, 396, 281, - 423, 439, 481, 493, 505, 518, 532, 546, 5, 0, - 579, 0, 0, 0, 159, 160, 602, 0, 564, 0, - 0, 0, 577, 0, 600, 162, 163, 0, 164, 0, - 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, - 0, 5, 281, 0, 167, 0, 168, 159, 160, 29, - 30, 0, 0, 281, 32, 170, 0, 0, 162, 163, - 0, 164, 0, 171, 0, 166, 281, 0, 0, 0, - 0, 0, 40, 41, 0, 0, 0, 167, 281, 168, - 0, 0, 29, 30, 43, 0, 0, 32, 170, 0, - 1064, 0, 0, 281, 0, 172, 171, 0, 0, 50, - 0, 0, 0, 0, 0, 0, 281, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 54, 43, 0, 0, - 0, 0, 57, 0, 0, 281, 0, 0, 172, 0, - 0, 0, 50, 5, 0, 7, 8, 281, 9, 159, - 160, 12, 161, 0, 1091, 0, 0, 14, 15, 16, - 162, 163, 0, 164, 1096, 0, 165, 166, 0, 0, - 281, 22, 23, 0, 1109, 0, 0, 0, 0, 167, - 0, 168, 0, 0, 29, 30, 0, 0, 169, 32, - 170, 0, 0, 0, 0, 0, 0, 0, 171, 0, - 0, 1123, 0, 1125, 0, 38, 0, 40, 41, 0, - 0, 0, 0, 1134, 0, 0, 1137, 1139, 1140, 43, - 0, 0, 1143, 0, 0, 1146, 0, 0, 0, 0, - 172, 47, 0, 0, 50, 0, 0, 53, 0, 0, - 0, 0, 0, 0, 173, 174, 0, 0, 0, 0, - 0, 54, 734, 995, 1166, 735, 0, 57, 58, 0, - 59, 0, 0, 5, 0, 0, 0, 0, 0, 159, - 160, 0, 0, 0, 736, 0, 0, 1018, 0, 0, - 162, 163, 1022, 164, 0, 0, 0, 166, 0, 0, - 1193, 1023, 0, 0, 0, 0, 0, 1198, 0, 167, - 1201, 168, 0, 0, 29, 30, 1032, 736, 0, 32, - 170, 0, 0, 0, 266, 0, 0, 0, 171, 1210, - 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1222, 0, 0, 0, 0, 0, 0, 0, 43, + 0, 0, 1240, 0, 0, 0, 0, 0, 0, 0, + -759, -759, -759, 0, 0, 1253, 0, 573, 0, 326, + 0, 0, 0, 0, 1258, 1259, 0, 0, 1262, 0, + 0, 1264, 1265, 0, -3, 284, 0, -33, -33, 5, + 6, 7, 8, 0, 9, 10, 11, 12, 13, 0, + 0, 0, 0, 14, 15, 16, 17, 18, 19, 20, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 1281, + 24, 0, 0, 0, 0, 25, 26, 27, 28, 0, + 29, 30, 0, 0, 31, 32, 33, 0, 0, 0, + 0, 0, 0, 0, 34, 35, 36, 0, 0, 37, + 0, 38, 39, 40, 41, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 42, 43, 44, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 46, 47, 48, 49, + 50, 51, 52, 53, 0, 0, 0, 0, 0, 1060, + 1061, 0, 0, 0, 0, 0, 0, 54, 0, 55, + 56, 0, 57, 0, 58, 0, 59, 0, 0, 637, + 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, + 216, 217, 706, 707, 708, 709, 710, 711, 712, 713, + 714, 0, 0, 0, 0, 715, 716, 717, 718, 719, + 720, 721, 722, 0, 0, 0, 637, 0, 0, 1091, + 275, 0, 0, 1093, 1094, 0, 0, 0, 0, 575, + 0, 0, 0, 0, 0, 1101, 0, 1017, 0, 0, + 0, 0, 1109, 1101, 0, 956, 0, 0, 1115, 0, + 0, 0, 0, 0, 0, 735, 0, 0, 0, 0, + 0, 5, 0, 7, 8, 0, 9, 158, 159, 12, + 160, 0, 0, 0, 0, 14, 15, 16, 161, 162, + 0, 163, 0, 0, 164, 165, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 166, 0, 167, + 0, 0, 29, 30, 628, 0, 168, 32, 169, 0, + 0, 0, 0, 0, 0, 635, 170, 0, 1167, 1168, + 0, 0, 0, 38, 0, 40, 41, 0, 0, 0, + 0, 0, 642, 0, 0, 0, 0, 43, 0, 0, + 643, 644, 1188, 0, 1188, 0, 0, 0, 171, 47, + 0, 0, 50, 0, 1188, 53, 1188, 0, 0, 0, + 0, 0, 172, 173, 0, 0, 0, 0, 0, 54, + 733, 0, 0, 734, 57, 0, 58, 657, 59, 0, + 1207, 659, 660, 661, 0, 1211, 0, 0, 0, 0, + 1217, 0, 0, 1109, 0, 0, 0, 0, 0, 662, + 663, 0, 0, 0, 0, 0, 0, 0, 664, 0, + 0, 0, 0, 0, 0, 0, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 172, 0, 0, 0, 50, 0, 0, 0, 1241, 0, + 0, 0, 193, 0, 0, 1254, 0, 0, 1257, 0, + 0, 0, 742, 0, 0, 1261, 0, 0, 0, 0, + 0, 0, 0, 665, 666, 667, 668, 669, 670, 671, + 672, 673, 0, 0, 0, 750, 0, 0, 751, 752, + 753, 754, 755, 756, 757, 1277, 0, 759, 0, 0, + 0, 0, 0, 0, 761, 0, 762, 763, 764, 765, + 766, 767, 768, 0, 770, 0, 0, 0, 0, 773, + 0, 774, 775, 776, 777, 778, 779, 780, 0, 0, + 0, 1296, 1297, 782, 0, 783, 784, 785, 786, 787, + 788, 789, 0, 0, 0, 0, 791, 0, 792, 793, + 794, 795, 796, 797, 798, 0, 0, 0, 0, 800, + 0, 801, 802, 803, 804, 805, 806, 807, 0, 0, + 0, 0, 809, 0, 810, 811, 812, 813, 814, 815, + 816, 0, 0, 0, 818, 819, 820, 821, 822, 823, + 824, 825, 0, 0, 0, 0, 0, 827, 0, 828, + 829, 830, 831, 832, 833, 834, 0, 0, 0, 0, + 0, 0, 0, 837, 0, 838, 839, 840, 841, 842, + 843, 844, 0, 0, 0, 0, 0, 0, 0, 0, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 0, + 0, 0, 0, 715, 716, 717, 718, 719, 720, 721, + 722, 0, 0, 0, 0, 0, 0, 0, 847, 848, + 849, 850, 851, 852, 853, 854, 0, 0, 0, 856, + 857, 858, 859, 860, 861, 862, 863, 1213, 0, 0, + 0, 865, 0, 866, 867, 868, 869, 870, 871, 872, + 0, 0, 0, 874, 0, 875, 876, 877, 878, 879, + 880, 881, 0, 0, 0, 0, 0, 883, 0, 884, + 885, 886, 887, 888, 889, 890, 0, 0, 0, 0, + 0, 893, 0, 894, 895, 896, 897, 898, 899, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1254, 0, 55, 56, 0, 0, 0, 0, 0, - 1259, 1260, 0, 0, 1263, 0, 0, 1265, 1266, 0, - -3, 285, 0, -38, -38, 5, 6, 7, 8, 0, - 9, 10, 11, 12, 13, 0, 0, 0, 0, 14, - 15, 16, 17, 18, 19, 20, 0, 0, 0, 21, - 0, 0, 0, 22, 23, 1282, 24, 0, 0, 0, - 0, 25, 26, 27, 28, 0, 29, 30, 0, 0, - 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, - 34, 35, 36, 0, 0, 37, 0, 38, 39, 40, - 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 42, 43, 44, 45, 0, 566, 0, 0, 0, 0, - 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, - 301, 567, 0, 54, 0, 55, 56, 0, 0, 57, - 58, 0, 59, 1061, 1062, 0, 0, 0, 0, 568, - 569, 570, 571, 0, 572, 573, 0, 0, 0, 0, - 0, 0, 0, 638, 0, 0, 0, -302, -302, -302, - -302, -302, -302, -302, -302, -302, 0, 0, 0, 0, - -302, -302, -302, -302, -302, -302, -302, -302, 0, 0, - 0, 0, 194, 577, 0, 0, 660, 661, 662, 0, - 638, 217, 218, 1092, 0, 0, 0, 1094, 1095, 0, - 0, -760, -760, -760, 663, 664, 0, 0, 575, 1102, - 328, 1018, 0, 665, 0, 0, 1110, 1102, 0, 0, - 0, 276, 1116, 0, 0, 0, 0, 0, 0, 736, - 0, 0, 5, 0, 7, 8, 0, 9, 159, 160, - 12, 161, 0, 0, 0, 0, 14, 15, 16, 162, - 163, 0, 164, 0, 0, 0, 166, 0, 666, 667, - 668, 669, 670, 671, 672, 673, 674, 0, 167, 0, - 168, 0, 0, 29, 30, 0, 0, 169, 32, 170, - 0, 0, 0, 0, 0, 0, 0, 171, 0, 0, - 0, 0, 1168, 1169, 38, 0, 40, 41, 0, 0, - 0, 0, 0, 0, 0, 0, 629, 0, 43, 0, - 0, 521, 0, 0, 0, 0, 1189, 636, 1189, 172, - 47, 0, 0, 50, 0, 0, 53, 0, 1189, 0, - 1189, 0, 0, 0, 643, 300, 301, 522, 0, 0, - 54, 0, 644, 645, 0, 0, 57, 58, 0, 59, - 0, 0, 0, 0, 1208, 523, 524, 525, 526, 1212, - 527, 528, 0, 0, 1218, 0, 0, 1110, 0, 0, - 0, 0, 0, -283, -283, -283, -283, -283, -283, -283, - -283, -283, 0, 0, 0, 0, -283, -283, -283, -283, - -283, -283, -283, -283, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1255, - 0, 0, 1258, 0, 0, 0, 0, 0, 701, 1262, - 0, 530, 0, 0, 531, 0, 328, 0, 0, 0, - 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 743, 0, 0, 0, 0, 1278, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 751, 0, - 0, 752, 753, 754, 755, 756, 757, 758, 0, 0, - 760, 0, 0, 0, 0, 1297, 1298, 762, 0, 763, - 764, 765, 766, 767, 768, 769, 0, 771, 0, 0, - 0, 0, 774, 0, 775, 776, 777, 778, 779, 780, - 781, 0, 0, 0, 0, 0, 783, 0, 784, 785, - 786, 787, 788, 789, 790, 0, 0, 0, 0, 792, - 0, 793, 794, 795, 796, 797, 798, 799, 0, 0, - 0, 0, 801, 0, 802, 803, 804, 805, 806, 807, - 808, 0, 0, 0, 0, 810, 0, 811, 812, 813, - 814, 815, 816, 817, 0, 0, 0, 819, 820, 821, - 822, 823, 824, 825, 826, 0, 0, 0, 0, 0, - 828, 0, 829, 830, 831, 832, 833, 834, 835, 0, - 0, 0, 0, 0, 0, 0, 838, 0, 839, 840, - 841, 842, 843, 844, 845, 0, 0, 707, 708, 709, - 710, 711, 712, 713, 714, 715, 0, 0, 0, 0, - 716, 717, 718, 719, 720, 721, 722, 723, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 848, 849, 850, 851, 852, 853, 854, 855, 0, - 0, 0, 857, 858, 859, 860, 861, 862, 863, 864, - 957, 0, 0, 0, 866, 0, 867, 868, 869, 870, - 871, 872, 873, 0, 0, 0, 875, 0, 876, 877, - 878, 879, 880, 881, 882, 0, 0, 0, 0, 0, - 884, 0, 885, 886, 887, 888, 889, 890, 891, 0, - 0, 0, 0, 0, 894, 0, 895, 896, 897, 898, - 899, 900, 901, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 903, 0, 904, 905, 906, 907, 908, - 909, 910, 398, 0, 0, 912, 0, 913, 914, 915, - 916, 917, 918, 919, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 300, 301, 925, 0, - 926, 927, 928, 929, 930, 931, 932, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 399, 400, 401, 402, - 0, 403, 404, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -300, -300, -300, -300, -300, -300, - -300, -300, -300, 0, 0, 0, 0, -300, -300, -300, - -300, -300, -300, -300, -300, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 972, 973, 974, - 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, - 985, 986, 987, 988, 330, 406, 344, 328, 0, 358, - 0, 371, 0, 384, 0, 0, 0, 408, 0, 0, - 0, 440, 0, 1003, 0, 482, 494, 0, 0, 398, - 519, 194, 533, 0, 547, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 565, 0, 0, - 0, 0, 578, 300, 301, 0, 0, 0, 601, 0, - 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, - 1038, 0, 0, 399, 400, 401, 402, 0, 403, 404, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -300, -300, -300, -300, -300, -300, -300, -300, -300, - 0, 1052, 0, 0, -300, -300, -300, -300, -300, -300, - -300, -300, 330, 344, 358, 371, 384, 0, 408, 0, - 440, 482, 494, 0, 519, 533, 547, 0, 0, 0, - 0, 0, 0, 0, 0, -643, -643, 565, 0, 0, - 0, 578, 406, 601, 328, 0, 0, 0, 0, 408, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, - 344, 358, 371, 384, 0, 408, 0, 440, 482, 494, - 0, 519, 533, 547, 0, 565, 578, 601, 707, 708, - 709, 710, 711, 712, 713, 714, 715, 0, 0, 0, - 0, 716, 717, 718, 719, 720, 721, 722, 723, 0, - 0, 0, 440, 482, 0, 533, 578, 0, 4, 0, - -38, -38, 5, 6, 7, 8, 0, 9, 10, 11, - 12, 13, 0, 0, 0, 0, 14, 15, 16, 17, - 18, 19, 20, 0, 0, 0, 21, 0, 0, 0, - 22, 23, 0, 24, 0, 0, 0, 0, 25, 26, - 27, 28, 0, 29, 30, 0, 0, 31, 32, 33, - 0, 0, 0, 0, 0, 1058, 0, 34, 35, 36, - 0, 0, 37, 1063, 38, 39, 40, 41, 0, 0, - 0, 1069, 0, 0, 0, 0, 1074, 42, 43, 44, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 46, - 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 0, 55, 56, 0, 0, 57, 58, 0, 59, - 707, 708, 709, 710, 711, 712, 713, 714, 715, 0, - 0, 0, 0, 716, 717, 718, 719, 720, 721, 722, - 723, 0, 0, 0, 0, 5, 0, 1114, 0, 0, - 1114, 159, 160, 0, 0, 0, 194, 0, 0, 0, - 0, 0, 162, 163, 0, 164, 0, 0, 1214, 166, - 0, 0, 1129, 0, 0, 0, 0, 0, 1135, 0, - 384, 167, 0, 168, 1142, 0, 29, 30, 0, 0, - 1147, 32, 170, 0, 0, 0, 0, 1149, 0, 0, - 171, 0, 0, 0, 0, 0, 0, 1157, 0, -114, - -114, 5, 6, 7, 8, 0, 9, 159, 611, 12, - 13, 1100, 0, 0, 0, 14, 15, 16, 17, 18, - 612, 613, 172, 0, 0, 21, 50, 0, 1182, 22, - 23, 0, 24, 0, 0, 0, 0, 167, 26, 27, - 28, 0, 29, 30, 1101, 0, 169, 32, 170, 0, - 0, 0, 0, 0, 0, 0, 34, 35, 36, 1205, - 0, 37, 0, 38, 39, 40, 41, 0, 1207, 0, + 902, 0, 903, 904, 905, 906, 907, 908, 909, 0, + 0, 0, 911, 0, 912, 913, 914, 915, 916, 917, + 918, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 924, 0, 925, 926, 927, + 928, 929, 930, 931, 328, 0, 342, 0, 0, 356, + 0, 369, 0, 382, 657, 658, 0, 406, 659, 660, + 661, 438, 0, 0, 0, 480, 492, 0, 0, 0, + 517, 0, 531, 0, 545, 1243, 662, 663, 0, 0, + 0, 0, 0, 0, 0, 664, 0, 563, 0, 0, + 0, 0, 576, 0, 0, 0, 0, 0, 599, 0, + 0, 0, 0, 0, 0, 971, 972, 973, 974, 975, + 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, + 986, 987, 0, 0, 0, 0, 0, 0, 0, 0, + 665, 666, 667, 668, 669, 670, 671, 672, 673, 0, + 0, 1002, 0, 0, 0, 0, 0, 0, 0, 193, + 0, 0, 328, 342, 356, 369, 382, 0, 406, 0, + 438, 480, 492, 0, 517, 531, 545, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 563, 0, 0, + 0, 576, 193, 599, 0, 0, 0, 0, 1037, 406, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, + 342, 356, 369, 382, 0, 406, 0, 438, 480, 492, + 0, 517, 531, 545, 0, 563, 576, 599, 0, 1051, + 706, 707, 708, 709, 710, 711, 712, 713, 714, 0, + 0, 0, 0, 715, 716, 717, 718, 719, 720, 721, + 722, 0, 438, 480, 0, 531, 576, 609, 0, -113, + -113, 5, 6, 7, 8, 0, 9, 158, 610, 12, + 13, -638, -638, -638, -638, 14, 15, 16, 17, 18, + 611, 612, 0, 0, 0, 21, 0, 0, 0, 22, + 23, 0, 24, -638, -638, -638, -638, 166, 26, 27, + 28, -638, 29, 30, 0, 0, 168, 32, 169, 0, + 0, 0, 0, 0, 0, 0, 34, 35, 36, -638, + -638, 37, 0, 38, 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 44, 45, - 0, 0, 0, 0, 0, 0, 0, 1224, 172, 47, + 0, 0, 0, 0, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, - 0, 55, 56, 1242, 0, 57, 58, 0, 59, 0, + 0, 55, 56, 0, 57, 0, 58, 0, 59, 0, + 0, 0, 5, 0, 7, 8, 0, 9, 158, 159, + 12, 160, 0, 1057, 0, 0, 14, 15, 16, 161, + 162, 1062, 163, 0, 0, 164, 165, 0, 0, 1068, + 22, 23, 0, 0, 1073, 0, 0, 0, 166, 0, + 167, 0, 0, 29, 30, 0, 0, 168, 32, 169, + 0, 0, 0, 0, 0, 0, 0, 170, 0, 382, + 0, 0, 0, 0, 38, 0, 40, 41, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, + 47, 0, 0, 50, 0, 0, 53, 0, 0, 0, + 0, 0, 0, 172, 173, 1113, 0, 0, 1113, 0, + 54, 174, 0, 0, 193, 57, 0, 58, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 6, 7, 8, 0, 9, 159, 611, 12, 13, - 0, 0, -638, -638, 14, 15, 16, 17, 18, 612, - 613, 0, 0, 1269, 21, 0, 0, 0, 22, 23, - 0, 24, 482, 0, 533, 0, 167, 26, 27, 28, - 0, 29, 30, 0, 0, 169, 32, 170, 0, 0, - 0, 0, 0, 0, 0, 34, 35, 36, 0, 0, - 37, 0, 38, 39, 40, 41, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 42, 43, 44, 45, 0, - 0, 0, 0, 0, 0, 0, 0, 172, 47, 48, - 49, 50, 51, 52, 53, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, - 55, 56, 0, 0, 57, 58, 0, 59, 5, 6, - 7, 8, 578, 9, 159, 611, 12, 13, 0, 0, - -638, 0, 14, 15, 16, 17, 18, 612, 613, 0, - 0, 0, 21, 0, 0, 0, 22, 23, 0, 24, - 0, 0, 0, -638, 167, 26, 27, 28, 0, 29, - 30, 0, 0, 169, 32, 170, 0, 0, 0, 0, - 0, 0, 0, 34, 35, 36, 0, 0, 37, 0, - 38, 39, 40, 41, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 42, 43, 44, 45, 0, 0, 0, - 0, 0, 0, 0, 0, 172, 47, 48, 49, 50, - 51, 52, 53, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 54, 0, 55, 56, - 0, 0, 57, 58, 0, 59, 5, 6, 7, 8, - 0, 9, 159, 611, 12, 13, 0, 0, -638, 0, - 14, 15, 16, 17, 18, 612, 613, 0, 0, 0, - 21, 0, 0, 0, 22, 23, 0, 24, 0, 0, - 0, 0, 167, 26, 27, 28, -638, 29, 30, 0, - 0, 169, 32, 170, 0, 0, 0, 0, 0, 0, - 0, 34, 35, 36, 0, 0, 37, 0, 38, 39, - 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 42, 43, 44, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 172, 47, 48, 49, 50, 51, 52, - 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 54, 0, 55, 56, 0, 0, - 57, 58, 0, 59, 0, 0, 0, 5, 6, 7, - 8, 0, 9, 159, 611, 12, 13, 0, 0, 1185, - 0, 14, 15, 16, 17, 18, 612, 613, 0, 0, - 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, - 0, 0, 0, 167, 26, 27, 28, 0, 29, 30, - 0, 0, 169, 32, 170, 0, 0, 0, 0, 0, - 0, 0, 34, 35, 36, 0, 0, 37, 482, 38, + 1128, 0, 0, 0, 0, 0, 1134, 0, 0, 0, + 0, 0, 1141, 0, 0, 0, 0, 0, 1146, 0, + 0, 0, 0, 0, 0, 1148, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1156, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 609, + 0, -113, -113, 5, 6, 7, 8, 0, 9, 158, + 610, 12, 13, 0, 0, -672, 1181, 14, 15, 16, + 17, 18, 611, 612, 0, 0, 0, 21, 0, 0, + 0, 22, 23, 0, 24, -672, -672, -672, 0, 166, + 26, 27, 28, 0, 29, 30, 0, 1204, 168, 32, + 169, 0, 0, 0, 0, 0, 1206, 0, 34, 35, + 36, 0, 0, 37, 0, 38, 39, 40, 41, 0, + 0, 0, 480, 0, 531, 1223, 0, 0, 42, 43, + 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, + 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, + 0, 1241, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 54, 0, 55, 56, 0, 57, 0, 58, 0, + 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 609, 0, -113, -113, 5, 6, 7, + 8, 1268, 9, 158, 610, 12, 13, 0, 0, -673, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 576, 0, 0, 22, 23, 0, 24, -673, + -673, -673, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, - 0, 0, 0, 0, 172, 47, 48, 49, 50, 51, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, - 0, 57, 58, 0, 59, 5, 6, 7, 8, 0, - 9, 159, 611, 12, 13, 0, 0, -638, 0, 14, - 15, 16, 17, 18, 612, 613, 0, 0, 0, 21, - 0, 0, 0, 22, 23, 0, 24, 0, 0, 0, - 0, 167, 26, 27, 28, 0, 29, 30, 0, 0, - 169, 32, 170, 0, 0, 0, 0, 0, 0, 0, - 34, 35, 36, 0, 0, 37, 0, 38, 39, 40, - 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 42, 43, 44, 45, 0, 0, 0, 0, 0, 0, - 0, 0, 172, 47, 48, 49, 50, 51, 52, 53, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 54, 0, 55, 56, 0, 0, 57, - 58, 0, 59, 5, 6, 7, 8, 0, 9, 159, - 611, 12, 13, 0, 0, 0, 0, 14, 15, 16, - 17, 18, 612, 613, 0, 0, 0, 21, 0, 0, - 0, 22, 23, 0, 24, 0, 0, 0, 0, 167, - 26, 27, 28, 0, 29, 30, 0, 0, 169, 32, - 170, 0, 0, 0, 0, 0, 0, 0, 34, 35, - 36, 0, 0, 37, 0, 38, 39, 40, 41, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, - 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, - 172, 47, 48, 49, 50, 51, 52, 53, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 0, 55, 56, 0, 0, 57, 58, 5, - 59, 7, 8, 0, 9, 159, 160, 12, 161, 0, - 0, 0, 0, 14, 15, 16, 162, 163, 0, 164, - 0, 0, 165, 166, 0, 0, 0, 22, 23, 0, - 0, 0, 0, 0, 0, 167, 0, 168, 0, 0, - 29, 30, 0, 0, 169, 32, 170, 0, 0, 0, - 0, 0, 0, 0, 171, 0, 0, 0, 0, 0, - 0, 38, 0, 40, 41, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 172, 47, 0, 0, - 50, 0, 0, 53, 0, 0, 0, 0, 0, 0, - 173, 174, 0, 0, 0, 658, 659, 54, 175, 660, - 661, 662, 0, 57, 58, 5, 59, 7, 8, 0, - 9, 159, 160, 12, 161, 0, 0, 663, 664, 14, - 15, 16, 162, 163, 0, 164, 665, 0, 165, 166, - 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, - 0, 167, 0, 168, 0, 0, 29, 30, 0, 0, - 169, 32, 170, 0, 0, 0, 0, 0, 0, 0, - 171, 0, 0, 0, 0, 0, 0, 38, 0, 40, - 41, 666, 667, 668, 669, 670, 671, 672, 673, 674, - 0, 43, 0, 0, 55, 56, 0, 0, 0, 0, - 0, 0, 172, 47, 0, 0, 50, 0, 0, 53, - 0, 0, 0, 0, 0, 0, 173, 174, 0, 0, - 0, 658, 659, 54, 734, 660, 661, 662, 0, 57, - 58, 5, 59, 7, 443, 0, 444, 159, 160, 12, - 161, 0, 1244, 663, 664, 14, 15, 16, 162, 163, - 0, 164, 665, 0, 0, 166, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 167, 0, 168, - 0, 0, 29, 30, 0, 0, 0, 32, 170, 0, - 0, 0, 0, 0, 0, 360, 171, 0, 0, 0, - 0, 0, 0, 38, 0, 40, 41, 666, 667, 668, - 669, 670, 671, 672, 673, 674, 0, 43, 0, 300, - 301, 361, 0, 0, 0, 0, 0, 0, 172, 47, - 0, 0, 50, 0, 0, 0, 0, 0, 0, 362, - 363, 364, 365, 0, 366, 367, 0, 0, 0, 54, - 0, 0, 0, 0, 507, 57, 58, -270, -270, -270, - -270, -270, -270, -270, -270, -270, 0, 0, 0, 0, - -270, -270, -270, -270, -270, -270, -270, -270, 300, 301, - 508, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 509, 510, - 511, 512, 0, 513, 514, 0, 0, 0, 369, 0, - 328, 0, 0, 535, 0, 0, -279, -279, -279, -279, - -279, -279, -279, -279, -279, 0, 0, 0, 0, -279, - -279, -279, -279, -279, -279, -279, -279, 300, 301, 536, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 537, 538, 539, - 540, 0, 541, 542, 0, 0, 0, 516, 0, 328, - 0, 0, 566, 0, 0, -286, -286, -286, -286, -286, - -286, -286, -286, -286, 0, 0, 0, 0, -286, -286, - -286, -286, -286, -286, -286, -286, 300, 301, 567, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 568, 569, 570, 571, - 0, 572, 573, 0, 0, 0, 544, 0, 328, 0, - 0, 0, 0, 0, -302, -302, -302, -302, -302, -302, - -302, -302, -302, 0, 0, 0, 0, -302, -302, -302, - -302, -302, -302, -302, -302, 5, 0, 0, 0, 0, - 0, 159, 160, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 162, 163, 0, 164, 0, 0, 0, 166, - 0, 0, 0, 0, 0, 575, 0, 328, 0, 0, - 0, 167, 0, 168, 0, 0, 29, 30, 5, 0, - 0, 32, 170, 0, 159, 160, 0, 0, 0, 0, - 171, 0, 0, 0, 0, 162, 163, 0, 164, 0, - 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, - 0, 43, 0, 0, 167, 0, 168, 0, 0, 29, - 30, 5, 172, 0, 32, 170, 50, 159, 160, 0, - 0, 0, 0, 171, 0, 0, 0, 0, 162, 163, - 0, 164, 0, 0, 1167, 166, 0, 0, 0, 0, - 0, 0, 0, 0, 1100, 0, 0, 167, 0, 168, - 0, 0, 29, 30, 5, 172, 0, 32, 170, 50, - 159, 160, 0, 0, 0, 0, 171, 0, 0, 0, - 0, 162, 163, 0, 164, 0, 0, 1217, 166, 0, - 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, - 167, 0, 168, 0, 0, 29, 30, 5, 172, 0, - 32, 170, 50, 159, 160, 0, 0, 0, 0, 171, - 0, 0, 0, 0, 162, 163, 0, 164, 40, 41, - 1257, 166, 0, 0, 0, 0, 0, 0, 0, 0, - 43, 0, 0, 167, 0, 168, 0, 0, 29, 30, - 5, 172, 0, 32, 170, 50, 159, 160, 0, 0, - 0, 0, 171, 0, 0, 0, 0, 162, 163, 0, - 164, 0, 54, 0, 166, 0, 0, 0, 0, 0, - 0, 0, 0, 43, 0, 0, 167, 0, 168, 0, - 0, 29, 30, 5, 172, 0, 32, 170, 50, 159, - 160, 0, 1186, 0, 0, 171, 0, 0, 0, 0, - 162, 163, 0, 164, 0, 0, 0, 166, 0, 0, - 0, 0, 0, 0, 0, 0, 43, 0, 0, 167, - 0, 168, 0, 0, 29, 30, 0, 172, 0, 32, - 170, 50, 0, 0, 0, 1261, 0, 0, 171, 0, - 658, 659, 0, 0, 660, 661, 662, 40, 41, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, -637, -637, -637, + -637, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, + 0, 0, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, -637, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, -637, + -637, -637, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 480, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, -721, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, -721, + -721, 0, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, -722, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, -722, + -722, 0, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, -637, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, + 0, 0, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, -637, -637, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, -637, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, + -637, -637, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, -637, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, -637, + -637, 0, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, -637, + -637, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, + 0, 0, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, -637, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, + 0, 0, -637, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, -637, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, + 0, 0, 0, 166, 26, 27, 28, -637, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, 1184, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, + 0, 0, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, -637, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, + 0, 0, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 4, 59, -33, -33, 5, 6, 7, + 8, 0, 9, 10, 11, 12, 13, 0, 0, 0, + 0, 14, 15, 16, 17, 18, 19, 20, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, + 0, 0, 0, 25, 26, 27, 28, 0, 29, 30, + 0, 0, 31, 32, 33, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 609, 59, -113, -113, 5, 6, 7, + 8, 0, 9, 158, 610, 12, 13, 0, 0, 0, + 0, 14, 15, 16, 17, 18, 611, 612, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 24, 0, + 0, 0, 0, 166, 26, 27, 28, 0, 29, 30, + 0, 0, 168, 32, 169, 0, 0, 0, 0, 0, + 0, 0, 34, 35, 36, 0, 0, 37, 0, 38, + 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 47, 48, 49, 50, 51, + 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 0, 55, 56, 0, + 57, 0, 58, 5, 59, 7, 8, 0, 9, 158, + 159, 12, 160, 0, 0, 0, 0, 14, 15, 16, + 161, 162, 0, 163, 0, 0, 164, 165, 0, 0, + 0, 22, 23, 0, 0, 0, 0, 0, 0, 166, + 0, 167, 0, 0, 29, 30, 0, 0, 168, 32, + 169, 0, 0, 0, 0, 0, 0, 0, 170, 0, + 0, 0, 0, 0, 0, 38, 0, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, - 0, 0, 663, 664, 0, 0, 0, 0, 0, 0, - 172, 665, 0, 0, 50, 0, 0, 707, 708, 709, - 710, 711, 712, 713, 714, 715, 0, 0, 0, 0, - 716, 717, 718, 719, 720, 721, 722, 723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 666, 667, 668, 669, - 670, 671, 672, 673, 674, 1249, 707, 708, 709, 710, - 711, 712, 713, 714, 715, 0, 0, 0, 0, 716, - 717, 718, 719, 720, 721, 722, 723, 707, 708, 709, - 710, 711, 712, 713, 714, 715, 0, 0, 0, 0, - 716, 717, 718, 719, 720, 721, 722, 723, 0, 0, - 0, 0, 0, 0, 1276, 0, 0, 0, 0, 0, + 171, 47, 0, 0, 50, 0, 0, 53, 0, 0, + 0, 0, 0, 0, 172, 173, 0, 0, 0, 0, + 0, 54, 733, 0, 0, 0, 57, 0, 58, 5, + 59, 7, 441, 0, 442, 158, 159, 12, 160, 0, + 0, 0, 0, 14, 15, 16, 161, 162, 0, 163, + 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 0, 167, 0, 0, + 29, 30, 0, 0, 0, 32, 169, 0, 0, 0, + 0, 0, 0, 396, 170, 0, 0, 0, 0, 0, + 0, 38, 0, 40, 41, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 43, 0, 298, 299, 0, + 0, 0, 0, 0, 0, 0, 171, 47, 0, 0, + 50, 0, 0, 0, 0, 0, 0, 397, 398, 399, + 400, 0, 401, 402, 0, 0, 0, 54, 0, 0, + 0, 0, 57, 0, 58, -299, -299, -299, -299, -299, + -299, -299, -299, -299, 0, 358, 0, 0, -299, -299, + -299, -299, -299, -299, -299, -299, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, + 299, 359, 0, 0, 0, 0, 0, 0, 0, -642, + -642, 0, 0, 0, 0, 0, 404, 0, 326, 360, + 361, 362, 363, 0, 364, 365, 0, 0, 0, 0, + 0, 0, 0, 0, 505, 0, 0, -269, -269, -269, + -269, -269, -269, -269, -269, -269, 0, 0, 0, 0, + -269, -269, -269, -269, -269, -269, -269, -269, 298, 299, + 506, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 507, 508, + 509, 510, 0, 511, 512, 0, 0, 0, 367, 0, + 326, 0, 0, 533, 0, 0, -278, -278, -278, -278, + -278, -278, -278, -278, -278, 0, 0, 0, 0, -278, + -278, -278, -278, -278, -278, -278, -278, 298, 299, 534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1286 + 0, 0, 0, 0, 0, 0, 0, 535, 536, 537, + 538, 0, 539, 540, 0, 0, 0, 514, 0, 326, + 0, 0, 564, 0, 0, -285, -285, -285, -285, -285, + -285, -285, -285, -285, 0, 0, 0, 0, -285, -285, + -285, -285, -285, -285, -285, -285, 298, 299, 565, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 566, 567, 568, 569, + 0, 570, 571, 0, 0, 0, 542, 0, 326, 0, + 0, 396, 0, 0, -301, -301, -301, -301, -301, -301, + -301, -301, -301, 0, 0, 0, 0, -301, -301, -301, + -301, -301, -301, -301, -301, 298, 299, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 397, 398, 399, 400, 0, + 401, 402, 0, 0, 0, 573, 0, 326, 0, 0, + 0, 0, 0, -299, -299, -299, -299, -299, -299, -299, + -299, -299, 0, 0, 0, 0, -299, -299, -299, -299, + -299, -299, -299, -299, 5, 0, 0, 0, 0, 0, + 158, 159, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 161, 162, 0, 163, 0, 0, 0, 165, 0, + 0, 0, 0, 0, 404, 0, 326, 0, 0, 0, + 166, 0, 167, 0, 0, 29, 30, 5, 0, 0, + 32, 169, 0, 158, 159, 0, 0, 0, 0, 170, + 0, 0, 0, 0, 161, 162, 0, 163, 0, 0, + 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, + 1099, 0, 0, 166, 0, 167, 0, 0, 29, 30, + 5, 171, 0, 32, 169, 50, 158, 159, 0, 0, + 0, 0, 170, 0, 0, 0, 0, 161, 162, 0, + 163, 0, 0, 1216, 165, 0, 0, 0, 0, 0, + 0, 0, 0, 43, 0, 0, 166, 0, 167, 0, + 0, 29, 30, 5, 171, 0, 32, 169, 50, 158, + 159, 0, 0, 0, 0, 170, 0, 0, 0, 0, + 161, 162, 0, 163, 0, 0, 1256, 165, 0, 0, + 0, 0, 0, 0, 0, 0, 43, 0, 0, 166, + 0, 167, 0, 0, 29, 30, 5, 171, 0, 32, + 169, 50, 158, 159, 0, 1185, 0, 0, 170, 0, + 0, 0, 0, 161, 162, 0, 163, 0, 0, 0, + 165, 0, 0, 0, 0, 0, 0, 0, 0, 43, + 0, 0, 166, 0, 167, 0, 0, 29, 30, 5, + 171, 0, 32, 169, 50, 158, 159, 0, 1260, 0, + 0, 170, 0, 0, 0, 0, 161, 162, 0, 163, + 40, 41, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 0, 43, 0, 0, 166, 0, 167, 0, 0, + 29, 30, 0, 171, 0, 32, 169, 50, 0, 0, + 0, 0, 0, 0, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 706, 707, 708, 709, 710, 711, 712, + 713, 714, 0, 0, 0, 43, 715, 716, 717, 718, + 719, 720, 721, 722, 0, 0, 171, 0, 0, 0, + 50, 0, 0, 0, 0, 0, 0, 0, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 0, 0, 0, + 1248, 715, 716, 717, 718, 719, 720, 721, 722, 706, + 707, 708, 709, 710, 711, 712, 713, 714, 0, 0, + 0, 0, 715, 716, 717, 718, 719, 720, 721, 722, + 0, 0, 0, 0, 0, 1275, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1285 }; static const yytype_int16 yycheck[] = { - 2, 134, 705, 13, 153, 154, 175, 735, 141, 9, - 608, 609, 627, 628, 1019, 2, 9, 9, 35, 1024, - 0, 57, 12, 13, 3, 4, 28, 35, 51, 3, - 4, 35, 35, 17, 102, 37, 17, 959, 35, 700, - 33, 34, 35, 35, 35, 836, 35, 49, 2, 0, - 2, 117, 1249, 35, 122, 846, 40, 59, 60, 125, - 53, 54, 55, 56, 45, 58, 59, 69, 122, 71, - 124, 73, 74, 60, 76, 997, 78, 2, 80, 1276, - 82, 122, 84, 124, 86, 35, 88, 89, 90, 1286, - 35, 35, 94, 119, 117, 97, 2, 99, 122, 101, - 124, 892, 102, 28, 35, 122, 60, 124, 60, 102, - 102, 119, 37, 35, 122, 35, 124, 119, 122, 35, - 124, 124, 28, 125, 49, 122, 119, 119, 119, 122, - 10, 124, 134, 122, 59, 60, 115, 116, 19, 141, - 2, 115, 116, 49, 69, 66, 71, 125, 73, 74, - 117, 76, 35, 78, 60, 80, 123, 82, 17, 84, - 17, 86, 35, 88, 89, 90, 28, 35, 117, 94, - 1175, 161, 97, 175, 99, 119, 101, 122, 122, 124, - 124, 38, 39, 89, 115, 116, 117, 49, 119, 35, - 117, 122, 54, 124, 119, 115, 116, 117, 60, 119, - 125, 118, 122, 119, 124, 51, 122, 69, 124, 134, - 35, 35, 214, 1126, 36, 117, 141, 2, 122, 35, - 50, 123, 84, 1136, 86, 1138, 88, 89, 134, 115, - 116, 35, 115, 116, 117, 141, 3, 4, 122, 122, - 35, 124, 9, 28, 280, 247, 119, 35, 117, 122, - 175, 124, 121, 66, 122, 265, 124, 119, 35, 115, - 116, 117, 35, 85, 49, 87, 33, 34, 35, 175, - 92, 117, 134, 119, 96, 60, 115, 116, 100, 141, - 102, 103, 104, 105, 115, 116, 53, 54, 55, 56, - 112, 58, 59, 114, 115, 116, 118, 122, 122, 124, - 124, 19, 124, 106, 89, 119, 122, 309, 124, 1037, - 312, 17, 119, 175, 9, 35, 1019, 51, 122, 638, - 124, 57, 144, 145, 117, 327, 117, 122, 121, 124, - 121, 37, 38, 948, 122, 102, 124, 118, 33, 34, - 342, 939, 115, 116, 117, 122, 119, 124, 35, 134, - 3, 4, 119, 2, 356, 122, 141, 124, 53, 54, - 55, 56, 117, 58, 59, 684, 121, 369, 117, 118, - 689, 117, 108, 109, 110, 117, 118, 696, 35, 28, - 382, 115, 116, 117, 309, 115, 116, 312, 117, 119, - 175, 213, 35, 395, 115, 116, 1057, 57, 119, 221, - 49, 35, 327, 265, 406, 651, 652, 1068, 654, 655, - 656, 60, 35, 732, 9, 117, 118, 342, 35, 421, - 35, 1082, 1083, 1084, 1085, 1086, 35, 122, 19, 124, - 35, 356, 678, 17, 35, 437, 117, 118, 33, 34, - 89, 115, 116, 117, 369, 17, 106, 107, 108, 109, - 110, 115, 116, 37, 38, 39, 125, 382, 53, 54, - 55, 56, 117, 58, 59, 37, 38, 39, 115, 116, - 395, 15, 16, 17, 18, 9, 115, 116, 480, 17, - 1141, 406, 1143, 115, 116, 134, 619, 117, 118, 491, - 17, 18, 141, 115, 116, 117, 421, 630, 119, 33, - 34, 35, 504, 15, 16, 17, 18, 102, 115, 116, - 117, 119, 437, 9, 516, 122, 9, 124, 124, 53, - 54, 55, 56, 117, 58, 59, 175, 122, 57, 531, - 9, 1192, 115, 116, 117, 1196, 19, 33, 34, 35, - 1201, 1202, 544, 3, 4, 581, 117, 583, 9, 585, - 119, 587, 3, 4, 119, 480, 124, 53, 54, 55, - 56, 563, 58, 59, 46, 734, 491, 118, 102, 117, - 1231, 37, 38, 575, 1235, 117, 118, 117, 118, 504, - 1241, 117, 118, 63, 64, 119, 1247, 1248, 122, 117, - 124, 516, 117, 118, 5, 118, 598, 117, 118, 96, - 11, 12, 117, 118, 117, 118, 531, 117, 118, 9, - 81, 22, 23, 2, 25, 118, 117, 619, 29, 544, - 118, 2, 17, 118, 118, 60, 122, 118, 630, 60, - 41, 89, 43, 33, 34, 46, 47, 141, 563, 28, - 51, 52, 89, 679, 309, 89, 89, 312, 89, 60, - 575, 89, 89, 53, 54, 55, 56, 89, 58, 59, - 49, 89, 327, 89, 89, 244, 1031, 13, 13, 12, - 81, 60, 13, 598, 89, 12, 12, 342, 60, 60, - 89, 92, 154, 247, 998, 96, 684, 60, 60, 246, - 2, 356, 702, 1025, 619, 1274, 1172, 1043, 700, 609, - 89, 627, 1290, 742, 369, 630, 954, 954, 702, 120, - -1, -1, -1, 619, 750, -1, 28, 382, -1, -1, - -1, -1, 122, -1, 630, 735, -1, -1, -1, -1, - 395, -1, 734, -1, -1, -1, -1, 49, -1, -1, - 742, 406, -1, -1, 2, 134, -1, -1, 60, -1, - -1, -1, 141, 134, -1, -1, 421, 619, -1, -1, - 141, -1, -1, -1, -1, -1, -1, -1, 630, -1, - 28, -1, 437, 1092, -1, 700, 1095, 89, -1, -1, - -1, 603, -1, 1102, -1, -1, 175, 1106, -1, -1, - -1, 49, -1, -1, 700, -1, -1, 1116, -1, -1, - 836, -1, 60, -1, -1, -1, -1, -1, -1, 734, - 846, -1, 961, -1, -1, 480, -1, 742, -1, -1, - -1, -1, 134, -1, -1, -1, 491, -1, 734, 141, - -1, 89, -1, -1, 619, -1, 742, -1, 700, 504, - 702, -1, -1, -1, -1, 630, -1, -1, -1, 1168, - 1169, 516, 1171, -1, -1, -1, 892, -1, 1177, -1, - -1, -1, 9, 175, -1, -1, 531, -1, -1, -1, - 1189, -1, 734, 735, -1, -1, 134, -1, 1011, 544, - 742, -1, -1, 141, -1, -1, 33, 34, 35, -1, - -1, -1, -1, 1212, -1, -1, -1, -1, 563, 1218, + 2, 174, 13, 152, 153, 704, 133, 606, 607, 626, + 627, 734, 1018, 140, 12, 13, 51, 1023, 9, 9, + 35, 35, 699, 35, 118, 35, 28, 958, 17, 17, + 57, 2, 2, 1125, 35, 37, 835, 2, 35, 17, + 117, 17, 0, 1135, 35, 1137, 845, 49, 125, 37, + 38, 3, 4, 3, 4, 35, 45, 59, 60, 37, + 38, 39, 2, 35, 40, 996, 68, 117, 70, 119, + 72, 73, 35, 75, 117, 77, 0, 79, 121, 81, + 102, 83, 117, 85, 35, 87, 88, 89, 28, 60, + 60, 93, 891, 35, 96, 60, 98, 37, 100, 35, + 122, 115, 116, 117, 118, 35, 118, 122, 122, 49, + 124, 102, 102, 35, 124, 35, 118, 118, 35, 59, + 60, 122, 124, 124, 117, 122, 119, 118, 68, 2, + 70, 133, 72, 73, 35, 75, 35, 77, 140, 79, + 35, 81, 122, 83, 124, 85, 118, 87, 88, 89, + 122, 36, 124, 93, 35, 28, 96, 10, 98, 122, + 100, 124, 160, 115, 116, 115, 116, 118, 1174, 117, + 51, 122, 174, 124, 35, 123, 49, 19, 118, 115, + 116, 117, 118, 2, 124, 35, 122, 60, 124, 35, + 125, 51, 122, 133, 124, 35, 637, 17, 118, 84, + 140, 86, 122, 66, 124, 122, 91, 124, 117, 28, + 95, 213, 121, 117, 99, 88, 101, 102, 103, 104, + 115, 116, 117, 122, 17, 124, 111, 122, 35, 124, + 49, 35, 117, 117, 174, 54, 117, 118, 123, 123, + 57, 60, 683, 1248, 246, 38, 39, 688, 117, 68, + 119, 2, 279, 264, 695, 115, 116, 117, 143, 144, + 133, 122, 117, 124, 83, 17, 85, 140, 87, 88, + 1275, 119, 122, 117, 124, 119, 122, 28, 124, 35, + 1285, 117, 122, 119, 124, 37, 38, 39, 115, 116, + 731, 108, 109, 110, 3, 4, 3, 4, 49, 118, + 9, 174, 117, 117, 122, 307, 121, 121, 310, 60, + 115, 116, 117, 1036, 133, 122, 122, 124, 122, 1018, + 124, 140, 66, 325, 33, 34, 35, 212, 115, 116, + 947, 15, 16, 17, 18, 220, 50, 88, 340, 938, + 15, 16, 17, 18, 53, 54, 55, 56, 118, 58, + 59, 19, 354, 650, 651, 174, 653, 654, 655, 115, + 116, 117, 118, 118, 122, 367, 124, 307, 115, 116, + 310, 118, 2, 106, 115, 116, 117, 119, 380, 1056, + 677, 122, 133, 124, 35, 325, 57, 115, 116, 140, + 1067, 393, 35, 102, 115, 116, 19, 118, 28, 122, + 340, 124, 404, 35, 1081, 1082, 1083, 1084, 1085, 118, + 115, 116, 117, 122, 354, 124, 122, 419, 124, 49, + 115, 116, 9, 174, 115, 116, 117, 367, 35, 117, + 60, 119, 35, 435, 2, 106, 107, 108, 109, 110, + 380, 114, 115, 116, 35, 264, 33, 34, 35, 115, + 116, 117, 117, 393, 119, 117, 35, 119, 88, 117, + 28, 119, 35, 1140, 404, 1142, 53, 54, 55, 56, + 35, 58, 59, 117, 35, 119, 478, 35, 117, 419, + 119, 49, 117, 117, 119, 119, 117, 489, 115, 116, + 17, 618, 60, 115, 116, 435, 115, 116, 17, 18, + 502, 9, 629, 133, 3, 4, 3, 4, 37, 38, + 140, 117, 514, 118, 1191, 102, 63, 64, 1195, 117, + 88, 125, 118, 1200, 1201, 33, 34, 529, 9, 124, + 9, 118, 57, 117, 19, 122, 117, 124, 478, 9, + 542, 118, 118, 46, 174, 53, 54, 55, 56, 489, + 58, 59, 579, 1230, 581, 124, 583, 1234, 585, 561, + 733, 117, 502, 1240, 71, 133, 119, 117, 119, 1246, + 1247, 573, 140, 96, 514, 81, 119, 84, 85, 86, + 87, 88, 89, 90, 91, 117, 119, 17, 119, 529, + 88, 119, 60, 5, 596, 119, 140, 88, 88, 11, + 12, 88, 542, 243, 88, 88, 174, 1030, 88, 13, + 22, 23, 88, 25, 122, 88, 618, 29, 13, 88, + 12, 561, 88, 2, 13, 88, 12, 629, 12, 41, + 88, 43, 60, 573, 46, 47, 153, 246, 997, 51, + 52, 683, 60, 60, 245, 1024, 1273, 1171, 60, 28, + 1091, 678, 1042, 1094, 607, 1289, 596, 626, 741, 953, + 1101, 953, 701, -1, 1105, -1, -1, -1, -1, 81, + 49, -1, -1, -1, 1115, -1, -1, -1, 618, -1, + 92, 60, -1, -1, 96, -1, 2, -1, -1, 629, + 701, -1, -1, -1, -1, 307, -1, 699, 310, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 120, 88, + -1, -1, 28, 325, -1, -1, 601, -1, -1, -1, + -1, -1, 749, 734, -1, -1, 1167, 1168, 340, 1170, + -1, 733, -1, 49, -1, 1176, -1, -1, 9, 741, + -1, -1, 354, -1, 60, 618, -1, 1188, -1, -1, + -1, -1, -1, -1, 133, 367, 629, -1, -1, 699, + -1, 140, 33, 34, 35, -1, -1, -1, 380, -1, + 1211, -1, 88, -1, -1, -1, 1217, -1, -1, -1, + -1, 393, 53, 54, 55, 56, -1, 58, 59, -1, + -1, -1, 404, 733, -1, 174, -1, -1, -1, 618, + -1, 741, -1, -1, -1, -1, -1, 419, 835, -1, + 629, 960, -1, 1254, -1, -1, 1257, 133, 845, -1, + 1261, -1, -1, 435, 140, 9, 699, -1, -1, -1, + -1, 102, -1, -1, -1, -1, 1277, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 118, -1, 33, + 34, 122, -1, 124, -1, -1, -1, -1, 174, -1, + 733, -1, -1, 9, 891, -1, 478, 618, 741, 53, + 54, 55, 56, -1, 58, 59, -1, 489, 629, 9, + 699, -1, 701, 1010, -1, -1, -1, 33, 34, 35, + 502, -1, -1, -1, -1, 2, -1, -1, -1, -1, + -1, -1, 514, 33, 34, 35, 13, 53, 54, 55, + 56, -1, 58, 59, 733, 734, -1, 529, 102, 9, + -1, 28, 741, 53, 54, 55, 56, -1, 58, 59, + 542, -1, -1, -1, -1, -1, 963, -1, 122, -1, + 124, -1, 49, 33, 34, 35, -1, -1, 699, 561, + -1, -1, -1, 60, -1, -1, 102, -1, -1, -1, + 2, 573, -1, 53, 54, 55, 56, -1, 58, 59, + -1, -1, 118, -1, -1, -1, 122, -1, 124, -1, + -1, -1, 733, -1, 596, -1, 28, -1, 618, -1, + 741, -1, 122, 1120, 124, 997, -1, -1, -1, 629, + -1, -1, -1, -1, -1, -1, -1, 49, 1010, -1, + -1, -1, 102, -1, -1, -1, 1043, -1, 60, -1, + -1, -1, -1, -1, -1, 1036, 133, -1, 118, -1, + -1, -1, 122, 140, 124, -1, -1, -1, -1, -1, + 1042, -1, -1, -1, -1, -1, 88, -1, -1, -1, + 618, -1, -1, -1, 1056, -1, -1, -1, -1, -1, + -1, 629, -1, 9, -1, 1067, -1, 174, -1, 699, + 1010, -1, -1, -1, -1, -1, -1, -1, -1, 1081, + 1082, 1083, 1084, 1085, -1, -1, -1, 33, 34, 35, + -1, 133, -1, -1, -1, -1, -1, -1, 140, 1126, + -1, -1, 1042, 733, -1, 9, -1, 53, 54, 55, + 56, 741, 58, 59, -1, -1, 1056, -1, 1120, -1, + -1, -1, -1, -1, -1, -1, -1, 1067, 1155, 33, + 34, 699, 174, -1, -1, -1, -1, 1010, 1140, -1, + 1142, 1081, 1082, 1083, 1084, 1085, -1, -1, -1, 53, + 54, 55, 56, -1, 58, 59, 102, -1, -1, -1, + -1, -1, -1, -1, -1, 733, -1, -1, -1, 1042, + -1, -1, 118, 741, -1, -1, 122, -1, 124, -1, + 1120, -1, -1, 1056, -1, -1, -1, -1, -1, 1191, + -1, 1010, -1, 1195, 1067, -1, -1, -1, 1200, 1201, + 1140, -1, 1142, -1, -1, -1, -1, -1, 1081, 1082, + 1083, 1084, 1085, -1, -1, -1, -1, 1036, 122, -1, + 124, -1, -1, 1042, -1, -1, -1, -1, 1230, 9, + -1, -1, 1234, -1, -1, -1, -1, 1056, 1240, 618, + -1, -1, -1, -1, 1246, 1247, -1, 1120, 1067, -1, + 629, 1191, -1, 33, 34, 1195, -1, -1, -1, 1010, + 1200, 1201, 1081, 1082, 1083, 1084, 1085, 1140, -1, 1142, + -1, -1, -1, 53, 54, 55, 56, 1279, 58, 59, + -1, -1, -1, -1, -1, -1, -1, 1289, -1, -1, + 1230, 1042, -1, 2, 1234, -1, -1, -1, -1, -1, + 1240, 1120, 618, -1, -1, 1056, 1246, 1247, -1, -1, + -1, -1, -1, 629, -1, -1, 1067, -1, 1191, 28, + 699, 1140, 1195, 1142, -1, -1, -1, 1200, 1201, -1, + 1081, 1082, 1083, 1084, 1085, -1, -1, 2, -1, 1279, + 49, -1, 122, -1, 124, -1, -1, -1, -1, 1289, + -1, 60, -1, 9, 733, -1, -1, 1230, -1, -1, + -1, 1234, 741, 28, -1, -1, -1, 1240, -1, 1120, + -1, -1, 1191, 1246, 1247, -1, 1195, 33, 34, 88, + 1010, 1200, 1201, 699, 49, -1, -1, -1, -1, 1140, + -1, 1142, -1, -1, -1, 60, -1, 53, 54, 55, + 56, -1, 58, 59, -1, -1, 1279, -1, -1, -1, + -1, 1230, 1042, -1, -1, 1234, 1289, 733, -1, -1, + -1, 1240, -1, -1, 133, 741, 1056, 1246, 1247, -1, + -1, 140, -1, -1, -1, -1, -1, 1067, -1, -1, + 1191, -1, 1010, -1, 1195, -1, 102, -1, -1, 1200, + 1201, 1081, 1082, 1083, 1084, 1085, -1, -1, -1, -1, + 1279, -1, -1, -1, -1, 174, 122, -1, 133, -1, + 1289, -1, -1, -1, 1042, 140, -1, -1, -1, 1230, + 9, -1, -1, 1234, -1, -1, -1, -1, 1056, 1240, + 1120, -1, -1, -1, -1, 1246, 1247, -1, -1, 1067, + -1, -1, -1, -1, 33, 34, 35, -1, -1, 174, + 1140, 618, 1142, 1081, 1082, 1083, 1084, 1085, -1, -1, + 2, -1, 629, -1, 53, 54, 55, 56, 1279, 58, + 59, -1, -1, -1, -1, 9, -1, -1, 1289, -1, + -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, + -1, 2, 1120, -1, -1, -1, -1, -1, -1, 33, + 34, 1191, -1, -1, -1, 1195, -1, 49, -1, -1, + 1200, 1201, 1140, 102, 1142, -1, 618, 28, 60, 53, + 54, 55, 56, -1, 58, 59, -1, 629, -1, 118, + -1, -1, 699, 122, 9, 124, -1, -1, 49, -1, + 1230, -1, -1, -1, 1234, -1, -1, -1, -1, 60, + 1240, -1, -1, -1, -1, -1, 1246, 1247, 33, 34, + 35, -1, -1, 1191, -1, -1, 733, 1195, 102, -1, + -1, 1010, 1200, 1201, 741, -1, -1, -1, 53, 54, + 55, 56, -1, 58, 59, -1, -1, -1, 122, 1279, + 124, 133, -1, -1, -1, -1, -1, 699, 140, 1289, + -1, -1, 1230, 1042, -1, -1, 1234, -1, -1, -1, + -1, -1, 1240, -1, -1, -1, -1, 1056, 1246, 1247, + -1, -1, 133, -1, -1, -1, -1, 102, 1067, 140, + -1, 733, 174, -1, 1010, -1, -1, -1, -1, 741, + -1, -1, 1081, 1082, 1083, 1084, 1085, 122, -1, 124, + -1, 1279, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1289, -1, 174, -1, -1, 1042, -1, -1, -1, + -1, -1, 9, 2, -1, -1, -1, -1, -1, -1, + 1056, 1120, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1067, -1, -1, -1, -1, 33, 34, 35, 28, + -1, 1140, -1, 1142, -1, 1081, 1082, 1083, 1084, 1085, -1, -1, -1, -1, -1, -1, 53, 54, 55, 56, - 575, 58, 59, -1, -1, 700, 9, 175, -1, -1, - -1, 2, -1, -1, -1, -1, -1, -1, 964, -1, - -1, -1, 13, 598, -1, -1, 1255, -1, -1, 1258, - 33, 34, 35, 1262, -1, -1, -1, 28, -1, 734, - -1, -1, -1, -1, -1, 102, -1, 742, -1, 1278, - 53, 54, 55, 56, -1, 58, 59, -1, 49, -1, - 619, -1, 119, -1, -1, 122, -1, 124, -1, 60, - -1, 630, -1, -1, 71, -1, 9, -1, 1121, -1, - 2, -1, -1, -1, -1, -1, 998, 84, 85, 86, - 87, 88, 89, 90, 91, -1, -1, -1, 1044, 1011, - 33, 34, 35, -1, -1, -1, 28, -1, 9, -1, - -1, -1, -1, -1, -1, 9, -1, 1037, -1, 122, - 53, 54, 55, 56, -1, 58, 59, 49, -1, -1, - -1, 1043, 33, 34, 35, -1, -1, -1, 60, 33, - 34, 700, -1, 134, -1, 1057, -1, -1, -1, -1, - 141, -1, 53, 54, 55, 56, 1068, 58, 59, 53, - 54, 55, 56, -1, 58, 59, -1, 89, -1, 102, - 1082, 1083, 1084, 1085, 1086, 734, 1011, -1, -1, -1, - -1, 1127, -1, 742, 175, -1, 119, -1, -1, 122, - -1, 124, -1, -1, -1, 1011, -1, -1, -1, -1, - -1, 102, -1, -1, -1, -1, -1, -1, 1043, 1121, - 1156, 9, 134, -1, -1, -1, -1, -1, 119, 141, - -1, 122, 1057, 124, -1, -1, -1, 1043, 122, 1141, - 124, 1143, -1, 1068, -1, 33, 34, 35, -1, 1011, - -1, 1057, -1, -1, -1, -1, -1, 1082, 1083, 1084, - 1085, 1086, 1068, 175, -1, 53, 54, 55, 56, -1, - 58, 59, -1, -1, -1, 1037, 1082, 1083, 1084, 1085, - 1086, 1043, -1, -1, -1, -1, -1, -1, -1, -1, - 1192, -1, -1, -1, 1196, 1057, 1121, -1, -1, 1201, - 1202, -1, -1, -1, -1, 2, 1068, -1, -1, -1, - -1, -1, -1, -1, 102, 1121, 1141, -1, 1143, -1, - 1082, 1083, 1084, 1085, 1086, -1, 1011, -1, -1, 1231, - 619, 28, -1, 1235, 122, 1141, 124, 1143, 619, 1241, - -1, 630, -1, -1, -1, 1247, 1248, -1, -1, 630, - -1, -1, 49, -1, -1, -1, -1, -1, 1043, 1121, - -1, -1, -1, 60, -1, -1, -1, 1192, -1, -1, - -1, 1196, 1057, -1, -1, -1, 1201, 1202, 1280, 1141, - -1, 1143, -1, 1068, -1, -1, 1192, -1, 1290, -1, - 1196, -1, 89, -1, -1, 1201, 1202, 1082, 1083, 1084, - 1085, 1086, -1, -1, -1, -1, 1231, 619, -1, -1, - 1235, 700, -1, -1, -1, -1, 1241, -1, 630, 700, - -1, -1, 1247, 1248, -1, 1231, -1, -1, -1, 1235, - 1192, -1, -1, -1, 1196, 1241, 1121, 134, -1, 1201, - 1202, 1247, 1248, -1, 141, 734, -1, -1, -1, -1, - -1, 9, -1, 742, -1, 1280, 1141, -1, 1143, -1, - -1, 619, 1011, -1, -1, 1290, -1, -1, -1, 1231, - -1, -1, 630, 1235, 1280, 33, 34, 35, 175, 1241, - -1, -1, -1, -1, 1290, 1247, 1248, -1, 700, -1, - -1, -1, -1, -1, 1043, 53, 54, 55, 56, -1, - 58, 59, -1, -1, -1, -1, -1, 1192, 1057, -1, - -1, 1196, -1, -1, -1, -1, 1201, 1202, 1280, 1068, - -1, -1, 734, -1, -1, -1, -1, -1, 1290, -1, - 742, -1, -1, 1082, 1083, 1084, 1085, 1086, -1, -1, - -1, -1, 700, -1, 102, -1, 1231, -1, -1, -1, - 1235, 2, -1, -1, -1, -1, 1241, 9, -1, -1, - -1, 119, 1247, 1248, 122, -1, 124, -1, -1, -1, - 2, -1, 1121, -1, -1, -1, 734, 28, -1, -1, - -1, 33, 34, 35, 742, -1, -1, -1, -1, -1, - -1, -1, 1141, -1, 1143, 1280, 28, -1, 49, -1, - -1, 53, 54, 55, 56, 1290, 58, 59, -1, 60, - 9, -1, -1, -1, -1, -1, -1, 49, 2, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, - -1, -1, -1, -1, 33, 34, 35, -1, 619, -1, - -1, -1, -1, 1192, 28, -1, -1, 1196, -1, 630, - 102, -1, 1201, 1202, 53, 54, 55, 56, -1, 58, - 59, -1, -1, -1, -1, 49, -1, 119, -1, -1, - 122, -1, 124, -1, -1, -1, 60, -1, -1, -1, - -1, -1, 1231, 134, -1, -1, 1235, -1, -1, -1, - 141, -1, 1241, -1, -1, -1, -1, -1, 1247, 1248, - -1, -1, 134, 102, -1, -1, -1, 619, -1, 141, - -1, 2, -1, -1, -1, -1, -1, -1, 630, 700, - 119, -1, 1011, 122, 175, 124, -1, -1, -1, -1, - 1011, 1280, -1, -1, -1, -1, -1, 28, -1, -1, - -1, 1290, -1, 175, -1, -1, -1, -1, -1, -1, - 134, -1, -1, 734, 1043, -1, -1, 141, 49, -1, - -1, 742, 1043, -1, -1, -1, -1, -1, 1057, 60, - -1, -1, -1, -1, -1, -1, 1057, -1, -1, 1068, - -1, -1, -1, -1, -1, -1, -1, 1068, 700, -1, - -1, 175, -1, 1082, 1083, 1084, 1085, 1086, -1, 1011, - -1, 1082, 1083, 1084, 1085, 1086, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 734, -1, -1, -1, -1, -1, -1, -1, - 742, 1043, 1121, 2, -1, -1, -1, -1, -1, -1, - 1121, -1, -1, 134, -1, 1057, -1, -1, -1, -1, - 141, 9, 1141, 1011, 1143, -1, 1068, -1, -1, 28, - 1141, -1, 1143, -1, -1, -1, -1, -1, -1, -1, - 1082, 1083, 1084, 1085, 1086, 33, 34, 35, -1, -1, - 49, -1, -1, 2, 175, 1043, -1, -1, -1, -1, - -1, 60, -1, -1, -1, 53, 54, 55, 56, 1057, - 58, 59, -1, 1192, -1, -1, -1, 1196, -1, 1121, - 1068, 1192, 1201, 1202, -1, 1196, -1, -1, -1, -1, - 1201, 1202, 619, -1, 1082, 1083, 1084, 1085, 1086, 1141, - -1, 1143, -1, 630, -1, -1, -1, -1, -1, -1, - -1, 60, 1231, -1, 102, -1, 1235, -1, -1, -1, - 1231, -1, 1241, -1, 1235, -1, -1, -1, 1247, 1248, - 1241, -1, -1, 1121, 122, 134, 1247, 1248, -1, -1, - -1, -1, 141, -1, 2, -1, -1, -1, -1, -1, - 1192, -1, -1, 1141, 1196, 1143, -1, -1, -1, 1201, - 1202, 1280, -1, -1, -1, -1, -1, -1, -1, 1280, - 28, 1290, -1, 700, -1, -1, 175, -1, -1, 1290, - -1, -1, -1, -1, -1, 134, -1, -1, -1, 1231, - -1, 49, 141, 1235, -1, -1, -1, -1, -1, 1241, - 1011, -1, 60, -1, 1192, 1247, 1248, 734, 1196, -1, - -1, -1, -1, 1201, 1202, 742, -1, -1, -1, -1, - -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1043, -1, -1, -1, -1, -1, 1280, -1, - -1, 9, -1, 1231, -1, -1, 1057, 1235, 1290, -1, - -1, -1, -1, 1241, -1, -1, -1, 1068, -1, 1247, - 1248, -1, -1, -1, -1, 33, 34, 35, -1, 1011, - -1, 1082, 1083, 1084, 1085, 1086, 134, -1, -1, 60, - -1, -1, -1, 141, -1, 53, 54, 55, 56, -1, - 58, 59, 1280, -1, -1, -1, -1, -1, -1, -1, - -1, 1043, 1290, -1, -1, -1, -1, -1, -1, -1, - 1121, -1, -1, -1, -1, 1057, -1, 175, -1, -1, - -1, -1, -1, -1, -1, -1, 1068, -1, -1, -1, - 1141, -1, 1143, -1, 102, -1, -1, -1, 619, -1, - 1082, 1083, 1084, 1085, 1086, -1, -1, -1, -1, 630, - -1, -1, -1, 134, 122, -1, 124, 619, -1, -1, - 141, -1, 9, 2, -1, -1, -1, -1, 630, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1121, - -1, 1192, -1, -1, -1, 1196, 33, 34, 35, 28, - 1201, 1202, -1, -1, -1, -1, -1, -1, -1, 1141, - -1, 1143, 9, -1, -1, 619, 53, 54, 55, 56, - 49, 58, 59, -1, -1, -1, 630, -1, 9, 700, - 1231, 60, -1, -1, 1235, -1, 33, 34, 35, -1, - 1241, -1, -1, -1, -1, -1, 1247, 1248, 700, -1, - -1, -1, 33, 34, 35, -1, 53, 54, 55, 56, - 1192, 58, 59, 734, 1196, 102, -1, -1, -1, 1201, - 1202, 742, 53, 54, 55, 56, -1, 58, 59, 1280, - -1, -1, 734, -1, -1, 122, -1, 124, -1, 1290, - 742, -1, -1, -1, 1011, 2, 700, -1, -1, 1231, - -1, -1, -1, 1235, -1, 134, -1, -1, 619, 1241, - -1, -1, 141, -1, -1, 1247, 1248, -1, -1, 630, - -1, 102, 119, -1, -1, 122, 1043, 124, -1, -1, - 734, -1, -1, -1, -1, 9, -1, -1, 742, -1, - 1057, 122, -1, 124, -1, -1, 175, -1, 1280, 2, - -1, 1068, -1, 60, -1, -1, -1, -1, 1290, 33, - 34, 35, -1, -1, -1, 1082, 1083, 1084, 1085, 1086, - -1, -1, -1, -1, -1, 28, -1, -1, -1, 53, - 54, 55, 56, -1, 58, 59, -1, -1, -1, 700, - -1, -1, -1, 9, -1, -1, 49, -1, -1, -1, - -1, -1, -1, -1, 1121, -1, -1, 60, 9, -1, - -1, -1, -1, -1, -1, -1, -1, 33, 34, 35, - 9, -1, -1, 734, 1141, -1, 1143, 134, 102, -1, - 619, 742, 33, 34, 141, -1, -1, 53, 54, 55, - 56, 630, 58, 59, 33, 34, 35, -1, 122, 9, - 124, -1, 53, 54, 55, 56, -1, 58, 59, -1, - -1, -1, -1, -1, 53, 54, 55, 56, -1, 58, - 59, -1, -1, 33, 34, 1192, -1, -1, -1, 1196, - 619, 134, -1, -1, 1201, 1202, 102, -1, 141, -1, - -1, 630, -1, 53, 54, 55, 56, -1, 58, 59, - -1, 102, -1, -1, -1, -1, 122, -1, 124, -1, - -1, 700, -1, 102, 1231, -1, -1, -1, 1235, -1, - -1, 122, 175, 124, 1241, -1, -1, -1, -1, -1, - 1247, 1248, -1, 122, -1, 124, -1, -1, -1, -1, - 1011, -1, 102, 9, -1, 734, -1, -1, -1, -1, - -1, -1, -1, 742, -1, -1, -1, -1, -1, 1011, - -1, 700, 122, 1280, 124, -1, -1, 33, 34, 35, - -1, 619, 1043, 1290, -1, 9, -1, -1, -1, -1, - -1, -1, 630, -1, -1, -1, 1057, 53, 54, 55, - 56, 1043, 58, 59, -1, -1, -1, 1068, -1, 33, - 34, 35, -1, -1, -1, 1057, -1, 1011, -1, -1, - -1, 1082, 1083, 1084, 1085, 1086, 1068, -1, -1, 53, - 54, 55, 56, -1, 58, 59, -1, -1, -1, -1, - 1082, 1083, 1084, 1085, 1086, -1, 102, -1, -1, 1043, - -1, -1, -1, -1, -1, -1, -1, -1, 619, -1, - 1121, -1, 700, 1057, -1, -1, 122, -1, 124, 630, - -1, -1, -1, -1, 1068, -1, -1, -1, 102, 1121, - 1141, -1, 1143, -1, -1, -1, -1, -1, 1082, 1083, - 1084, 1085, 1086, -1, -1, -1, 734, -1, 122, 1141, - 124, 1143, -1, -1, 742, -1, -1, -1, -1, -1, - 1011, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1121, -1, -1, - -1, 1192, -1, -1, -1, 1196, -1, -1, -1, 700, - 1201, 1202, 1043, -1, -1, -1, -1, 1141, -1, 1143, - 1192, -1, -1, -1, 1196, -1, 1057, -1, -1, 1201, - 1202, -1, -1, -1, -1, -1, -1, 1068, -1, -1, - 1231, -1, -1, -1, 1235, -1, -1, -1, -1, -1, - 1241, 1082, 1083, 1084, 1085, 1086, 1247, 1248, -1, 1231, - -1, -1, -1, 1235, -1, -1, -1, -1, 1192, 1241, - 619, -1, 1196, -1, -1, 1247, 1248, 1201, 1202, -1, - -1, 630, -1, -1, -1, -1, -1, -1, -1, 1280, - 1121, -1, -1, -1, -1, 9, -1, -1, -1, 1290, - -1, -1, 1011, -1, -1, -1, -1, 1231, 1280, -1, - 1141, 1235, 1143, -1, -1, -1, -1, 1241, 1290, 33, - 34, 35, -1, 1247, 1248, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1043, -1, -1, -1, -1, 53, - 54, 55, 56, -1, 58, 59, -1, -1, 1057, -1, - -1, 700, 1011, -1, -1, -1, 1280, -1, -1, 1068, - -1, 1192, -1, -1, -1, 1196, 1290, -1, -1, -1, - 1201, 1202, -1, 1082, 1083, 1084, 1085, 1086, -1, -1, - -1, -1, -1, -1, 1043, 734, -1, -1, 102, -1, - -1, -1, 619, 742, -1, 9, -1, -1, 1057, -1, - 1231, -1, -1, 630, 1235, -1, -1, -1, 122, 1068, - 1241, -1, 1121, -1, -1, -1, 1247, 1248, -1, 33, - 34, 35, -1, 1082, 1083, 1084, 1085, 1086, -1, -1, - -1, -1, 1141, -1, 1143, -1, -1, -1, -1, 53, - 54, 55, 56, 1011, 58, 59, 619, -1, -1, 1280, - -1, -1, -1, -1, -1, -1, -1, 630, -1, 1290, - -1, -1, 1121, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 700, -1, 1043, -1, -1, -1, -1, - -1, -1, 1141, 1192, 1143, -1, -1, 1196, 102, 1057, - -1, -1, 1201, 1202, -1, -1, -1, 2, -1, 4, - 1068, -1, -1, -1, -1, -1, -1, -1, 122, -1, - 124, -1, -1, -1, 1082, 1083, 1084, 1085, 1086, -1, - 1011, -1, 1231, -1, -1, -1, 1235, 700, -1, -1, - -1, -1, 1241, 1192, -1, -1, -1, 1196, 1247, 1248, - -1, -1, 1201, 1202, -1, -1, -1, -1, -1, -1, - -1, -1, 1043, 1121, -1, 60, -1, -1, -1, 9, - -1, 734, -1, -1, -1, -1, 1057, -1, -1, 742, - -1, 1280, 1231, 1141, -1, 1143, 1235, 1068, -1, -1, - -1, 1290, 1241, 33, 34, 35, -1, -1, 1247, 1248, - -1, 1082, 1083, 1084, 1085, 1086, -1, -1, -1, -1, + 49, 58, 59, 9, -1, -1, -1, -1, -1, -1, + -1, 60, -1, 9, -1, -1, 2, -1, -1, -1, + -1, -1, -1, -1, 1120, -1, -1, 33, 34, 35, + -1, -1, 1191, -1, -1, -1, 1195, 33, 34, 35, + -1, 1200, 1201, -1, 1140, 102, 1142, 53, 54, 55, + 56, -1, 58, 59, -1, -1, -1, 53, 54, 55, + 56, 118, 58, 59, -1, 122, -1, 124, -1, -1, + -1, 1230, -1, -1, 60, 1234, -1, -1, -1, -1, + -1, 1240, -1, -1, 133, -1, -1, 1246, 1247, -1, + -1, 140, -1, -1, -1, 1191, 102, -1, -1, 1195, + -1, -1, -1, -1, 1200, 1201, 102, -1, -1, -1, + -1, -1, 118, -1, -1, -1, 122, 9, 124, -1, + 1279, -1, -1, 1010, -1, 174, 122, -1, 124, 618, + 1289, -1, -1, -1, 1230, -1, -1, -1, 1234, -1, + 629, 33, 34, 35, 1240, -1, -1, 133, -1, -1, + 1246, 1247, -1, -1, 140, 1042, -1, -1, -1, -1, + -1, 53, 54, 55, 56, -1, 58, 59, -1, 1056, + -1, -1, -1, 618, -1, -1, -1, 9, -1, -1, + 1067, -1, -1, 1279, 629, -1, -1, -1, 1010, -1, + -1, 2, -1, 1289, 1081, 1082, 1083, 1084, 1085, -1, + -1, 33, 34, 35, -1, -1, -1, -1, -1, -1, + 699, -1, -1, -1, -1, -1, -1, 28, -1, -1, + 1042, 53, 54, 55, 56, -1, 58, 59, -1, -1, + 122, -1, 124, 1120, 1056, -1, -1, -1, 49, -1, + -1, -1, -1, -1, 733, 1067, -1, -1, -1, 60, + -1, -1, 741, 1140, 699, 1142, -1, -1, 2, 1081, + 1082, 1083, 1084, 1085, -1, -1, -1, -1, -1, -1, + 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 28, -1, 9, -1, 733, -1, + 122, -1, 124, -1, -1, -1, 741, -1, 1120, -1, + -1, -1, -1, -1, 1191, 49, -1, -1, 1195, -1, + 33, 34, 35, 1200, 1201, -1, 60, -1, 1140, -1, + 1142, -1, 133, -1, -1, -1, -1, -1, -1, 140, + 53, 54, 55, 56, -1, 58, 59, -1, -1, -1, + -1, -1, -1, 1230, -1, -1, -1, 1234, -1, -1, + -1, -1, -1, 1240, -1, -1, 618, -1, -1, 1246, + 1247, -1, -1, 174, -1, -1, -1, 629, -1, 1191, + -1, -1, -1, 1195, -1, -1, -1, -1, 1200, 1201, + -1, -1, -1, -1, -1, -1, -1, 618, -1, 133, + -1, -1, 1279, -1, -1, 118, 140, -1, 629, 122, + -1, 124, 1289, -1, 9, -1, -1, -1, 1230, -1, + -1, -1, 1234, -1, -1, -1, -1, -1, 1240, -1, + -1, -1, -1, -1, 1246, 1247, 2, -1, 33, 34, + 174, -1, -1, -1, -1, -1, -1, 699, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, + 55, 56, 28, 58, 59, -1, -1, 1279, -1, -1, + -1, -1, 9, -1, -1, -1, -1, 1289, 699, -1, + -1, 733, -1, 49, -1, -1, -1, -1, -1, 741, + -1, -1, -1, -1, 60, -1, 33, 34, 35, 2, + -1, -1, -1, -1, -1, -1, -1, 102, -1, -1, + -1, -1, 733, -1, -1, -1, 53, 54, 55, 56, + 741, 58, 59, -1, -1, 28, -1, 122, -1, 124, + -1, 1010, -1, -1, 71, 72, 73, 74, 75, 76, + 77, 78, 79, -1, -1, -1, 49, 84, 85, 86, + 87, 88, 89, 90, 91, -1, -1, 60, -1, -1, + -1, -1, -1, 1042, -1, 2, -1, 133, -1, 9, + -1, -1, -1, -1, 140, 1010, -1, 1056, -1, 618, + -1, 118, -1, -1, -1, 122, -1, 124, 1067, -1, + 629, -1, -1, 33, 34, 35, 2, -1, -1, -1, + -1, -1, 1081, 1082, 1083, 1084, 1085, 1042, 174, -1, -1, -1, -1, 53, 54, 55, 56, -1, 58, 59, - -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1280, -1, -1, 1192, -1, -1, -1, 1196, -1, - 1121, 1290, -1, 1201, 1202, 33, 34, -1, -1, -1, - -1, -1, -1, -1, -1, 150, -1, -1, -1, -1, - 1141, -1, 1143, -1, -1, 53, 54, 55, 56, -1, - 58, 59, 1011, 1231, -1, -1, -1, 1235, -1, 119, - -1, -1, 122, 1241, 124, -1, -1, -1, -1, 1247, - 1248, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1043, -1, -1, -1, -1, -1, - -1, 1192, -1, -1, 102, 1196, 211, -1, 1057, -1, - 1201, 1202, 1280, -1, 219, -1, -1, -1, -1, 1068, - -1, -1, 1290, -1, 122, -1, 124, -1, -1, -1, - -1, -1, -1, 1082, 1083, 1084, 1085, 1086, -1, -1, - 1231, -1, -1, 248, 1235, -1, -1, -1, -1, -1, - 1241, 9, 257, -1, -1, 260, 1247, 1248, -1, -1, - -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 276, 1121, -1, -1, 33, 34, 35, 9, -1, - 285, -1, -1, -1, 1011, 33, 34, 35, -1, 1280, - -1, -1, 1141, -1, 1143, 53, 54, 55, 56, 1290, - 58, 59, 33, 34, 35, 53, 54, 55, 56, -1, - 58, 59, -1, -1, -1, -1, 1043, -1, -1, -1, - -1, -1, 53, 54, 55, 56, -1, 58, 59, -1, - 1057, -1, -1, -1, -1, -1, -1, -1, 1011, -1, - -1, 1068, -1, 1192, -1, -1, -1, 1196, -1, -1, - -1, -1, 1201, 1202, -1, 1082, 1083, 1084, 1085, 1086, - -1, -1, -1, -1, 122, -1, 124, -1, -1, -1, - 1043, -1, -1, -1, 122, -1, 124, -1, 9, -1, - -1, -1, 1231, -1, 1057, -1, 1235, -1, -1, -1, - -1, 122, 1241, 124, 1121, 1068, -1, -1, 1247, 1248, - -1, -1, 33, 34, 35, -1, -1, -1, -1, 1082, - 1083, 1084, 1085, 1086, 1141, -1, 1143, -1, -1, -1, - -1, -1, 53, 54, 55, 56, -1, 58, 59, 17, - 18, 1280, -1, -1, -1, -1, -1, -1, -1, -1, - 28, 1290, -1, -1, -1, -1, -1, -1, 1121, 37, - -1, -1, -1, -1, 42, -1, 44, 45, -1, -1, - -1, 49, -1, -1, -1, 1192, -1, -1, 1141, 1196, - 1143, 59, -1, -1, 1201, 1202, -1, -1, -1, -1, - -1, 69, -1, 71, -1, 73, 74, -1, 76, -1, - 78, 122, 80, 124, 82, -1, 84, -1, 86, -1, - 88, 89, 90, -1, 1231, -1, 94, -1, 1235, 97, - 9, 99, -1, 101, 1241, -1, -1, -1, -1, 1192, - 1247, 1248, -1, 1196, -1, -1, -1, -1, 1201, 1202, - -1, 119, -1, -1, 33, 34, 35, 125, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 9, -1, -1, - -1, -1, -1, 1280, 53, 54, 55, 56, 1231, 58, - 59, -1, 1235, 1290, -1, 153, 154, -1, 1241, -1, - -1, 33, 34, 35, 1247, 1248, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 175, -1, -1, - -1, 53, 54, 55, 56, -1, 58, 59, -1, 604, - -1, -1, -1, -1, -1, -1, -1, 1280, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1290, -1, -1, - -1, -1, -1, 122, 629, 124, 214, -1, -1, -1, - -1, 636, 220, 26, 639, -1, 641, 30, 31, 32, - -1, -1, -1, -1, -1, -1, -1, -1, 653, -1, - -1, -1, 657, -1, -1, 48, 49, 245, 246, 247, - 122, -1, 124, -1, 57, -1, -1, -1, -1, -1, - 675, 676, 677, -1, -1, 680, 264, 265, -1, -1, - -1, -1, -1, -1, -1, 690, -1, -1, -1, -1, - -1, -1, 697, 698, -1, -1, 701, -1, 703, -1, - -1, -1, -1, -1, -1, -1, -1, 295, 296, 102, - 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, - -1, 309, -1, -1, 312, 730, -1, -1, -1, -1, - -1, -1, 67, -1, -1, 70, -1, 72, 743, 327, - 75, -1, 77, -1, 79, -1, 81, -1, -1, -1, - 85, -1, 87, -1, 342, -1, 91, 92, 93, -1, - -1, 96, -1, 98, -1, 100, -1, -1, 356, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, - -1, 369, -1, 118, -1, -1, -1, -1, -1, 124, - -1, -1, -1, -1, 382, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 395, -1, -1, - -1, -1, 71, -1, 73, 74, -1, 76, 406, 78, - -1, 80, -1, 82, -1, 84, -1, 86, -1, 88, - 89, 90, -1, 421, -1, 94, -1, -1, 97, -1, - 99, 176, 101, 178, 179, 180, 181, 182, 183, 437, - 185, 186, 187, 188, 189, 190, 191, 192, 5, -1, - 119, -1, -1, -1, 11, 12, 125, -1, 203, -1, - -1, -1, 207, -1, 209, 22, 23, -1, 25, -1, - -1, -1, 29, -1, -1, -1, -1, -1, -1, -1, - -1, 5, 480, -1, 41, -1, 43, 11, 12, 46, - 47, -1, -1, 491, 51, 52, -1, -1, 22, 23, - -1, 25, -1, 60, -1, 29, 504, -1, -1, -1, - -1, -1, 69, 70, -1, -1, -1, 41, 516, 43, - -1, -1, 46, 47, 81, -1, -1, 51, 52, -1, - 945, -1, -1, 531, -1, 92, 60, -1, -1, 96, - -1, -1, -1, -1, -1, -1, 544, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 113, 81, -1, -1, - -1, -1, 119, -1, -1, 563, -1, -1, 92, -1, - -1, -1, 96, 5, -1, 7, 8, 575, 10, 11, - 12, 13, 14, -1, 999, -1, -1, 19, 20, 21, - 22, 23, -1, 25, 1009, -1, 28, 29, -1, -1, - 598, 33, 34, -1, 1019, -1, -1, -1, -1, 41, - -1, 43, -1, -1, 46, 47, -1, -1, 50, 51, - 52, -1, -1, -1, -1, -1, -1, -1, 60, -1, - -1, 1046, -1, 1048, -1, 67, -1, 69, 70, -1, - -1, -1, -1, 1058, -1, -1, 1061, 1062, 1063, 81, - -1, -1, 1067, -1, -1, 1070, -1, -1, -1, -1, - 92, 93, -1, -1, 96, -1, -1, 99, -1, -1, - -1, -1, -1, -1, 106, 107, -1, -1, -1, -1, - -1, 113, 114, 681, 1099, 117, -1, 119, 120, -1, - 122, -1, -1, 5, -1, -1, -1, -1, -1, 11, - 12, -1, -1, -1, 702, -1, -1, 705, -1, -1, - 22, 23, 710, 25, -1, -1, -1, 29, -1, -1, - 1135, 719, -1, -1, -1, -1, -1, 1142, -1, 41, - 1145, 43, -1, -1, 46, 47, 734, 735, -1, 51, - 52, -1, -1, -1, 742, -1, -1, -1, 60, 1164, - 1165, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1176, -1, -1, -1, -1, -1, -1, -1, 81, + -1, 1056, -1, 60, -1, -1, -1, -1, -1, -1, + 133, 9, 1067, -1, -1, -1, -1, 140, -1, -1, + -1, 1120, 618, -1, -1, -1, 1081, 1082, 1083, 1084, + 1085, -1, -1, 629, 60, 33, 34, 35, -1, -1, + 699, 1140, 102, 1142, 9, -1, -1, -1, -1, -1, + -1, 174, -1, -1, -1, 53, 54, 55, 56, -1, + 58, 59, 122, -1, 124, 1120, -1, -1, 33, 34, + 35, -1, -1, 9, 733, -1, 133, -1, -1, -1, + -1, -1, 741, 140, -1, 1140, -1, 1142, 53, 54, + 55, 56, 1191, 58, 59, -1, 1195, 33, 34, 35, + -1, 1200, 1201, 699, 102, -1, -1, 133, -1, -1, + -1, -1, -1, -1, 140, -1, -1, 53, 54, 55, + 56, -1, 58, 59, 122, -1, 124, -1, -1, -1, + -1, 1230, -1, -1, -1, 1234, 1191, 102, 1010, -1, + 1195, 1240, -1, -1, -1, 1200, 1201, 1246, 1247, -1, + -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, + -1, -1, 2, -1, -1, -1, 102, -1, -1, 1010, + 1042, -1, -1, -1, -1, 1230, -1, -1, -1, 1234, + 1279, -1, -1, -1, 1056, 1240, 122, -1, 124, -1, + 1289, 1246, 1247, -1, -1, 1067, -1, 618, -1, -1, + -1, 1042, -1, -1, -1, -1, -1, -1, 629, 1081, + 1082, 1083, 1084, 1085, -1, 1056, -1, -1, -1, -1, + 60, -1, -1, -1, 1279, -1, 1067, 9, -1, -1, + -1, -1, -1, -1, 1289, -1, -1, -1, -1, -1, + 1081, 1082, 1083, 1084, 1085, -1, -1, -1, 1120, -1, + -1, 33, 34, 35, -1, -1, -1, -1, 9, -1, + -1, -1, -1, -1, 618, -1, -1, -1, 1140, -1, + 1142, 53, 54, 55, 56, 629, 58, 59, 699, 1120, + -1, -1, 33, 34, 35, -1, -1, -1, -1, 9, + -1, -1, -1, 133, -1, -1, -1, -1, -1, 1140, + 140, 1142, 53, 54, 55, 56, -1, 58, 59, -1, + -1, -1, 733, 33, 34, 35, -1, -1, -1, 1191, + 741, -1, -1, 1195, -1, -1, -1, -1, 1200, 1201, + -1, -1, -1, 53, 54, 55, 56, -1, 58, 59, + 122, -1, 124, -1, -1, 699, -1, -1, -1, -1, + 1191, 1010, -1, -1, 1195, -1, -1, -1, 1230, 1200, + 1201, -1, 1234, -1, -1, -1, -1, 118, 1240, -1, + -1, 122, -1, 124, 1246, 1247, -1, -1, -1, 733, + -1, -1, 102, 1042, -1, -1, -1, 741, -1, 1230, + -1, -1, -1, 1234, -1, 9, -1, 1056, -1, 1240, + -1, -1, 122, -1, 124, 1246, 1247, 1279, 1067, -1, + -1, -1, -1, -1, 1010, -1, -1, 1289, -1, 33, + 34, 35, 1081, 1082, 1083, 1084, 1085, -1, -1, -1, + 9, -1, 618, -1, -1, -1, -1, -1, 1279, 53, + 54, 55, 56, 629, 58, 59, 1042, -1, 1289, -1, + -1, -1, -1, -1, 33, 34, 35, -1, -1, -1, + 1056, 1120, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1067, 9, -1, 53, 54, 55, 56, -1, 58, + 59, 1140, -1, 1142, -1, 1081, 1082, 1083, 1084, 1085, + -1, -1, -1, -1, -1, 618, 33, 34, 35, -1, + -1, -1, -1, -1, 9, -1, 629, -1, 122, -1, + 124, -1, -1, 699, -1, -1, 53, 54, 55, 56, + -1, 58, 59, 102, 1120, -1, -1, -1, 33, 34, + 35, -1, 1191, -1, -1, -1, 1195, -1, -1, -1, + -1, 1200, 1201, 122, 1140, 124, 1142, 733, 53, 54, + 55, 56, -1, 58, 59, 741, -1, -1, -1, -1, + -1, 618, -1, -1, -1, 102, -1, -1, -1, -1, + -1, 1230, 629, -1, -1, 1234, 699, -1, -1, -1, + -1, 1240, 9, -1, -1, 122, -1, 1246, 1247, 1010, + -1, -1, 618, -1, -1, 1191, -1, 102, -1, 1195, + -1, -1, -1, 629, 1200, 1201, 33, 34, 35, -1, + 733, -1, -1, -1, -1, -1, -1, 122, 741, 124, + 1279, 1042, -1, -1, -1, -1, 53, 54, 55, 56, + 1289, 58, 59, -1, 1230, 1056, -1, -1, 1234, -1, + -1, -1, 699, -1, 1240, -1, 1067, -1, -1, -1, + 1246, 1247, -1, -1, -1, -1, 1010, -1, -1, -1, + 1081, 1082, 1083, 1084, 1085, -1, -1, -1, -1, -1, + -1, -1, -1, 699, -1, -1, -1, -1, -1, -1, + -1, 26, 27, 1279, -1, 30, 31, 32, 1042, -1, + 9, -1, -1, 1289, -1, 122, -1, 124, 9, 1120, + -1, -1, 1056, 48, 49, -1, -1, -1, -1, -1, + -1, -1, 57, 1067, 33, 34, 35, -1, -1, 1140, + -1, 1142, 33, 34, 35, -1, -1, 1081, 1082, 1083, + 1084, 1085, -1, -1, 53, 54, 55, 56, -1, 58, + 59, -1, 53, 54, 55, 56, -1, 58, 59, -1, + -1, 9, -1, -1, -1, -1, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 1120, -1, -1, -1, + 1191, -1, -1, -1, 1195, 33, 34, 35, 618, 1200, + 1201, -1, -1, -1, -1, -1, 1140, -1, 1142, 629, + -1, 102, 2, -1, 4, 53, 54, 55, 56, -1, + 58, 59, -1, 122, -1, 124, -1, -1, -1, 1230, + -1, 122, -1, 1234, -1, -1, -1, -1, -1, 1240, + -1, -1, -1, -1, 1010, 1246, 1247, -1, 9, -1, + 30, 31, 32, -1, -1, -1, -1, 1191, -1, -1, + -1, 1195, -1, -1, -1, -1, 1200, 1201, 48, 49, + 60, -1, 33, 34, 35, -1, 1042, 57, 1279, 699, + -1, -1, -1, -1, 122, -1, -1, -1, 1289, -1, + 1056, -1, 53, 54, 55, 56, 1230, 58, 59, -1, + 1234, 1067, -1, -1, -1, -1, 1240, 1010, -1, -1, + -1, -1, 1246, 1247, -1, 1081, 1082, 1083, 1084, 1085, + -1, -1, 102, 103, 104, 105, 106, 107, 108, 109, + 110, -1, -1, -1, -1, -1, -1, -1, -1, 1042, + -1, -1, -1, -1, -1, 1279, -1, -1, -1, -1, + -1, 5, -1, 1056, 1120, 1289, -1, 11, 12, 149, + -1, 122, -1, -1, 1067, -1, -1, -1, 22, 23, + -1, 25, -1, 1010, 1140, 29, 1142, -1, 1081, 1082, + 1083, 1084, 1085, -1, -1, -1, -1, 41, -1, 43, + -1, -1, 46, 47, -1, -1, -1, 51, 52, -1, + -1, -1, -1, -1, 1010, 1042, 60, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1120, -1, 1056, + 210, -1, -1, -1, -1, 1191, -1, 81, 218, 1195, + 1067, -1, -1, -1, 1200, 1201, 1042, 1140, 92, 1142, + -1, -1, 96, -1, 1081, 1082, 1083, 1084, 1085, -1, + 1056, -1, -1, -1, -1, -1, -1, 247, -1, -1, + 114, 1067, -1, -1, 1230, -1, 256, -1, 1234, 259, + -1, -1, -1, -1, 1240, 1081, 1082, 1083, 1084, 1085, + 1246, 1247, -1, 1120, -1, 275, -1, -1, 1191, -1, + -1, -1, 1195, -1, 284, -1, -1, 1200, 1201, -1, + -1, -1, -1, 1140, -1, 1142, -1, -1, -1, -1, + -1, -1, -1, 1279, 1120, 5, -1, -1, -1, -1, + -1, 11, 12, 1289, -1, -1, -1, 1230, -1, -1, + -1, 1234, 22, 23, 1140, 25, 1142, 1240, -1, 29, + -1, -1, -1, 1246, 1247, -1, -1, -1, -1, -1, + -1, 41, -1, 43, 1191, -1, 46, 47, 1195, -1, + -1, 51, 52, 1200, 1201, -1, -1, -1, -1, -1, + 60, -1, -1, -1, -1, -1, 1279, -1, -1, 69, + 70, -1, -1, -1, -1, 1191, 1289, -1, -1, 1195, + 1010, 81, -1, 1230, 1200, 1201, -1, 1234, -1, -1, + -1, -1, 92, 1240, -1, -1, 96, -1, -1, 1246, + 1247, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1042, 113, 1230, -1, 17, 18, 1234, -1, + -1, -1, -1, -1, 1240, -1, 1056, 28, -1, -1, + 1246, 1247, 1279, -1, -1, -1, 37, 1067, -1, -1, + -1, 42, 1289, 44, 45, -1, -1, -1, 49, -1, + -1, 1081, 1082, 1083, 1084, 1085, -1, -1, 59, -1, + -1, -1, -1, 1279, -1, -1, -1, 68, -1, 70, + -1, 72, 73, 1289, 75, -1, 77, -1, 79, -1, + 81, -1, 83, -1, 85, -1, 87, 88, 89, -1, + 1120, -1, 93, -1, -1, 96, -1, 98, 5, 100, + -1, -1, -1, -1, 11, 12, -1, -1, -1, -1, + 1140, -1, 1142, -1, -1, 22, 23, 118, 25, -1, + -1, -1, 29, 124, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 41, -1, 43, -1, -1, 46, + 47, -1, -1, -1, 51, 52, -1, -1, -1, -1, + -1, 152, 153, 60, -1, -1, -1, -1, -1, -1, + -1, 1191, 69, 70, -1, 1195, -1, -1, -1, -1, + 1200, 1201, -1, 174, 81, 70, -1, 72, 73, -1, + 75, -1, 77, -1, 79, 92, 81, -1, 83, 96, + 85, -1, 87, 88, 89, -1, -1, -1, 93, -1, + 1230, 96, 602, 98, 1234, 100, 113, -1, -1, -1, + 1240, 118, 213, -1, -1, -1, 1246, 1247, 219, -1, + -1, -1, -1, 118, -1, -1, -1, -1, 628, 124, + -1, -1, -1, -1, -1, 635, -1, -1, 638, -1, + 640, -1, -1, 244, 245, 246, -1, -1, -1, 1279, + -1, -1, 652, -1, -1, -1, 656, -1, -1, 1289, + -1, -1, 263, 264, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 674, 675, 676, -1, -1, 679, + -1, 5, -1, -1, -1, -1, -1, 11, 12, 689, + -1, -1, 293, 294, -1, -1, 696, 697, 22, 23, + 700, 25, 702, -1, -1, 29, 307, -1, -1, 310, + -1, -1, -1, -1, -1, -1, -1, 41, -1, 43, + -1, -1, 46, 47, 325, -1, -1, 51, 52, 729, + -1, -1, -1, -1, -1, -1, 60, -1, 66, 340, + -1, 69, 742, 71, -1, -1, 74, -1, 76, -1, + 78, -1, 80, 354, -1, -1, 84, 81, 86, -1, + -1, -1, 90, 91, 92, -1, 367, 95, 92, 97, + -1, 99, 96, -1, -1, -1, -1, -1, -1, 380, + -1, -1, -1, -1, 112, -1, -1, -1, -1, 117, + 114, -1, 393, -1, -1, 123, -1, -1, -1, -1, + -1, -1, -1, 404, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 26, 27, -1, 419, 30, + 31, 32, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 435, -1, -1, 48, 49, -1, + -1, -1, -1, -1, -1, -1, 57, 175, -1, 177, + 178, 179, 180, 181, 182, -1, 184, 185, 186, 187, + 188, 189, 190, 191, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 202, -1, -1, 478, 206, -1, + 208, -1, -1, -1, -1, -1, -1, -1, 489, -1, + -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, + -1, 502, -1, -1, 115, 116, -1, -1, -1, 5, + -1, 7, 8, 514, 10, 11, 12, 13, 14, -1, + -1, -1, -1, 19, 20, 21, 22, 23, 529, 25, + -1, -1, -1, 29, -1, -1, -1, -1, -1, -1, + -1, 542, -1, -1, 944, 41, -1, 43, -1, -1, + 46, 47, -1, -1, 50, 51, 52, -1, -1, -1, + 561, -1, -1, -1, 60, -1, -1, -1, -1, -1, + -1, 67, 573, 69, 70, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 596, 92, 93, 998, -1, + 96, -1, -1, 99, -1, -1, -1, -1, 1008, -1, + -1, -1, -1, -1, -1, -1, -1, 113, 1018, -1, + -1, -1, 118, -1, 120, -1, 122, -1, -1, -1, + -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, + -1, 11, 12, -1, -1, 1045, -1, 1047, -1, -1, + -1, -1, 22, 23, -1, 25, -1, 1057, -1, 29, + 1060, 1061, 1062, -1, -1, -1, 1066, -1, -1, 1069, + -1, 41, -1, 43, -1, -1, 46, 47, -1, 680, + -1, 51, 52, -1, -1, -1, -1, -1, -1, -1, + 60, -1, -1, -1, -1, -1, -1, -1, 1098, -1, + 701, -1, -1, 704, 9, -1, -1, -1, 709, -1, + -1, 81, -1, -1, -1, -1, -1, 718, -1, -1, + -1, -1, 92, -1, -1, -1, 96, -1, 33, 34, + 35, -1, 733, 734, 1134, -1, -1, -1, -1, -1, + 741, 1141, -1, -1, 1144, 115, 116, -1, 53, 54, + 55, 56, -1, 58, 59, -1, -1, -1, -1, -1, + -1, -1, -1, 1163, 1164, -1, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 1175, -1, -1, -1, 84, + 85, 86, 87, 88, 89, 90, 91, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 92, -1, -1, -1, 96, -1, -1, -1, 1203, -1, + -1, -1, 1202, -1, -1, -1, -1, -1, -1, -1, + 115, 116, 117, -1, -1, 1215, -1, 122, -1, 124, + -1, -1, -1, -1, 1224, 1225, -1, -1, 1228, -1, + -1, 1231, 1232, -1, 0, 1, -1, 3, 4, 5, + 6, 7, 8, -1, 10, 11, 12, 13, 14, -1, + -1, -1, -1, 19, 20, 21, 22, 23, 24, 25, + -1, -1, -1, 29, -1, -1, -1, 33, 34, 1269, + 36, -1, -1, -1, -1, 41, 42, 43, 44, -1, + 46, 47, -1, -1, 50, 51, 52, -1, -1, -1, + -1, -1, -1, -1, 60, 61, 62, -1, -1, 65, + -1, 67, 68, 69, 70, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 80, 81, 82, 83, -1, -1, + -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, + 96, 97, 98, 99, -1, -1, -1, -1, -1, 940, + 941, -1, -1, -1, -1, -1, -1, 113, -1, 115, + 116, -1, 118, -1, 120, -1, 122, -1, -1, 960, + -1, 13, -1, -1, -1, -1, -1, -1, -1, -1, + 22, 23, 71, 72, 73, 74, 75, 76, 77, 78, + 79, -1, -1, -1, -1, 84, 85, 86, 87, 88, + 89, 90, 91, -1, -1, -1, 997, -1, -1, 1000, + 52, -1, -1, 1004, 1005, -1, -1, -1, -1, 737, + -1, -1, -1, -1, -1, 1016, -1, 1018, -1, -1, + -1, -1, 1023, 1024, -1, 124, -1, -1, 1029, -1, + -1, -1, -1, -1, -1, 1036, -1, -1, -1, -1, + -1, 5, -1, 7, 8, -1, 10, 11, 12, 13, + 14, -1, -1, -1, -1, 19, 20, 21, 22, 23, + -1, 25, -1, -1, 28, 29, -1, -1, -1, 33, + 34, -1, -1, -1, -1, -1, -1, 41, -1, 43, + -1, -1, 46, 47, 136, -1, 50, 51, 52, -1, + -1, -1, -1, -1, -1, 147, 60, -1, 1099, 1100, + -1, -1, -1, 67, -1, 69, 70, -1, -1, -1, + -1, -1, 164, -1, -1, -1, -1, 81, -1, -1, + 172, 173, 1123, -1, 1125, -1, -1, -1, 92, 93, + -1, -1, 96, -1, 1135, 99, 1137, -1, -1, -1, + -1, -1, 106, 107, -1, -1, -1, -1, -1, 113, + 114, -1, -1, 117, 118, -1, 120, 26, 122, -1, + 1161, 30, 31, 32, -1, 1166, -1, -1, -1, -1, + 1171, -1, -1, 1174, -1, -1, -1, -1, -1, 48, + 49, -1, -1, -1, -1, -1, -1, -1, 57, -1, + -1, -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1216, -1, 115, 116, -1, -1, -1, -1, -1, - 1225, 1226, -1, -1, 1229, -1, -1, 1232, 1233, -1, - 0, 1, -1, 3, 4, 5, 6, 7, 8, -1, - 10, 11, 12, 13, 14, -1, -1, -1, -1, 19, - 20, 21, 22, 23, 24, 25, -1, -1, -1, 29, - -1, -1, -1, 33, 34, 1270, 36, -1, -1, -1, - -1, 41, 42, 43, 44, -1, 46, 47, -1, -1, - 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, - 60, 61, 62, -1, -1, 65, -1, 67, 68, 69, - 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 80, 81, 82, 83, -1, 9, -1, -1, -1, -1, - -1, -1, 92, 93, 94, 95, 96, 97, 98, 99, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, - 34, 35, -1, 113, -1, 115, 116, -1, -1, 119, - 120, -1, 122, 941, 942, -1, -1, -1, -1, 53, - 54, 55, 56, -1, 58, 59, -1, -1, -1, -1, - -1, -1, -1, 961, -1, -1, -1, 71, 72, 73, - 74, 75, 76, 77, 78, 79, -1, -1, -1, -1, - 84, 85, 86, 87, 88, 89, 90, 91, -1, -1, - -1, -1, 13, 738, -1, -1, 30, 31, 32, -1, - 998, 22, 23, 1001, -1, -1, -1, 1005, 1006, -1, - -1, 115, 116, 117, 48, 49, -1, -1, 122, 1017, - 124, 1019, -1, 57, -1, -1, 1024, 1025, -1, -1, - -1, 52, 1030, -1, -1, -1, -1, -1, -1, 1037, - -1, -1, 5, -1, 7, 8, -1, 10, 11, 12, - 13, 14, -1, -1, -1, -1, 19, 20, 21, 22, - 23, -1, 25, -1, -1, -1, 29, -1, 102, 103, - 104, 105, 106, 107, 108, 109, 110, -1, 41, -1, - 43, -1, -1, 46, 47, -1, -1, 50, 51, 52, - -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, - -1, -1, 1100, 1101, 67, -1, 69, 70, -1, -1, - -1, -1, -1, -1, -1, -1, 137, -1, 81, -1, - -1, 9, -1, -1, -1, -1, 1124, 148, 1126, 92, - 93, -1, -1, 96, -1, -1, 99, -1, 1136, -1, - 1138, -1, -1, -1, 165, 33, 34, 35, -1, -1, - 113, -1, 173, 174, -1, -1, 119, 120, -1, 122, - -1, -1, -1, -1, 1162, 53, 54, 55, 56, 1167, - 58, 59, -1, -1, 1172, -1, -1, 1175, -1, -1, - -1, -1, -1, 71, 72, 73, 74, 75, 76, 77, - 78, 79, -1, -1, -1, -1, 84, 85, 86, 87, - 88, 89, 90, 91, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1217, - -1, -1, 1220, -1, -1, -1, -1, -1, 249, 1227, - -1, 119, -1, -1, 122, -1, 124, -1, -1, -1, - -1, -1, -1, -1, 265, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 275, -1, -1, -1, -1, 1257, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 299, -1, - -1, 302, 303, 304, 305, 306, 307, 308, -1, -1, - 311, -1, -1, -1, -1, 1293, 1294, 318, -1, 320, - 321, 322, 323, 324, 325, 326, -1, 328, -1, -1, - -1, -1, 333, -1, 335, 336, 337, 338, 339, 340, - 341, -1, -1, -1, -1, -1, 347, -1, 349, 350, - 351, 352, 353, 354, 355, -1, -1, -1, -1, 360, - -1, 362, 363, 364, 365, 366, 367, 368, -1, -1, - -1, -1, 373, -1, 375, 376, 377, 378, 379, 380, - 381, -1, -1, -1, -1, 386, -1, 388, 389, 390, - 391, 392, 393, 394, -1, -1, -1, 398, 399, 400, - 401, 402, 403, 404, 405, -1, -1, -1, -1, -1, - 411, -1, 413, 414, 415, 416, 417, 418, 419, -1, - -1, -1, -1, -1, -1, -1, 427, -1, 429, 430, - 431, 432, 433, 434, 435, -1, -1, 71, 72, 73, - 74, 75, 76, 77, 78, 79, -1, -1, -1, -1, - 84, 85, 86, 87, 88, 89, 90, 91, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 472, 473, 474, 475, 476, 477, 478, 479, -1, - -1, -1, 483, 484, 485, 486, 487, 488, 489, 490, - 124, -1, -1, -1, 495, -1, 497, 498, 499, 500, - 501, 502, 503, -1, -1, -1, 507, -1, 509, 510, - 511, 512, 513, 514, 515, -1, -1, -1, -1, -1, - 521, -1, 523, 524, 525, 526, 527, 528, 529, -1, - -1, -1, -1, -1, 535, -1, 537, 538, 539, 540, - 541, 542, 543, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 554, -1, 556, 557, 558, 559, 560, - 561, 562, 9, -1, -1, 566, -1, 568, 569, 570, - 571, 572, 573, 574, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 33, 34, 589, -1, - 591, 592, 593, 594, 595, 596, 597, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 53, 54, 55, 56, - -1, 58, 59, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 71, 72, 73, 74, 75, 76, - 77, 78, 79, -1, -1, -1, -1, 84, 85, 86, - 87, 88, 89, 90, 91, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 658, 659, 660, - 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, - 671, 672, 673, 674, 70, 122, 72, 124, -1, 75, - -1, 77, -1, 79, -1, -1, -1, 83, -1, -1, - -1, 87, -1, 694, -1, 91, 92, -1, -1, 9, - 96, 702, 98, -1, 100, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 113, -1, -1, - -1, -1, 118, 33, 34, -1, -1, -1, 124, -1, - -1, -1, -1, -1, 735, -1, -1, -1, -1, -1, - 741, -1, -1, 53, 54, 55, 56, -1, 58, 59, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 71, 72, 73, 74, 75, 76, 77, 78, 79, - -1, 772, -1, -1, 84, 85, 86, 87, 88, 89, - 90, 91, 178, 179, 180, 181, 182, -1, 184, -1, - 186, 187, 188, -1, 190, 191, 192, -1, -1, -1, - -1, -1, -1, -1, -1, 115, 116, 203, -1, -1, - -1, 207, 122, 209, 124, -1, -1, -1, -1, 215, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 225, - 226, 227, 228, 229, -1, 231, -1, 233, 234, 235, - -1, 237, 238, 239, -1, 241, 242, 243, 71, 72, - 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, - -1, 84, 85, 86, 87, 88, 89, 90, 91, -1, - -1, -1, 268, 269, -1, 271, 272, -1, 1, -1, - 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, - 13, 14, -1, -1, -1, -1, 19, 20, 21, 22, - 23, 24, 25, -1, -1, -1, 29, -1, -1, -1, - 33, 34, -1, 36, -1, -1, -1, -1, 41, 42, - 43, 44, -1, 46, 47, -1, -1, 50, 51, 52, - -1, -1, -1, -1, -1, 936, -1, 60, 61, 62, - -1, -1, 65, 944, 67, 68, 69, 70, -1, -1, - -1, 952, -1, -1, -1, -1, 957, 80, 81, 82, - 83, -1, -1, -1, -1, -1, -1, -1, -1, 92, - 93, 94, 95, 96, 97, 98, 99, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, 116, -1, -1, 119, 120, -1, 122, + -1, -1, 264, -1, -1, 1216, -1, -1, 1219, -1, + -1, -1, 274, -1, -1, 1226, -1, -1, -1, -1, + -1, -1, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, -1, -1, -1, 297, -1, -1, 300, 301, + 302, 303, 304, 305, 306, 1256, -1, 309, -1, -1, + -1, -1, -1, -1, 316, -1, 318, 319, 320, 321, + 322, 323, 324, -1, 326, -1, -1, -1, -1, 331, + -1, 333, 334, 335, 336, 337, 338, 339, -1, -1, + -1, 1292, 1293, 345, -1, 347, 348, 349, 350, 351, + 352, 353, -1, -1, -1, -1, 358, -1, 360, 361, + 362, 363, 364, 365, 366, -1, -1, -1, -1, 371, + -1, 373, 374, 375, 376, 377, 378, 379, -1, -1, + -1, -1, 384, -1, 386, 387, 388, 389, 390, 391, + 392, -1, -1, -1, 396, 397, 398, 399, 400, 401, + 402, 403, -1, -1, -1, -1, -1, 409, -1, 411, + 412, 413, 414, 415, 416, 417, -1, -1, -1, -1, + -1, -1, -1, 425, -1, 427, 428, 429, 430, 431, + 432, 433, -1, -1, -1, -1, -1, -1, -1, -1, 71, 72, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, -1, 84, 85, 86, 87, 88, 89, 90, - 91, -1, -1, -1, -1, 5, -1, 1028, -1, -1, - 1031, 11, 12, -1, -1, -1, 1037, -1, -1, -1, - -1, -1, 22, 23, -1, 25, -1, -1, 119, 29, - -1, -1, 1053, -1, -1, -1, -1, -1, 1059, -1, - 456, 41, -1, 43, 1065, -1, 46, 47, -1, -1, - 1071, 51, 52, -1, -1, -1, -1, 1078, -1, -1, - 60, -1, -1, -1, -1, -1, -1, 1088, -1, 3, + 91, -1, -1, -1, -1, -1, -1, -1, 470, 471, + 472, 473, 474, 475, 476, 477, -1, -1, -1, 481, + 482, 483, 484, 485, 486, 487, 488, 118, -1, -1, + -1, 493, -1, 495, 496, 497, 498, 499, 500, 501, + -1, -1, -1, 505, -1, 507, 508, 509, 510, 511, + 512, 513, -1, -1, -1, -1, -1, 519, -1, 521, + 522, 523, 524, 525, 526, 527, -1, -1, -1, -1, + -1, 533, -1, 535, 536, 537, 538, 539, 540, 541, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 552, -1, 554, 555, 556, 557, 558, 559, 560, -1, + -1, -1, 564, -1, 566, 567, 568, 569, 570, 571, + 572, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 587, -1, 589, 590, 591, + 592, 593, 594, 595, 69, -1, 71, -1, -1, 74, + -1, 76, -1, 78, 26, 27, -1, 82, 30, 31, + 32, 86, -1, -1, -1, 90, 91, -1, -1, -1, + 95, -1, 97, -1, 99, 47, 48, 49, -1, -1, + -1, -1, -1, -1, -1, 57, -1, 112, -1, -1, + -1, -1, 117, -1, -1, -1, -1, -1, 123, -1, + -1, -1, -1, -1, -1, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + 672, 673, -1, -1, -1, -1, -1, -1, -1, -1, + 102, 103, 104, 105, 106, 107, 108, 109, 110, -1, + -1, 693, -1, -1, -1, -1, -1, -1, -1, 701, + -1, -1, 177, 178, 179, 180, 181, -1, 183, -1, + 185, 186, 187, -1, 189, 190, 191, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 202, -1, -1, + -1, 206, 734, 208, -1, -1, -1, -1, 740, 214, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, + 225, 226, 227, 228, -1, 230, -1, 232, 233, 234, + -1, 236, 237, 238, -1, 240, 241, 242, -1, 771, + 71, 72, 73, 74, 75, 76, 77, 78, 79, -1, + -1, -1, -1, 84, 85, 86, 87, 88, 89, 90, + 91, -1, 267, 268, -1, 270, 271, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, - 14, 81, -1, -1, -1, 19, 20, 21, 22, 23, - 24, 25, 92, -1, -1, 29, 96, -1, 1119, 33, - 34, -1, 36, -1, -1, -1, -1, 41, 42, 43, - 44, -1, 46, 47, 114, -1, 50, 51, 52, -1, - -1, -1, -1, -1, -1, -1, 60, 61, 62, 1150, - -1, 65, -1, 67, 68, 69, 70, -1, 1159, -1, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, -1, -1, -1, 29, -1, -1, -1, 33, + 34, -1, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, -1, -1, 50, 51, 52, -1, + -1, -1, -1, -1, -1, -1, 60, 61, 62, 63, + 64, 65, -1, 67, 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, 83, - -1, -1, -1, -1, -1, -1, -1, 1178, 92, 93, + -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, - -1, 115, 116, 1204, -1, 119, 120, -1, 122, -1, + -1, 115, 116, -1, 118, -1, 120, -1, 122, -1, + -1, -1, 5, -1, 7, 8, -1, 10, 11, 12, + 13, 14, -1, 935, -1, -1, 19, 20, 21, 22, + 23, 943, 25, -1, -1, 28, 29, -1, -1, 951, + 33, 34, -1, -1, 956, -1, -1, -1, 41, -1, + 43, -1, -1, 46, 47, -1, -1, 50, 51, 52, + -1, -1, -1, -1, -1, -1, -1, 60, -1, 454, + -1, -1, -1, -1, 67, -1, 69, 70, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 92, + 93, -1, -1, 96, -1, -1, 99, -1, -1, -1, + -1, -1, -1, 106, 107, 1027, -1, -1, 1030, -1, + 113, 114, -1, -1, 1036, 118, -1, 120, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5, 6, 7, 8, -1, 10, 11, 12, 13, 14, - -1, -1, 17, 18, 19, 20, 21, 22, 23, 24, - 25, -1, -1, 1244, 29, -1, -1, -1, 33, 34, - -1, 36, 648, -1, 650, -1, 41, 42, 43, 44, - -1, 46, 47, -1, -1, 50, 51, 52, -1, -1, - -1, -1, -1, -1, -1, 60, 61, 62, -1, -1, - 65, -1, 67, 68, 69, 70, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 80, 81, 82, 83, -1, - -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, - 95, 96, 97, 98, 99, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, - 115, 116, -1, -1, 119, 120, -1, 122, 5, 6, - 7, 8, 738, 10, 11, 12, 13, 14, -1, -1, - 17, -1, 19, 20, 21, 22, 23, 24, 25, -1, - -1, -1, 29, -1, -1, -1, 33, 34, -1, 36, - -1, -1, -1, 40, 41, 42, 43, 44, -1, 46, - 47, -1, -1, 50, 51, 52, -1, -1, -1, -1, - -1, -1, -1, 60, 61, 62, -1, -1, 65, -1, - 67, 68, 69, 70, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 80, 81, 82, 83, -1, -1, -1, - -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, - 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, - -1, -1, 119, 120, -1, 122, 5, 6, 7, 8, - -1, 10, 11, 12, 13, 14, -1, -1, 17, -1, - 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, - 29, -1, -1, -1, 33, 34, -1, 36, -1, -1, - -1, -1, 41, 42, 43, 44, 45, 46, 47, -1, - -1, 50, 51, 52, -1, -1, -1, -1, -1, -1, - -1, 60, 61, 62, -1, -1, 65, -1, 67, 68, - 69, 70, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 80, 81, 82, 83, -1, -1, -1, -1, -1, - -1, -1, -1, 92, 93, 94, 95, 96, 97, 98, - 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 113, -1, 115, 116, -1, -1, - 119, 120, -1, 122, -1, -1, -1, 5, 6, 7, - 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + 1052, -1, -1, -1, -1, -1, 1058, -1, -1, -1, + -1, -1, 1064, -1, -1, -1, -1, -1, 1070, -1, + -1, -1, -1, -1, -1, 1077, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1087, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, + -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, + 12, 13, 14, -1, -1, 17, 1118, 19, 20, 21, + 22, 23, 24, 25, -1, -1, -1, 29, -1, -1, + -1, 33, 34, -1, 36, 37, 38, 39, -1, 41, + 42, 43, 44, -1, 46, 47, -1, 1149, 50, 51, + 52, -1, -1, -1, -1, -1, 1158, -1, 60, 61, + 62, -1, -1, 65, -1, 67, 68, 69, 70, -1, + -1, -1, 647, -1, 649, 1177, -1, -1, 80, 81, + 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, + 92, 93, 94, 95, 96, 97, 98, 99, -1, -1, + -1, 1203, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 113, -1, 115, 116, -1, 118, -1, 120, -1, + 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, + 8, 1243, 10, 11, 12, 13, 14, -1, -1, 17, -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, - -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, - -1, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, 29, 737, -1, -1, 33, 34, -1, 36, 37, + 38, 39, -1, 41, 42, 43, 44, -1, 46, 47, -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, - -1, -1, 60, 61, 62, -1, -1, 65, 1034, 67, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, - -1, 119, 120, -1, 122, 5, 6, 7, 8, -1, - 10, 11, 12, 13, 14, -1, -1, 17, -1, 19, - 20, 21, 22, 23, 24, 25, -1, -1, -1, 29, - -1, -1, -1, 33, 34, -1, 36, -1, -1, -1, - -1, 41, 42, 43, 44, -1, 46, 47, -1, -1, - 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, - 60, 61, 62, -1, -1, 65, -1, 67, 68, 69, - 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 80, 81, 82, 83, -1, -1, -1, -1, -1, -1, - -1, -1, 92, 93, 94, 95, 96, 97, 98, 99, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 113, -1, 115, 116, -1, -1, 119, - 120, -1, 122, 5, 6, 7, 8, -1, 10, 11, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, 37, + 38, 39, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, 1033, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, 37, + 38, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, 37, + 38, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, 63, 64, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + 38, 39, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, 37, + 38, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, 40, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, 17, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, -1, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 1, 122, 3, 4, 5, 6, 7, + 8, -1, 10, 11, 12, 13, 14, -1, -1, -1, + -1, 19, 20, 21, 22, 23, 24, 25, -1, -1, + -1, 29, -1, -1, -1, 33, 34, -1, 36, -1, + -1, -1, -1, 41, 42, 43, 44, -1, 46, 47, + -1, -1, 50, 51, 52, -1, -1, -1, -1, -1, + -1, -1, 60, 61, 62, -1, -1, 65, -1, 67, + 68, 69, 70, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + -1, -1, -1, -1, 92, 93, 94, 95, 96, 97, + 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, 116, -1, + 118, -1, 120, 5, 122, 7, 8, -1, 10, 11, 12, 13, 14, -1, -1, -1, -1, 19, 20, 21, - 22, 23, 24, 25, -1, -1, -1, 29, -1, -1, - -1, 33, 34, -1, 36, -1, -1, -1, -1, 41, - 42, 43, 44, -1, 46, 47, -1, -1, 50, 51, - 52, -1, -1, -1, -1, -1, -1, -1, 60, 61, - 62, -1, -1, 65, -1, 67, 68, 69, 70, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, - 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, - 92, 93, 94, 95, 96, 97, 98, 99, -1, -1, + 22, 23, -1, 25, -1, -1, 28, 29, -1, -1, + -1, 33, 34, -1, -1, -1, -1, -1, -1, 41, + -1, 43, -1, -1, 46, 47, -1, -1, 50, 51, + 52, -1, -1, -1, -1, -1, -1, -1, 60, -1, + -1, -1, -1, -1, -1, 67, -1, 69, 70, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 113, -1, 115, 116, -1, -1, 119, 120, 5, + 92, 93, -1, -1, 96, -1, -1, 99, -1, -1, + -1, -1, -1, -1, 106, 107, -1, -1, -1, -1, + -1, 113, 114, -1, -1, -1, 118, -1, 120, 5, 122, 7, 8, -1, 10, 11, 12, 13, 14, -1, -1, -1, -1, 19, 20, 21, 22, 23, -1, 25, - -1, -1, 28, 29, -1, -1, -1, 33, 34, -1, + -1, -1, -1, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, 43, -1, -1, - 46, 47, -1, -1, 50, 51, 52, -1, -1, -1, - -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, + 46, 47, -1, -1, -1, 51, 52, -1, -1, -1, + -1, -1, -1, 9, 60, -1, -1, -1, -1, -1, -1, 67, -1, 69, 70, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 81, -1, 33, 34, -1, -1, -1, -1, -1, -1, -1, 92, 93, -1, -1, - 96, -1, -1, 99, -1, -1, -1, -1, -1, -1, - 106, 107, -1, -1, -1, 26, 27, 113, 114, 30, - 31, 32, -1, 119, 120, 5, 122, 7, 8, -1, - 10, 11, 12, 13, 14, -1, -1, 48, 49, 19, - 20, 21, 22, 23, -1, 25, 57, -1, 28, 29, - -1, -1, -1, 33, 34, -1, -1, -1, -1, -1, - -1, 41, -1, 43, -1, -1, 46, 47, -1, -1, - 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, - 60, -1, -1, -1, -1, -1, -1, 67, -1, 69, - 70, 102, 103, 104, 105, 106, 107, 108, 109, 110, - -1, 81, -1, -1, 115, 116, -1, -1, -1, -1, - -1, -1, 92, 93, -1, -1, 96, -1, -1, 99, - -1, -1, -1, -1, -1, -1, 106, 107, -1, -1, - -1, 26, 27, 113, 114, 30, 31, 32, -1, 119, - 120, 5, 122, 7, 8, -1, 10, 11, 12, 13, - 14, -1, 47, 48, 49, 19, 20, 21, 22, 23, - -1, 25, 57, -1, -1, 29, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 41, -1, 43, - -1, -1, 46, 47, -1, -1, -1, 51, 52, -1, - -1, -1, -1, -1, -1, 9, 60, -1, -1, -1, - -1, -1, -1, 67, -1, 69, 70, 102, 103, 104, - 105, 106, 107, 108, 109, 110, -1, 81, -1, 33, - 34, 35, -1, -1, -1, -1, -1, -1, 92, 93, - -1, -1, 96, -1, -1, -1, -1, -1, -1, 53, - 54, 55, 56, -1, 58, 59, -1, -1, -1, 113, - -1, -1, -1, -1, 9, 119, 120, 71, 72, 73, + 96, -1, -1, -1, -1, -1, -1, 53, 54, 55, + 56, -1, 58, 59, -1, -1, -1, 113, -1, -1, + -1, -1, 118, -1, 120, 71, 72, 73, 74, 75, + 76, 77, 78, 79, -1, 9, -1, -1, 84, 85, + 86, 87, 88, 89, 90, 91, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, + 34, 35, -1, -1, -1, -1, -1, -1, -1, 115, + 116, -1, -1, -1, -1, -1, 122, -1, 124, 53, + 54, 55, 56, -1, 58, 59, -1, -1, -1, -1, + -1, -1, -1, -1, 9, -1, -1, 71, 72, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, -1, 84, 85, 86, 87, 88, 89, 90, 91, 33, 34, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -3157,56 +3406,53 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, 55, 56, -1, 58, 59, -1, -1, -1, 122, -1, 124, -1, - -1, -1, -1, -1, 71, 72, 73, 74, 75, 76, + -1, 9, -1, -1, 71, 72, 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, -1, 84, 85, 86, - 87, 88, 89, 90, 91, 5, -1, -1, -1, -1, - -1, 11, 12, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, -1, 25, -1, -1, -1, 29, - -1, -1, -1, -1, -1, 122, -1, 124, -1, -1, - -1, 41, -1, 43, -1, -1, 46, 47, 5, -1, - -1, 51, 52, -1, 11, 12, -1, -1, -1, -1, - 60, -1, -1, -1, -1, 22, 23, -1, 25, -1, - -1, -1, 29, -1, -1, -1, -1, -1, -1, -1, - -1, 81, -1, -1, 41, -1, 43, -1, -1, 46, - 47, 5, 92, -1, 51, 52, 96, 11, 12, -1, - -1, -1, -1, 60, -1, -1, -1, -1, 22, 23, - -1, 25, -1, -1, 114, 29, -1, -1, -1, -1, - -1, -1, -1, -1, 81, -1, -1, 41, -1, 43, - -1, -1, 46, 47, 5, 92, -1, 51, 52, 96, - 11, 12, -1, -1, -1, -1, 60, -1, -1, -1, - -1, 22, 23, -1, 25, -1, -1, 114, 29, -1, - -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, - 41, -1, 43, -1, -1, 46, 47, 5, 92, -1, - 51, 52, 96, 11, 12, -1, -1, -1, -1, 60, - -1, -1, -1, -1, 22, 23, -1, 25, 69, 70, - 114, 29, -1, -1, -1, -1, -1, -1, -1, -1, + 87, 88, 89, 90, 91, 33, 34, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 53, 54, 55, 56, -1, + 58, 59, -1, -1, -1, 122, -1, 124, -1, -1, + -1, -1, -1, 71, 72, 73, 74, 75, 76, 77, + 78, 79, -1, -1, -1, -1, 84, 85, 86, 87, + 88, 89, 90, 91, 5, -1, -1, -1, -1, -1, + 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, -1, 25, -1, -1, -1, 29, -1, + -1, -1, -1, -1, 122, -1, 124, -1, -1, -1, + 41, -1, 43, -1, -1, 46, 47, 5, -1, -1, + 51, 52, -1, 11, 12, -1, -1, -1, -1, 60, + -1, -1, -1, -1, 22, 23, -1, 25, -1, -1, + -1, 29, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, 41, -1, 43, -1, -1, 46, 47, 5, 92, -1, 51, 52, 96, 11, 12, -1, -1, -1, -1, 60, -1, -1, -1, -1, 22, 23, -1, - 25, -1, 113, -1, 29, -1, -1, -1, -1, -1, + 25, -1, -1, 114, 29, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, 41, -1, 43, -1, -1, 46, 47, 5, 92, -1, 51, 52, 96, 11, - 12, -1, 100, -1, -1, 60, -1, -1, -1, -1, - 22, 23, -1, 25, -1, -1, -1, 29, -1, -1, + 12, -1, -1, -1, -1, 60, -1, -1, -1, -1, + 22, 23, -1, 25, -1, -1, 114, 29, -1, -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, 41, - -1, 43, -1, -1, 46, 47, -1, 92, -1, 51, - 52, 96, -1, -1, -1, 100, -1, -1, 60, -1, - 26, 27, -1, -1, 30, 31, 32, 69, 70, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, - -1, -1, 48, 49, -1, -1, -1, -1, -1, -1, - 92, 57, -1, -1, 96, -1, -1, 71, 72, 73, - 74, 75, 76, 77, 78, 79, -1, -1, -1, -1, - 84, 85, 86, 87, 88, 89, 90, 91, -1, -1, + -1, 43, -1, -1, 46, 47, 5, 92, -1, 51, + 52, 96, 11, 12, -1, 100, -1, -1, 60, -1, + -1, -1, -1, 22, 23, -1, 25, -1, -1, -1, + 29, -1, -1, -1, -1, -1, -1, -1, -1, 81, + -1, -1, 41, -1, 43, -1, -1, 46, 47, 5, + 92, -1, 51, 52, 96, 11, 12, -1, 100, -1, + -1, 60, -1, -1, -1, -1, 22, 23, -1, 25, + 69, 70, -1, 29, -1, -1, -1, -1, -1, -1, + -1, -1, 81, -1, -1, 41, -1, 43, -1, -1, + 46, 47, -1, 92, -1, 51, 52, 96, -1, -1, + -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, + -1, -1, -1, 71, 72, 73, 74, 75, 76, 77, + 78, 79, -1, -1, -1, 81, 84, 85, 86, 87, + 88, 89, 90, 91, -1, -1, 92, -1, -1, -1, + 96, -1, -1, -1, -1, -1, -1, -1, 71, 72, + 73, 74, 75, 76, 77, 78, 79, -1, -1, -1, + 118, 84, 85, 86, 87, 88, 89, 90, 91, 71, + 72, 73, 74, 75, 76, 77, 78, 79, -1, -1, + -1, -1, 84, 85, 86, 87, 88, 89, 90, 91, + -1, -1, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 119, 71, 72, 73, 74, - 75, 76, 77, 78, 79, -1, -1, -1, -1, 84, - 85, 86, 87, 88, 89, 90, 91, 71, 72, 73, - 74, 75, 76, 77, 78, 79, -1, -1, -1, -1, - 84, 85, 86, 87, 88, 89, 90, 91, -1, -1, - -1, -1, -1, -1, 119, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 119 + -1, -1, -1, -1, -1, -1, 118 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -3218,131 +3464,131 @@ static const yytype_uint16 yystos[] = 25, 29, 33, 34, 36, 41, 42, 43, 44, 46, 47, 50, 51, 52, 60, 61, 62, 65, 67, 68, 69, 70, 80, 81, 82, 83, 92, 93, 94, 95, - 96, 97, 98, 99, 113, 115, 116, 119, 120, 122, - 129, 130, 131, 133, 138, 144, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 96, 97, 98, 99, 113, 115, 116, 118, 120, 122, + 129, 130, 131, 136, 142, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 189, 190, 191, 192, 193, 195, 199, 201, 202, - 203, 205, 217, 218, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 235, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 253, 254, 267, 270, 273, - 288, 289, 292, 311, 313, 315, 325, 328, 330, 340, - 345, 348, 350, 357, 367, 370, 372, 372, 147, 155, - 156, 35, 35, 255, 256, 243, 247, 248, 249, 11, - 12, 14, 22, 23, 25, 28, 29, 41, 43, 50, - 52, 60, 92, 106, 107, 114, 163, 164, 166, 168, - 171, 173, 175, 178, 180, 182, 184, 189, 190, 191, - 195, 201, 203, 206, 211, 217, 218, 219, 220, 228, - 229, 230, 231, 235, 241, 242, 244, 245, 247, 251, - 162, 161, 162, 152, 148, 180, 206, 211, 211, 314, - 271, 153, 162, 163, 164, 166, 168, 171, 173, 175, - 178, 180, 182, 184, 189, 190, 191, 195, 201, 203, - 215, 235, 245, 251, 35, 268, 257, 150, 358, 146, - 155, 162, 182, 184, 366, 10, 162, 162, 120, 162, - 279, 19, 132, 236, 237, 66, 162, 182, 184, 189, - 191, 201, 245, 337, 338, 349, 211, 245, 211, 214, - 176, 162, 182, 184, 200, 1, 130, 131, 133, 144, - 254, 267, 270, 273, 372, 3, 4, 35, 119, 9, - 33, 34, 53, 54, 55, 56, 58, 59, 102, 122, - 216, 102, 122, 162, 182, 184, 188, 245, 9, 35, - 53, 54, 55, 56, 58, 59, 102, 122, 124, 216, - 232, 233, 188, 9, 35, 53, 54, 55, 56, 58, - 59, 102, 122, 216, 232, 188, 188, 9, 35, 53, - 54, 55, 56, 58, 59, 102, 122, 216, 232, 188, - 9, 35, 53, 54, 55, 56, 58, 59, 102, 122, - 216, 232, 188, 9, 35, 53, 54, 55, 56, 58, - 59, 102, 122, 216, 232, 188, 9, 35, 53, 54, - 55, 56, 58, 59, 102, 122, 216, 188, 9, 53, - 54, 55, 56, 58, 59, 102, 122, 216, 232, 188, - 245, 9, 35, 53, 54, 55, 56, 58, 59, 102, - 119, 122, 155, 216, 232, 188, 245, 9, 35, 53, - 54, 55, 56, 58, 59, 102, 119, 122, 155, 216, - 232, 188, 245, 8, 10, 162, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 177, 178, 179, - 181, 182, 183, 184, 185, 188, 235, 245, 246, 251, - 253, 188, 9, 53, 54, 55, 56, 58, 59, 102, - 122, 216, 232, 9, 53, 54, 55, 56, 58, 59, - 102, 122, 155, 216, 232, 9, 35, 53, 54, 55, - 56, 58, 59, 102, 122, 216, 188, 9, 35, 53, - 54, 55, 56, 58, 59, 102, 122, 155, 216, 232, - 188, 9, 35, 53, 54, 55, 56, 58, 59, 102, - 119, 122, 216, 232, 188, 9, 35, 53, 54, 55, - 56, 58, 59, 102, 122, 155, 216, 232, 188, 155, - 155, 155, 155, 155, 9, 35, 53, 54, 55, 56, - 58, 59, 102, 122, 216, 232, 9, 35, 53, 54, - 55, 56, 58, 59, 102, 122, 155, 216, 232, 188, - 245, 117, 118, 117, 118, 117, 118, 117, 118, 9, - 35, 53, 54, 55, 56, 58, 59, 102, 122, 155, - 216, 232, 188, 145, 15, 16, 17, 18, 303, 305, - 310, 12, 24, 25, 130, 144, 157, 158, 159, 160, - 273, 372, 17, 37, 38, 39, 312, 316, 321, 211, - 160, 17, 346, 347, 155, 155, 211, 372, 162, 258, - 261, 258, 247, 211, 211, 211, 162, 182, 189, 193, - 201, 207, 212, 295, 208, 209, 210, 293, 26, 27, - 30, 31, 32, 48, 49, 57, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 297, 299, 301, 213, 117, - 154, 117, 372, 155, 182, 259, 260, 261, 372, 162, - 272, 155, 9, 102, 334, 186, 162, 269, 272, 259, - 372, 211, 66, 19, 119, 275, 372, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 84, 85, 86, 87, - 88, 89, 90, 91, 140, 141, 142, 119, 372, 106, - 118, 239, 162, 240, 114, 117, 162, 206, 245, 368, - 369, 51, 117, 211, 372, 214, 234, 372, 162, 162, - 194, 211, 211, 211, 211, 211, 211, 211, 211, 200, - 211, 200, 211, 211, 211, 211, 211, 211, 211, 211, - 200, 211, 117, 123, 211, 211, 211, 211, 211, 211, - 211, 211, 200, 211, 211, 211, 211, 211, 211, 211, - 211, 200, 211, 211, 211, 211, 211, 211, 211, 211, - 200, 211, 211, 211, 211, 211, 211, 211, 211, 200, - 211, 211, 211, 211, 211, 211, 211, 211, 200, 211, - 211, 211, 211, 211, 211, 211, 211, 200, 211, 211, - 211, 211, 211, 211, 211, 211, 196, 200, 211, 211, - 211, 211, 211, 211, 211, 211, 197, 200, 211, 211, - 211, 211, 211, 211, 211, 211, 200, 211, 211, 211, - 211, 211, 211, 211, 211, 200, 211, 211, 211, 211, - 211, 211, 211, 211, 200, 211, 211, 211, 211, 211, - 211, 211, 211, 200, 211, 211, 211, 211, 211, 211, - 211, 211, 204, 200, 211, 211, 211, 211, 211, 211, - 211, 211, 200, 211, 211, 211, 211, 211, 211, 211, - 211, 200, 211, 211, 211, 211, 211, 211, 211, 211, - 200, 214, 214, 214, 214, 211, 211, 211, 211, 211, - 211, 211, 211, 200, 155, 372, 306, 310, 16, 303, - 310, 3, 4, 157, 317, 322, 37, 312, 321, 38, - 312, 372, 37, 38, 351, 354, 372, 124, 140, 265, - 266, 117, 372, 372, 117, 141, 141, 372, 141, 141, - 141, 372, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 372, - 372, 372, 141, 214, 372, 162, 140, 265, 117, 149, - 140, 117, 372, 211, 140, 51, 117, 372, 372, 151, - 157, 290, 291, 372, 368, 114, 372, 274, 162, 278, - 279, 281, 162, 162, 276, 280, 19, 372, 125, 140, - 117, 125, 162, 182, 189, 193, 369, 117, 211, 339, - 337, 372, 17, 371, 117, 121, 134, 136, 135, 137, - 198, 214, 211, 124, 198, 198, 198, 304, 211, 308, - 310, 162, 162, 211, 372, 319, 312, 324, 326, 211, - 355, 37, 347, 354, 211, 262, 263, 142, 117, 123, - 261, 214, 296, 294, 298, 300, 302, 117, 9, 142, - 260, 372, 162, 331, 162, 162, 372, 157, 359, 19, - 81, 114, 162, 283, 286, 287, 282, 279, 281, 372, - 162, 277, 281, 283, 211, 238, 162, 238, 369, 117, - 341, 290, 214, 372, 119, 372, 119, 117, 118, 211, - 118, 118, 118, 291, 372, 211, 119, 372, 119, 372, - 372, 323, 211, 372, 291, 352, 372, 211, 9, 211, - 124, 291, 291, 291, 291, 291, 252, 211, 140, 46, - 140, 63, 64, 361, 364, 365, 372, 114, 162, 162, - 140, 118, 117, 117, 140, 117, 121, 118, 117, 121, - 140, 121, 211, 96, 344, 17, 100, 139, 143, 162, - 139, 214, 307, 372, 139, 139, 318, 291, 372, 291, - 327, 372, 356, 353, 264, 211, 214, 211, 162, 360, - 372, 372, 162, 140, 119, 140, 140, 114, 162, 287, - 81, 281, 372, 140, 211, 342, 118, 117, 140, 118, - 291, 309, 118, 118, 291, 320, 17, 40, 329, 291, - 291, 372, 211, 118, 47, 335, 17, 362, 363, 119, - 140, 214, 284, 285, 372, 162, 140, 114, 162, 372, - 372, 100, 162, 372, 291, 372, 372, 291, 291, 211, - 332, 291, 291, 284, 117, 118, 119, 140, 162, 140, - 343, 140, 372, 118, 285, 284, 119, 140, 291, 336, - 333, 118, 284, 17, 45, 336, 118, 162, 162 + 188, 189, 190, 191, 192, 194, 198, 200, 201, 202, + 204, 216, 217, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 234, 240, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, 252, 253, 266, 269, 272, 287, + 288, 291, 310, 312, 314, 324, 327, 329, 339, 344, + 347, 349, 356, 366, 369, 371, 371, 145, 154, 155, + 35, 35, 254, 255, 242, 246, 247, 248, 11, 12, + 14, 22, 23, 25, 28, 29, 41, 43, 50, 52, + 60, 92, 106, 107, 114, 162, 163, 165, 167, 170, + 172, 174, 177, 179, 181, 183, 188, 189, 190, 194, + 200, 202, 205, 210, 216, 217, 218, 219, 227, 228, + 229, 230, 234, 240, 241, 243, 244, 246, 250, 161, + 160, 161, 150, 146, 179, 205, 210, 210, 313, 270, + 151, 161, 162, 163, 165, 167, 170, 172, 174, 177, + 179, 181, 183, 188, 189, 190, 194, 200, 202, 214, + 234, 244, 250, 35, 267, 256, 148, 357, 144, 154, + 161, 181, 183, 365, 10, 161, 161, 120, 161, 278, + 19, 153, 235, 236, 66, 161, 181, 183, 188, 190, + 200, 244, 336, 337, 348, 210, 244, 210, 213, 175, + 161, 181, 183, 199, 1, 130, 131, 142, 253, 266, + 269, 272, 371, 3, 4, 35, 118, 9, 33, 34, + 53, 54, 55, 56, 58, 59, 102, 122, 215, 102, + 122, 161, 181, 183, 187, 244, 9, 35, 53, 54, + 55, 56, 58, 59, 102, 122, 124, 215, 231, 232, + 187, 9, 35, 53, 54, 55, 56, 58, 59, 102, + 122, 215, 231, 187, 187, 9, 35, 53, 54, 55, + 56, 58, 59, 102, 122, 215, 231, 187, 9, 35, + 53, 54, 55, 56, 58, 59, 102, 122, 215, 231, + 187, 9, 35, 53, 54, 55, 56, 58, 59, 102, + 122, 215, 231, 187, 9, 35, 53, 54, 55, 56, + 58, 59, 102, 122, 215, 187, 9, 53, 54, 55, + 56, 58, 59, 102, 122, 215, 231, 187, 244, 9, + 35, 53, 54, 55, 56, 58, 59, 102, 118, 122, + 154, 215, 231, 187, 244, 9, 35, 53, 54, 55, + 56, 58, 59, 102, 118, 122, 154, 215, 231, 187, + 244, 8, 10, 161, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 173, 174, 176, 177, 178, 180, 181, + 182, 183, 184, 187, 234, 244, 245, 250, 252, 187, + 9, 53, 54, 55, 56, 58, 59, 102, 122, 215, + 231, 9, 53, 54, 55, 56, 58, 59, 102, 122, + 154, 215, 231, 9, 35, 53, 54, 55, 56, 58, + 59, 102, 122, 215, 187, 9, 35, 53, 54, 55, + 56, 58, 59, 102, 122, 154, 215, 231, 187, 9, + 35, 53, 54, 55, 56, 58, 59, 102, 118, 122, + 215, 231, 187, 9, 35, 53, 54, 55, 56, 58, + 59, 102, 122, 154, 215, 231, 187, 154, 154, 154, + 154, 154, 9, 35, 53, 54, 55, 56, 58, 59, + 102, 122, 215, 231, 9, 35, 53, 54, 55, 56, + 58, 59, 102, 122, 154, 215, 231, 187, 244, 117, + 119, 117, 119, 117, 119, 117, 119, 9, 35, 53, + 54, 55, 56, 58, 59, 102, 122, 154, 215, 231, + 187, 143, 15, 16, 17, 18, 302, 304, 309, 1, + 12, 24, 25, 130, 142, 156, 157, 158, 159, 272, + 371, 17, 37, 38, 39, 311, 315, 320, 210, 159, + 17, 345, 346, 154, 154, 210, 371, 161, 257, 260, + 257, 246, 210, 210, 210, 161, 181, 188, 192, 200, + 206, 211, 294, 207, 208, 209, 292, 26, 27, 30, + 31, 32, 48, 49, 57, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 296, 298, 300, 212, 117, 152, + 117, 371, 154, 181, 258, 259, 260, 371, 161, 271, + 154, 9, 102, 333, 185, 161, 268, 271, 258, 371, + 210, 66, 19, 118, 274, 371, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 84, 85, 86, 87, 88, + 89, 90, 91, 138, 139, 140, 118, 371, 106, 119, + 238, 161, 239, 114, 117, 161, 205, 244, 367, 368, + 51, 117, 210, 371, 213, 233, 371, 161, 161, 193, + 210, 210, 210, 210, 210, 210, 210, 210, 199, 210, + 199, 210, 210, 210, 210, 210, 210, 210, 210, 199, + 210, 117, 123, 210, 210, 210, 210, 210, 210, 210, + 210, 199, 210, 210, 210, 210, 210, 210, 210, 210, + 199, 210, 210, 210, 210, 210, 210, 210, 210, 199, + 210, 210, 210, 210, 210, 210, 210, 210, 199, 210, + 210, 210, 210, 210, 210, 210, 210, 199, 210, 210, + 210, 210, 210, 210, 210, 210, 199, 210, 210, 210, + 210, 210, 210, 210, 210, 195, 199, 210, 210, 210, + 210, 210, 210, 210, 210, 196, 199, 210, 210, 210, + 210, 210, 210, 210, 210, 199, 210, 210, 210, 210, + 210, 210, 210, 210, 199, 210, 210, 210, 210, 210, + 210, 210, 210, 199, 210, 210, 210, 210, 210, 210, + 210, 210, 199, 210, 210, 210, 210, 210, 210, 210, + 210, 203, 199, 210, 210, 210, 210, 210, 210, 210, + 210, 199, 210, 210, 210, 210, 210, 210, 210, 210, + 199, 210, 210, 210, 210, 210, 210, 210, 210, 199, + 213, 213, 213, 213, 210, 210, 210, 210, 210, 210, + 210, 210, 199, 154, 371, 305, 309, 16, 302, 309, + 3, 4, 156, 316, 321, 37, 311, 320, 38, 311, + 371, 37, 38, 350, 353, 371, 124, 138, 264, 265, + 117, 371, 371, 117, 139, 139, 371, 139, 139, 139, + 371, 210, 210, 210, 210, 210, 210, 210, 210, 210, + 210, 210, 210, 210, 210, 210, 210, 210, 371, 371, + 371, 139, 213, 371, 161, 138, 264, 117, 147, 138, + 117, 371, 210, 138, 51, 117, 371, 371, 149, 156, + 289, 290, 371, 367, 114, 371, 273, 161, 277, 278, + 280, 161, 161, 275, 279, 19, 371, 125, 138, 117, + 125, 161, 181, 188, 192, 368, 117, 210, 338, 336, + 371, 17, 370, 117, 121, 132, 134, 133, 135, 197, + 213, 210, 124, 197, 197, 197, 303, 210, 307, 309, + 161, 161, 210, 371, 318, 311, 323, 325, 210, 354, + 37, 346, 353, 210, 261, 262, 140, 117, 123, 260, + 213, 295, 293, 297, 299, 301, 117, 9, 140, 259, + 371, 161, 330, 161, 161, 371, 156, 358, 19, 81, + 114, 161, 282, 285, 286, 281, 278, 280, 371, 161, + 276, 280, 282, 210, 237, 161, 237, 368, 117, 340, + 289, 213, 371, 118, 371, 118, 117, 119, 210, 119, + 119, 119, 290, 371, 210, 118, 371, 118, 371, 371, + 322, 210, 371, 290, 351, 371, 210, 9, 210, 124, + 290, 290, 290, 290, 290, 251, 210, 138, 46, 138, + 63, 64, 360, 363, 364, 371, 114, 161, 161, 138, + 119, 117, 117, 138, 117, 121, 119, 117, 121, 138, + 121, 210, 96, 343, 17, 100, 137, 141, 161, 137, + 213, 306, 371, 137, 137, 317, 290, 371, 290, 326, + 371, 355, 352, 263, 210, 213, 210, 161, 359, 371, + 371, 161, 138, 118, 138, 138, 114, 161, 286, 81, + 280, 371, 138, 210, 341, 119, 117, 138, 119, 290, + 308, 119, 119, 290, 319, 17, 40, 328, 290, 290, + 371, 210, 119, 47, 334, 17, 361, 362, 118, 138, + 213, 283, 284, 371, 161, 138, 114, 161, 371, 371, + 100, 161, 371, 290, 371, 371, 290, 290, 210, 331, + 290, 290, 283, 117, 119, 118, 138, 161, 138, 342, + 138, 371, 119, 284, 283, 118, 138, 290, 335, 332, + 119, 283, 17, 45, 335, 119, 161, 161 }; #define yyerrok (yyerrstatus = 0) @@ -3857,14 +4103,14 @@ yydestruct (yymsg, yytype, yyvaluep, pComp) switch (yytype) { case 19: /* "LITERAL" */ -#line 291 "harbour.y" +#line 291 "../../harbour.y" { if( (yyvaluep->valChar).dealloc ) hb_xfree( (yyvaluep->valChar).string ); }; -#line 3863 "harboury.c" +#line 4109 "harboury.c" break; case 93: /* "CBSTART" */ -#line 290 "harbour.y" +#line 290 "../../harbour.y" { if( (yyvaluep->asCodeblock).string ) hb_xfree( (yyvaluep->asCodeblock).string ); }; -#line 3868 "harboury.c" +#line 4114 "harboury.c" break; default: @@ -4173,348 +4419,316 @@ yyreduce: switch (yyn) { case 2: -#line 295 "harbour.y" +#line 295 "../../harbour.y" { hb_compLinePush( HB_COMP_PARAM ); ;} break; case 3: -#line 295 "harbour.y" +#line 295 "../../harbour.y" { ;} break; - case 14: -#line 308 "harbour.y" + case 13: +#line 307 "../../harbour.y" { yyclearin; yyerrok; ;} break; - case 24: -#line 318 "harbour.y" + case 22: +#line 316 "../../harbour.y" { yyclearin; yyerrok; ;} break; - case 27: -#line 325 "harbour.y" - { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 28: -#line 328 "harbour.y" - { - if( (yyvsp[(1) - (1)].valChar).dealloc ) - { - (yyvsp[(1) - (1)].valChar).string = hb_compIdentifierNew( HB_COMP_PARAM, (yyvsp[(1) - (1)].valChar).string, HB_IDENT_FREE ); - (yyvsp[(1) - (1)].valChar).dealloc = FALSE; - } - hb_compAutoOpenAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].valChar).string ); - ;} - break; - - case 29: -#line 336 "harbour.y" - { - { - char szFileName[ _POSIX_PATH_MAX + 1 ]; - hb_strncat( hb_strncpy( szFileName, (yyvsp[(1) - (3)].valChar).string, _POSIX_PATH_MAX ), (yyvsp[(3) - (3)].valChar).string, _POSIX_PATH_MAX ); - hb_compAutoOpenAdd( HB_COMP_PARAM, hb_compIdentifierNew( HB_COMP_PARAM, szFileName, HB_IDENT_COPY ) ); - if( (yyvsp[(1) - (3)].valChar).dealloc ) - hb_xfree( (yyvsp[(1) - (3)].valChar).string ); - if( (yyvsp[(3) - (3)].valChar).dealloc ) - hb_xfree( (yyvsp[(3) - (3)].valChar).string ); - } - ;} - break; - - case 30: -#line 349 "harbour.y" + case 25: +#line 323 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), 0 ); ;} break; - case 31: -#line 349 "harbour.y" + case 26: +#line 323 "../../harbour.y" {;} break; - case 32: -#line 350 "harbour.y" + case 27: +#line 324 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), FUN_PROCEDURE ); ;} break; - case 33: -#line 350 "harbour.y" + case 28: +#line 324 "../../harbour.y" {;} break; - case 34: -#line 351 "harbour.y" + case 29: +#line 325 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), 0 ); HB_COMP_PARAM->iVarScope = VS_PARAMETER; ;} break; - case 35: -#line 351 "harbour.y" + case 30: +#line 325 "../../harbour.y" {;} break; - case 36: -#line 352 "harbour.y" + case 31: +#line 326 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' '; hb_compFunctionAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), ( HB_SYMBOLSCOPE ) (yyvsp[(1) - (3)].iNumber), FUN_PROCEDURE ); HB_COMP_PARAM->iVarScope = VS_PARAMETER;;} break; - case 37: -#line 352 "harbour.y" + case 32: +#line 326 "../../harbour.y" {;} break; - case 38: -#line 355 "harbour.y" + case 33: +#line 329 "../../harbour.y" { (yyval.iNumber) = HB_FS_PUBLIC; ;} break; - case 39: -#line 356 "harbour.y" + case 34: +#line 330 "../../harbour.y" { (yyval.iNumber) = HB_FS_STATIC; ;} break; - case 40: -#line 357 "harbour.y" + case 35: +#line 331 "../../harbour.y" { (yyval.iNumber) = HB_FS_INIT; ;} break; - case 41: -#line 358 "harbour.y" + case 36: +#line 332 "../../harbour.y" { (yyval.iNumber) = HB_FS_EXIT; ;} break; - case 42: -#line 361 "harbour.y" + case 37: +#line 335 "../../harbour.y" { (yyval.iNumber) = 0; ;} break; - case 43: -#line 362 "harbour.y" + case 38: +#line 336 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->pCode[0] = HB_P_VFRAME; (yyval.iNumber) = 0; ;} break; - case 44: -#line 363 "harbour.y" + case 39: +#line 337 "../../harbour.y" { (yyval.iNumber) = (yyvsp[(1) - (1)].iNumber); ;} break; - case 45: -#line 364 "harbour.y" + case 40: +#line 338 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->pCode[0] = HB_P_VFRAME; (yyval.iNumber) = (yyvsp[(1) - (3)].iNumber); ;} break; - case 46: -#line 367 "harbour.y" + case 41: +#line 341 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 48: -#line 371 "harbour.y" + case 43: +#line 345 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'N'; ;} break; - case 49: -#line 372 "harbour.y" + case 44: +#line 346 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'C'; ;} break; - case 50: -#line 373 "harbour.y" + case 45: +#line 347 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'D'; ;} break; - case 51: -#line 374 "harbour.y" + case 46: +#line 348 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'L'; ;} break; - case 52: -#line 375 "harbour.y" + case 47: +#line 349 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'B'; ;} break; - case 53: -#line 376 "harbour.y" + case 48: +#line 350 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'O'; ;} break; - case 54: -#line 377 "harbour.y" + case 49: +#line 351 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'S'; HB_COMP_PARAM->szFromClass = (yyvsp[(2) - (2)].string); ;} break; - case 55: -#line 378 "harbour.y" + case 50: +#line 352 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 57: -#line 382 "harbour.y" + case 52: +#line 356 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'A'; ;} break; - case 58: -#line 383 "harbour.y" + case 53: +#line 357 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'n'; ;} break; - case 59: -#line 384 "harbour.y" + case 54: +#line 358 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'c'; ;} break; - case 60: -#line 385 "harbour.y" + case 55: +#line 359 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'd'; ;} break; - case 61: -#line 386 "harbour.y" + case 56: +#line 360 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'l'; ;} break; - case 62: -#line 387 "harbour.y" + case 57: +#line 361 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'a'; ;} break; - case 63: -#line 388 "harbour.y" + case 58: +#line 362 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'b'; ;} break; - case 64: -#line 389 "harbour.y" + case 59: +#line 363 "../../harbour.y" { HB_COMP_PARAM->cVarType = 'o'; ;} break; - case 65: -#line 390 "harbour.y" + case 60: +#line 364 "../../harbour.y" { HB_COMP_PARAM->cVarType = 's'; HB_COMP_PARAM->szFromClass = (yyvsp[(2) - (2)].string); ;} break; - case 66: -#line 393 "harbour.y" + case 61: +#line 367 "../../harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); (yyval.iNumber) = 1; ;} break; - case 67: -#line 394 "harbour.y" + case 62: +#line 368 "../../harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); (yyval.iNumber)++; ;} break; - case 68: -#line 402 "harbour.y" + case 63: +#line 376 "../../harbour.y" { HB_COMP_PARAM->fDontGenLineNum = TRUE; ;} break; - case 69: -#line 402 "harbour.y" + case 64: +#line 376 "../../harbour.y" { ;} break; - case 70: -#line 403 "harbour.y" + case 65: +#line 377 "../../harbour.y" { ;} break; - case 71: -#line 404 "harbour.y" + case 66: +#line 378 "../../harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; + case 67: +#line 379 "../../harbour.y" + { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} + break; + + case 68: +#line 380 "../../harbour.y" + { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} + break; + + case 69: +#line 381 "../../harbour.y" + { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} + break; + + case 70: +#line 382 "../../harbour.y" + { if( HB_COMP_ISSUPPORTED( HB_COMPFLAG_XBASE ) ) + hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); + else + hb_compExprDelete( hb_compErrorSyntax( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ), HB_COMP_PARAM ); + HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; + ;} + break; + + case 71: +#line 388 "../../harbour.y" + { if( HB_COMP_ISSUPPORTED( HB_COMPFLAG_XBASE ) ) + hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); + else + hb_compExprDelete( hb_compErrorSyntax( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ), HB_COMP_PARAM ); + HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; + ;} + break; + case 72: -#line 405 "harbour.y" +#line 394 "../../harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 73: -#line 406 "harbour.y" +#line 395 "../../harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 74: -#line 407 "harbour.y" +#line 396 "../../harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 75: -#line 408 "harbour.y" - { if( HB_COMP_ISSUPPORTED( HB_COMPFLAG_XBASE ) ) - hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); - else - hb_compExprDelete( hb_compErrorSyntax( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ), HB_COMP_PARAM ); - HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; - ;} +#line 397 "../../harbour.y" + { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 76: -#line 414 "harbour.y" - { if( HB_COMP_ISSUPPORTED( HB_COMPFLAG_XBASE ) ) - hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); - else - hb_compExprDelete( hb_compErrorSyntax( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ), HB_COMP_PARAM ); - HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; - ;} +#line 398 "../../harbour.y" + { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 77: -#line 420 "harbour.y" +#line 399 "../../harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 78: -#line 421 "harbour.y" +#line 400 "../../harbour.y" { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; case 79: -#line 422 "harbour.y" - { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 80: -#line 423 "harbour.y" - { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 81: -#line 424 "harbour.y" - { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 82: -#line 425 "harbour.y" - { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 83: -#line 426 "harbour.y" - { hb_compExprDelete( hb_compExprGenStatement( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} - break; - - case 84: -#line 427 "harbour.y" +#line 401 "../../harbour.y" { hb_compGenBreak( HB_COMP_PARAM ); hb_compGenPCode2( HB_P_DOSHORT, 0, HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} break; - case 85: -#line 429 "harbour.y" + case 80: +#line 403 "../../harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; - case 86: -#line 429 "harbour.y" + case 81: +#line 403 "../../harbour.y" { hb_compGenBreak( HB_COMP_PARAM ); hb_compExprDelete( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); hb_compGenPCode2( HB_P_DOSHORT, 1, HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} break; - case 87: -#line 433 "harbour.y" + case 82: +#line 407 "../../harbour.y" { if( HB_COMP_PARAM->wSeqCounter ) { @@ -4531,13 +4745,13 @@ yyreduce: ;} break; - case 88: -#line 447 "harbour.y" + case 83: +#line 421 "../../harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->cVarType = ' '; ;} break; - case 89: -#line 449 "harbour.y" + case 84: +#line 423 "../../harbour.y" { HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' '; @@ -4558,54 +4772,54 @@ yyreduce: ;} break; - case 90: -#line 467 "harbour.y" + case 85: +#line 441 "../../harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->iVarScope = VS_PUBLIC; ;} break; - case 91: -#line 469 "harbour.y" + case 86: +#line 443 "../../harbour.y" { hb_compRTVariableGen( HB_COMP_PARAM, "__MVPUBLIC" ); HB_COMP_PARAM->cVarType = ' '; HB_COMP_PARAM->iVarScope = VS_NONE; HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; - case 93: -#line 473 "harbour.y" + case 88: +#line 447 "../../harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->iVarScope = VS_PRIVATE; ;} break; - case 94: -#line 475 "harbour.y" + case 89: +#line 449 "../../harbour.y" { hb_compRTVariableGen( HB_COMP_PARAM, "__MVPRIVATE" ); HB_COMP_PARAM->cVarType = ' '; HB_COMP_PARAM->iVarScope = VS_NONE; HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; - case 96: -#line 480 "harbour.y" + case 91: +#line 454 "../../harbour.y" { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; ;} break; - case 97: -#line 480 "harbour.y" + case 92: +#line 454 "../../harbour.y" { hb_compLoopExit( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} break; - case 98: -#line 481 "harbour.y" + case 93: +#line 455 "../../harbour.y" { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; ;} break; - case 99: -#line 481 "harbour.y" + case 94: +#line 455 "../../harbour.y" { hb_compLoopLoop( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} break; - case 101: -#line 483 "harbour.y" + case 96: +#line 457 "../../harbour.y" { if( HB_COMP_PARAM->szAnnounce == NULL ) { @@ -4622,173 +4836,220 @@ yyreduce: ;} break; - case 103: -#line 499 "harbour.y" + case 98: +#line 471 "../../harbour.y" + { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} + break; + + case 99: +#line 474 "../../harbour.y" + { + if( (yyvsp[(1) - (1)].valChar).dealloc ) + { + (yyvsp[(1) - (1)].valChar).string = hb_compIdentifierNew( HB_COMP_PARAM, (yyvsp[(1) - (1)].valChar).string, HB_IDENT_FREE ); + (yyvsp[(1) - (1)].valChar).dealloc = FALSE; + } + hb_compAutoOpenAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].valChar).string ); + ;} + break; + + case 100: +#line 482 "../../harbour.y" + { + { + char szFileName[ _POSIX_PATH_MAX + 1 ]; + hb_strncat( hb_strncpy( szFileName, (yyvsp[(1) - (3)].valChar).string, _POSIX_PATH_MAX ), (yyvsp[(3) - (3)].valChar).string, _POSIX_PATH_MAX ); + hb_compAutoOpenAdd( HB_COMP_PARAM, hb_compIdentifierNew( HB_COMP_PARAM, szFileName, HB_IDENT_COPY ) ); + if( (yyvsp[(1) - (3)].valChar).dealloc ) + hb_xfree( (yyvsp[(1) - (3)].valChar).string ); + if( (yyvsp[(3) - (3)].valChar).dealloc ) + hb_xfree( (yyvsp[(3) - (3)].valChar).string ); + } + ;} + break; + + case 101: +#line 495 "../../harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; - case 105: -#line 502 "harbour.y" + case 103: +#line 498 "../../harbour.y" { (yyval.lNumber) = 0; HB_COMP_PARAM->fDontGenLineNum = TRUE; ;} break; + case 104: +#line 499 "../../harbour.y" + { (yyval.lNumber) = 1; ;} + break; + + case 105: +#line 500 "../../harbour.y" + { (yyval.lNumber) = 1; ;} + break; + case 106: -#line 503 "harbour.y" +#line 501 "../../harbour.y" { (yyval.lNumber) = 1; ;} break; case 107: -#line 504 "harbour.y" - { (yyval.lNumber) = 1; ;} +#line 502 "../../harbour.y" + { (yyval.lNumber) = 0; hb_compCheckUnclosedStru( HB_COMP_PARAM ); ;} break; case 108: -#line 505 "harbour.y" - { (yyval.lNumber) = 1; ;} +#line 503 "../../harbour.y" + { int iLine = hb_pp_line( HB_COMP_PARAM->pLex->pPP ); + if( HB_COMP_PARAM->ilastLineErr && HB_COMP_PARAM->ilastLineErr == iLine ) + { + yyclearin; + } + else + { + yyerrok; + HB_COMP_PARAM->ilastLineErr = iLine; + } + ;} break; case 109: -#line 506 "harbour.y" - { (yyval.lNumber) = 0; hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, NULL, NULL ); ;} +#line 516 "../../harbour.y" + {;} break; case 110: -#line 509 "harbour.y" +#line 517 "../../harbour.y" {;} break; case 111: -#line 510 "harbour.y" +#line 518 "../../harbour.y" {;} break; case 112: -#line 511 "harbour.y" +#line 519 "../../harbour.y" {;} break; - case 113: -#line 512 "harbour.y" - {;} - break; - - case 118: -#line 521 "harbour.y" + case 117: +#line 528 "../../harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (1)].lNumber); ;} break; - case 119: -#line 522 "harbour.y" + case 118: +#line 529 "../../harbour.y" { (yyval.lNumber) += (yyvsp[(2) - (2)].lNumber); ;} break; - case 120: -#line 525 "harbour.y" + case 119: +#line 532 "../../harbour.y" { hb_compExternAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].string) ); ;} break; - case 121: -#line 526 "harbour.y" + case 120: +#line 533 "../../harbour.y" { hb_compExternAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string) ); ;} break; - case 122: -#line 529 "harbour.y" + case 121: +#line 536 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 123: -#line 530 "harbour.y" + case 122: +#line 537 "../../harbour.y" { (yyval.string) = "STEP"; ;} break; - case 124: -#line 531 "harbour.y" + case 123: +#line 538 "../../harbour.y" { (yyval.string) = "TO"; ;} break; - case 125: -#line 532 "harbour.y" + case 124: +#line 539 "../../harbour.y" { (yyval.string) = "LOOP"; ;} break; - case 126: -#line 533 "harbour.y" + case 125: +#line 540 "../../harbour.y" { (yyval.string) = "EXIT"; ;} break; - case 127: -#line 534 "harbour.y" + case 126: +#line 541 "../../harbour.y" { (yyval.string) = "IN"; ;} break; + case 127: +#line 542 "../../harbour.y" + { (yyval.string) = (yyvsp[(1) - (1)].string); ;} + break; + case 128: -#line 535 "harbour.y" +#line 543 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 129: -#line 536 "harbour.y" +#line 544 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 130: -#line 537 "harbour.y" +#line 545 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 131: -#line 538 "harbour.y" +#line 546 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 132: -#line 539 "harbour.y" +#line 547 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 133: -#line 540 "harbour.y" +#line 548 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 134: -#line 541 "harbour.y" +#line 549 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 135: -#line 542 "harbour.y" +#line 550 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 136: -#line 543 "harbour.y" +#line 551 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 137: -#line 544 "harbour.y" +#line 552 "../../harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 138: -#line 545 "harbour.y" - { (yyval.string) = (yyvsp[(1) - (1)].string); ;} - break; - - case 139: -#line 550 "harbour.y" +#line 557 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewDouble( (yyvsp[(1) - (1)].valDouble).dNumber, (yyvsp[(1) - (1)].valDouble).bWidth, (yyvsp[(1) - (1)].valDouble).bDec, HB_COMP_PARAM ); ;} break; - case 140: -#line 551 "harbour.y" + case 139: +#line 558 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewLong( (yyvsp[(1) - (1)].valLong).lNumber, HB_COMP_PARAM ); ;} break; - case 141: -#line 554 "harbour.y" + case 140: +#line 561 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewDate( (yyvsp[(1) - (1)].valLong).lNumber, HB_COMP_PARAM ); if( (yyvsp[(1) - (1)].valLong).lNumber == 0 ) { @@ -4797,2099 +5058,2099 @@ yyreduce: ;} break; - case 142: -#line 562 "harbour.y" + case 141: +#line 569 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewLong( (yyvsp[(1) - (2)].valLong).lNumber, HB_COMP_PARAM ); ;} break; - case 143: -#line 563 "harbour.y" + case 142: +#line 570 "../../harbour.y" { (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, hb_compExprNewDouble( (yyvsp[(1) - (2)].valDouble).dNumber, (yyvsp[(1) - (2)].valDouble).bWidth, (yyvsp[(1) - (2)].valDouble).bDec, HB_COMP_PARAM ) ); ;} break; - case 144: -#line 568 "harbour.y" + case 143: +#line 575 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewNil( HB_COMP_PARAM ); ;} break; - case 145: -#line 571 "harbour.y" + case 144: +#line 578 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 146: -#line 576 "harbour.y" + case 145: +#line 583 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewString( (yyvsp[(1) - (1)].valChar).string, (yyvsp[(1) - (1)].valChar).length, (yyvsp[(1) - (1)].valChar).dealloc, HB_COMP_PARAM ); (yyvsp[(1) - (1)].valChar).dealloc = FALSE; ;} break; + case 146: +#line 589 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} + break; + case 147: -#line 582 "harbour.y" +#line 594 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 148: -#line 587 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} - break; - - case 149: -#line 592 "harbour.y" +#line 599 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewLogical( TRUE, HB_COMP_PARAM ); ;} break; - case 150: -#line 593 "harbour.y" + case 149: +#line 600 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewLogical( FALSE, HB_COMP_PARAM ); ;} break; - case 151: -#line 596 "harbour.y" + case 150: +#line 603 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 152: -#line 601 "harbour.y" + case 151: +#line 608 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewSelf( HB_COMP_PARAM ); ;} break; - case 153: -#line 604 "harbour.y" + case 152: +#line 611 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 154: -#line 609 "harbour.y" + case 153: +#line 616 "../../harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_ARRAY;;} break; - case 155: -#line 609 "harbour.y" + case 154: +#line 616 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewArray( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->iPassByRef=(yyvsp[(2) - (4)].bTrue); ;} break; - case 156: -#line 612 "harbour.y" + case 155: +#line 619 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 157: -#line 617 "harbour.y" + case 156: +#line 624 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 158: -#line 620 "harbour.y" + case 157: +#line 627 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 159: -#line 625 "harbour.y" + case 158: +#line 632 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 160: -#line 628 "harbour.y" + case 159: +#line 635 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAlias( (yyvsp[(1) - (2)].string), HB_COMP_PARAM ); ;} break; - case 161: -#line 633 "harbour.y" + case 160: +#line 640 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( NULL, '&', (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 162: -#line 634 "harbour.y" + case 161: +#line 641 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( NULL, 0, (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 163: -#line 637 "harbour.y" + case 162: +#line 644 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 164: -#line 642 "harbour.y" + case 163: +#line 649 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( (yyvsp[(2) - (2)].asExpr), 0, NULL, HB_COMP_PARAM ); ;} break; - case 165: -#line 645 "harbour.y" + case 164: +#line 652 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 166: -#line 652 "harbour.y" + case 165: +#line 659 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAlias( "FIELD", HB_COMP_PARAM ); ;} break; - case 167: -#line 653 "harbour.y" + case 166: +#line 660 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(3) - (3)].asExpr); ;} break; + case 167: +#line 665 "../../harbour.y" + { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + case 168: -#line 658 "harbour.y" +#line 666 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 169: -#line 659 "harbour.y" +#line 667 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 170: -#line 660 "harbour.y" +#line 668 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 171: -#line 661 "harbour.y" +#line 669 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 172: -#line 662 "harbour.y" - { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} +#line 670 "../../harbour.y" + { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 173: -#line 663 "harbour.y" +#line 671 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 174: -#line 664 "harbour.y" +#line 672 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 175: -#line 665 "harbour.y" +#line 673 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 176: -#line 666 "harbour.y" +#line 674 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 177: -#line 667 "harbour.y" +#line 675 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 178: -#line 668 "harbour.y" +#line 676 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 179: -#line 669 "harbour.y" +#line 677 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; case 180: -#line 670 "harbour.y" - { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} - break; - - case 181: -#line 673 "harbour.y" +#line 680 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; + case 181: +#line 681 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + case 182: -#line 674 "harbour.y" +#line 682 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 183: -#line 675 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 685 "../../harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 184: -#line 678 "harbour.y" +#line 686 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 185: -#line 679 "harbour.y" +#line 687 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 186: -#line 680 "harbour.y" +#line 688 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 187: -#line 681 "harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} +#line 689 "../../harbour.y" + { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 188: -#line 682 "harbour.y" +#line 690 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 189: -#line 683 "harbour.y" +#line 691 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 190: -#line 684 "harbour.y" +#line 692 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 191: -#line 685 "harbour.y" +#line 693 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 192: -#line 686 "harbour.y" +#line 694 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 193: -#line 687 "harbour.y" +#line 695 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 194: -#line 688 "harbour.y" +#line 696 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 195: -#line 689 "harbour.y" +#line 697 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 196: -#line 690 "harbour.y" +#line 698 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 197: -#line 691 "harbour.y" +#line 699 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 198: -#line 692 "harbour.y" +#line 700 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} break; case 199: -#line 693 "harbour.y" - { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} +#line 701 "../../harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 200: -#line 694 "harbour.y" +#line 702 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 201: -#line 695 "harbour.y" +#line 703 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 202: -#line 696 "harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} +#line 712 "../../harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 203: -#line 705 "harbour.y" +#line 713 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 204: -#line 706 "harbour.y" +#line 714 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 205: -#line 707 "harbour.y" +#line 715 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 206: -#line 708 "harbour.y" +#line 716 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 207: -#line 709 "harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 208: -#line 710 "harbour.y" +#line 717 "../../harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; + case 208: +#line 722 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + case 209: -#line 715 "harbour.y" +#line 723 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 210: -#line 716 "harbour.y" +#line 724 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 211: -#line 717 "harbour.y" +#line 725 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 212: -#line 718 "harbour.y" +#line 726 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 213: -#line 719 "harbour.y" +#line 727 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 214: -#line 720 "harbour.y" +#line 728 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 215: -#line 721 "harbour.y" +#line 729 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 216: -#line 722 "harbour.y" +#line 730 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 217: -#line 723 "harbour.y" +#line 731 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 218: -#line 724 "harbour.y" +#line 732 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 219: -#line 725 "harbour.y" +#line 733 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 220: -#line 726 "harbour.y" +#line 734 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 221: -#line 727 "harbour.y" +#line 735 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 222: -#line 728 "harbour.y" +#line 736 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 223: -#line 729 "harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} +#line 739 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 224: -#line 732 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} +#line 744 "../../harbour.y" + {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; case 225: -#line 737 "harbour.y" - {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} - break; - - case 226: -#line 737 "harbour.y" +#line 744 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( hb_compExprNewFunName( (yyvsp[(1) - (5)].string), HB_COMP_PARAM ), (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->iPassByRef=(yyvsp[(3) - (5)].bTrue); ;} break; - case 227: -#line 740 "harbour.y" + case 226: +#line 747 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; - case 228: -#line 741 "harbour.y" + case 227: +#line 748 "../../harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; + case 228: +#line 748 "../../harbour.y" + { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(1) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->iPassByRef=(yyvsp[(3) - (5)].bTrue); ;} + break; + case 229: -#line 741 "harbour.y" - { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(1) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->iPassByRef=(yyvsp[(3) - (5)].bTrue); ;} - break; - - case 230: -#line 742 "harbour.y" +#line 749 "../../harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; - case 231: -#line 742 "harbour.y" + case 230: +#line 749 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(1) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->iPassByRef=(yyvsp[(3) - (5)].bTrue); ;} break; - case 232: -#line 745 "harbour.y" + case 231: +#line 752 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 233: -#line 746 "harbour.y" + case 232: +#line 753 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 234: -#line 749 "harbour.y" + case 233: +#line 756 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 235: -#line 755 "harbour.y" + case 234: +#line 762 "../../harbour.y" { (yyval.asMessage).value.string = (yyvsp[(1) - (1)].string); (yyval.asMessage).bMacro=FALSE; ;} break; + case 235: +#line 763 "../../harbour.y" + { (yyval.asMessage).value.macro = (yyvsp[(1) - (1)].asExpr); (yyval.asMessage).bMacro=TRUE; ;} + break; + case 236: -#line 756 "harbour.y" +#line 764 "../../harbour.y" { (yyval.asMessage).value.macro = (yyvsp[(1) - (1)].asExpr); (yyval.asMessage).bMacro=TRUE; ;} break; case 237: -#line 757 "harbour.y" - { (yyval.asMessage).value.macro = (yyvsp[(1) - (1)].asExpr); (yyval.asMessage).bMacro=TRUE; ;} +#line 767 "../../harbour.y" + { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 238: -#line 760 "harbour.y" +#line 768 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 239: -#line 761 "harbour.y" +#line 769 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 240: -#line 762 "harbour.y" +#line 770 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 241: -#line 763 "harbour.y" +#line 771 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 242: -#line 764 "harbour.y" +#line 772 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 243: -#line 765 "harbour.y" +#line 773 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 244: -#line 766 "harbour.y" +#line 774 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 245: -#line 767 "harbour.y" +#line 775 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 246: -#line 768 "harbour.y" +#line 776 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 247: -#line 769 "harbour.y" +#line 777 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 248: -#line 770 "harbour.y" +#line 778 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 249: -#line 771 "harbour.y" +#line 779 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 250: -#line 772 "harbour.y" +#line 780 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 251: -#line 773 "harbour.y" +#line 781 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 252: -#line 774 "harbour.y" +#line 782 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 253: -#line 775 "harbour.y" +#line 783 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 254: -#line 776 "harbour.y" +#line 784 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 255: -#line 777 "harbour.y" +#line 785 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 256: -#line 778 "harbour.y" +#line 786 "../../harbour.y" { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; case 257: -#line 779 "harbour.y" - { (yyval.asExpr) = ((yyvsp[(3) - (3)].asMessage).bMacro ? hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), NULL, (yyvsp[(3) - (3)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} - break; - - case 258: -#line 780 "harbour.y" +#line 787 "../../harbour.y" { if( HB_COMP_PARAM->wWithObjectCnt == 0 ) hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_WITHOBJECT, NULL, NULL ); (yyval.asExpr) = ((yyvsp[(2) - (2)].asMessage).bMacro ? hb_compExprNewSend( NULL, NULL, (yyvsp[(2) - (2)].asMessage).value.macro, HB_COMP_PARAM ) : hb_compExprNewSend( NULL, (yyvsp[(2) - (2)].asMessage).value.string, NULL, HB_COMP_PARAM )); ;} break; - case 259: -#line 786 "harbour.y" + case 258: +#line 793 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 260: -#line 791 "harbour.y" + case 259: +#line 798 "../../harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; - case 261: -#line 791 "harbour.y" + case 260: +#line 798 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewMethodCall( (yyvsp[(1) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr) ); HB_COMP_PARAM->iPassByRef=(yyvsp[(3) - (5)].bTrue); ;} break; - case 262: -#line 794 "harbour.y" + case 261: +#line 801 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; + case 263: +#line 811 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + case 264: -#line 804 "harbour.y" +#line 812 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 265: -#line 805 "harbour.y" +#line 813 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 266: -#line 806 "harbour.y" +#line 814 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 267: -#line 807 "harbour.y" +#line 815 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 268: -#line 808 "harbour.y" +#line 816 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 269: -#line 809 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 270: -#line 810 "harbour.y" +#line 817 "../../harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; - case 271: -#line 810 "harbour.y" + case 270: +#line 817 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; + case 271: +#line 818 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + case 272: -#line 811 "harbour.y" +#line 819 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 273: -#line 812 "harbour.y" +#line 820 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 274: -#line 813 "harbour.y" +#line 821 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 275: -#line 814 "harbour.y" +#line 822 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 276: -#line 815 "harbour.y" +#line 823 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 277: -#line 816 "harbour.y" +#line 824 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 278: -#line 817 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 279: -#line 818 "harbour.y" +#line 825 "../../harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; - case 280: -#line 818 "harbour.y" + case 279: +#line 825 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; + case 280: +#line 826 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + case 281: -#line 819 "harbour.y" +#line 827 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 282: -#line 820 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 828 "../../harbour.y" + {HB_COMP_PARAM->cVarType = ' ';;} break; case 283: -#line 821 "harbour.y" - {HB_COMP_PARAM->cVarType = ' ';;} +#line 828 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 284: -#line 821 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} - break; - - case 285: -#line 822 "harbour.y" +#line 829 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; - case 286: -#line 823 "harbour.y" + case 285: +#line 830 "../../harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; - case 287: -#line 823 "harbour.y" + case 286: +#line 830 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; + case 287: +#line 831 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + case 288: -#line 824 "harbour.y" +#line 832 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 289: -#line 825 "harbour.y" +#line 833 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 290: -#line 826 "harbour.y" +#line 834 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 291: -#line 827 "harbour.y" +#line 835 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 292: -#line 828 "harbour.y" +#line 836 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 293: -#line 829 "harbour.y" +#line 837 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 294: -#line 830 "harbour.y" +#line 838 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 295: -#line 831 "harbour.y" +#line 839 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 296: -#line 832 "harbour.y" +#line 842 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 297: -#line 835 "harbour.y" +#line 843 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 298: -#line 836 "harbour.y" +#line 844 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 299: -#line 837 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 845 "../../harbour.y" + { HB_COMP_PARAM->cVarType = ' ';;} break; case 300: -#line 838 "harbour.y" - { HB_COMP_PARAM->cVarType = ' ';;} +#line 845 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 301: -#line 838 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} - break; - - case 302: -#line 839 "harbour.y" +#line 846 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' ';;} break; - case 303: -#line 839 "harbour.y" + case 302: +#line 846 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; - case 304: -#line 840 "harbour.y" + case 303: +#line 847 "../../harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewVarRef( (yyvsp[(2) - (2)].string), HB_COMP_PARAM ) ); ;} break; - case 305: -#line 841 "harbour.y" + case 304: +#line 848 "../../harbour.y" { int bPassByRef=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;(yyval.string) = hb_compExprAsSymbol( (yyvsp[(2) - (2)].asExpr) ); hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewFunRef( (yyval.string), HB_COMP_PARAM ) ); HB_COMP_PARAM->iPassByRef=bPassByRef; ;} break; + case 305: +#line 849 "../../harbour.y" + { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); ;} + break; + case 306: -#line 842 "harbour.y" +#line 850 "../../harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); ;} break; case 307: -#line 843 "harbour.y" - { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); ;} - break; - - case 308: -#line 844 "harbour.y" +#line 851 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 309: -#line 847 "harbour.y" + case 308: +#line 854 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewEmpty( HB_COMP_PARAM ); ;} break; - case 311: -#line 851 "harbour.y" + case 310: +#line 858 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 317: -#line 857 "harbour.y" + case 316: +#line 864 "../../harbour.y" { (yyval.asExpr) = hb_compExprListStrip( (yyvsp[(1) - (1)].asExpr), NULL ); ;} break; - case 318: -#line 863 "harbour.y" + case 317: +#line 870 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewPostInc( (yyvsp[(0) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 319: -#line 864 "harbour.y" + case 318: +#line 871 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewPostDec( (yyvsp[(0) - (1)].asExpr), HB_COMP_PARAM ); ;} break; + case 319: +#line 878 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + case 320: -#line 871 "harbour.y" +#line 879 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 321: -#line 872 "harbour.y" +#line 880 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 322: -#line 873 "harbour.y" +#line 881 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 323: -#line 874 "harbour.y" +#line 882 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 324: -#line 875 "harbour.y" +#line 883 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 325: -#line 876 "harbour.y" +#line 884 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 326: -#line 877 "harbour.y" +#line 885 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 327: -#line 878 "harbour.y" +#line 886 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 328: -#line 879 "harbour.y" +#line 887 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 329: -#line 880 "harbour.y" +#line 888 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 330: -#line 881 "harbour.y" +#line 889 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 331: -#line 882 "harbour.y" +#line 890 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 332: -#line 883 "harbour.y" +#line 891 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 333: -#line 884 "harbour.y" +#line 892 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 334: -#line 885 "harbour.y" +#line 893 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 335: -#line 886 "harbour.y" +#line 894 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 336: -#line 887 "harbour.y" +#line 895 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 337: -#line 888 "harbour.y" +#line 896 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 338: -#line 889 "harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 339: -#line 892 "harbour.y" +#line 899 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewPreInc( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 340: -#line 893 "harbour.y" + case 339: +#line 900 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewPreDec( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 341: -#line 896 "harbour.y" + case 340: +#line 903 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewNot( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 342: -#line 897 "harbour.y" + case 341: +#line 904 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewNegate( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 343: -#line 898 "harbour.y" + case 342: +#line 905 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; + case 343: +#line 912 "../../harbour.y" + { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} + break; + case 344: -#line 905 "harbour.y" +#line 913 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 345: -#line 906 "harbour.y" +#line 914 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 346: -#line 907 "harbour.y" +#line 915 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 347: -#line 908 "harbour.y" +#line 916 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 348: -#line 909 "harbour.y" +#line 917 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 349: -#line 910 "harbour.y" +#line 918 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 350: -#line 911 "harbour.y" +#line 919 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 351: -#line 912 "harbour.y" - { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 352: -#line 913 "harbour.y" +#line 920 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' ';;} break; + case 352: +#line 921 "../../harbour.y" + { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} + break; + case 353: -#line 914 "harbour.y" +#line 922 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 354: -#line 915 "harbour.y" +#line 923 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 355: -#line 916 "harbour.y" +#line 924 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 356: -#line 917 "harbour.y" - { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 357: -#line 918 "harbour.y" +#line 925 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' ';;} break; + case 357: +#line 926 "../../harbour.y" + { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} + break; + case 358: -#line 919 "harbour.y" +#line 927 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 359: -#line 920 "harbour.y" +#line 928 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 360: -#line 921 "harbour.y" - { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 361: -#line 922 "harbour.y" +#line 929 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' ';;} break; + case 361: +#line 930 "../../harbour.y" + { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} + break; + case 362: -#line 923 "harbour.y" +#line 933 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 363: -#line 926 "harbour.y" +#line 934 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 364: -#line 927 "harbour.y" +#line 935 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 365: -#line 928 "harbour.y" +#line 936 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 366: -#line 929 "harbour.y" +#line 937 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 367: -#line 930 "harbour.y" +#line 938 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 368: -#line 931 "harbour.y" +#line 939 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 369: -#line 932 "harbour.y" +#line 940 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 370: -#line 933 "harbour.y" +#line 941 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 371: -#line 934 "harbour.y" +#line 942 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 372: -#line 935 "harbour.y" +#line 943 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 373: -#line 936 "harbour.y" +#line 944 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 374: -#line 937 "harbour.y" +#line 945 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 375: -#line 938 "harbour.y" +#line 946 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 376: -#line 939 "harbour.y" +#line 947 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 377: -#line 940 "harbour.y" +#line 948 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 378: -#line 941 "harbour.y" +#line 949 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 379: -#line 942 "harbour.y" +#line 950 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 380: -#line 943 "harbour.y" +#line 951 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 381: -#line 944 "harbour.y" +#line 952 "../../harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 382: -#line 945 "harbour.y" - { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 955 "../../harbour.y" + { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 383: -#line 948 "harbour.y" +#line 956 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 384: -#line 949 "harbour.y" +#line 957 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 385: -#line 950 "harbour.y" +#line 958 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 386: -#line 951 "harbour.y" +#line 959 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 387: -#line 952 "harbour.y" +#line 960 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 388: -#line 953 "harbour.y" +#line 961 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 389: -#line 954 "harbour.y" +#line 962 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 390: -#line 955 "harbour.y" +#line 963 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 391: -#line 956 "harbour.y" +#line 964 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 392: -#line 957 "harbour.y" +#line 965 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 393: -#line 958 "harbour.y" +#line 966 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 394: -#line 959 "harbour.y" +#line 967 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 395: -#line 960 "harbour.y" +#line 968 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 396: -#line 961 "harbour.y" +#line 969 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 397: -#line 962 "harbour.y" +#line 970 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 398: -#line 963 "harbour.y" +#line 971 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 399: -#line 964 "harbour.y" +#line 972 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 400: -#line 965 "harbour.y" +#line 973 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 401: -#line 966 "harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 976 "../../harbour.y" + { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 402: -#line 969 "harbour.y" +#line 977 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 403: -#line 970 "harbour.y" +#line 978 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 404: -#line 971 "harbour.y" +#line 979 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 405: -#line 972 "harbour.y" +#line 980 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 406: -#line 973 "harbour.y" +#line 981 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 407: -#line 974 "harbour.y" +#line 982 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 408: -#line 975 "harbour.y" +#line 983 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 409: -#line 976 "harbour.y" +#line 984 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 410: -#line 977 "harbour.y" +#line 985 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 411: -#line 978 "harbour.y" +#line 986 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 412: -#line 979 "harbour.y" +#line 987 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 413: -#line 980 "harbour.y" +#line 988 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 414: -#line 981 "harbour.y" +#line 989 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 415: -#line 982 "harbour.y" +#line 990 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 416: -#line 983 "harbour.y" +#line 991 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 417: -#line 984 "harbour.y" +#line 992 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 418: -#line 985 "harbour.y" +#line 993 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 419: -#line 986 "harbour.y" +#line 994 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 420: -#line 987 "harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 997 "../../harbour.y" + { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 421: -#line 990 "harbour.y" +#line 998 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 422: -#line 991 "harbour.y" +#line 999 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 423: -#line 992 "harbour.y" +#line 1000 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 424: -#line 993 "harbour.y" +#line 1001 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 425: -#line 994 "harbour.y" +#line 1002 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 426: -#line 995 "harbour.y" +#line 1003 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 427: -#line 996 "harbour.y" +#line 1004 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 428: -#line 997 "harbour.y" +#line 1005 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 429: -#line 998 "harbour.y" +#line 1006 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 430: -#line 999 "harbour.y" +#line 1007 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 431: -#line 1000 "harbour.y" +#line 1008 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 432: -#line 1001 "harbour.y" +#line 1009 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 433: -#line 1002 "harbour.y" +#line 1010 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 434: -#line 1003 "harbour.y" +#line 1011 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 435: -#line 1004 "harbour.y" +#line 1012 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 436: -#line 1005 "harbour.y" +#line 1013 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 437: -#line 1006 "harbour.y" +#line 1014 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 438: -#line 1007 "harbour.y" +#line 1015 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 439: -#line 1008 "harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 1018 "../../harbour.y" + { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 440: -#line 1011 "harbour.y" +#line 1019 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 441: -#line 1012 "harbour.y" +#line 1020 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 442: -#line 1013 "harbour.y" +#line 1021 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 443: -#line 1014 "harbour.y" +#line 1022 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 444: -#line 1015 "harbour.y" +#line 1023 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 445: -#line 1016 "harbour.y" +#line 1024 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 446: -#line 1017 "harbour.y" +#line 1025 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 447: -#line 1018 "harbour.y" +#line 1026 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 448: -#line 1019 "harbour.y" +#line 1027 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 449: -#line 1020 "harbour.y" +#line 1028 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 450: -#line 1021 "harbour.y" +#line 1029 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 451: -#line 1022 "harbour.y" +#line 1030 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 452: -#line 1023 "harbour.y" +#line 1031 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 453: -#line 1024 "harbour.y" +#line 1032 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 454: -#line 1025 "harbour.y" +#line 1033 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 455: -#line 1026 "harbour.y" +#line 1034 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 456: -#line 1027 "harbour.y" +#line 1035 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 457: -#line 1028 "harbour.y" +#line 1036 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 458: -#line 1029 "harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 1039 "../../harbour.y" + { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 459: -#line 1032 "harbour.y" +#line 1040 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 460: -#line 1033 "harbour.y" +#line 1041 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 461: -#line 1034 "harbour.y" +#line 1042 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 462: -#line 1035 "harbour.y" +#line 1043 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 463: -#line 1036 "harbour.y" +#line 1044 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 464: -#line 1037 "harbour.y" +#line 1045 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 465: -#line 1038 "harbour.y" +#line 1046 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 466: -#line 1039 "harbour.y" +#line 1047 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 467: -#line 1040 "harbour.y" +#line 1048 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 468: -#line 1041 "harbour.y" +#line 1049 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 469: -#line 1042 "harbour.y" +#line 1050 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 470: -#line 1043 "harbour.y" +#line 1051 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 471: -#line 1044 "harbour.y" +#line 1052 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 472: -#line 1045 "harbour.y" +#line 1053 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 473: -#line 1046 "harbour.y" +#line 1054 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 474: -#line 1047 "harbour.y" +#line 1055 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 475: -#line 1048 "harbour.y" +#line 1056 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 476: -#line 1049 "harbour.y" +#line 1057 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 477: -#line 1050 "harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 1060 "../../harbour.y" + { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 478: -#line 1053 "harbour.y" +#line 1061 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 479: -#line 1054 "harbour.y" +#line 1062 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 480: -#line 1055 "harbour.y" +#line 1063 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 481: -#line 1056 "harbour.y" +#line 1064 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 482: -#line 1057 "harbour.y" +#line 1065 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 483: -#line 1058 "harbour.y" +#line 1066 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 484: -#line 1059 "harbour.y" +#line 1067 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 485: -#line 1060 "harbour.y" +#line 1068 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 486: -#line 1061 "harbour.y" +#line 1069 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 487: -#line 1062 "harbour.y" +#line 1070 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 488: -#line 1063 "harbour.y" +#line 1071 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 489: -#line 1064 "harbour.y" +#line 1072 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 490: -#line 1065 "harbour.y" +#line 1073 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 491: -#line 1066 "harbour.y" +#line 1074 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 492: -#line 1067 "harbour.y" +#line 1075 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 493: -#line 1068 "harbour.y" +#line 1076 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 494: -#line 1069 "harbour.y" +#line 1077 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 495: -#line 1070 "harbour.y" +#line 1078 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 496: -#line 1071 "harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 1081 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 497: -#line 1074 "harbour.y" +#line 1082 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 498: -#line 1075 "harbour.y" +#line 1083 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 499: -#line 1076 "harbour.y" +#line 1084 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 500: -#line 1077 "harbour.y" +#line 1085 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 501: -#line 1078 "harbour.y" +#line 1086 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 502: -#line 1079 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 503: -#line 1082 "harbour.y" +#line 1089 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlus( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 504: -#line 1083 "harbour.y" + case 503: +#line 1090 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinus( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 505: -#line 1084 "harbour.y" + case 504: +#line 1091 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMult( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 506: -#line 1085 "harbour.y" + case 505: +#line 1092 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDiv( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 507: -#line 1086 "harbour.y" + case 506: +#line 1093 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMod( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 508: -#line 1087 "harbour.y" + case 507: +#line 1094 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPower( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 509: -#line 1090 "harbour.y" + case 508: +#line 1097 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewAnd( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 510: -#line 1091 "harbour.y" + case 509: +#line 1098 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewOr( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 511: -#line 1094 "harbour.y" + case 510: +#line 1101 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewEQ( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 512: -#line 1095 "harbour.y" + case 511: +#line 1102 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewLT( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 513: -#line 1096 "harbour.y" + case 512: +#line 1103 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewGT( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 514: -#line 1097 "harbour.y" + case 513: +#line 1104 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewLE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 515: -#line 1098 "harbour.y" + case 514: +#line 1105 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewGE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; + case 515: +#line 1106 "../../harbour.y" + { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewNE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} + break; + case 516: -#line 1099 "harbour.y" +#line 1107 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewNE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 517: -#line 1100 "harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewNE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 518: -#line 1101 "harbour.y" +#line 1108 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewIN( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 519: -#line 1102 "harbour.y" + case 518: +#line 1109 "../../harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewEqual( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 520: -#line 1105 "harbour.y" + case 519: +#line 1112 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 521: -#line 1111 "harbour.y" + case 520: +#line 1118 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(0) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 522: -#line 1112 "harbour.y" + case 521: +#line 1119 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 523: -#line 1113 "harbour.y" + case 522: +#line 1120 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(1) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ); ;} break; - case 524: -#line 1116 "harbour.y" + case 523: +#line 1123 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 525: -#line 1117 "harbour.y" + case 524: +#line 1124 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 526: -#line 1120 "harbour.y" + case 525: +#line 1127 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewCodeBlock( (yyvsp[(1) - (1)].asCodeblock).string, (yyvsp[(1) - (1)].asCodeblock).length, (yyvsp[(1) - (1)].asCodeblock).flags, HB_COMP_PARAM ); (yyvsp[(1) - (1)].asCodeblock).string = NULL; ;} break; + case 526: +#line 1128 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (6)].asExpr); ;} + break; + case 527: -#line 1121 "harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (6)].asExpr); ;} - break; - - case 528: -#line 1122 "harbour.y" +#line 1129 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewCodeBlock( (yyvsp[(1) - (1)].asCodeblock).string, (yyvsp[(1) - (1)].asCodeblock).length, (yyvsp[(1) - (1)].asCodeblock).flags, HB_COMP_PARAM ); (yyvsp[(1) - (1)].asCodeblock).string = NULL; ;} break; - case 529: -#line 1123 "harbour.y" + case 528: +#line 1130 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (6)].asExpr); ;} break; - case 530: -#line 1128 "harbour.y" + case 529: +#line 1135 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddCodeblockExpr( (yyvsp[(-2) - (1)].asExpr), (yyvsp[(1) - (1)].asExpr) ); ;} break; - case 531: -#line 1129 "harbour.y" + case 530: +#line 1136 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddCodeblockExpr( (yyvsp[(-2) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 532: -#line 1135 "harbour.y" + case 531: +#line 1142 "../../harbour.y" { (yyval.asExpr) = NULL; ;} break; - case 533: -#line 1138 "harbour.y" + case 532: +#line 1145 "../../harbour.y" { HB_COMP_PARAM->iVarScope = VS_LOCAL; (yyval.asExpr) = hb_compExprCBVarAdd( (yyvsp[(0) - (2)].asExpr), (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType, HB_COMP_PARAM ); HB_COMP_PARAM->cVarType = ' '; ;} break; - case 534: -#line 1139 "harbour.y" + case 533: +#line 1146 "../../harbour.y" { HB_COMP_PARAM->iVarScope = VS_LOCAL; (yyval.asExpr) = hb_compExprCBVarAdd( (yyvsp[(0) - (4)].asExpr), (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType, HB_COMP_PARAM ); HB_COMP_PARAM->cVarType = ' '; ;} break; + case 534: +#line 1156 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} + break; + case 535: -#line 1149 "harbour.y" +#line 1159 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 536: -#line 1152 "harbour.y" +#line 1162 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 537: -#line 1155 "harbour.y" +#line 1165 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 538: -#line 1158 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} +#line 1168 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 539: -#line 1161 "harbour.y" +#line 1169 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 540: -#line 1162 "harbour.y" +#line 1170 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 541: -#line 1163 "harbour.y" +#line 1171 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 542: -#line 1164 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 543: -#line 1167 "harbour.y" +#line 1174 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 544: -#line 1170 "harbour.y" + case 543: +#line 1177 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewList( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; + case 544: +#line 1180 "../../harbour.y" + { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} + break; + case 545: -#line 1173 "harbour.y" +#line 1183 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 546: -#line 1176 "harbour.y" +#line 1186 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 547: -#line 1179 "harbour.y" +#line 1187 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 548: -#line 1180 "harbour.y" - { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} - break; - - case 549: -#line 1183 "harbour.y" +#line 1190 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewIIF( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 550: -#line 1185 "harbour.y" + case 549: +#line 1192 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(2) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr) ); ;} break; - case 551: -#line 1187 "harbour.y" + case 550: +#line 1194 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewIIF( hb_compExprAddListExpr( (yyvsp[(6) - (8)].asExpr), (yyvsp[(7) - (8)].asExpr) ), HB_COMP_PARAM ); ;} break; - case 552: -#line 1190 "harbour.y" + case 551: +#line 1197 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 553: -#line 1193 "harbour.y" + case 552: +#line 1200 "../../harbour.y" { HB_COMP_PARAM->iVarScope = VS_LOCAL; hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 554: -#line 1193 "harbour.y" + case 553: +#line 1200 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 555: -#line 1194 "harbour.y" + case 554: +#line 1201 "../../harbour.y" { HB_COMP_PARAM->iVarScope = VS_STATIC; hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 556: -#line 1194 "harbour.y" + case 555: +#line 1201 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 557: -#line 1195 "harbour.y" + case 556: +#line 1202 "../../harbour.y" { if( HB_COMP_PARAM->functions.pLast->bFlags & FUN_USES_LOCAL_PARAMS ) hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_PARAMETERS_NOT_ALLOWED, NULL, NULL ); else HB_COMP_PARAM->functions.pLast->wParamNum=0; HB_COMP_PARAM->iVarScope = ( VS_PRIVATE | VS_PARAMETER ); ;} break; - case 558: -#line 1199 "harbour.y" + case 557: +#line 1206 "../../harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 559: -#line 1202 "harbour.y" + case 558: +#line 1209 "../../harbour.y" { (yyval.iNumber) = 1; ;} break; + case 559: +#line 1210 "../../harbour.y" + { (yyval.iNumber)++; ;} + break; + case 560: -#line 1203 "harbour.y" - { (yyval.iNumber)++; ;} - break; - - case 561: -#line 1206 "harbour.y" +#line 1213 "../../harbour.y" { (yyval.iNumber) = 1; ;} break; - case 562: -#line 1207 "harbour.y" + case 561: +#line 1214 "../../harbour.y" { (yyval.iNumber)++; ;} break; - case 564: -#line 1217 "harbour.y" + case 563: +#line 1224 "../../harbour.y" { hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), FALSE ); ;} break; - case 565: -#line 1219 "harbour.y" + case 564: +#line 1226 "../../harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[(1) - (4)].asExpr), HB_COMP_PARAM ), TRUE ); ;} break; - case 566: -#line 1223 "harbour.y" + case 565: +#line 1230 "../../harbour.y" { USHORT uCount = (USHORT) hb_compExprListLen( (yyvsp[(2) - (2)].asExpr) ); hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); @@ -6898,8 +7159,8 @@ yyreduce: ;} break; - case 567: -#line 1230 "harbour.y" + case 566: +#line 1237 "../../harbour.y" { USHORT uCount = (USHORT) hb_compExprListLen( (yyvsp[(2) - (3)].asExpr) ); hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); @@ -6908,13 +7169,13 @@ yyreduce: ;} break; - case 568: -#line 1238 "harbour.y" + case 567: +#line 1245 "../../harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 569: -#line 1239 "harbour.y" + case 568: +#line 1246 "../../harbour.y" { if( HB_COMP_PARAM->iVarScope == VS_STATIC ) { @@ -6929,20 +7190,20 @@ yyreduce: ;} break; - case 570: -#line 1252 "harbour.y" + case 569: +#line 1259 "../../harbour.y" { (yyval.iNumber) = HB_COMP_PARAM->iVarScope; hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 571: -#line 1255 "harbour.y" + case 570: +#line 1262 "../../harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; - case 572: -#line 1256 "harbour.y" + case 571: +#line 1263 "../../harbour.y" { HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' '; @@ -6968,88 +7229,88 @@ yyreduce: ;} break; - case 573: -#line 1280 "harbour.y" + case 572: +#line 1287 "../../harbour.y" { hb_compVariableDim( (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 574: -#line 1281 "harbour.y" + case 573: +#line 1288 "../../harbour.y" { hb_compVariableDim( (yyvsp[(1) - (3)].string), (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 575: -#line 1287 "harbour.y" + case 574: +#line 1294 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 576: -#line 1290 "harbour.y" + case 575: +#line 1297 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 577: -#line 1291 "harbour.y" + case 576: +#line 1298 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 578: -#line 1292 "harbour.y" + case 577: +#line 1299 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr) ); ;} break; - case 579: -#line 1296 "harbour.y" + case 578: +#line 1303 "../../harbour.y" { HB_COMP_PARAM->iVarScope = VS_FIELD; ;} break; - case 580: -#line 1296 "harbour.y" + case 579: +#line 1303 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 581: -#line 1299 "harbour.y" + case 580: +#line 1306 "../../harbour.y" { (yyval.iNumber)=hb_compFieldsCount( HB_COMP_PARAM ); hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 582: -#line 1300 "harbour.y" + case 581: +#line 1307 "../../harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 583: -#line 1301 "harbour.y" + case 582: +#line 1308 "../../harbour.y" { hb_compFieldSetAlias( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), (yyvsp[(1) - (3)].iNumber) ); ;} break; - case 584: -#line 1304 "harbour.y" + case 583: +#line 1311 "../../harbour.y" { HB_COMP_PARAM->iVarScope = VS_MEMVAR; ;} break; - case 585: -#line 1304 "harbour.y" + case 584: +#line 1311 "../../harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 586: -#line 1307 "harbour.y" + case 585: +#line 1314 "../../harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 587: -#line 1308 "harbour.y" + case 586: +#line 1315 "../../harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 588: -#line 1311 "harbour.y" + case 587: +#line 1318 "../../harbour.y" { hb_compDeclaredAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string) ); HB_COMP_PARAM->szDeclaredFun = (yyvsp[(2) - (3)].string); ;} break; - case 589: -#line 1312 "harbour.y" + case 588: +#line 1319 "../../harbour.y" { if( HB_COMP_PARAM->pLastDeclared ) { @@ -7074,43 +7335,43 @@ yyreduce: ;} break; - case 590: -#line 1334 "harbour.y" + case 589: +#line 1341 "../../harbour.y" { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (2)].string) ); ;} break; - case 591: -#line 1334 "harbour.y" + case 590: +#line 1341 "../../harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 592: -#line 1335 "harbour.y" + case 591: +#line 1342 "../../harbour.y" { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string) ); HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 593: -#line 1336 "harbour.y" + case 592: +#line 1343 "../../harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 594: -#line 1337 "harbour.y" + case 593: +#line 1344 "../../harbour.y" { HB_COMP_PARAM->cDataListType = HB_COMP_PARAM->cVarType; ;} break; - case 595: -#line 1337 "harbour.y" + case 594: +#line 1344 "../../harbour.y" { HB_COMP_PARAM->cDataListType = 0; HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 602: -#line 1350 "harbour.y" + case 601: +#line 1357 "../../harbour.y" { HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass, (yyvsp[(1) - (2)].string) ); ;} break; - case 603: -#line 1351 "harbour.y" + case 602: +#line 1358 "../../harbour.y" { if( HB_COMP_PARAM->pLastMethod ) { @@ -7132,13 +7393,13 @@ yyreduce: ;} break; - case 604: -#line 1372 "harbour.y" + case 603: +#line 1379 "../../harbour.y" { HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass, (yyvsp[(1) - (1)].string) ); ;} break; - case 605: -#line 1373 "harbour.y" + case 604: +#line 1380 "../../harbour.y" { if( HB_COMP_PARAM->pLastMethod ) { @@ -7194,290 +7455,296 @@ yyreduce: ;} break; - case 606: -#line 1428 "harbour.y" + case 605: +#line 1435 "../../harbour.y" + {;} + break; + + case 609: +#line 1441 "../../harbour.y" {;} break; case 610: -#line 1434 "harbour.y" +#line 1442 "../../harbour.y" {;} break; case 611: -#line 1435 "harbour.y" +#line 1445 "../../harbour.y" {;} break; case 612: -#line 1438 "harbour.y" - {;} - break; - - case 613: -#line 1444 "harbour.y" +#line 1451 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 614: -#line 1445 "harbour.y" + case 613: +#line 1452 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_BYREF ); ;} break; - case 615: -#line 1446 "harbour.y" + case 614: +#line 1453 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (5)].string), 'F' ); hb_compExprDelete( (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM );;} break; - case 616: -#line 1447 "harbour.y" + case 615: +#line 1454 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 617: -#line 1448 "harbour.y" + case 616: +#line 1455 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (5)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_BYREF ); ;} break; - case 618: -#line 1449 "harbour.y" + case 617: +#line 1456 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (7)].string), 'F' ); hb_compExprDelete( (yyvsp[(6) - (7)].asExpr), HB_COMP_PARAM ); ;} break; - case 619: -#line 1452 "harbour.y" + case 618: +#line 1459 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL ); ;} break; - case 620: -#line 1453 "harbour.y" + case 619: +#line 1460 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; - case 621: -#line 1454 "harbour.y" + case 620: +#line 1461 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (6)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; - case 622: -#line 1455 "harbour.y" + case 621: +#line 1462 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (5)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL ); ;} break; - case 623: -#line 1456 "harbour.y" + case 622: +#line 1463 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(5) - (6)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; - case 624: -#line 1457 "harbour.y" + case 623: +#line 1464 "../../harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(5) - (8)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; - case 632: -#line 1469 "harbour.y" + case 631: +#line 1476 "../../harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (2)].iNumber), HB_COMP_PARAM ); ;} break; - case 633: -#line 1470 "harbour.y" + case 632: +#line 1477 "../../harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (3)].iNumber), HB_COMP_PARAM ); ;} break; - case 634: -#line 1471 "harbour.y" + case 633: +#line 1478 "../../harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (3)].iNumber), HB_COMP_PARAM ); hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (3)].pVoid) ); ;} break; - case 635: -#line 1472 "harbour.y" + case 634: +#line 1479 "../../harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (4)].iNumber), HB_COMP_PARAM ); hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (4)].pVoid) ); ;} break; - case 636: -#line 1475 "harbour.y" + case 635: +#line 1482 "../../harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (1)].lNumber); ;} break; - case 637: -#line 1476 "harbour.y" + case 636: +#line 1483 "../../harbour.y" { (yyval.lNumber) += (yyvsp[(2) - (2)].lNumber); ;} break; - case 638: -#line 1479 "harbour.y" + case 637: +#line 1486 "../../harbour.y" { (yyval.lNumber) = 0; ;} break; - case 639: -#line 1480 "harbour.y" + case 638: +#line 1487 "../../harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (1)].lNumber); ;} break; - case 640: -#line 1483 "harbour.y" + case 639: +#line 1490 "../../harbour.y" { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; + case 640: +#line 1490 "../../harbour.y" + { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} + break; + case 641: -#line 1483 "harbour.y" - { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} +#line 1492 "../../harbour.y" + { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 642: -#line 1485 "harbour.y" - { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} +#line 1494 "../../harbour.y" + { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 643: -#line 1487 "harbour.y" - { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} +#line 1494 "../../harbour.y" + { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 644: -#line 1487 "harbour.y" - { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} +#line 1496 "../../harbour.y" + { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 645: -#line 1489 "harbour.y" - { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} +#line 1498 "../../harbour.y" + { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 646: -#line 1491 "harbour.y" - { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} +#line 1498 "../../harbour.y" + { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 647: -#line 1491 "harbour.y" - { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} +#line 1500 "../../harbour.y" + { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 648: -#line 1493 "harbour.y" - { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} +#line 1502 "../../harbour.y" + { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; case 649: -#line 1495 "harbour.y" - { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} +#line 1502 "../../harbour.y" + { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; case 650: -#line 1495 "harbour.y" - { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} +#line 1504 "../../harbour.y" + { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 651: -#line 1497 "harbour.y" - { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} - break; - - case 652: -#line 1499 "harbour.y" +#line 1506 "../../harbour.y" { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 653: -#line 1499 "harbour.y" + case 652: +#line 1506 "../../harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; - case 654: -#line 1501 "harbour.y" + case 653: +#line 1508 "../../harbour.y" { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; - case 655: -#line 1504 "harbour.y" + case 654: +#line 1511 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; - case 657: -#line 1508 "harbour.y" + case 656: +#line 1515 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 658: -#line 1510 "harbour.y" + case 657: +#line 1517 "../../harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; - case 659: -#line 1514 "harbour.y" + case 658: +#line 1521 "../../harbour.y" { (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, NULL, hb_compGenJump( 0, HB_COMP_PARAM ) ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; - case 660: -#line 1518 "harbour.y" + case 659: +#line 1525 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 661: -#line 1520 "harbour.y" + case 660: +#line 1527 "../../harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; - case 662: -#line 1524 "harbour.y" + case 661: +#line 1531 "../../harbour.y" { (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, (yyvsp[(1) - (7)].pVoid), hb_compGenJump( 0, HB_COMP_PARAM ) ); hb_compGenJumpHere( (yyvsp[(6) - (7)].iNumber), HB_COMP_PARAM ); ;} break; + case 662: +#line 1536 "../../harbour.y" + { if( HB_COMP_PARAM->wIfCounter ) + --HB_COMP_PARAM->wIfCounter; + HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); ;} + break; + case 663: -#line 1529 "harbour.y" - { --HB_COMP_PARAM->wIfCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); ;} +#line 1539 "../../harbour.y" + { if( HB_COMP_PARAM->wIfCounter ) + --HB_COMP_PARAM->wIfCounter; + HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); ;} break; case 664: -#line 1530 "harbour.y" - { --HB_COMP_PARAM->wIfCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); ;} - break; - - case 665: -#line 1535 "harbour.y" +#line 1546 "../../harbour.y" { hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (3)].pVoid) ); ;} break; - case 668: -#line 1547 "harbour.y" + case 667: +#line 1558 "../../harbour.y" { hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (4)].pVoid) ); ;} break; - case 669: -#line 1551 "harbour.y" - { --HB_COMP_PARAM->wCaseCounter; - HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); - ;} + case 668: +#line 1562 "../../harbour.y" + { if( HB_COMP_PARAM->wCaseCounter ) + --HB_COMP_PARAM->wCaseCounter; + HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); + ;} break; - case 670: -#line 1555 "harbour.y" - { --HB_COMP_PARAM->wCaseCounter; + case 669: +#line 1567 "../../harbour.y" + { if( HB_COMP_PARAM->wCaseCounter ) + --HB_COMP_PARAM->wCaseCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); ;} break; - case 671: -#line 1560 "harbour.y" + case 670: +#line 1573 "../../harbour.y" { ++HB_COMP_PARAM->wCaseCounter; hb_compLinePushIfDebugger( HB_COMP_PARAM );;} break; - case 673: -#line 1563 "harbour.y" + case 672: +#line 1576 "../../harbour.y" { ;} break; - case 674: -#line 1564 "harbour.y" + case 673: +#line 1577 "../../harbour.y" { if( (yyvsp[(2) - (2)].lNumber) > 0 ) { @@ -7486,21 +7753,21 @@ yyreduce: ;} break; - case 675: -#line 1572 "harbour.y" + case 674: +#line 1585 "../../harbour.y" { hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 676: -#line 1573 "harbour.y" + case 675: +#line 1586 "../../harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; - case 677: -#line 1578 "harbour.y" + case 676: +#line 1591 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, NULL, hb_compGenJump( 0, HB_COMP_PARAM ) ); @@ -7508,21 +7775,21 @@ yyreduce: ;} break; - case 678: -#line 1584 "harbour.y" + case 677: +#line 1597 "../../harbour.y" { hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 679: -#line 1585 "harbour.y" + case 678: +#line 1598 "../../harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.iNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; - case 680: -#line 1590 "harbour.y" + case 679: +#line 1603 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; (yyval.pVoid) = hb_compElseIfGen( HB_COMP_PARAM, (yyvsp[(1) - (7)].pVoid), hb_compGenJump( 0, HB_COMP_PARAM ) ); @@ -7530,63 +7797,65 @@ yyreduce: ;} break; - case 681: -#line 1597 "harbour.y" + case 680: +#line 1610 "../../harbour.y" {hb_compLinePushIfDebugger( HB_COMP_PARAM ); ;} break; - case 682: -#line 1597 "harbour.y" + case 681: +#line 1610 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; - case 684: -#line 1599 "harbour.y" + case 683: +#line 1612 "../../harbour.y" { hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_MAYHEM_IN_CASE, NULL, NULL ); ;} break; - case 686: -#line 1604 "harbour.y" + case 685: +#line 1617 "../../harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); (yyval.lNumber) = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); ;} break; - case 687: -#line 1609 "harbour.y" + case 686: +#line 1622 "../../harbour.y" { hb_compLoopHere( HB_COMP_PARAM ); hb_compGenJump( (yyvsp[(1) - (5)].lNumber) - HB_COMP_PARAM->functions.pLast->lPCodePos, HB_COMP_PARAM ); ;} break; - case 688: -#line 1614 "harbour.y" + case 687: +#line 1627 "../../harbour.y" { - hb_compGenJumpHere( (yyvsp[(4) - (7)].lNumber), HB_COMP_PARAM ); --HB_COMP_PARAM->wWhileCounter; + hb_compGenJumpHere( (yyvsp[(4) - (7)].lNumber), HB_COMP_PARAM ); + if( HB_COMP_PARAM->wWhileCounter ) + --HB_COMP_PARAM->wWhileCounter; hb_compLoopEnd( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; - case 689: -#line 1621 "harbour.y" + case 688: +#line 1636 "../../harbour.y" { (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; hb_compLinePushIfInside( HB_COMP_PARAM ); ++HB_COMP_PARAM->wWhileCounter; hb_compLoopStart( HB_COMP_PARAM ); ;} break; + case 689: +#line 1639 "../../harbour.y" + { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} + break; + case 690: -#line 1624 "harbour.y" +#line 1640 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; case 691: -#line 1625 "harbour.y" - { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} - break; - - case 692: -#line 1629 "harbour.y" +#line 1644 "../../harbour.y" { hb_compLinePush( HB_COMP_PARAM ); hb_compDebugStart(); @@ -7599,23 +7868,23 @@ yyreduce: ;} break; - case 693: -#line 1640 "harbour.y" + case 692: +#line 1655 "../../harbour.y" { hb_compLoopStart( HB_COMP_PARAM ); (yyval.lNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); /* 9 */ ;} break; - case 694: -#line 1645 "harbour.y" + case 693: +#line 1660 "../../harbour.y" { (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; /* 11 */ ;} break; - case 695: -#line 1649 "harbour.y" + case 694: +#line 1664 "../../harbour.y" { short iStep, iLocal; @@ -7678,68 +7947,76 @@ yyreduce: ;} break; - case 698: -#line 1715 "harbour.y" + case 697: +#line 1730 "../../harbour.y" { (yyval.asExpr) = NULL; ;} break; - case 699: -#line 1716 "harbour.y" + case 698: +#line 1731 "../../harbour.y" { (yyval.asExpr) = hb_compExprReduce( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; + case 699: +#line 1734 "../../harbour.y" + { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; ;} + break; + case 700: -#line 1719 "harbour.y" - { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; ;} +#line 1737 "../../harbour.y" + { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; ;} break; case 701: -#line 1720 "harbour.y" - { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; ;} +#line 1740 "../../harbour.y" + { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; ;} break; case 702: -#line 1721 "harbour.y" - { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; ;} +#line 1743 "../../harbour.y" + { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; ;} break; case 703: -#line 1722 "harbour.y" - { hb_compLinePush( HB_COMP_PARAM ); --HB_COMP_PARAM->wForCounter; ;} - break; - - case 704: -#line 1725 "harbour.y" +#line 1748 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 705: -#line 1726 "harbour.y" + case 704: +#line 1749 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 706: -#line 1729 "harbour.y" + case 705: +#line 1752 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; + case 706: +#line 1753 "../../harbour.y" + { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} + break; + case 707: -#line 1730 "harbour.y" - { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} - break; - - case 708: -#line 1733 "harbour.y" +#line 1756 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 709: -#line 1734 "harbour.y" + case 708: +#line 1757 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 710: -#line 1738 "harbour.y" + case 709: +#line 1761 "../../harbour.y" { ++HB_COMP_PARAM->wForCounter; /* 5 */ hb_compLinePush( HB_COMP_PARAM ); @@ -7747,8 +8024,8 @@ yyreduce: ;} break; - case 711: -#line 1744 "harbour.y" + case 710: +#line 1767 "../../harbour.y" { /* 7 */ @@ -7759,8 +8036,8 @@ yyreduce: ;} break; - case 712: -#line 1753 "harbour.y" + case 711: +#line 1776 "../../harbour.y" { /* 9 */ @@ -7768,8 +8045,8 @@ yyreduce: ;} break; - case 713: -#line 1759 "harbour.y" + case 712: +#line 1782 "../../harbour.y" { hb_compLoopHere( HB_COMP_PARAM ); hb_compEnumNext( HB_COMP_PARAM, (yyvsp[(2) - (10)].asExpr), (yyvsp[(6) - (10)].iNumber) ); @@ -7784,18 +8061,18 @@ yyreduce: ;} break; - case 714: -#line 1773 "harbour.y" + case 713: +#line 1796 "../../harbour.y" { (yyval.iNumber) = 1; ;} break; - case 715: -#line 1774 "harbour.y" + case 714: +#line 1797 "../../harbour.y" { (yyval.iNumber) = -1; ;} break; - case 716: -#line 1778 "harbour.y" + case 715: +#line 1801 "../../harbour.y" { hb_compLoopStart( HB_COMP_PARAM ); hb_compSwitchStart( HB_COMP_PARAM ); @@ -7803,50 +8080,50 @@ yyreduce: ;} break; - case 717: -#line 1785 "harbour.y" + case 716: +#line 1808 "../../harbour.y" { hb_compSwitchEnd( HB_COMP_PARAM ); hb_compLoopEnd( HB_COMP_PARAM ); ;} break; - case 718: -#line 1792 "harbour.y" + case 717: +#line 1815 "../../harbour.y" { hb_compGenPCode1( HB_P_POP, HB_COMP_PARAM ); ;} break; - case 719: -#line 1798 "harbour.y" - { - --HB_COMP_PARAM->wSwitchCounter; + case 718: +#line 1821 "../../harbour.y" + { if( HB_COMP_PARAM->wSwitchCounter ) + --HB_COMP_PARAM->wSwitchCounter; HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( FUN_WITH_RETURN | FUN_BREAK_CODE ); ;} break; - case 720: -#line 1805 "harbour.y" + case 719: +#line 1828 "../../harbour.y" { ++HB_COMP_PARAM->wSwitchCounter; hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 721: -#line 1809 "harbour.y" + case 720: +#line 1832 "../../harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); ;} break; - case 722: -#line 1814 "harbour.y" + case 721: +#line 1837 "../../harbour.y" { ;} break; - case 723: -#line 1815 "harbour.y" + case 722: +#line 1838 "../../harbour.y" { if( (yyvsp[(2) - (2)].lNumber) > 0 ) { @@ -7855,33 +8132,33 @@ yyreduce: ;} break; - case 724: -#line 1823 "harbour.y" + case 723: +#line 1846 "../../harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 726: -#line 1826 "harbour.y" + case 725: +#line 1849 "../../harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].asExpr) ); hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 730: -#line 1834 "harbour.y" + case 729: +#line 1857 "../../harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, NULL ); hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 731: -#line 1834 "harbour.y" + case 730: +#line 1857 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; - case 733: -#line 1838 "harbour.y" + case 732: +#line 1861 "../../harbour.y" { ++HB_COMP_PARAM->wSeqCounter; (yyval.lNumber) = hb_compSequenceBegin( HB_COMP_PARAM ); ;} break; - case 734: -#line 1840 "harbour.y" + case 733: +#line 1863 "../../harbour.y" { /* Set jump address for HB_P_SEQBEGIN opcode - this address * will be used in BREAK code if there is no RECOVER clause @@ -7891,8 +8168,8 @@ yyreduce: ;} break; - case 735: -#line 1848 "harbour.y" + case 734: +#line 1871 "../../harbour.y" { /* Replace END address with RECOVER address in * HB_P_SEQBEGIN opcode if there is RECOVER clause @@ -7902,162 +8179,164 @@ yyreduce: ;} break; - case 736: -#line 1856 "harbour.y" + case 735: +#line 1879 "../../harbour.y" { /* Fix END address * There is no line number after HB_P_SEQEND in case no * RECOVER clause is used */ hb_compGenJumpThere( (yyvsp[(5) - (8)].lNumber), HB_COMP_PARAM->functions.pLast->lPCodePos, HB_COMP_PARAM ); - if( !(yyvsp[(6) - (8)].lNumber) ) /* only if there is no RECOVER clause */ + if( !(yyvsp[(6) - (8)].lNumber) && HB_COMP_PARAM->wSeqCounter ) /* only if there is no RECOVER clause */ --HB_COMP_PARAM->wSeqCounter; /* RECOVER is also considered as end of sequence */ hb_compSequenceFinish( (yyvsp[(2) - (8)].lNumber), (yyvsp[(4) - (8)].lNumber), HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; - case 737: -#line 1869 "harbour.y" + case 736: +#line 1892 "../../harbour.y" { (yyval.lNumber) = 0; ;} break; - case 738: -#line 1870 "harbour.y" + case 737: +#line 1893 "../../harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (2)].lNumber); ;} break; - case 740: -#line 1871 "harbour.y" + case 739: +#line 1894 "../../harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (2)].lNumber); ;} break; - case 742: -#line 1875 "harbour.y" + case 741: +#line 1898 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; - --HB_COMP_PARAM->wSeqCounter; + if( HB_COMP_PARAM->wSeqCounter ) + --HB_COMP_PARAM->wSeqCounter; hb_compLinePush( HB_COMP_PARAM ); hb_compGenPCode2( HB_P_SEQRECOVER, HB_P_POP, HB_COMP_PARAM ); ;} break; - case 743: -#line 1885 "harbour.y" + case 742: +#line 1909 "../../harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; - --HB_COMP_PARAM->wSeqCounter; + if( HB_COMP_PARAM->wSeqCounter ) + --HB_COMP_PARAM->wSeqCounter; hb_compLinePush( HB_COMP_PARAM ); hb_compGenPCode1( HB_P_SEQRECOVER, HB_COMP_PARAM ); hb_compGenPopVar( (yyvsp[(2) - (2)].string), HB_COMP_PARAM ); ;} break; - case 744: -#line 1901 "harbour.y" + case 743: +#line 1926 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewFunName( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); hb_compAutoOpenAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].string) ); ;} break; + case 744: +#line 1927 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + case 745: -#line 1902 "harbour.y" +#line 1928 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 746: -#line 1903 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 747: -#line 1907 "harbour.y" +#line 1932 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(2) - (2)].asExpr), NULL, HB_COMP_PARAM ); ;} break; - case 748: -#line 1909 "harbour.y" + case 747: +#line 1934 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(2) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ); ;} break; - case 749: -#line 1911 "harbour.y" + case 748: +#line 1936 "../../harbour.y" { /* DOIDENT is the only one identifier which can be returned in lower letters */ hb_compAutoOpenAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].string) ); (yyval.asExpr) = hb_compExprNewFunCall( hb_compExprNewFunName( hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( hb_strdup( (yyvsp[(1) - (1)].string) ) ), HB_IDENT_FREE ), HB_COMP_PARAM ), NULL, HB_COMP_PARAM ); ;} break; - case 750: -#line 1916 "harbour.y" + case 749: +#line 1941 "../../harbour.y" { /* DOIDENT is the only one identifier which can be returned in lower letters */ hb_compAutoOpenAdd( HB_COMP_PARAM, (yyvsp[(1) - (3)].string) ); (yyval.asExpr) = hb_compExprNewFunCall( hb_compExprNewFunName( hb_compIdentifierNew( HB_COMP_PARAM, hb_strupr( hb_strdup( (yyvsp[(1) - (3)].string) ) ), HB_IDENT_FREE ), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 751: -#line 1922 "harbour.y" + case 750: +#line 1947 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewArgList( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ), hb_compExprNewNil( HB_COMP_PARAM ) ); ;} break; - case 752: -#line 1923 "harbour.y" + case 751: +#line 1948 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewArgList( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ), (yyvsp[(2) - (2)].asExpr) ); ;} break; - case 753: -#line 1924 "harbour.y" + case 752: +#line 1949 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 754: -#line 1925 "harbour.y" + case 753: +#line 1950 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (2)].asExpr), hb_compExprNewNil( HB_COMP_PARAM ) ); ;} break; - case 755: -#line 1926 "harbour.y" + case 754: +#line 1951 "../../harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 756: -#line 1929 "harbour.y" + case 755: +#line 1954 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 757: -#line 1930 "harbour.y" + case 756: +#line 1955 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 758: -#line 1931 "harbour.y" + case 757: +#line 1956 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(2) - (2)].string), HB_COMP_PARAM ); ;} break; + case 758: +#line 1957 "../../harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + case 759: -#line 1932 "harbour.y" +#line 1958 "../../harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 760: -#line 1933 "harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 1959 "../../harbour.y" + { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 761: -#line 1934 "harbour.y" +#line 1960 "../../harbour.y" { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 762: -#line 1935 "harbour.y" - { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 763: -#line 1939 "harbour.y" +#line 1964 "../../harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); hb_compGenPCode1( HB_P_WITHOBJECTSTART, HB_COMP_PARAM ); @@ -8065,32 +8344,32 @@ yyreduce: ;} break; - case 764: -#line 1946 "harbour.y" - { - --HB_COMP_PARAM->wWithObjectCnt; + case 763: +#line 1971 "../../harbour.y" + { if( HB_COMP_PARAM->wWithObjectCnt ) + --HB_COMP_PARAM->wWithObjectCnt; hb_compGenPCode1( HB_P_WITHOBJECTEND, HB_COMP_PARAM ); ;} break; - case 765: -#line 1950 "harbour.y" + case 764: +#line 1975 "../../harbour.y" { hb_compExprDelete( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ); ;} break; - case 766: -#line 1953 "harbour.y" + case 765: +#line 1978 "../../harbour.y" { HB_COMP_PARAM->fError = FALSE; ;} break; - case 767: -#line 1954 "harbour.y" + case 766: +#line 1979 "../../harbour.y" { HB_COMP_PARAM->fDontGenLineNum = TRUE; ;} break; /* Line 1267 of yacc.c. */ -#line 8094 "harboury.c" +#line 8373 "harboury.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -8304,7 +8583,7 @@ yyreturn: } -#line 1957 "harbour.y" +#line 1982 "../../harbour.y" /* @@ -8994,12 +9273,60 @@ static HB_EXPR_PTR hb_compCheckPassByRef( HB_COMP_DECL, HB_EXPR_PTR pExpr ) /* ************************************************************************* */ +BOOL hb_compCheckUnclosedStru( HB_COMP_DECL ) +{ + BOOL fUnclosed = TRUE; + + if( HB_COMP_PARAM->wIfCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "IF", NULL ); + HB_COMP_PARAM->wIfCounter = 0; + } + else if( HB_COMP_PARAM->wForCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "FOR", NULL ); + HB_COMP_PARAM->wForCounter = 0; + } + else if( HB_COMP_PARAM->wWhileCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "WHILE", NULL ); + HB_COMP_PARAM->wWhileCounter = 0; + } + else if( HB_COMP_PARAM->wCaseCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "CASE", NULL ); + HB_COMP_PARAM->wCaseCounter = 0; + } + else if( HB_COMP_PARAM->wSwitchCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "SWITCH", NULL ); + HB_COMP_PARAM->wSwitchCounter = 0; + } + else if( HB_COMP_PARAM->wWithObjectCnt ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "WITH OBJECT", NULL ); + HB_COMP_PARAM->wWithObjectCnt = 0; + } + else if( HB_COMP_PARAM->wSeqCounter ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_UNCLOSED_STRU, "BEGIN SEQUENCE", NULL ); + HB_COMP_PARAM->wSeqCounter = 0; + } + else + fUnclosed = FALSE; + + return fUnclosed; +} + void yyerror( HB_COMP_DECL, char * s ) { HB_SYMBOL_UNUSED( pComp ); if( !HB_COMP_PARAM->pLex->lasttok || HB_COMP_PARAM->pLex->lasttok[ 0 ] == '\n' ) - hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_YACC, s, "" ); + { + if( ! hb_pp_eof( HB_COMP_PARAM->pLex->pPP ) ) + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_INCOMPLETE_STMT, NULL, NULL ); + } else hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_YACC, s, HB_COMP_PARAM->pLex->lasttok ); } diff --git a/harbour/source/compiler/harbour.yyh b/harbour/source/compiler/harbour.yyh index 3e1ec3acda..0a5c25a8ea 100644 --- a/harbour/source/compiler/harbour.yyh +++ b/harbour/source/compiler/harbour.yyh @@ -250,7 +250,7 @@ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 103 "harbour.y" +#line 103 "../../harbour.y" { char * string; /* to hold a string returned by lex */ int iNumber; /* to hold a temporary integer number */ diff --git a/harbour/source/compiler/hbgenerr.c b/harbour/source/compiler/hbgenerr.c index cb8ee27e2f..ecb40750c9 100644 --- a/harbour/source/compiler/hbgenerr.c +++ b/harbour/source/compiler/hbgenerr.c @@ -47,10 +47,10 @@ char * hb_comp_szErrors[] = "ELSE does not match IF", "ELSEIF does not match IF", "Syntax error: '%s'", - "Unclosed control structures", + "Unclosed control structure: '%s'", "%s statement with no loop in sight", "Syntax error: '%s' in: '%s'", - "Incomplete statement: %s", + "Incomplete statement or unbalanced delimiters", "Incorrect number of arguments: %s %s", "Invalid lvalue: '%s'", "Invalid use of '@' (pass by reference): '%s'", diff --git a/harbour/source/pp/ppcore.c b/harbour/source/pp/ppcore.c index 5f77af15ca..abc10be7e0 100644 --- a/harbour/source/pp/ppcore.c +++ b/harbour/source/pp/ppcore.c @@ -4739,6 +4739,14 @@ char * hb_pp_outFileName( PHB_PP_STATE pState ) return pState->szOutFileName; } +/* + * return if EOF was reached + */ +BOOL hb_pp_eof( PHB_PP_STATE pState ) +{ + return pState->pFile->fEof; +} + /* * add new define value */