diff --git a/harbour/ChangeLog b/harbour/ChangeLog index bf430bf6f7..d23e644b72 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,40 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2006-12-23 06:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/include/hbexprb.c + * do not generate HB_P_FUNCPTR - it's not longer necessary + + added optimization for + 1, - 1 - disabled by default + because it changes error messages in hbtest, code like NIL + 1 + generates 'argument error ++' instead of 'argument error +'. I'd like + you will decide what you prefer - faster code or strict Clipper error + messaged. + + * harbour/source/common/expropt2.c + + added optimizations for + + + added ooptimizations for + 0, 0 + , - 0 + This is also sth what may interact with operators overloading in object + system. When we will have strong typing then we should think about an + option which will optionally disable some optimizations - someone may + want to define arithmetic where + 0 gives differ then + results. + + * harbour/include/hbcomp.h + * harbour/source/compiler/harbour.c + * harbour/source/compiler/harbour.y + * harbour/source/compiler/harbour.yyc + * harbour/source/compiler/harbour.yyh + + added hb_compStatmentStart() + ! restrict MEMVAR and FIELD usage - now they have to be located before + executable statements like in Clipper. + ! generate error when PARAMETERS is used as file wide declaration. + ! generate errors when different executable statements are used before + first procedure - now such code was simply ignored without any errors. + ! generate valid error messages when some declarations are used in + wrong places + ! fixed setting begin of executable statement flag in different .prg + constructions. + 2006-12-22 11:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/adsfunc.c * do not use hb_param( pItem, HB_IT_BYREF ) but ISBYREF() macro diff --git a/harbour/include/hbcomp.h b/harbour/include/hbcomp.h index 023061cc73..ce13fdee13 100644 --- a/harbour/include/hbcomp.h +++ b/harbour/include/hbcomp.h @@ -195,6 +195,7 @@ extern void hb_compGenJumpThere( ULONG, ULONG, HB_COMP_DECL ); /* sets a jump o extern void hb_compLinePush( HB_COMP_DECL ); /* generates the pcode with the currently compiled source code line */ extern void hb_compLinePushIfDebugger( HB_COMP_DECL ); /* generates the pcode with the currently compiled source code line */ extern void hb_compLinePushIfInside( HB_COMP_DECL ); /* generates the pcode with the currently compiled source code line */ +extern void hb_compStatmentStart( HB_COMP_DECL ); /* Check if we can start statement (without line pushing) */ extern void hb_compGenMessage( char * szMsgName, BOOL bIsObject, HB_COMP_DECL ); /* sends a message to an object */ extern void hb_compGenMessageData( char * szMsg, BOOL bIsObject, HB_COMP_DECL ); /* generates an underscore-symbol name for a data assignment */ diff --git a/harbour/include/hbexprb.c b/harbour/include/hbexprb.c index fafc07542f..3a5b067334 100644 --- a/harbour/include/hbexprb.c +++ b/harbour/include/hbexprb.c @@ -817,7 +817,8 @@ static HB_EXPR_FUNC( hb_compExprUseFunRef ) case HB_EA_PUSH_PCODE: HB_EXPR_PCODE1( hb_compGenPushFunCall, pSelf->value.asSymbol ); - HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_FUNCPTR ); + /* NOTE: it's not longer necessary in current HVM */ + /* HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_FUNCPTR ); */ break; case HB_EA_POP_PCODE: @@ -3329,6 +3330,32 @@ static HB_EXPR_FUNC( hb_compExprUsePlus ) break; case HB_EA_PUSH_PCODE: +#if HB_ADD_SUB_ONE_OPT + if( HB_SUPPORT_HARBOUR ) + { + HB_EXPR_PTR pLeft, pRight; + pLeft = pSelf->value.asOperator.pLeft; + pRight = pSelf->value.asOperator.pRight; + if( pLeft->ExprType == HB_ET_NUMERIC && + ( pLeft->value.asNum.NumType == HB_ET_LONG ? + pLeft->value.asNum.val.l == 1 : + pLeft->value.asNum.val.d == 1 ) ) + { + HB_EXPR_USE( pRight, HB_EA_PUSH_PCODE ); + HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_INC ); + break; + } + else if( pRight->ExprType == HB_ET_NUMERIC && + ( pRight->value.asNum.NumType == HB_ET_LONG ? + pRight->value.asNum.val.l == 1 : + pRight->value.asNum.val.d == 1 ) ) + { + HB_EXPR_USE( pLeft, HB_EA_PUSH_PCODE ); + HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_INC ); + break; + } + } +#endif HB_EXPR_USE( pSelf->value.asOperator.pLeft, HB_EA_PUSH_PCODE ); HB_EXPR_USE( pSelf->value.asOperator.pRight, HB_EA_PUSH_PCODE ); HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_PLUS ); @@ -3386,6 +3413,21 @@ static HB_EXPR_FUNC( hb_compExprUseMinus ) break; case HB_EA_PUSH_PCODE: +#if HB_ADD_SUB_ONE_OPT + if( HB_SUPPORT_HARBOUR ) + { + HB_EXPR_PTR pRight = pSelf->value.asOperator.pRight; + if( pRight->ExprType == HB_ET_NUMERIC && + ( pRight->value.asNum.NumType == HB_ET_LONG ? + pRight->value.asNum.val.l == 1 : + pRight->value.asNum.val.d == 1 ) ) + { + HB_EXPR_USE( pSelf->value.asOperator.pLeft, HB_EA_PUSH_PCODE ); + HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_DEC ); + break; + } + } +#endif HB_EXPR_USE( pSelf->value.asOperator.pLeft, HB_EA_PUSH_PCODE ); HB_EXPR_USE( pSelf->value.asOperator.pRight, HB_EA_PUSH_PCODE ); HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_MINUS ); diff --git a/harbour/source/common/expropt2.c b/harbour/source/common/expropt2.c index ff7c38d9c6..f816ee6034 100644 --- a/harbour/source/common/expropt2.c +++ b/harbour/source/common/expropt2.c @@ -371,67 +371,125 @@ HB_EXPR_PTR hb_compExprReducePlus( HB_EXPR_PTR pSelf, HB_COMP_DECL ) pLeft = pSelf->value.asOperator.pLeft; pRight = pSelf->value.asOperator.pRight; - if( pLeft->ExprType == HB_ET_NUMERIC && pRight->ExprType == HB_ET_NUMERIC ) + if( pLeft->ExprType == HB_ET_NUMERIC ) { - BYTE bType = ( pLeft->value.asNum.NumType & pRight->value.asNum.NumType ); - - switch( bType ) + if( pRight->ExprType == HB_ET_NUMERIC ) { - case HB_ET_LONG: - { - HB_MAXDBL dVal = ( HB_MAXDBL ) pLeft->value.asNum.val.l + ( HB_MAXDBL ) pRight->value.asNum.val.l; + BYTE bType = ( pLeft->value.asNum.NumType & pRight->value.asNum.NumType ); - if ( HB_DBL_LIM_LONG( dVal ) ) + switch( bType ) + { + case HB_ET_LONG: { - pSelf->value.asNum.val.l = ( HB_LONG ) dVal; - pSelf->value.asNum.bDec = 0; - pSelf->value.asNum.NumType = HB_ET_LONG; + HB_MAXDBL dVal = ( HB_MAXDBL ) pLeft->value.asNum.val.l + ( HB_MAXDBL ) pRight->value.asNum.val.l; + + if ( HB_DBL_LIM_LONG( dVal ) ) + { + pSelf->value.asNum.val.l = ( HB_LONG ) dVal; + pSelf->value.asNum.bDec = 0; + pSelf->value.asNum.NumType = HB_ET_LONG; + } + else + { + pSelf->value.asNum.val.d = ( double ) dVal; + pSelf->value.asNum.bWidth = HB_DEFAULT_WIDTH; + pSelf->value.asNum.bDec = 0; + pSelf->value.asNum.NumType = HB_ET_DOUBLE; + } + break; } - else - { - pSelf->value.asNum.val.d = ( double ) dVal; + + case HB_ET_DOUBLE: + pSelf->value.asNum.val.d = pLeft->value.asNum.val.d + pRight->value.asNum.val.d; pSelf->value.asNum.bWidth = HB_DEFAULT_WIDTH; - pSelf->value.asNum.bDec = 0; + if( pLeft->value.asNum.bDec < pRight->value.asNum.bDec ) + pSelf->value.asNum.bDec = pRight->value.asNum.bDec; + else + pSelf->value.asNum.bDec = pLeft->value.asNum.bDec; pSelf->value.asNum.NumType = HB_ET_DOUBLE; - } + break; - break; - } - - case HB_ET_DOUBLE: - { - pSelf->value.asNum.val.d = pLeft->value.asNum.val.d + pRight->value.asNum.val.d; - pSelf->value.asNum.bWidth = HB_DEFAULT_WIDTH; - if( pLeft->value.asNum.bDec < pRight->value.asNum.bDec ) - pSelf->value.asNum.bDec = pRight->value.asNum.bDec; - else - pSelf->value.asNum.bDec = pLeft->value.asNum.bDec; - pSelf->value.asNum.NumType = HB_ET_DOUBLE; - - break; - } - - default: - { - if( pLeft->value.asNum.NumType == HB_ET_DOUBLE ) - { - pSelf->value.asNum.val.d = pLeft->value.asNum.val.d + ( double ) pRight->value.asNum.val.l; - pSelf->value.asNum.bWidth = HB_DEFAULT_WIDTH; - pSelf->value.asNum.bDec = pLeft->value.asNum.bDec; - } - else - { - pSelf->value.asNum.val.d = ( double ) pLeft->value.asNum.val.l + pRight->value.asNum.val.d; - pSelf->value.asNum.bWidth = HB_DEFAULT_WIDTH; - pSelf->value.asNum.bDec = pRight->value.asNum.bDec; - } - pSelf->value.asNum.NumType = HB_ET_DOUBLE; + default: + if( pLeft->value.asNum.NumType == HB_ET_DOUBLE ) + { + pSelf->value.asNum.val.d = pLeft->value.asNum.val.d + ( double ) pRight->value.asNum.val.l; + pSelf->value.asNum.bWidth = HB_DEFAULT_WIDTH; + pSelf->value.asNum.bDec = pLeft->value.asNum.bDec; + } + else + { + pSelf->value.asNum.val.d = ( double ) pLeft->value.asNum.val.l + pRight->value.asNum.val.d; + pSelf->value.asNum.bWidth = HB_DEFAULT_WIDTH; + pSelf->value.asNum.bDec = pRight->value.asNum.bDec; + } + pSelf->value.asNum.NumType = HB_ET_DOUBLE; } + pSelf->ExprType = HB_ET_NUMERIC; + pSelf->ValType = HB_EV_NUMERIC; + hb_compExprFree( pLeft, HB_COMP_PARAM ); + hb_compExprFree( pRight, HB_COMP_PARAM ); + } + else if( pRight->ExprType == HB_ET_DATE ) + { + if( pLeft->value.asNum.NumType == HB_ET_LONG ) + pSelf->value.asNum.val.l = pRight->value.asNum.val.l + pLeft->value.asNum.val.l; + else + pSelf->value.asNum.val.l = pRight->value.asNum.val.l + ( HB_LONG ) pLeft->value.asNum.val.d; + pSelf->ExprType = HB_ET_DATE; + pSelf->ValType = HB_EV_DATE; + hb_compExprFree( pLeft, HB_COMP_PARAM ); + hb_compExprFree( pRight, HB_COMP_PARAM ); + } + else if( HB_SUPPORT_HARBOUR && + ( pLeft->value.asNum.NumType == HB_ET_LONG ? + pLeft->value.asNum.val.l == 0 : + pLeft->value.asNum.val.d == 0 ) ) + { + /* NOTE: This will not generate a runtime error if incompatible + * data type is used + */ + pSelf->ExprType = HB_ET_NONE; /* suppress deletion of operator components */ + hb_compExprFree( pSelf, HB_COMP_PARAM ); + pSelf = pRight; + hb_compExprFree( pLeft, HB_COMP_PARAM ); + } + else + { + /* TODO: Check for incompatible types e.g. "txt" + 3 + */ + } + } + else if( pRight->ExprType == HB_ET_NUMERIC ) + { + if( pLeft->ExprType == HB_ET_DATE ) + { + if( pRight->value.asNum.NumType == HB_ET_LONG ) + pSelf->value.asNum.val.l = pLeft->value.asNum.val.l + pRight->value.asNum.val.l; + else + pSelf->value.asNum.val.l = pLeft->value.asNum.val.l + ( HB_LONG ) pRight->value.asNum.val.d; + pSelf->ExprType = HB_ET_DATE; + pSelf->ValType = HB_EV_DATE; + hb_compExprFree( pLeft, HB_COMP_PARAM ); + hb_compExprFree( pRight, HB_COMP_PARAM ); + } + else if( HB_SUPPORT_HARBOUR && + ( pRight->value.asNum.NumType == HB_ET_LONG ? + pRight->value.asNum.val.l == 0 : + pRight->value.asNum.val.d == 0 ) ) + { + /* NOTE: This will not generate a runtime error if incompatible + * data type is used + */ + pSelf->ExprType = HB_ET_NONE; /* suppress deletion of operator components */ + hb_compExprFree( pSelf, HB_COMP_PARAM ); + pSelf = pLeft; + hb_compExprFree( pRight, HB_COMP_PARAM ); + } + else + { + /* TODO: Check for incompatible types e.g. "txt" + 3 + */ } - pSelf->ExprType = HB_ET_NUMERIC; - pSelf->ValType = HB_EV_NUMERIC; - hb_compExprFree( pLeft, HB_COMP_PARAM ); - hb_compExprFree( pRight, HB_COMP_PARAM ); } else if( pLeft->ExprType == HB_ET_STRING && pRight->ExprType == HB_ET_STRING ) { @@ -464,21 +522,6 @@ HB_EXPR_PTR hb_compExprReducePlus( HB_EXPR_PTR pSelf, HB_COMP_DECL ) } } } - else if( pLeft->ExprType == HB_ET_DATE && pRight->ExprType == HB_ET_NUMERIC ) - { - if( pRight->value.asNum.NumType == HB_ET_LONG ) - { - pSelf->value.asNum.val.l = pLeft->value.asNum.val.l + pRight->value.asNum.val.l; - } - else - { - pSelf->value.asNum.val.l = pLeft->value.asNum.val.l + ( HB_LONG ) pRight->value.asNum.val.d; - } - pSelf->ExprType = HB_ET_DATE; - pSelf->ValType = HB_EV_DATE; - hb_compExprFree( pLeft, HB_COMP_PARAM ); - hb_compExprFree( pRight, HB_COMP_PARAM ); - } else { /* TODO: Check for incompatible types e.g. "txt" + 3 diff --git a/harbour/source/compiler/harbour.c b/harbour/source/compiler/harbour.c index 1310c0a5e5..a40cccfeea 100644 --- a/harbour/source/compiler/harbour.c +++ b/harbour/source/compiler/harbour.c @@ -749,7 +749,9 @@ void hb_compVariableAdd( HB_COMP_DECL, char * szVarName, BYTE cValueType ) HB_SYMBOL_UNUSED( cValueType ); - if( ! HB_COMP_PARAM->fStartProc && HB_COMP_PARAM->functions.iCount <= 1 && HB_COMP_PARAM->iVarScope == VS_LOCAL ) + if( ! HB_COMP_PARAM->fStartProc && HB_COMP_PARAM->functions.iCount <= 1 && + ( HB_COMP_PARAM->iVarScope == VS_LOCAL || + HB_COMP_PARAM->iVarScope == ( VS_PRIVATE | VS_PARAMETER ) ) ) { /* Variable declaration is outside of function/procedure body. In this case only STATIC and PARAMETERS variables are allowed. */ @@ -759,11 +761,32 @@ void hb_compVariableAdd( HB_COMP_DECL, char * szVarName, BYTE cValueType ) /* check if we are declaring local/static variable after some * executable statements - * Note: FIELD and MEMVAR are executable statements */ - if( ( HB_COMP_PARAM->functions.pLast->bFlags & FUN_STATEMENTS ) && !( HB_COMP_PARAM->iVarScope == VS_FIELD || ( HB_COMP_PARAM->iVarScope & VS_MEMVAR ) ) ) + if( HB_COMP_PARAM->functions.pLast->bFlags & FUN_STATEMENTS ) { - hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_FOLLOWS_EXEC, ( HB_COMP_PARAM->iVarScope == VS_LOCAL ? "LOCAL" : "STATIC" ), NULL ); + char * szVarScope; + switch( HB_COMP_PARAM->iVarScope ) + { + case VS_LOCAL: + szVarScope = "LOCAL"; + break; + case VS_STATIC: + szVarScope = "STATIC"; + break; + case VS_FIELD: + szVarScope = "FIELD"; + break; + case VS_MEMVAR: + szVarScope = "MEMVAR"; + break; + default: + szVarScope = NULL; + } + if( szVarScope ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_FOLLOWS_EXEC, szVarScope, NULL ); + return; + } } /* Check if a declaration of duplicated variable name is requested */ @@ -772,9 +795,9 @@ void hb_compVariableAdd( HB_COMP_DECL, char * szVarName, BYTE cValueType ) /* variable defined in a function/procedure */ hb_compCheckDuplVars( HB_COMP_PARAM, pFunc->pFields, szVarName ); hb_compCheckDuplVars( HB_COMP_PARAM, pFunc->pStatics, szVarName ); - /*NOTE: Clipper warns if PARAMETER variable duplicates the MEMVAR + /* NOTE: Clipper warns if PARAMETER variable duplicates the MEMVAR * declaration - */ + */ if( !( HB_COMP_PARAM->iVarScope == VS_PRIVATE || HB_COMP_PARAM->iVarScope == VS_PUBLIC ) ) hb_compCheckDuplVars( HB_COMP_PARAM, pFunc->pMemvars, szVarName ); } @@ -809,7 +832,7 @@ void hb_compVariableAdd( HB_COMP_DECL, char * szVarName, BYTE cValueType ) HB_COMP_PARAM->szFromClass = NULL; } - if ( HB_COMP_PARAM->iVarScope & VS_PARAMETER ) + if( HB_COMP_PARAM->iVarScope & VS_PARAMETER ) pVar->iUsed = VU_INITIALIZED; if( HB_COMP_PARAM->iVarScope & VS_MEMVAR ) @@ -2602,11 +2625,30 @@ void hb_compLinePush( HB_COMP_DECL ) /* generates the pcode with the currently c HB_COMP_PARAM->functions.pLast->bFlags &= ~ ( /*FUN_WITH_RETURN |*/ FUN_BREAK_CODE ); } +/* + * Test if we can generate statement (without line pushing) + */ +void hb_compStatmentStart( HB_COMP_DECL ) +{ +// if( ! HB_COMP_PARAM->fExternal ) + if( ( HB_COMP_PARAM->functions.pLast->bFlags & FUN_STATEMENTS ) == 0 ) + { + if( ! HB_COMP_PARAM->fStartProc && HB_COMP_PARAM->functions.iCount <= 1 ) + { + hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_OUTSIDE, NULL, NULL ); + return; + } + HB_COMP_PARAM->functions.pLast->bFlags |= FUN_STATEMENTS; + } +} + /* Generates the pcode with the currently compiled source code line * if debug code was requested only */ void hb_compLinePushIfDebugger( HB_COMP_DECL ) { + hb_compStatmentStart( HB_COMP_PARAM ); + if( HB_COMP_PARAM->fDebugInfo ) hb_compLinePush( HB_COMP_PARAM ); else @@ -2622,18 +2664,7 @@ void hb_compLinePushIfDebugger( HB_COMP_DECL ) void hb_compLinePushIfInside( HB_COMP_DECL ) /* generates the pcode with the currently compiled source code line */ { - /* This line can be placed inside a procedure or function only - * except EXTERNAL - */ - if( ! HB_COMP_PARAM->fExternal ) - { - if( ! HB_COMP_PARAM->fStartProc && HB_COMP_PARAM->functions.iCount <= 1 ) - { - hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_OUTSIDE, NULL, NULL ); - } - } - - HB_COMP_PARAM->functions.pLast->bFlags |= FUN_STATEMENTS; + hb_compStatmentStart( HB_COMP_PARAM ); hb_compLinePush( HB_COMP_PARAM ); } @@ -3687,6 +3718,7 @@ static void hb_compOptimizeJumps( HB_COMP_DECL ) BYTE * pCode = HB_COMP_PARAM->functions.pLast->pCode; ULONG * pNOOPs, * pJumps; ULONG ulOptimized, ulNextByte, ulBytes2Copy, ulJumpAddr, iNOOP, iJump; + BOOL fLineStrip = !HB_COMP_PARAM->fDebugInfo && HB_COMP_PARAM->fLineNumbers; int iPass; if( ! HB_COMP_ISSUPPORTED(HB_COMPFLAG_OPTJUMP) ) @@ -3698,8 +3730,11 @@ static void hb_compOptimizeJumps( HB_COMP_DECL ) { LONG lOffset; - if( iPass == 2 && ! HB_COMP_PARAM->fDebugInfo && HB_COMP_PARAM->fLineNumbers ) + if( iPass == 2 && fLineStrip ) + { hb_compStripFuncLines( HB_COMP_PARAM->functions.pLast ); + fLineStrip = FALSE; + } if( HB_COMP_PARAM->functions.pLast->iJumps > 0 ) { @@ -3839,7 +3874,12 @@ static void hb_compOptimizeJumps( HB_COMP_DECL ) } if( HB_COMP_PARAM->functions.pLast->iNOOPs == 0 ) - return; + { + if( fLineStrip ) + hb_compStripFuncLines( HB_COMP_PARAM->functions.pLast ); + if( HB_COMP_PARAM->functions.pLast->iNOOPs == 0 ) + return; + } pNOOPs = HB_COMP_PARAM->functions.pLast->pNOOPs; diff --git a/harbour/source/compiler/harbour.y b/harbour/source/compiler/harbour.y index c7d64c83ba..bf92d1916e 100644 --- a/harbour/source/compiler/harbour.y +++ b/harbour/source/compiler/harbour.y @@ -297,18 +297,12 @@ Main : { hb_compLinePush( HB_COMP_PARAM ); } Source { } ; Source : Crlf - | VarDefs - | FieldsDef - | MemvarDef | Declaration | Function | Statement | Line | error Crlf { yyclearin; yyerrok; } | Source Crlf - | Source VarDefs - | Source FieldsDef - | Source MemvarDef | Source Declaration | Source Function | Source Statement @@ -404,6 +398,8 @@ Statement : ExecFlow { HB_COMP_PARAM->fDontGenLineNum = TRUE; } CrlfStmnt { } hb_compGenPCode2( HB_P_DOSHORT, 1, HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; } + | EXIT { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; } CrlfStmnt { hb_compLoopExit( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; } + | LOOP { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; } CrlfStmnt { hb_compLoopLoop( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; } | RETURN CrlfStmnt { if( HB_COMP_PARAM->wSeqCounter ) { @@ -450,9 +446,9 @@ Statement : ExecFlow { HB_COMP_PARAM->fDontGenLineNum = TRUE; } CrlfStmnt { } HB_COMP_PARAM->cVarType = ' '; HB_COMP_PARAM->iVarScope = VS_NONE; HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; } Crlf - - | EXIT { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; } CrlfStmnt { hb_compLoopExit( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; } - | LOOP { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; } CrlfStmnt { hb_compLoopLoop( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; } + | VarDefs + | FieldsDef + | MemvarDef | EXTERN ExtList Crlf | ANNOUNCE IdentName { if( HB_COMP_PARAM->szAnnounce == NULL ) @@ -510,7 +506,7 @@ LineStat : Crlf { $$ = 0; HB_COMP_PARAM->fDontGenLineNum = T yyerrok; HB_COMP_PARAM->ilastLineErr = iLine; } - } + } ; ControlError : FunScopeId FUNCTION IdentName Crlf {} @@ -1197,13 +1193,15 @@ IfInline : IIF PareExpList3 { $$ = hb_compExprNewIIF( $2, HB_COMP_ IfInlineAlias : IfInline ALIASOP { $$ = $1; } ; -VarDefs : LOCAL { HB_COMP_PARAM->iVarScope = VS_LOCAL; hb_compLinePush( HB_COMP_PARAM ); } VarList Crlf { HB_COMP_PARAM->cVarType = ' '; } - | STATIC { HB_COMP_PARAM->iVarScope = VS_STATIC; hb_compLinePush( HB_COMP_PARAM ); } VarList Crlf { HB_COMP_PARAM->cVarType = ' '; } +VarDefs : LOCAL { HB_COMP_PARAM->iVarScope = VS_LOCAL; hb_compLinePush( HB_COMP_PARAM ); } + VarList Crlf { HB_COMP_PARAM->cVarType = ' '; } + | STATIC { HB_COMP_PARAM->iVarScope = VS_STATIC; hb_compLinePush( HB_COMP_PARAM ); } + VarList Crlf { HB_COMP_PARAM->cVarType = ' '; } | PARAMETERS { 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 ); } - MemvarList Crlf { HB_COMP_PARAM->iVarScope = VS_NONE; } + MemvarList Crlf { HB_COMP_PARAM->iVarScope = VS_NONE; } ; VarList : VarDef { $$ = 1; } @@ -1487,23 +1485,23 @@ EmptyStats : /* empty */ { $$ = 0; } | EmptyStatements { $$ = $1; } ; -IfBegin : IF SimpleExpression { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); } Crlf { hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); } +IfBegin : IF SimpleExpression { ++HB_COMP_PARAM->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); } Crlf { hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); } EmptyStats { $$ = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( $5, HB_COMP_PARAM ); } - | IF Variable { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); } Crlf { hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); } + | IF Variable { ++HB_COMP_PARAM->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); } Crlf { hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); } EmptyStats { $$ = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( $5, HB_COMP_PARAM ); } - | IF PareExpList1 { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); } Crlf { hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); } + | IF PareExpList1 { ++HB_COMP_PARAM->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); } Crlf { hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); } EmptyStats { $$ = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( $5, HB_COMP_PARAM ); } - | IF PareExpList2 { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); } Crlf { hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); } + | IF PareExpList2 { ++HB_COMP_PARAM->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); } Crlf { hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); } EmptyStats { $$ = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( $5, HB_COMP_PARAM ); } - | IF PareExpListN { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); } Crlf { hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); } + | IF PareExpListN { ++HB_COMP_PARAM->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); } Crlf { hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); } EmptyStats { $$ = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( $5, HB_COMP_PARAM ); } ; @@ -1582,7 +1580,7 @@ DoCaseBegin : DoCaseStart { } } ; -Cases : CASE { hb_compLinePush( HB_COMP_PARAM ); } Expression Crlf +Cases : CASE { hb_compLinePushIfInside( HB_COMP_PARAM ); } Expression Crlf { hb_compExprDelete( hb_compExprGenPush( $3, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); @@ -1594,7 +1592,7 @@ Cases : CASE { hb_compLinePush( HB_COMP_PARAM ); } Expression Crlf hb_compGenJumpHere( $5, HB_COMP_PARAM ); } - | Cases CASE { hb_compLinePush( HB_COMP_PARAM ); } Expression Crlf + | Cases CASE { hb_compLinePushIfInside( HB_COMP_PARAM ); } Expression Crlf { hb_compExprDelete( hb_compExprGenPush( $4, HB_COMP_PARAM ), HB_COMP_PARAM ); $$ = hb_compGenJumpFalse( 0, HB_COMP_PARAM ); @@ -1642,7 +1640,7 @@ EndWhile : END { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ForNext : FOR LValue ForAssign Expression /* 1 2 3 4 */ { - hb_compLinePush( HB_COMP_PARAM ); + hb_compLinePushIfInside( HB_COMP_PARAM ); hb_compDebugStart(); ++HB_COMP_PARAM->wForCounter; /* 5 */ $$ = hb_compExprGenStatement( hb_compExprAssign( $2, $4, HB_COMP_PARAM ), HB_COMP_PARAM ); @@ -1760,7 +1758,7 @@ ForExpr : Expression { $$ = hb_compExprNewArgList( $1, HB_COMP_P ForEach : FOREACH ForList IN ForExpr /* 1 2 3 4 */ { ++HB_COMP_PARAM->wForCounter; /* 5 */ - hb_compLinePush( HB_COMP_PARAM ); + hb_compLinePushIfInside( HB_COMP_PARAM ); hb_compDebugStart(); } Descend /* 6 */ @@ -1826,7 +1824,7 @@ EndSwitch : END SwitchStart : DOSWITCH { ++HB_COMP_PARAM->wSwitchCounter; - hb_compLinePush( HB_COMP_PARAM ); + hb_compLinePushIfInside( HB_COMP_PARAM ); } Expression Crlf { @@ -1844,21 +1842,21 @@ SwitchBegin : SwitchStart { } ; SwitchCases : CASE Expression { hb_compSwitchAdd( HB_COMP_PARAM, $2 ); hb_compLinePush( HB_COMP_PARAM ); } Crlf - EmptyStats + EmptyStats - | SwitchCases CASE Expression { hb_compSwitchAdd( HB_COMP_PARAM, $3 ); hb_compLinePush( HB_COMP_PARAM ); }Crlf - EmptyStats + | SwitchCases CASE Expression { hb_compSwitchAdd( HB_COMP_PARAM, $3 ); hb_compLinePush( HB_COMP_PARAM ); }Crlf + EmptyStats - | SwitchDefault + | SwitchDefault - | SwitchCases SwitchDefault - ; + | SwitchCases SwitchDefault + ; SwitchDefault : OTHERWISE { hb_compSwitchAdd( HB_COMP_PARAM, NULL ); hb_compLinePush( HB_COMP_PARAM ); } Crlf { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; } EmptyStats ; -BeginSeq : BEGINSEQ { ++HB_COMP_PARAM->wSeqCounter; $$ = hb_compSequenceBegin( HB_COMP_PARAM ); } Crlf +BeginSeq : BEGINSEQ { ++HB_COMP_PARAM->wSeqCounter; hb_compStatmentStart( HB_COMP_PARAM ); $$ = hb_compSequenceBegin( HB_COMP_PARAM ); } Crlf EmptyStats { /* Set jump address for HB_P_SEQBEGIN opcode - this address @@ -1900,7 +1898,7 @@ RecoverEmpty : RECOVER $$ = HB_COMP_PARAM->functions.pLast->lPCodePos; if( HB_COMP_PARAM->wSeqCounter ) --HB_COMP_PARAM->wSeqCounter; - hb_compLinePush( HB_COMP_PARAM ); + hb_compLinePushIfInside( HB_COMP_PARAM ); hb_compGenPCode2( HB_P_SEQRECOVER, HB_P_POP, HB_COMP_PARAM ); } ; @@ -1911,7 +1909,7 @@ RecoverUsing : RECOVERUSING IdentName $$ = HB_COMP_PARAM->functions.pLast->lPCodePos; if( HB_COMP_PARAM->wSeqCounter ) --HB_COMP_PARAM->wSeqCounter; - hb_compLinePush( HB_COMP_PARAM ); + hb_compLinePushIfInside( HB_COMP_PARAM ); hb_compGenPCode1( HB_P_SEQRECOVER, HB_COMP_PARAM ); hb_compGenPopVar( $2, HB_COMP_PARAM ); } @@ -1962,6 +1960,7 @@ DoArgument : IdentName { $$ = hb_compExprNewVarRef( $1, HB_C WithObject : WITHOBJECT Expression Crlf { + hb_compLinePushIfInside( HB_COMP_PARAM ); hb_compExprDelete( hb_compExprGenPush( $2, HB_COMP_PARAM ), HB_COMP_PARAM ); hb_compGenPCode1( HB_P_WITHOBJECTSTART, HB_COMP_PARAM ); HB_COMP_PARAM->wWithObjectCnt++; diff --git a/harbour/source/compiler/harbour.yyc b/harbour/source/compiler/harbour.yyc index 06156a01ac..ab6f44e89c 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 8506 +#define YYLAST 8629 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 126 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 246 /* YYNRULES -- Number of rules. */ -#define YYNRULES 766 +#define YYNRULES 763 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1298 +#define YYNSTATES 1295 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -746,412 +746,411 @@ static const yytype_uint8 yytranslate[] = static const yytype_uint16 yyprhs[] = { 0, 0, 3, 4, 7, 8, 10, 12, 14, 16, - 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, 490, 492, 494, 497, 500, 503, 506, 509, 512, + 18, 21, 24, 27, 30, 33, 36, 40, 45, 52, + 53, 59, 60, 66, 67, 76, 77, 86, 87, 89, + 91, 93, 94, 96, 98, 102, 103, 105, 107, 109, + 111, 113, 115, 117, 120, 122, 124, 126, 128, 130, + 132, 134, 136, 138, 140, 143, 146, 151, 152, 156, + 159, 162, 165, 168, 171, 174, 177, 180, 183, 186, + 189, 192, 195, 198, 201, 202, 207, 208, 212, 213, + 217, 220, 221, 226, 227, 228, 234, 235, 236, 242, + 244, 246, 248, 252, 253, 258, 263, 265, 269, 270, + 273, 275, 277, 279, 281, 283, 285, 290, 298, 303, + 311, 312, 314, 316, 318, 320, 323, 325, 329, 331, + 333, 335, 337, 339, 341, 343, 345, 347, 349, 351, + 353, 355, 357, 359, 361, 363, 365, 367, 369, 372, + 375, 377, 380, 382, 385, 388, 390, 392, 395, 397, + 400, 401, 406, 409, 412, 415, 417, 420, 422, 424, + 427, 430, 433, 436, 440, 443, 446, 449, 452, 455, + 458, 461, 464, 467, 470, 473, 476, 479, 481, 483, + 485, 488, 491, 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, 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, + 605, 608, 609, 615, 617, 618, 624, 625, 631, 633, + 637, 640, 642, 644, 646, 650, 654, 658, 662, 666, + 670, 674, 678, 682, 686, 690, 694, 698, 702, 706, + 710, 714, 718, 722, 726, 729, 732, 733, 739, 742, + 744, 746, 748, 750, 752, 754, 756, 757, 761, 763, + 765, 767, 769, 771, 773, 775, 776, 780, 782, 784, + 785, 789, 791, 792, 796, 798, 800, 802, 804, 806, + 808, 810, 812, 814, 816, 818, 820, 821, 825, 826, + 830, 833, 836, 839, 842, 845, 846, 848, 850, 852, + 854, 856, 858, 860, 862, 864, 866, 869, 872, 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, 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, + 938, 942, 946, 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, 1552, 1554, 1556, 1558, 1560, 1562, + 1566, 1570, 1574, 1578, 1582, 1586, 1590, 1594, 1598, 1602, + 1606, 1610, 1614, 1618, 1622, 1626, 1630, 1633, 1636, 1640, + 1645, 1647, 1651, 1652, 1659, 1660, 1667, 1669, 1673, 1674, + 1677, 1682, 1685, 1688, 1691, 1694, 1696, 1698, 1700, 1702, + 1705, 1708, 1712, 1716, 1720, 1724, 1727, 1728, 1737, 1740, + 1741, 1746, 1747, 1752, 1753, 1758, 1760, 1764, 1766, 1770, + 1772, 1775, 1780, 1783, 1787, 1788, 1792, 1793, 1794, 1801, + 1804, 1808, 1811, 1814, 1818, 1823, 1824, 1829, 1832, 1837, + 1841, 1842, 1847, 1850, 1855, 1856, 1865, 1866, 1872, 1876, + 1880, 1881, 1889, 1891, 1895, 1897, 1900, 1902, 1905, 1906, + 1913, 1914, 1918, 1919, 1921, 1923, 1927, 1929, 1933, 1935, + 1938, 1942, 1948, 1953, 1959, 1967, 1971, 1976, 1983, 1989, + 1996, 2005, 2007, 2009, 2011, 2013, 2015, 2017, 2019, 2022, + 2026, 2030, 2035, 2037, 2040, 2041, 2043, 2044, 2045, 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 + 2081, 2088, 2089, 2094, 2095, 2096, 2103, 2104, 2105, 2113, + 2115, 2117, 2121, 2125, 2128, 2133, 2135, 2137, 2138, 2142, + 2144, 2147, 2148, 2149, 2156, 2157, 2158, 2166, 2167, 2168, + 2174, 2175, 2181, 2182, 2183, 2191, 2193, 2195, 2197, 2198, + 2199, 2200, 2213, 2215, 2217, 2218, 2221, 2224, 2228, 2231, + 2235, 2237, 2239, 2241, 2245, 2247, 2251, 2252, 2253, 2254, + 2265, 2266, 2268, 2269, 2274, 2277, 2279, 2280, 2285, 2287, + 2290, 2291, 2297, 2298, 2305, 2307, 2310, 2311, 2312, 2318, + 2319, 2320, 2321, 2330, 2331, 2332, 2337, 2338, 2343, 2345, + 2348, 2350, 2352, 2354, 2357, 2362, 2364, 2368, 2370, 2373, + 2375, 2378, 2382, 2384, 2387, 2390, 2392, 2394, 2397, 2400, + 2401, 2408, 2413, 2415 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { 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 + 272, -1, 131, -1, 142, -1, 130, -1, 1, 371, + -1, 129, 371, -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, -1, 25, 145, + 154, -1, -1, 43, 146, 154, -1, 6, 154, -1, + -1, 6, 147, 210, 371, -1, -1, -1, 29, 148, + 258, 149, 371, -1, -1, -1, 60, 150, 258, 151, + 371, -1, 253, -1, 266, -1, 269, -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. */ 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, 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 + 0, 295, 295, 295, 296, 299, 303, 304, 305, 306, + 307, 308, 312, 313, 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, 407, 408, 408, + 409, 423, 423, 443, 445, 443, 449, 451, 449, 455, + 456, 457, 458, 459, 459, 473, 476, 484, 497, 497, + 500, 501, 502, 503, 504, 505, 518, 519, 520, 521, + 524, 525, 526, 527, 530, 531, 534, 535, 538, 539, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 554, 559, 560, 563, 571, 572, + 577, 580, 585, 591, 596, 601, 602, 605, 610, 613, + 618, 618, 621, 626, 629, 634, 637, 642, 643, 646, + 651, 654, 661, 662, 667, 668, 669, 670, 671, 672, + 673, 674, 675, 676, 677, 678, 679, 682, 683, 684, + 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, + 697, 698, 699, 700, 701, 702, 703, 704, 705, 714, + 715, 716, 717, 718, 719, 724, 725, 726, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, + 741, 746, 746, 749, 750, 750, 751, 751, 754, 755, + 758, 764, 765, 766, 769, 770, 771, 772, 773, 774, + 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, + 785, 786, 787, 788, 789, 795, 800, 800, 803, 812, + 813, 814, 815, 816, 817, 818, 819, 819, 820, 821, + 822, 823, 824, 825, 826, 827, 827, 828, 829, 830, + 830, 831, 832, 832, 833, 834, 835, 836, 837, 838, + 839, 840, 841, 844, 845, 846, 847, 847, 848, 848, + 849, 850, 851, 852, 853, 856, 857, 860, 861, 862, + 863, 864, 865, 866, 872, 873, 880, 881, 882, 883, + 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, + 894, 895, 896, 897, 898, 901, 902, 905, 906, 907, + 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, + 924, 925, 926, 927, 928, 929, 930, 931, 932, 935, + 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, + 946, 947, 948, 949, 950, 951, 952, 953, 954, 957, + 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, + 968, 969, 970, 971, 972, 973, 974, 975, 978, 979, + 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, + 990, 991, 992, 993, 994, 995, 996, 999, 1000, 1001, + 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, + 1012, 1013, 1014, 1015, 1016, 1017, 1020, 1021, 1022, 1023, + 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, + 1034, 1035, 1036, 1037, 1038, 1041, 1042, 1043, 1044, 1045, + 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, + 1056, 1057, 1058, 1059, 1062, 1063, 1064, 1065, 1066, 1067, + 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, + 1078, 1079, 1080, 1083, 1084, 1085, 1086, 1087, 1088, 1091, + 1092, 1093, 1094, 1095, 1096, 1099, 1100, 1103, 1104, 1105, + 1106, 1107, 1108, 1109, 1110, 1111, 1114, 1120, 1121, 1122, + 1125, 1126, 1129, 1129, 1131, 1131, 1137, 1138, 1144, 1147, + 1148, 1158, 1161, 1164, 1167, 1170, 1171, 1172, 1173, 1176, + 1179, 1182, 1185, 1188, 1189, 1192, 1194, 1193, 1199, 1202, + 1202, 1204, 1204, 1206, 1206, 1213, 1214, 1217, 1218, 1226, + 1227, 1229, 1233, 1240, 1249, 1249, 1263, 1266, 1263, 1291, + 1292, 1298, 1301, 1302, 1303, 1307, 1307, 1310, 1311, 1312, + 1315, 1315, 1318, 1319, 1322, 1322, 1345, 1345, 1346, 1347, + 1348, 1348, 1351, 1352, 1355, 1356, 1357, 1358, 1361, 1361, + 1383, 1383, 1439, 1440, 1441, 1442, 1445, 1446, 1449, 1455, + 1456, 1457, 1458, 1459, 1460, 1463, 1464, 1465, 1466, 1467, + 1468, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1480, 1481, + 1482, 1483, 1486, 1487, 1490, 1491, 1494, 1494, 1494, 1498, + 1498, 1498, 1502, 1502, 1502, 1506, 1506, 1506, 1510, 1510, + 1510, 1515, 1515, 1519, 1521, 1519, 1529, 1531, 1529, 1540, + 1543, 1548, 1552, 1556, 1559, 1565, 1570, 1577, 1577, 1580, + 1581, 1589, 1590, 1589, 1601, 1602, 1601, 1614, 1614, 1614, + 1616, 1616, 1621, 1626, 1620, 1640, 1643, 1644, 1648, 1659, + 1664, 1647, 1730, 1731, 1734, 1735, 1738, 1741, 1744, 1747, + 1752, 1753, 1756, 1757, 1760, 1761, 1765, 1771, 1780, 1764, + 1800, 1801, 1805, 1804, 1817, 1824, 1832, 1831, 1841, 1842, + 1850, 1850, 1853, 1853, 1856, 1858, 1861, 1861, 1861, 1865, + 1867, 1875, 1865, 1896, 1897, 1897, 1898, 1898, 1901, 1912, + 1930, 1931, 1932, 1935, 1937, 1939, 1944, 1951, 1952, 1953, + 1954, 1955, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1968, + 1967, 1980, 1983, 1984 }; #endif @@ -1246,122 +1245,121 @@ static const yytype_uint16 yytoknum[] = 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, 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, + 129, 129, 129, 129, 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, - 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, + 142, 142, 142, 142, 144, 142, 145, 142, 146, 142, + 142, 147, 142, 148, 149, 142, 150, 151, 142, 142, + 142, 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, 189, 189, 189, 189, 189, 189, 190, 190, + 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, - 190, 190, 190, 191, 193, 192, 194, 195, 194, 196, - 194, 197, 197, 198, 199, 199, 199, 200, 200, 200, + 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, 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, + 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, 216, 216, 216, 217, 217, - 218, 218, 218, 219, 219, 219, 219, 219, 219, 219, + 216, 216, 216, 216, 216, 217, 217, 218, 218, 218, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, - 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, + 220, 220, 220, 220, 220, 220, 220, 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 221, 221, 221, 221, 221, 221, 221, 221, 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, 223, 223, 223, 224, + 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, 224, 224, 224, 225, 225, + 224, 224, 224, 224, 224, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 226, 226, 226, + 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, 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 + 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, 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, + 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, 2, 2, 4, 0, 3, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 0, 4, 0, 3, 0, 3, + 2, 0, 4, 0, 0, 5, 0, 0, 5, 1, + 1, 1, 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, - 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, 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, + 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, 2, 2, 2, 0, 5, 1, 0, 5, 0, - 5, 1, 3, 2, 1, 1, 1, 3, 3, 3, + 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, 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, + 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, - 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 +1374,35 @@ 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, 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, + 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, 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 + 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,1977 +1410,1993 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 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, + 2, 0, 0, 1, 0, 118, 81, 140, 135, 136, + 549, 551, 0, 0, 142, 145, 146, 126, 125, 29, + 122, 83, 0, 0, 667, 580, 685, 121, 0, 120, + 119, 575, 123, 553, 86, 729, 74, 0, 148, 0, + 157, 158, 0, 124, 0, 0, 133, 524, 745, 0, + 134, 716, 0, 137, 0, 762, 763, 305, 150, 0, + 0, 9, 7, 0, 8, 155, 0, 0, 0, 0, 0, 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, 98, 0, 98, 0, 0, 0, + 0, 98, 0, 0, 223, 98, 0, 0, 0, 98, + 0, 98, 98, 98, 98, 493, 494, 495, 496, 497, + 498, 98, 0, 535, 536, 537, 538, 98, 0, 0, + 0, 0, 0, 98, 0, 89, 90, 91, 6, 57, + 621, 0, 622, 0, 0, 623, 0, 624, 626, 627, + 0, 712, 625, 98, 98, 5, 10, 0, 80, 0, + 139, 138, 0, 0, 545, 0, 0, 0, 127, 129, + 0, 126, 125, 122, 0, 131, 128, 121, 0, 132, + 130, 133, 0, 0, 0, 259, 261, 260, 262, 264, + 265, 268, 269, 293, 271, 272, 270, 284, 273, 274, + 278, 281, 294, 0, 287, 288, 289, 285, 286, 290, + 291, 292, 263, 535, 536, 538, 295, 0, 277, 93, + 0, 116, 98, 0, 293, 294, 335, 336, 0, 0, + 98, 155, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 309, 310, 308, 0, 312, 0, 311, 0, 0, + 0, 313, 0, 162, 0, 0, 0, 0, 0, 73, + 740, 741, 742, 743, 0, 586, 0, 35, 0, 0, + 96, 0, 528, 0, 0, 155, 0, 0, 701, 0, + 0, 0, 702, 0, 0, 0, 160, 306, 540, 305, + 231, 232, 233, 254, 0, 15, 13, 14, 12, 11, + 0, 0, 156, 221, 0, 314, 315, 0, 0, 0, + 0, 0, 0, 0, 0, 316, 0, 0, 177, 178, + 179, 180, 199, 0, 141, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 317, 205, 0, 184, 0, 143, + 0, 0, 0, 0, 0, 0, 0, 0, 318, 206, + 185, 187, 0, 147, 0, 0, 0, 0, 0, 0, + 0, 0, 320, 208, 186, 0, 149, 0, 0, 0, + 0, 0, 0, 0, 0, 321, 209, 188, 0, 152, + 0, 0, 0, 0, 0, 0, 0, 0, 322, 153, + 189, 0, 154, 0, 0, 0, 0, 0, 0, 0, + 0, 323, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 324, 210, 196, 200, 0, 159, 0, 0, + 0, 0, 0, 0, 0, 224, 0, 64, 325, 213, + 181, 201, 0, 161, 0, 0, 0, 0, 0, 0, + 0, 226, 0, 65, 326, 214, 182, 202, 0, 0, + 177, 165, 0, 169, 0, 170, 172, 0, 171, 0, + 173, 0, 174, 0, 175, 164, 178, 167, 179, 168, + 197, 0, 204, 166, 0, 176, 198, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 327, 211, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 62, 328, 212, + 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 329, 191, 0, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 61, 332, 217, 193, 0, 255, 0, 0, + 0, 0, 0, 0, 0, 256, 0, 333, 215, 194, + 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, + 63, 334, 216, 195, 68, 67, 71, 70, 69, 0, + 144, 0, 0, 0, 0, 0, 0, 0, 0, 319, + 207, 0, 539, 0, 0, 0, 0, 0, 0, 0, + 0, 66, 330, 219, 183, 203, 305, 531, 305, 532, + 305, 533, 305, 534, 0, 548, 0, 0, 0, 0, + 0, 0, 0, 0, 60, 331, 218, 192, 98, 0, + 653, 660, 659, 0, 0, 628, 105, 551, 112, 122, + 103, 101, 114, 104, 0, 0, 102, 100, 666, 671, + 677, 665, 663, 0, 0, 0, 0, 715, 0, 714, + 72, 59, 0, 99, 35, 0, 555, 0, 0, 337, + 339, 338, 300, 302, 303, 301, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 + 0, 0, 0, 0, 0, 305, 0, 0, 92, 77, + 35, 84, 557, 559, 668, 35, 0, 79, 693, 692, + 0, 163, 35, 0, 0, 87, 0, 0, 0, 0, + 584, 0, 588, 46, 41, 38, 0, 39, 40, 37, + 42, 44, 51, 52, 48, 0, 49, 50, 47, 53, + 590, 36, 45, 598, 589, 0, 0, 0, 35, 0, + 0, 747, 155, 294, 295, 746, 749, 0, 0, 0, + 759, 520, 0, 16, 19, 21, 305, 340, 379, 398, + 417, 436, 474, 455, 359, 234, 361, 236, 341, 380, + 399, 418, 437, 475, 456, 360, 235, 517, 0, 516, + 342, 381, 400, 419, 438, 476, 457, 362, 237, 344, + 383, 402, 421, 440, 478, 459, 364, 240, 345, 384, + 403, 422, 441, 479, 460, 365, 241, 346, 385, 404, + 423, 442, 480, 461, 366, 242, 347, 386, 405, 424, + 443, 481, 462, 367, 243, 348, 387, 406, 425, 444, + 482, 463, 368, 238, 349, 388, 407, 426, 445, 483, + 464, 369, 305, 246, 350, 389, 408, 427, 446, 484, + 465, 370, 305, 247, 351, 390, 409, 428, 447, 485, + 466, 371, 244, 352, 391, 410, 429, 448, 486, 467, + 372, 245, 353, 392, 411, 430, 449, 487, 468, 373, + 251, 356, 395, 414, 433, 452, 490, 471, 376, 248, + 357, 396, 415, 434, 453, 491, 472, 377, 305, 253, + 358, 397, 416, 435, 454, 492, 473, 378, 252, 343, + 382, 401, 420, 439, 477, 458, 363, 239, 354, 393, + 412, 431, 450, 488, 469, 374, 250, 541, 542, 543, + 544, 355, 394, 413, 432, 451, 489, 470, 375, 249, + 58, 651, 0, 629, 656, 0, 630, 0, 0, 115, + 0, 0, 674, 661, 0, 680, 662, 682, 0, 726, + 0, 724, 82, 0, 564, 569, 0, 0, 550, 552, + 305, 267, 297, 640, 276, 280, 283, 637, 505, 506, + 507, 512, 513, 510, 511, 504, 515, 508, 509, 514, + 499, 500, 501, 502, 503, 643, 646, 649, 299, 541, + 94, 117, 560, 562, 0, 0, 582, 0, 581, 688, + 577, 0, 0, 576, 554, 0, 632, 0, 730, 75, + 744, 0, 17, 602, 600, 0, 594, 596, 43, 54, + 0, 602, 97, 95, 0, 529, 0, 0, 300, 302, + 303, 301, 748, 750, 704, 706, 703, 717, 761, 0, + 305, 151, 0, 0, 0, 0, 0, 228, 518, 0, + 0, 0, 0, 0, 0, 0, 631, 0, 0, 0, + 678, 0, 664, 0, 0, 720, 0, 0, 713, 725, + 572, 565, 0, 570, 0, 571, 556, 0, 0, 0, + 0, 0, 0, 546, 0, 563, 558, 85, 35, 0, + 579, 35, 88, 633, 733, 0, 124, 0, 35, 0, + 603, 604, 35, 595, 597, 587, 600, 0, 592, 0, + 526, 0, 35, 0, 751, 0, 710, 0, 521, 20, + 31, 22, 31, 305, 222, 519, 225, 227, 257, 652, + 654, 0, 31, 106, 31, 108, 672, 0, 0, 0, + 683, 0, 727, 722, 567, 573, 0, 641, 638, 644, + 647, 650, 305, 561, 583, 0, 578, 738, 0, 731, + 0, 0, 18, 0, 35, 35, 609, 35, 0, 0, + 601, 0, 0, 35, 0, 523, 530, 525, 705, 711, + 707, 760, 32, 0, 33, 35, 0, 229, 0, 657, + 0, 0, 0, 679, 675, 681, 0, 0, 0, 0, + 0, 574, 0, 694, 739, 0, 734, 736, 35, 615, + 305, 610, 0, 0, 35, 605, 0, 593, 591, 599, + 527, 0, 0, 0, 55, 0, 655, 0, 0, 0, + 673, 0, 686, 687, 684, 721, 728, 0, 568, 547, + 0, 689, 732, 0, 0, 305, 616, 608, 0, 606, + 585, 35, 612, 0, 35, 708, 24, 34, 35, 26, + 658, 107, 109, 676, 723, 695, 0, 735, 737, 0, + 305, 611, 305, 613, 35, 618, 0, 56, 690, 617, + 607, 0, 305, 619, 0, 709, 0, 614, 0, 698, + 696, 691, 620, 699, 697 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -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, + -1, 1, 2, 60, 610, 62, 1042, 1044, 1043, 1045, + 63, 1183, 720, 721, 722, 1184, 611, 598, 248, 212, + 220, 147, 213, 995, 246, 1005, 676, 261, 148, 149, + 1006, 613, 614, 615, 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, + 89, 311, 186, 187, 188, 93, 94, 746, 189, 832, + 842, 1046, 96, 283, 190, 98, 191, 888, 100, 215, + 647, 650, 651, 652, 277, 648, 674, 1247, 239, 402, 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 + 110, 198, 199, 200, 201, 419, 326, 742, 202, 262, + 263, 1111, 727, 729, 113, 114, 115, 116, 206, 118, + 119, 120, 121, 122, 208, 1152, 124, 125, 152, 153, + 245, 635, 681, 682, 683, 1071, 1072, 1200, 955, 956, + 126, 244, 693, 127, 219, 686, 616, 1013, 701, 1020, + 1107, 1015, 259, 1021, 1017, 1102, 1099, 1248, 1249, 1100, + 1101, 129, 130, 1007, 1284, 131, 653, 1079, 649, 1078, + 671, 1080, 672, 1081, 673, 1082, 603, 1053, 604, 932, + 1188, 1055, 1227, 605, 132, 622, 133, 218, 134, 623, + 940, 1192, 1061, 1231, 624, 941, 1137, 1063, 135, 1064, + 1196, 136, 1234, 137, 1089, 1266, 1286, 690, 1241, 1285, + 272, 273, 1035, 138, 1116, 1221, 1276, 1180, 139, 628, + 629, 140, 274, 141, 950, 1141, 1199, 951, 1066, 1198, + 142, 247, 1094, 1205, 1159, 1243, 1244, 1160, 1161, 253, + 143, 735, 736, 144, 1039, 617 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -1093 +#define YYPACT_NINF -1214 static const yytype_int16 yypact[] = { - 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 + 48, 67, 7574, -1214, 231, -1214, 343, -1214, -5, 41, + 254, 549, -23, 4571, -1214, -1214, -1214, 8417, 8417, -1214, + 35, 1396, 4571, 4571, -1214, 1506, -1214, 378, 5695, -1214, + -1214, 90, -1214, 1582, 1656, -1214, 343, 8288, -1214, 124, + -1214, -1214, 8417, -1214, 8417, 861, 125, 32, 98, 5695, + -1214, -1214, 4571, -1214, -23, -1214, -1214, 4571, -1214, 8288, + 4345, -1214, -1214, 422, -1214, -12, 2953, -38, 4970, 1388, + 8288, 1712, 8288, 8288, 1773, 8288, 2210, 8288, 2243, 8288, + 447, 8288, 409, 4970, 1884, 4970, 1918, 4970, 4714, 8288, + 1051, 1548, 2004, 8288, -1214, 2375, 8288, 2075, 8288, 2544, + 8288, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, + -1214, -1214, 2558, -1214, -1214, -1214, -1214, 2574, 4970, -76, + 110, 123, 187, 2652, 8288, -1214, -1214, -1214, -1214, -1214, + -1214, 418, -1214, 5876, 331, -1214, 4571, -1214, -1214, -1214, + 6374, 157, -1214, -1214, -1214, -1214, -1214, 4571, -1214, 231, + -1214, -1214, 8417, 8417, -1214, 73, 91, 77, -1214, -1214, + -23, -1214, -1214, -1214, 4571, -1214, -1214, -1214, 90, -1214, + -1214, -1214, 4571, 4571, 5695, 2727, 99, 882, 2169, 2758, + 7836, 2818, 164, 7764, 626, 2020, 1669, 2061, 3077, 7895, + 2364, 7954, 392, 4226, -1214, -1214, -1214, -1214, -1214, -1214, + -1214, -1214, 2946, 401, 403, 413, 8013, 210, 2963, -1214, + 202, -1214, -1214, 8374, 8072, -1214, -1214, -1214, 231, 8417, + -1214, 9, 134, 99, 2, 30, 55, 70, 79, -15, + 214, -1, 18, 241, 249, 37, 80, 47, 83, 10, + 111, 154, 171, 163, 8417, 8417, 8374, 231, 4571, -1214, + -1214, -1214, -1214, 196, 218, 147, 231, 4109, 152, 231, + 188, 212, -1214, 8417, 4199, 310, -1, 18, 241, 37, + 47, 154, -1214, -24, 4571, 2926, -1214, 4226, -1214, 4571, + -1214, -1214, -1214, -1214, 231, -1214, -1214, -1214, -1214, -1214, + 8417, 8417, -1214, -1214, 4571, -1214, -1214, 4571, 4571, 4571, + 4571, 4571, 4571, 4571, 8288, -1214, 4571, 8288, -1214, -1214, + -1214, -1214, -1214, 4571, -1214, 4571, 4571, 4571, 4571, 4571, + 4571, 4571, 8288, 4571, -1214, -1214, -72, -1214, 4571, -1214, + 4571, 4571, 4571, 4571, 4571, 4571, 4571, 8288, -1214, -1214, + -1214, -1214, 4571, -1214, 4571, 4571, 4571, 4571, 4571, 4571, + 4571, 8288, -1214, -1214, -1214, 4571, -1214, 4571, 4571, 4571, + 4571, 4571, 4571, 4571, 8288, -1214, -1214, -1214, 4571, -1214, + 4571, 4571, 4571, 4571, 4571, 4571, 4571, 8288, -1214, -1214, + -1214, 4571, -1214, 4571, 4571, 4571, 4571, 4571, 4571, 4571, + 8288, -1214, -1214, 4571, 4571, 4571, 4571, 4571, 4571, 4571, + 4571, 8288, -1214, -1214, -1214, -1214, 4571, -1214, 4571, 4571, + 4571, 4571, 4571, 4571, 4571, -1214, 8288, -1214, -1214, -1214, + -1214, -1214, 4571, -1214, 4571, 4571, 4571, 4571, 4571, 4571, + 4571, -1214, 8288, -1214, -1214, -1214, -1214, -1214, -5, 41, + 280, -1214, 305, -1214, 319, -1214, -1214, 322, -1214, 325, + -1214, -11, -1214, 339, -1214, -1214, 363, -1214, 374, -1214, + -1214, 410, 420, -1214, 431, -1214, -1214, 4571, 4571, 4571, + 4571, 4571, 4571, 4571, 4571, 8288, -1214, -1214, 4571, 4571, + 4571, 4571, 4571, 4571, 4571, 4571, 8288, -1214, -1214, -1214, + 4571, -1214, 4571, 4571, 4571, 4571, 4571, 4571, 4571, 8288, + -1214, -1214, 4571, -1214, 4571, 4571, 4571, 4571, 4571, 4571, + 4571, 8288, -1214, -1214, -1214, -1214, 4571, -1214, 4571, 4571, + 4571, 4571, 4571, 4571, 4571, -1214, 8288, -1214, -1214, -1214, + 4571, -1214, 4571, 4571, 4571, 4571, 4571, 4571, 4571, 8288, + -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, 4571, + -1214, 4571, 4571, 4571, 4571, 4571, 4571, 4571, 8288, -1214, + -1214, 4571, -1214, 4571, 4571, 4571, 4571, 4571, 4571, 4571, + 8288, -1214, -1214, -1214, -1214, -1214, 4571, -1214, 4571, -1214, + 4571, -1214, 4571, -1214, 4571, -1214, 4571, 4571, 4571, 4571, + 4571, 4571, 4571, 8288, -1214, -1214, -1214, -1214, -1214, 231, + -1214, -1214, -1214, 521, 423, -1214, -1214, 643, -1214, 46, + -1214, -1214, -1214, -1214, 537, 6010, -1214, -1214, -1214, -1214, + -1214, -1214, -1214, 342, 16, 2926, 6494, -1214, 507, -1214, + -1214, -1214, 2926, -1214, 5141, 278, -1214, 278, 260, 3450, + -1214, -1214, 64, -1, 241, 204, 47, 4109, 4109, 231, + 4109, 4109, 4109, 231, 4571, 4571, 4571, 4571, 4571, 4571, + 4571, 4571, 4571, 4571, 4571, 4571, 4571, 4571, 4571, 4571, + 4571, 231, 231, 231, 4109, 4571, 231, 8417, -1214, -1214, + 5141, 273, -1214, -1214, -1214, 4109, 306, -1214, -1214, -1214, + 4571, -1214, 4109, 217, 306, 273, 6614, 2926, 4199, 355, + -1214, 8417, -1214, -1214, -1214, -1214, 8417, -1214, -1214, -1214, + -1214, -1214, -1214, -1214, -1214, 8417, -1214, -1214, -1214, -1214, + -1214, -1214, -1214, -1214, -1214, 347, 231, 349, 4109, 50, + 5695, 4849, 226, 370, 3966, 361, -1214, 4571, 5695, 2926, + 473, -1214, -43, -1214, 354, 377, 4571, 4226, 4226, 4226, + 4226, 4226, 4226, 4226, 4226, -1214, 4226, -1214, 4226, 4226, + 4226, 4226, 4226, 4226, 4226, 4226, -1214, 4226, 4571, 386, + 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, -1214, 4226, + 4226, 4226, 4226, 4226, 4226, 4226, 4226, -1214, 4226, 4226, + 4226, 4226, 4226, 4226, 4226, 4226, -1214, 4226, 4226, 4226, + 4226, 4226, 4226, 4226, 4226, -1214, 4226, 4226, 4226, 4226, + 4226, 4226, 4226, 4226, -1214, 4226, 4226, 4226, 4226, 4226, + 4226, 4226, 4226, -1214, 4226, 4226, 4226, 4226, 4226, 4226, + 4226, 4226, 4571, -1214, 4226, 4226, 4226, 4226, 4226, 4226, + 4226, 4226, 4571, -1214, 4226, 4226, 4226, 4226, 4226, 4226, + 4226, 4226, -1214, 4226, 4226, 4226, 4226, 4226, 4226, 4226, + 4226, -1214, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, + -1214, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, -1214, + 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4571, -1214, + 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, -1214, 4226, + 4226, 4226, 4226, 4226, 4226, 4226, 4226, -1214, 4226, 4226, + 4226, 4226, 4226, 4226, 4226, 4226, -1214, -1214, -1214, -1214, + -1214, 4226, 4226, 4226, 4226, 4226, 4226, 4226, 4226, -1214, + -1214, -1214, 4571, -1214, -1214, 521, -1214, 8417, 8417, -1214, + 4571, 231, -1214, -1214, 16, -1214, -1214, -1214, 4571, -1214, + 23, -1214, -1214, 4571, 489, 757, 68, 8417, -1214, -1214, + 4571, -1214, -1214, -1214, -1214, -1214, -1214, -1214, 3153, 4226, + 3450, 3450, 3450, 3450, 3450, 463, 3450, 3450, 3450, 3450, + 456, 456, 242, 242, 242, -1214, -1214, -1214, -1214, 395, + -1214, -1214, 513, 757, 8374, 231, -1214, 8417, -1214, 4226, + -1214, 8417, 8417, -1214, -1214, 231, -1214, 5574, -1214, -1214, + 361, 515, -1214, 3775, 152, 3291, -1214, -1214, -1214, -1214, + 8417, 3775, -1214, -1214, 4571, -1214, 8417, 4571, -14, 131, + 286, 135, -1214, 4849, 4226, 415, -1214, -1214, -1214, 7694, + 4571, -1214, 231, 408, 231, 424, 266, -1214, 4226, 4571, + 287, 300, 312, 6974, 2926, 4571, -1214, 271, 297, 2926, + -1214, 4571, -1214, 231, 7094, 4226, 231, 4571, -1214, -1214, + 4226, -1214, 527, -1214, 4571, 426, -1214, 395, 6130, 6130, + 6130, 6130, 6130, -1214, 4571, -1214, -1214, -1214, 4109, 505, + -1214, 4109, -1214, -1214, 484, 231, 8159, 8417, 4109, 435, + 438, 443, 4109, -1214, -1214, -1214, -1214, 115, -1214, 442, + 4226, 156, 4109, 179, -1214, 4571, 471, 7334, -1214, -1214, + 5773, -1214, 5773, 4571, -1214, 4226, -1214, -1214, -1214, -1214, + -1214, 2926, 5773, -1214, 5773, -1214, -1214, 6734, 2926, 6734, + -1214, 231, -1214, 4226, -1214, 4226, 4571, -1214, -1214, -1214, + -1214, -1214, 4571, 4226, -1214, 4571, -1214, -1214, 8417, -1214, + 231, 231, -1214, 8417, 4109, 4410, -1214, 4109, 8202, 491, + -1214, 8417, 231, 4109, 4571, -1214, -1214, -1214, 4226, -1214, + -1214, -1214, -1214, 451, 458, 4109, 460, -1214, 6130, -1214, + 461, 462, 6254, -1214, -1214, -1214, 12, 6854, 6854, 231, + 4571, 4226, 466, 3492, -1214, 570, -1214, -1214, 8455, -1214, + 4571, -1214, 231, 8417, 4109, 443, 8245, -1214, -1214, -1214, + 4226, 231, 231, 8331, -1214, 231, -1214, 6130, 231, 231, + -1214, 6254, -1214, -1214, -1214, -1214, -1214, 6854, 4226, -1214, + 4571, -1214, -1214, 7454, 7454, 4571, -1214, -1214, 329, -1214, + -1214, 8476, -1214, 8417, 4109, -1214, -1214, -1214, 4109, -1214, + -1214, -1214, -1214, -1214, -1214, 4226, 231, -1214, -1214, 332, + 4571, -1214, 4571, -1214, 8511, -1214, 7214, -1214, -1214, -1214, + -1214, 335, 4571, -1214, 11, -1214, 7214, -1214, 358, 8417, + 8417, -1214, -1214, -1214, -1214 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -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 + -1214, -1214, -1214, -1214, 20, 529, -1214, -1214, -1214, -1214, + -1214, -842, -454, -74, -930, -1214, 29, -1214, -1214, -1214, + -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, 180, -1214, + -127, -1214, -1214, 450, -1214, 3815, 1611, 1751, 504, 181, + 506, 356, 508, 509, 455, 510, 655, 518, 723, -1214, + 522, 791, 523, 1043, 524, -2, 526, 60, 528, 350, + -1214, 8401, 1852, 2041, 2109, -1214, -173, -1214, 2230, -1214, + -1214, -796, -1214, -79, 2430, -1214, 2498, -1214, -1214, -10, + -1214, -1214, -1214, -1214, 4779, -1214, -1214, -55, -1214, 941, + 2211, 2529, -1214, 2729, -1214, -1214, -1214, -1214, -1214, -1214, + -1214, 2760, -1214, -1214, -1214, 5303, -1214, -1214, 1274, -1214, + -1214, -426, -1214, -1214, 596, 602, 605, 606, 127, 533, + 3, 610, 611, -1214, 1457, -1214, 538, -1214, -1214, -1214, + -1214, 472, 381, -366, -148, -1214, -1214, -1214, -49, -1214, + -1214, -1214, -1214, -1214, -1214, 387, 40, -1214, -1214, -1214, + -1214, -1214, -690, -1214, -1003, -1214, -388, -1213, -634, -1214, + -530, -1214, -1214, -400, -243, -1214, -1214, -1214, -1214, -1214, + -1214, -1214, -1214, -1214, -1214, -1214, 36, -1214, -1214, -1214, + -1214, -1214, -1214, -596, -1214, -614, -1214, -1214, -1214, -1214, + -1214, -1214, -1214, -1214, 19, -1214, -1214, -1214, -1214, -1214, + -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -645, + -95, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, + -305, -1214, -1214, -1214, -1214, -1214, -1214, -301, -1214, -1214, + -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, -1214, + -1214, -48, -717, -1214, -1214, 3475 }; /* 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 -762 +#define YYTABLE_NINF -759 static const yytype_int16 yytable[] = { - 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, + 84, 645, 278, 192, 636, 636, 612, 933, 936, 943, + 946, 1016, 1104, 612, 1032, 155, 207, 1108, -307, 688, + 382, 292, 61, 292, 369, 1073, 231, 737, 1289, 1232, + 150, 64, 1269, 618, 407, 251, 1050, 314, -30, -30, + 627, 576, 128, 577, 292, 768, 1051, 266, -4, -113, + -113, 769, 1233, 423, 945, 621, 1290, 281, 84, 1281, + 1067, 949, 86, 1085, 306, 329, 309, 3, 309, 1288, + 309, 309, 491, 309, 1040, 309, 151, 309, 1041, 309, + 285, 309, 517, 309, 307, 309, 456, 309, 232, 287, + 343, 309, 1052, 738, 309, 57, 309, 252, 309, 292, + 288, -754, -754, -754, 293, 356, 293, 390, -155, 267, + -155, -307, 689, 323, 369, 503, 309, 415, 531, 282, + 86, 416, 309, 323, 322, 243, 323, 293, 310, 117, + 310, 84, 310, 310, 254, 310, 431, 310, 84, 310, + 432, 310, 323, 310, 260, 310, 550, 310, 458, 310, + -76, -76, 337, 310, 323, 241, 310, -522, 310, 499, + 310, -76, -76, 638, 264, 525, 407, 1026, 1217, 526, + -223, 323, 643, 381, 627, 1027, 271, 351, 310, 323, + 954, 276, 293, 69, 310, 1074, -155, 117, -155, 562, + 576, 1075, 364, 86, 323, 312, 581, 295, 296, 382, + 86, 377, 511, 323, 323, 539, 585, 323, 578, 224, + 405, 680, 421, 168, 437, 462, 249, 383, 384, 385, + 386, 307, 387, 388, 741, 755, 992, 578, 757, 579, + 224, 996, 1171, 558, 267, 323, 1172, 699, 1000, -223, + 580, 69, 581, 766, 680, 575, -757, -757, -757, 415, + -753, -753, -753, 416, 733, 323, 304, -223, 778, -223, + 117, 292, 698, -127, 417, 700, 433, 117, 1001, 442, + 723, 487, 787, 1174, 1025, 512, 570, 1175, 323, 540, + 1186, 544, 545, 546, 547, 796, 390, -127, -127, -127, + 1190, 548, 1191, 593, 725, 323, 1174, 571, 805, 661, + 1177, 271, 281, 594, 582, 281, 583, -127, -127, -127, + -127, 814, -127, -127, 69, 292, 1114, 55, 56, 677, + 281, 69, 823, 630, 631, 1103, -223, 675, -223, 577, + 1062, 726, 55, 56, 1002, 281, 401, 833, 323, 1056, + 314, -752, -752, -752, 293, 292, 55, 56, 618, 281, + 668, 669, 670, 843, 329, 224, -127, 343, 71, 618, + 356, -700, 281, 475, 282, 323, 1022, 282, 619, 620, + 621, 486, -127, 323, 382, 281, -127, 960, -127, 942, + 620, 621, 282, 1123, 225, 1124, 55, 56, 281, 1132, + 994, 734, 679, 55, 56, 957, 852, 282, 407, 281, + 687, -758, -758, -758, 1123, 225, 1126, 861, 475, 423, + 323, 282, 55, 56, 281, 1134, 71, 1123, 393, 1127, + 870, 55, 56, 997, 282, 290, 291, -700, 293, 1123, + 281, 1128, 879, 599, 600, 601, 602, 282, 599, 934, + 601, 602, 295, 296, 444, 550, 1270, 889, 1271, 1270, + 282, 1279, 1270, 1008, 1287, 562, 381, 74, -98, -98, + 898, 282, 394, 395, 396, 397, 585, 398, 399, 1011, + 55, 56, -23, 281, 1024, 1270, 282, 1292, 1033, 907, + 295, 296, 382, 226, 281, -755, -755, -755, 939, 71, + 1038, 916, 282, -78, -78, -25, 71, 281, -566, 939, + 383, 384, 385, 386, 226, 387, 388, -636, -636, 281, + 1049, 400, 1083, 661, 929, 74, -642, -642, -645, -645, + 661, 917, 1084, 918, 281, 919, 1120, 920, -648, -648, + 225, 401, 1115, 323, 1095, 282, 1144, 281, 601, 602, + 937, 938, 1122, 447, 948, 949, 282, 1157, 1158, 389, + 1146, 1155, -28, -28, 1167, 1168, 281, 1031, -129, 282, + 1169, 1173, 666, 667, 668, 669, 670, 1179, 281, 390, + 1222, 282, 1216, 961, 962, 1223, 964, 965, 966, 1225, + 1228, 1229, -129, -129, -129, 1239, 282, 1242, 74, 286, + 626, 281, 441, 691, 443, 74, 445, 446, 448, 282, + 988, 1113, -129, -129, -129, -129, 450, -129, -129, 203, + 452, 454, 455, 84, 457, 204, 459, 154, 282, 205, + 989, 463, 156, 157, 84, 637, 465, 695, 1086, 226, + 282, 993, 694, 1109, 1154, 406, 1280, 1156, 1215, 1117, + 935, 1291, 944, 1036, 1166, 1068, -111, -111, 1170, 1069, + 1010, -129, -129, 282, 0, 0, 0, 76, 1176, 295, + 296, 407, 0, 0, 0, 0, 0, -129, 0, 0, + 0, -129, 0, -129, 0, 86, -129, -129, -129, 408, + 409, 410, 411, 227, 412, 413, 86, 0, 733, 0, + 0, 1047, 0, 0, 84, 0, -129, -129, -129, -129, + 0, -129, -129, 0, 227, 0, 0, 0, 0, 0, + 1209, 1211, 0, 1212, 0, 76, 0, 0, 0, 1219, + 0, 733, 0, 0, 0, 78, 0, 0, 1029, 0, + 0, 1224, 0, 0, 0, 0, 266, 0, 0, 0, + 0, 0, 117, 449, 415, -129, 0, 0, 416, 0, + 323, 228, 0, 117, 1246, 0, 86, 0, 0, 0, + 1252, -129, 0, 0, 0, -129, 0, -129, 0, 0, + 0, 0, 228, 0, 0, 0, 0, 1047, 930, 0, + 0, 0, 0, 78, 0, 0, 0, 1047, 76, 0, + 267, 0, 0, 80, 0, 76, 69, 1273, 267, 0, + 1275, 0, 0, 0, 1277, 0, 0, 69, 0, 1076, + 1129, 451, 0, 0, 0, 0, 0, 0, 0, 229, + 1283, 1140, 0, 117, 0, 734, 0, 0, 703, 227, + 0, 0, 0, 1047, 0, 1147, 1148, 1149, 1150, 1151, + 229, 712, 713, 714, 715, 716, 717, 718, 719, 0, + 0, 80, 0, 0, 0, 0, 78, 271, 734, 0, + 0, 0, 0, 78, 0, 271, 5, 0, 0, 0, + 0, 0, 158, 159, 0, 0, 0, 69, 0, 453, + 1093, 0, 0, 161, 162, 0, 163, 0, 0, 0, + 165, 313, 0, 0, 1193, 0, 1195, 228, 0, 0, + 0, 0, 166, 0, 167, 1077, 0, 29, 30, 0, + 0, 224, 32, 169, 0, 295, 296, 314, 0, 224, + 0, 170, 0, 0, 80, 0, 0, 0, 0, 0, + 0, 80, 0, 0, 0, 315, 316, 317, 318, 0, + 319, 320, 43, 0, 0, 1226, 0, 0, 0, 1230, + 0, 0, 0, 171, 1235, 1236, 0, 50, 0, 0, + 0, 0, 0, 0, 0, 229, 0, 0, 0, 0, + 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 257, 71, 0, 1260, 1118, 0, 0, 1263, 0, + 1093, 0, 680, 0, 1264, 0, 0, 0, 0, 0, + 1267, 1268, 0, 0, 322, 84, 323, 305, 0, 0, + 324, 0, 338, 0, 0, 352, 0, 365, 0, 378, + 0, 391, 0, 733, 0, 418, 0, 434, 0, 0, + 0, 476, 488, 500, 0, 0, 513, 84, 527, 0, + 541, 0, 0, 0, 0, 82, 0, 0, 0, 0, + 0, 84, 71, 559, 0, 0, 183, 0, 572, 0, + 467, 0, 84, 0, 595, 0, 0, 86, 1187, 0, + 74, 230, 0, 0, 0, 0, 84, 84, 84, 84, + 84, 74, 0, 0, 295, 296, 225, 0, 0, 0, + 0, 0, 230, 0, 225, 0, 0, 1202, 0, 86, + 0, 0, 0, 82, 468, 469, 470, 471, 0, 472, + 473, 0, 0, 86, 0, 84, 305, 0, 324, 338, + 352, 365, 378, 391, 86, 418, 434, 476, 488, 500, + 513, 527, 541, 0, 117, 84, 0, 84, 86, 86, + 86, 86, 86, 559, 0, 0, 0, 572, 0, 595, + 0, 74, 0, 474, 0, 0, 0, 0, 0, 0, + 734, 0, 0, 0, 0, 0, 117, 0, 0, 0, + 0, 0, 0, 475, 0, 323, 82, 86, 0, 0, + 117, 0, 0, 82, 0, 226, 84, 0, 69, 0, + 84, 117, 0, 226, 0, 84, 84, 86, 0, 86, + 0, 0, 0, 0, 0, 117, 117, 117, 117, 117, + 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, + 69, 0, 0, 0, 0, 84, 0, 0, 0, 84, + 0, 0, 0, 0, 69, 84, 0, 0, 0, 0, + 0, 84, 84, 0, 117, 69, 0, 0, 86, 0, + 0, 0, 86, 0, 0, 0, 0, 86, 86, 69, + 69, 69, 69, 69, 117, 0, 117, 0, 0, 0, + 76, 0, 0, 0, 84, 0, 112, 0, 0, 0, + 0, 76, 0, 0, 84, 0, 0, 86, 0, 0, + 0, 86, 0, 0, 0, 0, 0, 86, 69, 0, + 0, 0, 240, 86, 86, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 117, 0, 0, 69, 117, + 69, 0, 0, 240, 117, 117, 0, 0, 0, 0, + 0, 0, 0, 0, 112, 0, 86, 0, 78, 0, + 0, 0, 0, 0, 0, 0, 86, 0, 0, 78, + 0, 76, 0, 0, 117, 0, 0, 0, 117, 0, + 0, 0, 461, 71, 117, 0, 0, 0, 0, 69, + 117, 117, 0, 69, 0, 0, 0, 0, 69, 69, + 0, 0, 0, 0, 0, 227, 0, 0, 0, 0, + 0, 0, 0, 227, 0, 71, 0, 313, 0, 0, + 0, 0, 0, 117, 0, -131, 80, 112, 69, 71, + 0, 0, 69, 117, 112, 0, 0, 80, 69, 78, + 71, 295, 296, 314, 69, 69, 0, 0, 0, -131, + -131, -131, 0, 0, 71, 71, 71, 71, 71, 0, + 0, 315, 316, 317, 318, 0, 319, 320, 240, -131, + -131, -131, -131, 228, -131, -131, 0, 69, 0, 123, + 0, 228, 74, 0, 0, 0, 0, 69, 0, 0, + 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 242, 0, 80, 0, 0, + 321, 0, 0, 71, 74, 71, 0, 0, -131, 0, + 0, 0, 0, 0, 0, 0, 242, 0, 74, 0, + 322, 0, 323, 0, -131, -128, 0, 123, -131, 74, + -131, 229, 0, 0, 0, 0, 0, 0, 0, 229, + 0, 0, 0, 74, 74, 74, 74, 74, 0, -128, + -128, -128, 0, 0, 71, 464, 0, 0, 71, 0, + 0, 0, 0, 71, 71, 0, 0, 478, 0, -128, + -128, -128, -128, 0, -128, -128, 0, 0, 0, 0, + 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, + 0, 295, 296, 71, 0, 0, 0, 71, 0, 0, + 123, -132, 74, 71, 74, 0, 0, 123, 0, 71, + 71, 479, 480, 481, 482, 0, 483, 484, -128, 0, + 0, 0, 0, 66, 0, -132, -132, -132, 0, 0, + 0, 0, 0, 0, -128, 0, 0, 0, -128, 0, + -128, 242, 71, 0, 0, -132, -132, -132, -132, 222, + -132, -132, 71, 74, 0, 0, 0, 74, 0, 0, + 485, 0, 74, 74, 0, 0, 0, 0, 82, 0, + 222, 0, 76, 0, 0, -130, 0, 0, 0, 82, + 486, 66, 323, 0, 0, 572, 0, 0, 467, 0, + 0, 0, 74, 0, -132, 0, 74, 0, 0, -130, + -130, -130, 74, 0, 76, 0, 0, 0, 74, 74, + -132, 0, 295, 296, -132, 0, -132, 0, 76, -130, + -130, -130, -130, 0, -130, -130, 0, 0, 0, 76, + 0, 328, 468, 469, 470, 471, 0, 472, 473, 0, + 78, 74, 0, 76, 76, 76, 76, 76, 0, 82, + 0, 74, 0, 0, 66, 295, 296, 329, 0, 0, + 0, 66, 0, 67, 0, 0, 0, 0, -130, 0, + 0, 0, 78, 0, 0, 330, 331, 332, 333, 0, + 334, 335, 76, 230, -130, 0, 78, 0, -130, 223, + -130, 230, 342, 0, 0, 222, 0, 78, 0, 0, + 0, 475, 76, 323, 76, 0, 0, 0, 80, 0, + 223, 78, 78, 78, 78, 78, 295, 296, 343, 0, + 0, 67, 0, 0, 336, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 344, 345, 346, 347, + 80, 348, 349, 0, 337, 0, 323, 0, 0, 0, + 78, 0, 0, 76, 80, 0, 0, 76, 0, 0, + 0, 0, 76, 76, 90, 80, 0, 0, 0, 0, + 78, 0, 78, 0, 0, 0, 0, 0, 0, 80, + 80, 80, 80, 80, 0, 350, 0, 0, 0, 0, + 233, 0, 76, 0, 67, 0, 76, 0, 0, 112, + 0, 67, 76, 406, 0, 351, 0, 323, 76, 76, + 112, 268, 0, 0, 0, 0, 0, 0, 80, 0, + 0, 78, 90, 0, 0, 78, 0, 295, 296, 407, + 78, 78, 0, 0, 0, 223, 0, 422, 80, 0, + 80, 76, 0, 0, 0, 0, 0, 408, 409, 410, + 411, 76, 412, 413, 0, 0, 0, 0, 0, 0, + 78, 295, 296, 423, 78, 0, 0, 0, 0, 0, + 78, 0, 0, 0, 0, 0, 78, 78, 0, 0, + 112, 424, 425, 426, 427, 0, 428, 429, 0, 80, + 0, 0, 0, 80, 0, 90, 414, 0, 80, 80, + 0, 0, 90, 0, 0, 0, 0, 0, 0, 78, + 0, 0, 415, 0, 240, 0, 416, 0, 323, 78, + 0, 0, 240, 490, 0, 0, 0, 0, 80, 0, + 430, 0, 80, 0, 0, 0, 644, 0, 80, 422, + 0, 0, 0, 0, 80, 80, 431, 295, 296, 491, + 432, 0, 323, 91, 0, 0, 0, 0, 0, 0, + 82, 0, 0, 295, 296, 423, 0, 492, 493, 494, + 495, 0, 496, 497, 0, 0, 0, 80, 0, 234, + 478, 0, 123, 424, 425, 426, 427, 80, 428, 429, + 0, 0, 82, 123, 516, 0, 0, 0, 0, 0, + 234, 0, 0, 0, 295, 296, 82, 0, 0, 0, + 0, 91, 0, 0, 0, 0, 498, 82, 295, 296, + 517, 92, 0, 0, 479, 480, 481, 482, 0, 483, + 484, 82, 82, 82, 82, 82, 499, 0, 518, 519, + 520, 521, 0, 522, 523, 0, 0, 235, 431, 0, + 0, 0, 432, 0, 323, 0, 0, 0, 0, 0, + 0, 0, 0, 123, 0, 0, 0, 0, 269, 0, + 82, 0, 0, 0, 0, 0, 0, 0, 0, 92, + 0, 0, 0, 0, 91, 0, 0, 524, 328, 0, + 82, 91, 82, 486, 0, 323, 0, 242, 0, 0, + 0, 0, 0, 525, 0, 242, 0, 526, 0, 323, + 0, 0, 295, 296, 329, 0, 0, 0, 0, 0, + 0, 0, 0, 101, 0, 234, 0, 0, 0, 355, + 0, 0, 330, 331, 332, 333, 66, 334, 335, 0, + 0, 82, 95, 0, 0, 82, 0, 66, 0, 0, + 82, 82, 92, 295, 296, 356, 0, 0, 0, 92, + 0, 0, 368, 0, 0, 0, 0, 0, 236, 0, + 0, 0, 0, 357, 358, 359, 360, 0, 361, 362, + 82, 101, 0, 0, 82, 0, 295, 296, 369, 236, + 82, 112, 0, 269, 0, 0, 82, 82, 0, 0, + 95, 337, 0, 323, 0, 0, 370, 371, 372, 373, + 0, 374, 375, 0, 0, 0, 0, 66, 0, 0, + 0, 0, 363, 112, 0, 0, 0, 0, 0, 82, + 0, 0, 0, 0, 0, 0, 0, 112, 0, 82, + 0, 0, 364, 0, 323, 0, 0, 0, 112, 0, + 0, 222, 0, 0, 101, 376, 0, 0, 0, 222, + 0, 101, 112, 112, 112, 112, 112, 0, 0, 0, + 0, 0, 0, 95, 0, 377, 67, 323, 0, 0, + 95, 0, 0, 516, 0, 0, 0, 67, 0, 0, + 0, 0, 0, 0, 502, 0, 0, 0, 0, 0, + 0, 112, 0, 0, 0, 0, 0, 295, 296, 517, + 0, 0, 0, 0, 236, 0, 0, 0, 295, 296, + 503, 112, 0, 112, 0, 0, 0, 518, 519, 520, + 521, 0, 522, 523, 0, 0, 0, 0, 504, 505, + 506, 507, 97, 508, 509, -279, -279, -279, -279, -279, + -279, -279, -279, -279, 0, 0, 0, 67, -279, -279, + -279, -279, -279, -279, -279, -279, 0, 0, 237, 0, + 0, 0, 112, 0, 123, 0, 112, 90, 0, 0, + 0, 112, 112, 0, 0, 0, 0, 510, 90, 270, + 0, 223, 525, 0, 0, 0, 526, 0, 323, 223, + 97, 0, 0, 0, 0, 0, 123, 511, 0, 323, + 99, 112, 0, 0, 0, 112, 0, 0, 0, 0, + 123, 112, 0, 0, 0, 0, 0, 112, 112, 0, + 0, 123, 0, 0, 0, 0, 238, 0, 0, 0, + 0, 102, 0, 0, 0, 123, 123, 123, 123, 123, + 0, 0, 0, 0, 0, 0, 0, 238, 90, 0, + 112, 0, 0, 530, 0, 0, 0, 0, 99, 0, + 112, 0, 0, 97, 0, 0, 0, 549, 0, 0, + 97, 0, 0, 0, 123, 0, 0, 295, 296, 531, + 0, 0, 1030, 561, 0, 0, 0, 0, 0, 102, + 268, 295, 296, 550, 123, 0, 123, 532, 533, 534, + 535, 0, 536, 537, 646, 0, 0, 295, 296, 562, + 0, 551, 552, 553, 554, 0, 555, 556, 66, 0, + 0, 0, 0, 0, 0, 0, 0, 563, 564, 565, + 566, 99, 567, 568, 0, 0, 0, 0, 99, 0, + 0, 0, 0, 0, 0, 123, 538, 0, 0, 123, + 66, 0, 0, 0, 123, 123, 91, 0, 0, 0, + 557, 584, 102, 0, 66, 0, 539, 91, 323, 102, + 0, 0, 238, 0, 0, 66, 569, 0, 0, 0, + 558, 0, 323, 0, 123, 295, 296, 585, 123, 66, + 66, 66, 66, 66, 123, 0, 570, 0, 323, 0, + 123, 123, 0, 0, 0, 586, 587, 588, 589, 0, + 590, 591, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 92, 0, 0, 0, 66, 0, + 0, 103, 0, 123, 0, 92, 294, 91, 0, 0, + 0, 0, 0, 123, 0, 0, 0, 0, 66, 0, + 66, 0, 0, 0, 592, 0, 0, 0, 67, 0, + 295, 296, 111, 0, 0, 0, 0, 342, 0, 0, + 0, 234, 0, 0, 593, 0, 323, 0, 0, 234, + 297, 298, 299, 300, 0, 301, 302, 0, 0, 103, + 67, 295, 296, 343, 0, 0, 0, 0, 0, 66, + 0, 0, 0, 66, 67, 92, 0, 0, 66, 66, + 0, 344, 345, 346, 347, 67, 348, 349, 0, 0, + 111, 0, 0, 0, 0, 0, 101, 368, 0, 67, + 67, 67, 67, 67, 0, 0, 0, 101, 66, 269, + 0, 0, 66, 0, 0, 95, 0, 269, 66, 304, + 0, 295, 296, 369, 66, 66, 95, 0, 0, 90, + 0, 0, 103, 0, 0, 0, 0, 0, 67, 103, + 0, 370, 371, 372, 373, 0, 374, 375, 0, 0, + 351, 0, 323, 0, 0, 0, 0, 66, 67, 0, + 67, 90, 0, 111, 0, 0, 0, 66, 0, 0, + 111, 0, 0, 0, 0, 90, 0, 101, 0, 0, + 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, + 90, 90, 90, 90, 90, 0, 0, 0, 0, 67, + 377, 0, 323, 67, 0, 0, 0, 0, 67, 67, + 0, 0, 654, 655, 0, 549, 656, 657, 658, 0, + 236, 0, 294, 0, 0, 0, 0, 0, 236, 90, + 0, 0, 584, 0, 659, 660, 0, 0, 67, 295, + 296, 550, 67, 661, 0, 0, 295, 296, 67, 90, + 0, 90, 0, 0, 67, 67, 295, 296, 585, 551, + 552, 553, 554, 0, 555, 556, 297, 298, 299, 300, + 0, 301, 302, 0, 0, 0, 586, 587, 588, 589, + 0, 590, 591, 0, 0, 0, 0, 67, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 67, 0, 0, + 90, 55, 56, 0, 90, 97, 0, 0, 91, 90, + 90, 0, 0, 0, 0, 303, 97, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, + 323, 0, 0, 0, 0, 304, 0, 0, 0, 90, + 91, 0, 0, 90, 0, 593, 490, 323, 0, 90, + 0, 0, 0, 0, 91, 90, 90, 0, 0, 0, + 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, + 295, 296, 491, 99, 0, 0, 92, 0, 0, 91, + 91, 91, 91, 91, 99, 0, 97, 0, 90, 0, + 492, 493, 494, 495, 0, 496, 497, 0, 90, 0, + 0, 0, 0, 0, 102, 0, 0, 0, 92, 0, + 0, 0, 0, 0, 0, 102, 0, 0, 91, 0, + 646, 0, 92, 0, 0, 0, 0, 0, 270, 0, + 0, 0, 0, 92, 0, 0, 0, 0, 91, 654, + 91, 0, 0, 656, 657, 658, 0, 92, 92, 92, + 92, 92, 0, 0, 99, 0, 0, 0, 0, 499, + 0, 659, 660, 0, 0, 0, 0, 0, 0, 0, + 661, 0, 0, 0, 0, 0, 0, 0, 101, 0, + 0, 0, 0, 0, 0, 102, 92, 0, 238, 91, + 0, 0, 0, 91, 0, 0, 238, 95, 91, 91, + 0, 0, 0, 0, 0, 0, 92, 0, 92, 0, + 101, 0, 0, 0, 0, 662, 663, 664, 665, 666, + 667, 668, 669, 670, 101, 0, 0, 0, 91, 95, + 0, 0, 91, 0, 0, 101, 0, 0, 91, 0, + 0, 0, 0, 95, 91, 91, 0, 0, 0, 101, + 101, 101, 101, 101, 95, 0, 5, 92, 0, 0, + 0, 92, 158, 159, 0, 0, 92, 92, 95, 95, + 95, 95, 95, 161, 162, 0, 163, 91, 0, 0, + 165, 0, 0, 0, 0, 0, 0, 91, 101, 0, + 0, 0, 166, 0, 167, 0, 92, 29, 30, 0, + 92, 0, 32, 169, 103, 0, 92, 95, 101, 0, + 101, 170, 92, 92, 0, 103, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 95, 0, 95, + 0, 0, 43, 0, 0, 111, 0, 0, 0, 0, + 0, 0, 0, 171, 0, 92, 111, 50, 0, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 101, + 0, 0, 0, 101, 0, 0, 55, 56, 101, 101, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, + 0, 0, 95, 0, 0, 103, 0, 95, 95, 0, + 0, 0, 0, 0, 0, 0, 0, 97, 101, 0, + 0, 0, 101, 0, 0, 0, 0, 0, 101, 0, + 0, 0, 0, 0, 101, 101, 111, 95, 0, 0, + 0, 95, 0, 0, 0, 0, 0, 95, 0, 97, + 0, 0, 0, 95, 95, 0, 0, 145, 0, 146, + 656, 657, 658, 97, 0, 0, 0, 101, 0, 0, + 0, 0, 0, 0, 97, 0, 0, 101, 659, 660, + 0, 0, 0, 0, 0, 99, 95, 661, 97, 97, + 97, 97, 97, 0, 0, 0, 95, 0, 654, 655, + 0, 0, 656, 657, 658, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 289, 102, 99, 0, 1240, + 659, 660, 0, 0, 0, 0, 0, 97, 0, 661, + 0, 99, 662, 663, 664, 665, 666, 667, 668, 669, + 670, 0, 99, 0, 0, 0, 0, 97, 102, 97, + 0, 0, 0, 0, 0, 0, 99, 99, 99, 99, + 99, 0, 102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 102, 662, 663, 664, 665, 666, 667, + 668, 669, 670, 0, 0, 0, 0, 102, 102, 102, + 102, 102, 0, 0, 0, 99, 0, 0, 97, 0, + 0, 0, 97, 0, 633, 0, 0, 97, 97, 0, + 0, 0, 0, 0, 0, 99, 0, 99, 0, 0, + 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, + 0, 97, 0, 0, 0, 0, 102, 97, 102, 0, + 0, 0, 0, 97, 97, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 678, 99, 0, 0, 0, + 99, 0, 0, 684, 0, 99, 99, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 97, 102, 0, 0, + 0, 102, 696, 0, 0, 99, 102, 102, 0, 99, + 0, 702, 0, 0, 724, 99, 103, 0, 0, 0, + 0, 99, 99, 0, 0, 0, 0, 0, 0, 0, + 740, 0, 0, 0, 0, 0, 102, 0, 0, 743, + 102, 0, 0, 0, 0, 0, 102, 111, 103, 0, + 0, 0, 102, 102, 99, 0, 0, 0, 0, 0, + 5, 0, 103, 0, 99, 0, 158, 159, 0, 0, + 0, 0, 0, 103, 0, 0, 0, 161, 162, 111, + 163, 0, 0, 0, 165, 102, 0, 103, 103, 103, + 103, 103, 0, 111, 0, 102, 166, 0, 167, 0, + 0, 29, 30, 0, 111, 0, 32, 169, 0, 0, + 0, 0, 209, 211, 0, 170, 0, 0, 111, 111, + 111, 111, 111, 221, 0, 0, 103, 0, 0, 0, + 0, 0, 250, 0, 0, 0, 1096, 255, 0, 256, + 258, 0, 0, 0, 265, 0, 103, 171, 103, 0, + 0, 50, 0, 0, 280, 0, 0, 111, 0, 0, + 0, 0, 0, 308, 0, 308, 0, 308, 308, 1097, + 308, 0, 308, 0, 308, 0, 308, 111, 308, 111, + 308, 0, 308, 440, 308, 0, 0, 0, 308, 0, + 0, 308, 0, 308, 0, 308, 0, 103, 0, 0, + 0, 103, 0, 0, 0, 0, 103, 103, 0, 0, + 0, 0, 0, 308, 0, 0, 0, 0, 0, 308, + 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, + 0, 0, 111, 0, 0, 0, 103, 111, 111, 0, + 103, 0, 0, 0, 0, 0, 103, 634, 634, 0, + 0, 0, 103, 103, 0, 561, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 0, 642, + 0, 111, 0, 0, 0, 0, 0, 111, 0, 295, + 296, 562, 0, 111, 111, 103, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 103, 0, 0, 0, 563, + 564, 565, 566, 0, 567, 568, 0, 0, 634, 0, + 0, 0, 0, 0, 685, 0, 111, -298, -298, -298, + -298, -298, -298, -298, -298, -298, 111, 0, 0, 0, + -298, -298, -298, -298, -298, -298, -298, -298, 0, 692, + 685, 634, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 931, 0, 0, 0, 728, 732, + 0, -756, -756, -756, 0, 0, 0, 0, 570, 0, + 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 947, 0, 0, 0, 0, 744, 745, 952, 0, 0, + 958, 0, 959, 0, 0, 0, 0, 0, 0, 280, + 0, 0, 280, 0, 963, 0, 0, 0, 967, 0, + 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, + 0, 0, 0, 0, 0, 0, 985, 986, 987, 0, + 0, 990, 280, 0, 0, 0, 0, 0, 0, 0, + 0, 998, 0, 0, 0, 0, 280, 0, 1003, 1004, + 0, 0, 1009, 0, 1012, 0, 0, 0, 0, 280, + 703, 704, 705, 706, 707, 708, 709, 710, 711, 0, + 0, 0, 280, 712, 713, 714, 715, 716, 717, 718, + 719, 1023, 0, 0, 5, 280, 7, 8, 0, 9, + 158, 159, 12, 160, 1037, 0, 280, 0, 14, 15, + 16, 161, 162, 0, 163, 0, 0, 164, 165, 0, + 0, 280, 22, 23, 0, 0, 0, 0, 0, 0, + 166, 0, 167, 0, 0, 29, 30, 280, 0, 168, + 32, 169, 654, 655, 0, 0, 656, 657, 658, 170, + 0, 0, 0, 0, 0, 0, 38, 0, 40, 41, + 0, 0, 0, 0, 659, 660, 0, 0, 0, 0, + 43, 0, 0, 661, 0, 0, 0, 0, 0, 0, + 280, 171, 47, 0, 0, 50, 0, 0, 53, 0, + 0, 280, 0, 0, 0, 172, 173, 0, 0, 0, + 0, 0, 54, 730, 280, 0, 731, 57, 0, 58, + 0, 59, 0, 0, 0, 0, 280, 0, 662, 663, + 664, 665, 666, 667, 668, 669, 670, 0, 0, 0, + 0, 280, 0, 0, 0, -3, 284, 0, -27, -27, + 5, 6, 7, 8, 280, 9, 10, 11, 12, 13, + 0, 0, 0, 0, 14, 15, 16, 17, 18, 19, + 20, 0, 0, 280, 21, 0, 0, 0, 22, 23, + 0, 24, 0, 0, 0, 280, 25, 26, 27, 28, + 0, 29, 30, 0, 0, 31, 32, 33, 0, 0, + 0, 0, 0, 0, 0, 34, 35, 36, 280, 0, + 37, 0, 38, 39, 40, 41, 1060, 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, 0, 59, 0, 0, + 1087, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1092, 703, 704, 705, 706, 707, 708, 709, 710, 711, + 1105, 0, 991, 0, 712, 713, 714, 715, 716, 717, + 718, 719, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 732, 0, 0, 1014, 1119, 0, 1121, + 0, 1018, 0, 0, 0, 0, 0, 0, 1210, 1130, + 1019, 0, 1133, 1135, 1136, 0, 0, 0, 1139, 0, + 0, 1142, 0, 0, 0, 1028, 732, 0, 0, 0, + 0, 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, + 1162, 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, 1189, 0, 0, 0, + 0, 0, 166, 1194, 167, 0, 1197, 29, 30, 0, + 0, 168, 32, 169, 0, 0, 0, 0, 0, 0, + 0, 170, 0, 0, 0, 1206, 1207, 0, 38, 0, + 40, 41, 0, 0, 0, 0, 0, 1218, 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, 1237, 0, 0, 172, 173, 0, + 0, 0, 0, 0, 54, 174, 0, 1250, 0, 57, + 0, 58, 0, 59, 0, 0, 1255, 1256, 0, 0, + 1259, 0, 0, 1261, 1262, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, + 0, 7, 438, 0, 439, 158, 159, 12, 160, 0, + 0, 0, 0, 14, 15, 16, 161, 162, 0, 163, + 0, 1278, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 0, 1057, 1058, 0, 166, 0, 167, 0, 0, + 29, 30, 0, 0, 0, 32, 169, 0, 0, 0, + 0, 0, 634, 0, 170, 0, 0, 0, 0, 0, + 0, 38, 0, 40, 41, 0, 0, 0, 0, 0, + 0, 0, 193, 0, 0, 43, 0, 0, 0, 0, + 0, 216, 217, 0, 0, 0, 171, 47, 0, 634, + 50, 0, 1088, 0, 0, 0, 1090, 1091, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 54, 1098, 0, + 1014, 275, 57, 0, 58, 1106, 1098, 0, 0, 0, + 0, 1112, 0, 0, 0, 0, 0, 0, 732, 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, 0, 0, 168, + 32, 169, 0, 0, 0, 0, 0, 0, 0, 170, + 0, 1164, 1165, 0, 0, 625, 38, 0, 40, 41, + 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, + 43, 0, 0, 0, 0, 1185, 0, 1185, 0, 0, + 0, 171, 47, 639, 0, 50, 0, 1185, 53, 1185, + 0, 640, 641, 0, 0, 172, 173, 0, 0, 0, + 0, 0, 54, 730, 0, 0, 0, 57, 0, 58, + 0, 59, 0, 1204, 0, 5, 0, 0, 1208, 0, + 0, 158, 159, 1214, 0, 0, 1106, 0, 0, 0, + 0, 0, 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, 697, 1251, 0, + 170, 1254, 0, 0, 0, 0, 0, 0, 1258, 40, + 41, 0, 0, 193, 0, 0, 0, 0, 0, 0, + 0, 43, 0, 739, 0, 0, 0, 0, 0, 0, + 0, 0, 171, 0, 0, 0, 50, 0, 1274, 0, + 0, 0, 0, 747, 0, 0, 748, 749, 750, 751, + 752, 753, 754, 54, 0, 756, 0, 0, 57, 0, + 0, 0, 758, 0, 759, 760, 761, 762, 763, 764, + 765, 0, 767, 0, 1293, 1294, 0, 770, 0, 771, + 772, 773, 774, 775, 776, 777, 0, 0, 0, 0, + 0, 779, 0, 780, 781, 782, 783, 784, 785, 786, + 0, 0, 0, 0, 788, 0, 789, 790, 791, 792, + 793, 794, 795, 0, 0, 0, 0, 797, 0, 798, + 799, 800, 801, 802, 803, 804, 0, 0, 0, 0, + 806, 0, 807, 808, 809, 810, 811, 812, 813, 0, + 0, 0, 815, 816, 817, 818, 819, 820, 821, 822, + 0, 0, 0, 0, 0, 824, 0, 825, 826, 827, + 828, 829, 830, 831, 0, 0, 0, 0, 0, 0, + 0, 834, 0, 835, 836, 837, 838, 839, 840, 841, + 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 0, 0, 0, 0, 712, 713, 714, 715, 716, + 717, 718, 719, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 844, 845, 846, 847, + 848, 849, 850, 851, 0, 0, 0, 853, 854, 855, + 856, 857, 858, 859, 860, 953, 0, 0, 0, 862, + 0, 863, 864, 865, 866, 867, 868, 869, 0, 0, + 0, 871, 0, 872, 873, 874, 875, 876, 877, 878, + 0, 0, 0, 0, 0, 880, 0, 881, 882, 883, + 884, 885, 886, 887, 0, 0, 0, 0, 0, 890, + 0, 891, 892, 893, 894, 895, 896, 897, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 899, 0, + 900, 901, 902, 903, 904, 905, 906, 0, 0, 0, + 908, 0, 909, 910, 911, 912, 913, 914, 915, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 921, 0, 922, 923, 924, 925, 926, + 927, 928, 325, 0, 339, 0, 0, 353, 0, 366, + 0, 379, 0, 0, 0, 403, 0, 0, 0, 435, + 0, 0, 0, 477, 489, 0, 0, 0, 514, 0, + 528, 0, 542, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 560, 0, 0, 0, 0, + 573, 0, 0, 0, 0, 0, 596, 0, 0, 0, + 0, 0, 0, 968, 969, 970, 971, 972, 973, 974, + 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 999, + 0, 0, 0, 0, 0, 0, 0, 193, 0, 0, + 325, 339, 353, 366, 379, 0, 403, 0, 435, 477, + 489, 0, 514, 528, 542, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 560, 0, 0, 0, 573, + 193, 596, 0, 0, 0, 0, 1034, 403, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 325, 339, 353, + 366, 379, 0, 403, 0, 435, 477, 489, 0, 514, + 528, 542, 0, 560, 573, 596, 0, 1048, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 435, 477, 0, 528, 573, 606, 0, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, -635, + -635, -635, -635, 14, 15, 16, 17, 18, 608, 609, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, + 24, -635, -635, -635, -635, 25, 26, 27, 28, -635, + 29, 30, 0, 0, 31, 32, 33, 0, 0, 0, + 0, 0, 0, 0, 34, 35, 36, -635, -635, 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, 0, 59, 0, 0, 0, + 5, 0, 7, 8, 0, 9, 158, 159, 12, 160, + 0, 1054, 0, 0, 14, 15, 16, 161, 162, 1059, + 163, 0, 0, 0, 165, 0, 0, 1065, 0, 0, + 0, 0, 1070, 0, 0, 0, 166, 0, 167, 0, + 0, 29, 30, 0, 0, 168, 32, 169, 0, 0, + 0, 0, 0, 0, 379, 170, 0, 0, 0, 0, + 0, 0, 38, 0, 40, 41, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 43, 0, 5, 0, + 0, 0, 0, 0, 158, 159, 0, 171, 47, 0, + 0, 50, 0, 0, 53, 161, 162, 0, 163, 0, + 0, 0, 165, 1110, 0, 0, 1110, 0, 54, 0, + 0, 0, 193, 57, 166, 58, 167, 59, 0, 29, + 30, 0, 0, 0, 32, 169, 0, 0, 1125, 0, + 0, 0, 0, 170, 1131, 0, 0, 0, 0, 0, + 1138, 0, 0, 0, 0, 0, 1143, 0, 0, 0, + 0, 0, 0, 1145, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 1153, 0, 171, 0, 0, 0, 50, + 0, 0, 0, 1182, 0, 0, 0, 606, 0, -110, + -110, 5, 6, 7, 8, 0, 9, 10, 607, 12, + 13, 0, 0, -669, 1178, 14, 15, 16, 17, 18, + 608, 609, 0, 0, 0, 21, 0, 0, 0, 22, + 23, 0, 24, -669, -669, -669, 0, 25, 26, 27, + 28, 0, 29, 30, 0, 1201, 31, 32, 33, 0, + 0, 0, 0, 0, 1203, 0, 34, 35, 36, 0, + 0, 37, 0, 38, 39, 40, 41, 477, 0, 528, + 0, 0, 0, 1220, 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, 1238, + 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, 606, 0, -110, -110, 5, 6, 7, 8, 1265, + 9, 10, 607, 12, 13, 0, 0, -670, 0, 14, + 15, 16, 17, 18, 608, 609, 0, 573, 0, 21, + 0, 0, 0, 22, 23, 0, 24, -670, -670, -670, + 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, 606, 59, -110, -110, 5, 6, 7, 8, 0, + 9, 10, 607, 12, 13, -634, -634, -634, -634, 14, + 15, 16, 17, 18, 608, 609, 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, 0, 59, 0, 0, 606, 0, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, -634, 0, 14, 15, 16, 17, 18, 608, 609, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, + 24, -634, -634, -634, 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, 477, 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, -718, 0, 14, 15, 16, 17, 18, 608, 609, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, + 24, -718, -718, 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, -719, 0, 14, 15, 16, 17, 18, 608, 609, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, + 24, -719, -719, 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, -634, 0, 14, 15, 16, 17, 18, 608, 609, + 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, -634, -634, 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, -634, 0, 14, 15, 16, 17, 18, 608, 609, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, + 24, 0, -634, -634, 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, -634, 0, 14, 15, 16, 17, 18, 608, 609, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, + 24, -634, -634, 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, -634, -634, 14, 15, 16, 17, 18, 608, 609, + 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, 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, + 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, -634, 0, 14, 15, 16, 17, 18, 608, 609, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, + 24, 0, 0, 0, -634, 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, -634, 0, 14, 15, 16, 17, 18, 608, 609, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, + 24, 0, 0, 0, 0, 25, 26, 27, 28, -634, + 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, 1181, 0, 14, 15, 16, 17, 18, 608, 609, + 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, -634, 0, 14, 15, 16, 17, 18, 608, 609, + 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, 4, 59, -27, -27, 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, 606, 59, -110, -110, 5, + 6, 7, 8, 0, 9, 10, 607, 12, 13, 0, + 0, 0, 0, 14, 15, 16, 17, 18, 608, 609, + 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, 393, 42, 43, 44, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 46, 47, 48, 49, + 50, 51, 52, 53, 0, 0, 0, 295, 296, 0, + 0, 0, 0, 0, 0, 0, 0, 54, 0, 55, + 56, 0, 57, 0, 58, 0, 59, 394, 395, 396, + 397, 0, 398, 399, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -296, -296, -296, -296, -296, + -296, -296, -296, -296, 0, 355, 0, 0, -296, -296, + -296, -296, -296, -296, -296, -296, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, + 296, 356, 0, 0, 0, 0, 0, 0, 0, -639, + -639, 0, 0, 0, 0, 0, 401, 0, 323, 357, + 358, 359, 360, 0, 361, 362, 0, 0, 0, 0, + 0, 0, 0, 0, 502, 0, 0, -266, -266, -266, + -266, -266, -266, -266, -266, -266, 0, 0, 0, 0, + -266, -266, -266, -266, -266, -266, -266, -266, 295, 296, + 503, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 504, 505, + 506, 507, 0, 508, 509, 0, 0, 0, 364, 0, + 323, 0, 0, 530, 0, 0, -275, -275, -275, -275, + -275, -275, -275, -275, -275, 0, 0, 0, 0, -275, + -275, -275, -275, -275, -275, -275, -275, 295, 296, 531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 532, 533, 534, + 535, 0, 536, 537, 0, 0, 0, 511, 0, 323, + 0, 0, 561, 0, 0, -282, -282, -282, -282, -282, + -282, -282, -282, -282, 0, 0, 0, 0, -282, -282, + -282, -282, -282, -282, -282, -282, 295, 296, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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, 563, 564, 565, 566, + 0, 567, 568, 0, 0, 0, 539, 0, 323, 0, + 0, 393, 0, 0, -298, -298, -298, -298, -298, -298, + -298, -298, -298, 0, 0, 0, 0, -298, -298, -298, + -298, -298, -298, -298, -298, 295, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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, 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, -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, 0, 0, 0, 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, 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, + 0, 0, 0, 0, 0, 394, 395, 396, 397, 0, + 398, 399, 0, 0, 0, 570, 0, 323, 0, 0, + 0, 0, 0, -296, -296, -296, -296, -296, -296, -296, + -296, -296, 0, 0, 0, 0, -296, -296, -296, -296, + -296, -296, -296, -296, 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, + 0, 0, 0, 0, 401, 0, 323, 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, + 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, 1216, 165, 0, 0, 0, 0, 0, - 0, 0, 0, 43, 0, 0, 166, 0, 167, 0, + 163, 0, 0, 1163, 165, 0, 0, 0, 0, 0, + 0, 0, 0, 1096, 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, + 161, 162, 0, 163, 0, 0, 1213, 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, + 169, 50, 158, 159, 0, 0, 0, 0, 170, 0, + 0, 0, 0, 161, 162, 0, 163, 40, 41, 1253, 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, + 171, 0, 32, 169, 50, 158, 159, 0, 0, 0, 0, 170, 0, 0, 0, 0, 161, 162, 0, 163, - 40, 41, 0, 165, 0, 0, 0, 0, 0, 0, + 0, 54, 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, + 29, 30, 5, 171, 0, 32, 169, 50, 158, 159, + 0, 1257, 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, 327, 0, 340, 341, 0, 354, 170, 367, 0, + 380, 0, 392, 0, 404, 0, 420, 0, 436, 460, + 466, 0, 0, 0, 501, 0, 0, 515, 43, 529, + 0, 543, 0, 0, 0, 0, 0, 0, 0, 171, + 0, 0, 0, 50, 0, 0, 0, 0, 0, 574, + 0, 0, 0, 0, 0, 597, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 0, 0, 0, 0, 712, + 713, 714, 715, 716, 717, 718, 719, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 0, 0, 0, 0, + 712, 713, 714, 715, 716, 717, 718, 719, 0, 0, + 0, 0, 0, 1245, 0, 0, 0, 0, 0, 0, + 0, 0, 703, 704, 705, 706, 707, 708, 709, 710, + 711, 0, 0, 0, 1272, 712, 713, 714, 715, 716, + 717, 718, 719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1285 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1282 }; static const yytype_int16 yycheck[] = { - 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, + 2, 174, 57, 13, 152, 153, 133, 603, 604, 623, + 624, 701, 1015, 140, 731, 12, 13, 1020, 9, 9, + 35, 35, 2, 35, 35, 955, 28, 51, 17, 17, + 35, 2, 1245, 17, 35, 37, 832, 35, 3, 4, + 17, 117, 2, 119, 35, 117, 842, 49, 0, 3, + 4, 123, 40, 35, 38, 39, 45, 59, 60, 1272, + 37, 38, 2, 993, 102, 35, 68, 0, 70, 1282, + 72, 73, 35, 75, 117, 77, 35, 79, 121, 81, + 60, 83, 35, 85, 122, 87, 88, 89, 28, 60, + 35, 93, 888, 117, 96, 118, 98, 37, 100, 35, + 60, 115, 116, 117, 118, 35, 118, 122, 122, 49, + 124, 102, 102, 124, 35, 35, 118, 118, 35, 59, + 60, 122, 124, 124, 122, 35, 124, 118, 68, 2, + 70, 133, 72, 73, 10, 75, 118, 77, 140, 79, + 122, 81, 124, 83, 19, 85, 35, 87, 88, 89, + 115, 116, 122, 93, 124, 28, 96, 125, 98, 122, + 100, 115, 116, 160, 66, 118, 35, 117, 1171, 122, + 35, 124, 174, 9, 17, 125, 49, 122, 118, 124, + 634, 54, 118, 2, 124, 117, 122, 60, 124, 35, + 117, 123, 122, 133, 124, 68, 119, 33, 34, 35, + 140, 122, 122, 124, 124, 122, 35, 124, 117, 28, + 83, 213, 85, 50, 87, 88, 36, 53, 54, 55, + 56, 122, 58, 59, 279, 304, 680, 117, 307, 119, + 49, 685, 117, 122, 174, 124, 121, 19, 692, 35, + 117, 60, 119, 322, 246, 118, 115, 116, 117, 118, + 115, 116, 117, 122, 264, 124, 122, 122, 337, 124, + 133, 35, 66, 9, 84, 118, 86, 140, 51, 88, + 118, 91, 351, 117, 728, 95, 122, 121, 124, 99, + 1122, 101, 102, 103, 104, 364, 122, 33, 34, 35, + 1132, 111, 1134, 122, 106, 124, 117, 117, 377, 57, + 121, 174, 304, 123, 117, 307, 119, 53, 54, 55, + 56, 390, 58, 59, 133, 35, 1033, 115, 116, 117, + 322, 140, 401, 143, 144, 1015, 122, 117, 124, 119, + 944, 119, 115, 116, 117, 337, 122, 416, 124, 935, + 35, 115, 116, 117, 118, 35, 115, 116, 17, 351, + 108, 109, 110, 432, 35, 174, 102, 35, 2, 17, + 35, 51, 364, 122, 304, 124, 19, 307, 37, 38, + 39, 122, 118, 124, 35, 377, 122, 117, 124, 37, + 38, 39, 322, 117, 28, 119, 115, 116, 390, 118, + 117, 264, 212, 115, 116, 117, 475, 337, 35, 401, + 220, 115, 116, 117, 117, 49, 119, 486, 122, 35, + 124, 351, 115, 116, 416, 118, 60, 117, 9, 119, + 499, 115, 116, 117, 364, 3, 4, 117, 118, 117, + 432, 119, 511, 15, 16, 17, 18, 377, 15, 16, + 17, 18, 33, 34, 88, 35, 117, 526, 119, 117, + 390, 119, 117, 696, 119, 35, 9, 2, 115, 116, + 539, 401, 53, 54, 55, 56, 35, 58, 59, 114, + 115, 116, 118, 475, 125, 117, 416, 119, 117, 558, + 33, 34, 35, 28, 486, 115, 116, 117, 615, 133, + 17, 570, 432, 115, 116, 118, 140, 499, 9, 626, + 53, 54, 55, 56, 49, 58, 59, 115, 116, 511, + 124, 102, 117, 57, 593, 60, 115, 116, 115, 116, + 57, 576, 9, 578, 526, 580, 118, 582, 115, 116, + 174, 122, 117, 124, 19, 475, 9, 539, 17, 18, + 3, 4, 118, 88, 37, 38, 486, 63, 64, 102, + 124, 46, 3, 4, 119, 117, 558, 730, 9, 499, + 117, 119, 106, 107, 108, 109, 110, 96, 570, 122, + 119, 511, 81, 647, 648, 117, 650, 651, 652, 119, + 119, 119, 33, 34, 35, 119, 526, 17, 133, 60, + 140, 593, 88, 243, 88, 140, 88, 88, 88, 539, + 674, 1027, 53, 54, 55, 56, 88, 58, 59, 13, + 88, 88, 88, 615, 88, 13, 88, 12, 558, 13, + 675, 88, 12, 12, 626, 153, 88, 246, 994, 174, + 570, 680, 245, 1021, 1088, 9, 1270, 1091, 1168, 1039, + 604, 1286, 623, 738, 1098, 950, 3, 4, 1102, 950, + 698, 102, 9, 593, -1, -1, -1, 2, 1112, 33, + 34, 35, -1, -1, -1, -1, -1, 118, -1, -1, + -1, 122, -1, 124, -1, 615, 33, 34, 35, 53, + 54, 55, 56, 28, 58, 59, 626, -1, 698, -1, + -1, 746, -1, -1, 696, -1, 53, 54, 55, 56, + -1, 58, 59, -1, 49, -1, -1, -1, -1, -1, + 1164, 1165, -1, 1167, -1, 60, -1, -1, -1, 1173, + -1, 731, -1, -1, -1, 2, -1, -1, 730, -1, + -1, 1185, -1, -1, -1, -1, 738, -1, -1, -1, + -1, -1, 615, 88, 118, 102, -1, -1, 122, -1, + 124, 28, -1, 626, 1208, -1, 696, -1, -1, -1, + 1214, 118, -1, -1, -1, 122, -1, 124, -1, -1, + -1, -1, 49, -1, -1, -1, -1, 832, 598, -1, + -1, -1, -1, 60, -1, -1, -1, 842, 133, -1, + 730, -1, -1, 2, -1, 140, 615, 1251, 738, -1, + 1254, -1, -1, -1, 1258, -1, -1, 626, -1, 957, + 1053, 88, -1, -1, -1, -1, -1, -1, -1, 28, + 1274, 1064, -1, 696, -1, 698, -1, -1, 71, 174, + -1, -1, -1, 888, -1, 1078, 1079, 1080, 1081, 1082, + 49, 84, 85, 86, 87, 88, 89, 90, 91, -1, + -1, 60, -1, -1, -1, -1, 133, 730, 731, -1, + -1, -1, -1, 140, -1, 738, 5, -1, -1, -1, + -1, -1, 11, 12, -1, -1, -1, 696, -1, 88, + 1007, -1, -1, 22, 23, -1, 25, -1, -1, -1, + 29, 9, -1, -1, 1137, -1, 1139, 174, -1, -1, + -1, -1, 41, -1, 43, 960, -1, 46, 47, -1, + -1, 730, 51, 52, -1, 33, 34, 35, -1, 738, + -1, 60, -1, -1, 133, -1, -1, -1, -1, -1, + -1, 140, -1, -1, -1, 53, 54, 55, 56, -1, + 58, 59, 81, -1, -1, 1188, -1, -1, -1, 1192, + -1, -1, -1, 92, 1197, 1198, -1, 96, -1, -1, + -1, -1, -1, -1, -1, 174, -1, -1, -1, -1, + -1, 615, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 120, 626, -1, 1227, 1040, -1, -1, 1231, -1, + 1117, -1, 994, -1, 1237, -1, -1, -1, -1, -1, + 1243, 1244, -1, -1, 122, 1007, 124, 66, -1, -1, + 69, -1, 71, -1, -1, 74, -1, 76, -1, 78, + -1, 80, -1, 1033, -1, 84, -1, 86, -1, -1, + -1, 90, 91, 92, -1, -1, 95, 1039, 97, -1, + 99, -1, -1, -1, -1, 2, -1, -1, -1, -1, + -1, 1053, 696, 112, -1, -1, 13, -1, 117, -1, + 9, -1, 1064, -1, 123, -1, -1, 1007, 1123, -1, + 615, 28, -1, -1, -1, -1, 1078, 1079, 1080, 1081, + 1082, 626, -1, -1, 33, 34, 730, -1, -1, -1, + -1, -1, 49, -1, 738, -1, -1, 1152, -1, 1039, + -1, -1, -1, 60, 53, 54, 55, 56, -1, 58, + 59, -1, -1, 1053, -1, 1117, 175, -1, 177, 178, + 179, 180, 181, 182, 1064, 184, 185, 186, 187, 188, + 189, 190, 191, -1, 1007, 1137, -1, 1139, 1078, 1079, + 1080, 1081, 1082, 202, -1, -1, -1, 206, -1, 208, + -1, 696, -1, 102, -1, -1, -1, -1, -1, -1, + 1033, -1, -1, -1, -1, -1, 1039, -1, -1, -1, + -1, -1, -1, 122, -1, 124, 133, 1117, -1, -1, + 1053, -1, -1, 140, -1, 730, 1188, -1, 1007, -1, + 1192, 1064, -1, 738, -1, 1197, 1198, 1137, -1, 1139, + -1, -1, -1, -1, -1, 1078, 1079, 1080, 1081, 1082, + -1, -1, -1, -1, -1, -1, -1, 174, -1, -1, + 1039, -1, -1, -1, -1, 1227, -1, -1, -1, 1231, + -1, -1, -1, -1, 1053, 1237, -1, -1, -1, -1, + -1, 1243, 1244, -1, 1117, 1064, -1, -1, 1188, -1, + -1, -1, 1192, -1, -1, -1, -1, 1197, 1198, 1078, + 1079, 1080, 1081, 1082, 1137, -1, 1139, -1, -1, -1, + 615, -1, -1, -1, 1276, -1, 2, -1, -1, -1, + -1, 626, -1, -1, 1286, -1, -1, 1227, -1, -1, + -1, 1231, -1, -1, -1, -1, -1, 1237, 1117, -1, + -1, -1, 28, 1243, 1244, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1188, -1, -1, 1137, 1192, + 1139, -1, -1, 49, 1197, 1198, -1, -1, -1, -1, + -1, -1, -1, -1, 60, -1, 1276, -1, 615, -1, + -1, -1, -1, -1, -1, -1, 1286, -1, -1, 626, + -1, 696, -1, -1, 1227, -1, -1, -1, 1231, -1, + -1, -1, 88, 1007, 1237, -1, -1, -1, -1, 1188, + 1243, 1244, -1, 1192, -1, -1, -1, -1, 1197, 1198, + -1, -1, -1, -1, -1, 730, -1, -1, -1, -1, + -1, -1, -1, 738, -1, 1039, -1, 9, -1, -1, + -1, -1, -1, 1276, -1, 9, 615, 133, 1227, 1053, + -1, -1, 1231, 1286, 140, -1, -1, 626, 1237, 696, + 1064, 33, 34, 35, 1243, 1244, -1, -1, -1, 33, + 34, 35, -1, -1, 1078, 1079, 1080, 1081, 1082, -1, + -1, 53, 54, 55, 56, -1, 58, 59, 174, 53, + 54, 55, 56, 730, 58, 59, -1, 1276, -1, 2, + -1, 738, 1007, -1, -1, -1, -1, 1286, -1, -1, + -1, -1, -1, 1117, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 28, -1, 696, -1, -1, + 102, -1, -1, 1137, 1039, 1139, -1, -1, 102, -1, + -1, -1, -1, -1, -1, -1, 49, -1, 1053, -1, + 122, -1, 124, -1, 118, 9, -1, 60, 122, 1064, + 124, 730, -1, -1, -1, -1, -1, -1, -1, 738, + -1, -1, -1, 1078, 1079, 1080, 1081, 1082, -1, 33, + 34, 35, -1, -1, 1188, 88, -1, -1, 1192, -1, + -1, -1, -1, 1197, 1198, -1, -1, 9, -1, 53, + 54, 55, 56, -1, 58, 59, -1, -1, -1, -1, + -1, -1, 1117, -1, -1, -1, -1, -1, -1, -1, + -1, 33, 34, 1227, -1, -1, -1, 1231, -1, -1, + 133, 9, 1137, 1237, 1139, -1, -1, 140, -1, 1243, + 1244, 53, 54, 55, 56, -1, 58, 59, 102, -1, + -1, -1, -1, 2, -1, 33, 34, 35, -1, -1, + -1, -1, -1, -1, 118, -1, -1, -1, 122, -1, + 124, 174, 1276, -1, -1, 53, 54, 55, 56, 28, + 58, 59, 1286, 1188, -1, -1, -1, 1192, -1, -1, + 102, -1, 1197, 1198, -1, -1, -1, -1, 615, -1, + 49, -1, 1007, -1, -1, 9, -1, -1, -1, 626, + 122, 60, 124, -1, -1, 734, -1, -1, 9, -1, + -1, -1, 1227, -1, 102, -1, 1231, -1, -1, 33, + 34, 35, 1237, -1, 1039, -1, -1, -1, 1243, 1244, + 118, -1, 33, 34, 122, -1, 124, -1, 1053, 53, + 54, 55, 56, -1, 58, 59, -1, -1, -1, 1064, + -1, 9, 53, 54, 55, 56, -1, 58, 59, -1, + 1007, 1276, -1, 1078, 1079, 1080, 1081, 1082, -1, 696, + -1, 1286, -1, -1, 133, 33, 34, 35, -1, -1, + -1, 140, -1, 2, -1, -1, -1, -1, 102, -1, + -1, -1, 1039, -1, -1, 53, 54, 55, 56, -1, + 58, 59, 1117, 730, 118, -1, 1053, -1, 122, 28, + 124, 738, 9, -1, -1, 174, -1, 1064, -1, -1, + -1, 122, 1137, 124, 1139, -1, -1, -1, 1007, -1, + 49, 1078, 1079, 1080, 1081, 1082, 33, 34, 35, -1, + -1, 60, -1, -1, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, 54, 55, 56, - 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, + 1039, 58, 59, -1, 122, -1, 124, -1, -1, -1, + 1117, -1, -1, 1188, 1053, -1, -1, 1192, -1, -1, + -1, -1, 1197, 1198, 2, 1064, -1, -1, -1, -1, + 1137, -1, 1139, -1, -1, -1, -1, -1, -1, 1078, + 1079, 1080, 1081, 1082, -1, 102, -1, -1, -1, -1, + 28, -1, 1227, -1, 133, -1, 1231, -1, -1, 615, + -1, 140, 1237, 9, -1, 122, -1, 124, 1243, 1244, + 626, 49, -1, -1, -1, -1, -1, -1, 1117, -1, + -1, 1188, 60, -1, -1, 1192, -1, 33, 34, 35, + 1197, 1198, -1, -1, -1, 174, -1, 9, 1137, -1, + 1139, 1276, -1, -1, -1, -1, -1, 53, 54, 55, + 56, 1286, 58, 59, -1, -1, -1, -1, -1, -1, + 1227, 33, 34, 35, 1231, -1, -1, -1, -1, -1, + 1237, -1, -1, -1, -1, -1, 1243, 1244, -1, -1, + 696, 53, 54, 55, 56, -1, 58, 59, -1, 1188, + -1, -1, -1, 1192, -1, 133, 102, -1, 1197, 1198, + -1, -1, 140, -1, -1, -1, -1, -1, -1, 1276, + -1, -1, 118, -1, 730, -1, 122, -1, 124, 1286, + -1, -1, 738, 9, -1, -1, -1, -1, 1227, -1, + 102, -1, 1231, -1, -1, -1, 174, -1, 1237, 9, + -1, -1, -1, -1, 1243, 1244, 118, 33, 34, 35, + 122, -1, 124, 2, -1, -1, -1, -1, -1, -1, + 1007, -1, -1, 33, 34, 35, -1, 53, 54, 55, + 56, -1, 58, 59, -1, -1, -1, 1276, -1, 28, + 9, -1, 615, 53, 54, 55, 56, 1286, 58, 59, + -1, -1, 1039, 626, 9, -1, -1, -1, -1, -1, + 49, -1, -1, -1, 33, 34, 1053, -1, -1, -1, + -1, 60, -1, -1, -1, -1, 102, 1064, 33, 34, + 35, 2, -1, -1, 53, 54, 55, 56, -1, 58, + 59, 1078, 1079, 1080, 1081, 1082, 122, -1, 53, 54, + 55, 56, -1, 58, 59, -1, -1, 28, 118, -1, + -1, -1, 122, -1, 124, -1, -1, -1, -1, -1, + -1, -1, -1, 696, -1, -1, -1, -1, 49, -1, + 1117, -1, -1, -1, -1, -1, -1, -1, -1, 60, + -1, -1, -1, -1, 133, -1, -1, 102, 9, -1, + 1137, 140, 1139, 122, -1, 124, -1, 730, -1, -1, + -1, -1, -1, 118, -1, 738, -1, 122, -1, 124, + -1, -1, 33, 34, 35, -1, -1, -1, -1, -1, + -1, -1, -1, 2, -1, 174, -1, -1, -1, 9, + -1, -1, 53, 54, 55, 56, 615, 58, 59, -1, + -1, 1188, 2, -1, -1, 1192, -1, 626, -1, -1, + 1197, 1198, 133, 33, 34, 35, -1, -1, -1, 140, + -1, -1, 9, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, 53, 54, 55, 56, -1, 58, 59, - -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, + 1227, 60, -1, -1, 1231, -1, 33, 34, 35, 49, + 1237, 1007, -1, 174, -1, -1, 1243, 1244, -1, -1, + 60, 122, -1, 124, -1, -1, 53, 54, 55, 56, + -1, 58, 59, -1, -1, -1, -1, 696, -1, -1, + -1, -1, 102, 1039, -1, -1, -1, -1, -1, 1276, + -1, -1, -1, -1, -1, -1, -1, 1053, -1, 1286, + -1, -1, 122, -1, 124, -1, -1, -1, 1064, -1, + -1, 730, -1, -1, 133, 102, -1, -1, -1, 738, + -1, 140, 1078, 1079, 1080, 1081, 1082, -1, -1, -1, + -1, -1, -1, 133, -1, 122, 615, 124, -1, -1, + 140, -1, -1, 9, -1, -1, -1, 626, -1, -1, + -1, -1, -1, -1, 9, -1, -1, -1, -1, -1, + -1, 1117, -1, -1, -1, -1, -1, 33, 34, 35, + -1, -1, -1, -1, 174, -1, -1, -1, 33, 34, + 35, 1137, -1, 1139, -1, -1, -1, 53, 54, 55, + 56, -1, 58, 59, -1, -1, -1, -1, 53, 54, + 55, 56, 2, 58, 59, 71, 72, 73, 74, 75, + 76, 77, 78, 79, -1, -1, -1, 696, 84, 85, + 86, 87, 88, 89, 90, 91, -1, -1, 28, -1, + -1, -1, 1188, -1, 1007, -1, 1192, 615, -1, -1, + -1, 1197, 1198, -1, -1, -1, -1, 102, 626, 49, + -1, 730, 118, -1, -1, -1, 122, -1, 124, 738, + 60, -1, -1, -1, -1, -1, 1039, 122, -1, 124, + 2, 1227, -1, -1, -1, 1231, -1, -1, -1, -1, + 1053, 1237, -1, -1, -1, -1, -1, 1243, 1244, -1, + -1, 1064, -1, -1, -1, -1, 28, -1, -1, -1, + -1, 2, -1, -1, -1, 1078, 1079, 1080, 1081, 1082, + -1, -1, -1, -1, -1, -1, -1, 49, 696, -1, + 1276, -1, -1, 9, -1, -1, -1, -1, 60, -1, + 1286, -1, -1, 133, -1, -1, -1, 9, -1, -1, + 140, -1, -1, -1, 1117, -1, -1, 33, 34, 35, + -1, -1, 730, 9, -1, -1, -1, -1, -1, 60, + 738, 33, 34, 35, 1137, -1, 1139, 53, 54, 55, + 56, -1, 58, 59, 174, -1, -1, 33, 34, 35, + -1, 53, 54, 55, 56, -1, 58, 59, 1007, -1, + -1, -1, -1, -1, -1, -1, -1, 53, 54, 55, + 56, 133, 58, 59, -1, -1, -1, -1, 140, -1, + -1, -1, -1, -1, -1, 1188, 102, -1, -1, 1192, + 1039, -1, -1, -1, 1197, 1198, 615, -1, -1, -1, + 102, 9, 133, -1, 1053, -1, 122, 626, 124, 140, + -1, -1, 174, -1, -1, 1064, 102, -1, -1, -1, + 122, -1, 124, -1, 1227, 33, 34, 35, 1231, 1078, + 1079, 1080, 1081, 1082, 1237, -1, 122, -1, 124, -1, + 1243, 1244, -1, -1, -1, 53, 54, 55, 56, -1, + 58, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 615, -1, -1, -1, 1117, -1, + -1, 2, -1, 1276, -1, 626, 9, 696, -1, -1, + -1, -1, -1, 1286, -1, -1, -1, -1, 1137, -1, + 1139, -1, -1, -1, 102, -1, -1, -1, 1007, -1, + 33, 34, 2, -1, -1, -1, -1, 9, -1, -1, + -1, 730, -1, -1, 122, -1, 124, -1, -1, 738, + 53, 54, 55, 56, -1, 58, 59, -1, -1, 60, + 1039, 33, 34, 35, -1, -1, -1, -1, -1, 1188, + -1, -1, -1, 1192, 1053, 696, -1, -1, 1197, 1198, + -1, 53, 54, 55, 56, 1064, 58, 59, -1, -1, + 60, -1, -1, -1, -1, -1, 615, 9, -1, 1078, + 1079, 1080, 1081, 1082, -1, -1, -1, 626, 1227, 730, + -1, -1, 1231, -1, -1, 615, -1, 738, 1237, 122, + -1, 33, 34, 35, 1243, 1244, 626, -1, -1, 1007, + -1, -1, 133, -1, -1, -1, -1, -1, 1117, 140, + -1, 53, 54, 55, 56, -1, 58, 59, -1, -1, + 122, -1, 124, -1, -1, -1, -1, 1276, 1137, -1, + 1139, 1039, -1, 133, -1, -1, -1, 1286, -1, -1, + 140, -1, -1, -1, -1, 1053, -1, 696, -1, -1, + -1, -1, -1, -1, -1, -1, 1064, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 696, -1, -1, -1, + 1078, 1079, 1080, 1081, 1082, -1, -1, -1, -1, 1188, + 122, -1, 124, 1192, -1, -1, -1, -1, 1197, 1198, + -1, -1, 26, 27, -1, 9, 30, 31, 32, -1, + 730, -1, 9, -1, -1, -1, -1, -1, 738, 1117, + -1, -1, 9, -1, 48, 49, -1, -1, 1227, 33, + 34, 35, 1231, 57, -1, -1, 33, 34, 1237, 1137, + -1, 1139, -1, -1, 1243, 1244, 33, 34, 35, 53, + 54, 55, 56, -1, 58, 59, 53, 54, 55, 56, + -1, 58, 59, -1, -1, -1, 53, 54, 55, 56, + -1, 58, 59, -1, -1, -1, -1, 1276, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 1286, -1, -1, + 1188, 115, 116, -1, 1192, 615, -1, -1, 1007, 1197, + 1198, -1, -1, -1, -1, 102, 626, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, + 124, -1, -1, -1, -1, 122, -1, -1, -1, 1227, + 1039, -1, -1, 1231, -1, 122, 9, 124, -1, 1237, + -1, -1, -1, -1, 1053, 1243, 1244, -1, -1, -1, + -1, -1, -1, -1, -1, 1064, -1, -1, -1, -1, + 33, 34, 35, 615, -1, -1, 1007, -1, -1, 1078, + 1079, 1080, 1081, 1082, 626, -1, 696, -1, 1276, -1, + 53, 54, 55, 56, -1, 58, 59, -1, 1286, -1, + -1, -1, -1, -1, 615, -1, -1, -1, 1039, -1, + -1, -1, -1, -1, -1, 626, -1, -1, 1117, -1, + 730, -1, 1053, -1, -1, -1, -1, -1, 738, -1, + -1, -1, -1, 1064, -1, -1, -1, -1, 1137, 26, + 1139, -1, -1, 30, 31, 32, -1, 1078, 1079, 1080, + 1081, 1082, -1, -1, 696, -1, -1, -1, -1, 122, + -1, 48, 49, -1, -1, -1, -1, -1, -1, -1, + 57, -1, -1, -1, -1, -1, -1, -1, 1007, -1, + -1, -1, -1, -1, -1, 696, 1117, -1, 730, 1188, + -1, -1, -1, 1192, -1, -1, 738, 1007, 1197, 1198, + -1, -1, -1, -1, -1, -1, 1137, -1, 1139, -1, + 1039, -1, -1, -1, -1, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 1053, -1, -1, -1, 1227, 1039, + -1, -1, 1231, -1, -1, 1064, -1, -1, 1237, -1, + -1, -1, -1, 1053, 1243, 1244, -1, -1, -1, 1078, + 1079, 1080, 1081, 1082, 1064, -1, 5, 1188, -1, -1, + -1, 1192, 11, 12, -1, -1, 1197, 1198, 1078, 1079, + 1080, 1081, 1082, 22, 23, -1, 25, 1276, -1, -1, + 29, -1, -1, -1, -1, -1, -1, 1286, 1117, -1, + -1, -1, 41, -1, 43, -1, 1227, 46, 47, -1, + 1231, -1, 51, 52, 615, -1, 1237, 1117, 1137, -1, + 1139, 60, 1243, 1244, -1, 626, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1137, -1, 1139, + -1, -1, 81, -1, -1, 615, -1, -1, -1, -1, + -1, -1, -1, 92, -1, 1276, 626, 96, -1, -1, + -1, -1, -1, -1, -1, 1286, -1, -1, -1, 1188, + -1, -1, -1, 1192, -1, -1, 115, 116, 1197, 1198, + -1, -1, -1, -1, -1, -1, -1, -1, 1188, -1, + -1, -1, 1192, -1, -1, 696, -1, 1197, 1198, -1, + -1, -1, -1, -1, -1, -1, -1, 1007, 1227, -1, + -1, -1, 1231, -1, -1, -1, -1, -1, 1237, -1, + -1, -1, -1, -1, 1243, 1244, 696, 1227, -1, -1, + -1, 1231, -1, -1, -1, -1, -1, 1237, -1, 1039, + -1, -1, -1, 1243, 1244, -1, -1, 2, -1, 4, + 30, 31, 32, 1053, -1, -1, -1, 1276, -1, -1, + -1, -1, -1, -1, 1064, -1, -1, 1286, 48, 49, + -1, -1, -1, -1, -1, 1007, 1276, 57, 1078, 1079, + 1080, 1081, 1082, -1, -1, -1, 1286, -1, 26, 27, + -1, -1, 30, 31, 32, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 60, 1007, 1039, -1, 47, + 48, 49, -1, -1, -1, -1, -1, 1117, -1, 57, + -1, 1053, 102, 103, 104, 105, 106, 107, 108, 109, + 110, -1, 1064, -1, -1, -1, -1, 1137, 1039, 1139, + -1, -1, -1, -1, -1, -1, 1078, 1079, 1080, 1081, + 1082, -1, 1053, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1064, 102, 103, 104, 105, 106, 107, + 108, 109, 110, -1, -1, -1, -1, 1078, 1079, 1080, + 1081, 1082, -1, -1, -1, 1117, -1, -1, 1188, -1, + -1, -1, 1192, -1, 149, -1, -1, 1197, 1198, -1, + -1, -1, -1, -1, -1, 1137, -1, 1139, -1, -1, + -1, -1, -1, -1, -1, -1, 1117, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1227, -1, -1, + -1, 1231, -1, -1, -1, -1, 1137, 1237, 1139, -1, + -1, -1, -1, 1243, 1244, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 210, 1188, -1, -1, -1, + 1192, -1, -1, 218, -1, 1197, 1198, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1276, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1286, 1188, -1, -1, + -1, 1192, 247, -1, -1, 1227, 1197, 1198, -1, 1231, + -1, 256, -1, -1, 259, 1237, 1007, -1, -1, -1, + -1, 1243, 1244, -1, -1, -1, -1, -1, -1, -1, + 275, -1, -1, -1, -1, -1, 1227, -1, -1, 284, + 1231, -1, -1, -1, -1, -1, 1237, 1007, 1039, -1, + -1, -1, 1243, 1244, 1276, -1, -1, -1, -1, -1, + 5, -1, 1053, -1, 1286, -1, 11, 12, -1, -1, + -1, -1, -1, 1064, -1, -1, -1, 22, 23, 1039, + 25, -1, -1, -1, 29, 1276, -1, 1078, 1079, 1080, + 1081, 1082, -1, 1053, -1, 1286, 41, -1, 43, -1, + -1, 46, 47, -1, 1064, -1, 51, 52, -1, -1, + -1, -1, 17, 18, -1, 60, -1, -1, 1078, 1079, + 1080, 1081, 1082, 28, -1, -1, 1117, -1, -1, -1, + -1, -1, 37, -1, -1, -1, 81, 42, -1, 44, + 45, -1, -1, -1, 49, -1, 1137, 92, 1139, -1, + -1, 96, -1, -1, 59, -1, -1, 1117, -1, -1, + -1, -1, -1, 68, -1, 70, -1, 72, 73, 114, + 75, -1, 77, -1, 79, -1, 81, 1137, 83, 1139, 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, 96, -1, 98, -1, 100, -1, 1188, -1, -1, + -1, 1192, -1, -1, -1, -1, 1197, 1198, -1, -1, + -1, -1, -1, 118, -1, -1, -1, -1, -1, 124, + -1, -1, -1, -1, -1, -1, -1, -1, 1188, -1, + -1, -1, 1192, -1, -1, -1, 1227, 1197, 1198, -1, + 1231, -1, -1, -1, -1, -1, 1237, 152, 153, -1, + -1, -1, 1243, 1244, -1, 9, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1227, -1, 174, + -1, 1231, -1, -1, -1, -1, -1, 1237, -1, 33, + 34, 35, -1, 1243, 1244, 1276, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1286, -1, -1, -1, 53, + 54, 55, 56, -1, 58, 59, -1, -1, 213, -1, + -1, -1, -1, -1, 219, -1, 1276, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 1286, -1, -1, -1, + 84, 85, 86, 87, 88, 89, 90, 91, -1, 244, + 245, 246, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 599, -1, -1, -1, 263, 264, + -1, 115, 116, 117, -1, -1, -1, -1, 122, -1, + 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 625, -1, -1, -1, -1, 290, 291, 632, -1, -1, + 635, -1, 637, -1, -1, -1, -1, -1, -1, 304, + -1, -1, 307, -1, 649, -1, -1, -1, 653, -1, + -1, -1, -1, -1, -1, -1, -1, 322, -1, -1, + -1, -1, -1, -1, -1, -1, 671, 672, 673, -1, + -1, 676, 337, -1, -1, -1, -1, -1, -1, -1, + -1, 686, -1, -1, -1, -1, 351, -1, 693, 694, + -1, -1, 697, -1, 699, -1, -1, -1, -1, 364, + 71, 72, 73, 74, 75, 76, 77, 78, 79, -1, + -1, -1, 377, 84, 85, 86, 87, 88, 89, 90, + 91, 726, -1, -1, 5, 390, 7, 8, -1, 10, + 11, 12, 13, 14, 739, -1, 401, -1, 19, 20, + 21, 22, 23, -1, 25, -1, -1, 28, 29, -1, + -1, 416, 33, 34, -1, -1, -1, -1, -1, -1, + 41, -1, 43, -1, -1, 46, 47, 432, -1, 50, + 51, 52, 26, 27, -1, -1, 30, 31, 32, 60, + -1, -1, -1, -1, -1, -1, 67, -1, 69, 70, + -1, -1, -1, -1, 48, 49, -1, -1, -1, -1, + 81, -1, -1, 57, -1, -1, -1, -1, -1, -1, + 475, 92, 93, -1, -1, 96, -1, -1, 99, -1, + -1, 486, -1, -1, -1, 106, 107, -1, -1, -1, + -1, -1, 113, 114, 499, -1, 117, 118, -1, 120, + -1, 122, -1, -1, -1, -1, 511, -1, 102, 103, + 104, 105, 106, 107, 108, 109, 110, -1, -1, -1, + -1, 526, -1, -1, -1, 0, 1, -1, 3, 4, + 5, 6, 7, 8, 539, 10, 11, 12, 13, 14, + -1, -1, -1, -1, 19, 20, 21, 22, 23, 24, + 25, -1, -1, 558, 29, -1, -1, -1, 33, 34, + -1, 36, -1, -1, -1, 570, 41, 42, 43, 44, + -1, 46, 47, -1, -1, 50, 51, 52, -1, -1, + -1, -1, -1, -1, -1, 60, 61, 62, 593, -1, + 65, -1, 67, 68, 69, 70, 941, -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, -1, -1, + 995, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1005, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 1015, -1, 677, -1, 84, 85, 86, 87, 88, 89, + 90, 91, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 698, -1, -1, 701, 1042, -1, 1044, + -1, 706, -1, -1, -1, -1, -1, -1, 118, 1054, + 715, -1, 1057, 1058, 1059, -1, -1, -1, 1063, -1, + -1, 1066, -1, -1, -1, 730, 731, -1, -1, -1, + -1, -1, -1, 738, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, + 1095, -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, 1131, -1, -1, -1, + -1, -1, 41, 1138, 43, -1, 1141, 46, 47, -1, + -1, 50, 51, 52, -1, -1, -1, -1, -1, -1, + -1, 60, -1, -1, -1, 1160, 1161, -1, 67, -1, + 69, 70, -1, -1, -1, -1, -1, 1172, -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, 1199, -1, -1, 106, 107, -1, + -1, -1, -1, -1, 113, 114, -1, 1212, -1, 118, + -1, 120, -1, 122, -1, -1, 1221, 1222, -1, -1, + 1225, -1, -1, 1228, 1229, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -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, 1266, -1, 29, -1, -1, -1, -1, -1, -1, + -1, -1, 937, 938, -1, 41, -1, 43, -1, -1, + 46, 47, -1, -1, -1, 51, 52, -1, -1, -1, + -1, -1, 957, -1, 60, -1, -1, -1, -1, -1, + -1, 67, -1, 69, 70, -1, -1, -1, -1, -1, + -1, -1, 13, -1, -1, 81, -1, -1, -1, -1, + -1, 22, 23, -1, -1, -1, 92, 93, -1, 994, + 96, -1, 997, -1, -1, -1, 1001, 1002, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 113, 1013, -1, + 1015, 52, 118, -1, 120, 1020, 1021, -1, -1, -1, + -1, 1026, -1, -1, -1, -1, -1, -1, 1033, -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, -1, -1, 50, + 51, 52, -1, -1, -1, -1, -1, -1, -1, 60, + -1, 1096, 1097, -1, -1, 136, 67, -1, 69, 70, + -1, -1, -1, -1, -1, -1, 147, -1, -1, -1, + 81, -1, -1, -1, -1, 1120, -1, 1122, -1, -1, + -1, 92, 93, 164, -1, 96, -1, 1132, 99, 1134, + -1, 172, 173, -1, -1, 106, 107, -1, -1, -1, + -1, -1, 113, 114, -1, -1, -1, 118, -1, 120, + -1, 122, -1, 1158, -1, 5, -1, -1, 1163, -1, + -1, 11, 12, 1168, -1, -1, 1171, -1, -1, -1, + -1, -1, 22, 23, -1, 25, -1, -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, 248, 1213, -1, + 60, 1216, -1, -1, -1, -1, -1, -1, 1223, 69, + 70, -1, -1, 264, -1, -1, -1, -1, -1, -1, + -1, 81, -1, 274, -1, -1, -1, -1, -1, -1, + -1, -1, 92, -1, -1, -1, 96, -1, 1253, -1, + -1, -1, -1, 294, -1, -1, 297, 298, 299, 300, + 301, 302, 303, 113, -1, 306, -1, -1, 118, -1, + -1, -1, 313, -1, 315, 316, 317, 318, 319, 320, + 321, -1, 323, -1, 1289, 1290, -1, 328, -1, 330, + 331, 332, 333, 334, 335, 336, -1, -1, -1, -1, + -1, 342, -1, 344, 345, 346, 347, 348, 349, 350, + -1, -1, -1, -1, 355, -1, 357, 358, 359, 360, + 361, 362, 363, -1, -1, -1, -1, 368, -1, 370, + 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, + 381, -1, 383, 384, 385, 386, 387, 388, 389, -1, + -1, -1, 393, 394, 395, 396, 397, 398, 399, 400, + -1, -1, -1, -1, -1, 406, -1, 408, 409, 410, + 411, 412, 413, 414, -1, -1, -1, -1, -1, -1, + -1, 422, -1, 424, 425, 426, 427, 428, 429, 430, + -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, 467, 468, 469, 470, + 471, 472, 473, 474, -1, -1, -1, 478, 479, 480, + 481, 482, 483, 484, 485, 124, -1, -1, -1, 490, + -1, 492, 493, 494, 495, 496, 497, 498, -1, -1, + -1, 502, -1, 504, 505, 506, 507, 508, 509, 510, + -1, -1, -1, -1, -1, 516, -1, 518, 519, 520, + 521, 522, 523, 524, -1, -1, -1, -1, -1, 530, + -1, 532, 533, 534, 535, 536, 537, 538, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 549, -1, + 551, 552, 553, 554, 555, 556, 557, -1, -1, -1, + 561, -1, 563, 564, 565, 566, 567, 568, 569, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 584, -1, 586, 587, 588, 589, 590, + 591, 592, 69, -1, 71, -1, -1, 74, -1, 76, + -1, 78, -1, -1, -1, 82, -1, -1, -1, 86, + -1, -1, -1, 90, 91, -1, -1, -1, 95, -1, + 97, -1, 99, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 112, -1, -1, -1, -1, + 117, -1, -1, -1, -1, -1, 123, -1, -1, -1, + -1, -1, -1, 654, 655, 656, 657, 658, 659, 660, + 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 690, + -1, -1, -1, -1, -1, -1, -1, 698, -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, + 731, 208, -1, -1, -1, -1, 737, 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, 768, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 267, 268, -1, 270, 271, 1, -1, 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, 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, -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, -1, -1, -1, + 5, -1, 7, 8, -1, 10, 11, 12, 13, 14, + -1, 932, -1, -1, 19, 20, 21, 22, 23, 940, + 25, -1, -1, -1, 29, -1, -1, 948, -1, -1, + -1, -1, 953, -1, -1, -1, 41, -1, 43, -1, + -1, 46, 47, -1, -1, 50, 51, 52, -1, -1, + -1, -1, -1, -1, 451, 60, -1, -1, -1, -1, + -1, -1, 67, -1, 69, 70, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 81, -1, 5, -1, + -1, -1, -1, -1, 11, 12, -1, 92, 93, -1, + -1, 96, -1, -1, 99, 22, 23, -1, 25, -1, + -1, -1, 29, 1024, -1, -1, 1027, -1, 113, -1, + -1, -1, 1033, 118, 41, 120, 43, 122, -1, 46, + 47, -1, -1, -1, 51, 52, -1, -1, 1049, -1, + -1, -1, -1, 60, 1055, -1, -1, -1, -1, -1, + 1061, -1, -1, -1, -1, -1, 1067, -1, -1, -1, + -1, -1, -1, 1074, 81, -1, -1, -1, -1, -1, + -1, -1, -1, 1084, -1, 92, -1, -1, -1, 96, + -1, -1, -1, 100, -1, -1, -1, 1, -1, 3, + 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, + 14, -1, -1, 17, 1115, 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, 1146, 50, 51, 52, -1, + -1, -1, -1, -1, 1155, -1, 60, 61, 62, -1, + -1, 65, -1, 67, 68, 69, 70, 644, -1, 646, + -1, -1, -1, 1174, -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, 1200, + -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, 1240, + 10, 11, 12, 13, 14, -1, -1, 17, -1, 19, + 20, 21, 22, 23, 24, 25, -1, 734, -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, -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, 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, -1, -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, 1269, + -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, 1030, 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, 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, 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, -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, -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, 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, -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, -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, - 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, 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, -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, 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, -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, - 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, -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, -1, -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, -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, + 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, 9, 80, 81, 82, 83, -1, -1, + -1, -1, -1, -1, -1, -1, 92, 93, 94, 95, + 96, 97, 98, 99, -1, -1, -1, 33, 34, -1, + -1, -1, -1, -1, -1, -1, -1, 113, -1, 115, + 116, -1, 118, -1, 120, -1, 122, 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, 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, @@ -3432,27 +3447,35 @@ static const yytype_int16 yycheck[] = 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, 100, -1, -1, 60, -1, - -1, -1, -1, 22, 23, -1, 25, -1, -1, -1, + 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, 81, -1, -1, 41, -1, 43, -1, -1, 46, 47, 5, - 92, -1, 51, 52, 96, 11, 12, -1, 100, -1, + 92, -1, 51, 52, 96, 11, 12, -1, -1, -1, -1, 60, -1, -1, -1, -1, 22, 23, -1, 25, - 69, 70, -1, 29, -1, -1, -1, -1, -1, -1, + -1, 113, -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, + 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, 70, -1, 72, 73, -1, 75, 60, 77, -1, + 79, -1, 81, -1, 83, -1, 85, -1, 87, 88, + 89, -1, -1, -1, 93, -1, -1, 96, 81, 98, + -1, 100, -1, -1, -1, -1, -1, -1, -1, 92, + -1, -1, -1, 96, -1, -1, -1, -1, -1, 118, + -1, -1, -1, -1, -1, 124, 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, 118, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 118 + -1, -1, -1, -1, -1, -1, -1, -1, -1, 118 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -3473,122 +3496,122 @@ static const yytype_uint16 yystos[] = 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, + 347, 349, 356, 366, 369, 371, 371, 147, 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, + 160, 161, 145, 148, 179, 205, 210, 210, 313, 270, + 146, 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, + 234, 244, 250, 35, 267, 256, 150, 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, + 161, 181, 183, 199, 1, 130, 131, 142, 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, 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, + 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, - 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, + 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, 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, 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, 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 + 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, 149, 138, 117, 371, 210, + 138, 51, 117, 371, 371, 151, 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) @@ -4103,14 +4126,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 4109 "harboury.c" +#line 4132 "harboury.c" break; case 93: /* "CBSTART" */ -#line 290 "../../harbour.y" +#line 290 "harbour.y" { if( (yyvaluep->asCodeblock).string ) hb_xfree( (yyvaluep->asCodeblock).string ); }; -#line 4114 "harboury.c" +#line 4137 "harboury.c" break; default: @@ -4419,316 +4442,336 @@ 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 13: -#line 307 "../../harbour.y" + case 10: +#line 307 "harbour.y" { yyclearin; yyerrok; ;} break; - case 22: -#line 316 "../../harbour.y" + case 16: +#line 316 "harbour.y" { yyclearin; yyerrok; ;} break; - case 25: -#line 323 "../../harbour.y" + case 19: +#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 20: +#line 323 "harbour.y" + {;} + break; + + case 21: +#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 22: +#line 324 "harbour.y" + {;} + break; + + case 23: +#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 24: +#line 325 "harbour.y" + {;} + break; + + case 25: +#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 26: -#line 323 "../../harbour.y" +#line 326 "harbour.y" {;} break; 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 28: -#line 324 "../../harbour.y" - {;} - break; - - 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 30: -#line 325 "../../harbour.y" - {;} - break; - - 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 32: -#line 326 "../../harbour.y" - {;} - break; - - case 33: -#line 329 "../../harbour.y" +#line 329 "harbour.y" { (yyval.iNumber) = HB_FS_PUBLIC; ;} break; - case 34: -#line 330 "../../harbour.y" + case 28: +#line 330 "harbour.y" { (yyval.iNumber) = HB_FS_STATIC; ;} break; - case 35: -#line 331 "../../harbour.y" + case 29: +#line 331 "harbour.y" { (yyval.iNumber) = HB_FS_INIT; ;} break; - case 36: -#line 332 "../../harbour.y" + case 30: +#line 332 "harbour.y" { (yyval.iNumber) = HB_FS_EXIT; ;} break; - case 37: -#line 335 "../../harbour.y" + case 31: +#line 335 "harbour.y" { (yyval.iNumber) = 0; ;} break; - case 38: -#line 336 "../../harbour.y" + case 32: +#line 336 "harbour.y" { HB_COMP_PARAM->functions.pLast->pCode[0] = HB_P_VFRAME; (yyval.iNumber) = 0; ;} break; - case 39: -#line 337 "../../harbour.y" + case 33: +#line 337 "harbour.y" { (yyval.iNumber) = (yyvsp[(1) - (1)].iNumber); ;} break; - case 40: -#line 338 "../../harbour.y" + case 34: +#line 338 "harbour.y" { HB_COMP_PARAM->functions.pLast->pCode[0] = HB_P_VFRAME; (yyval.iNumber) = (yyvsp[(1) - (3)].iNumber); ;} break; - case 41: -#line 341 "../../harbour.y" + case 35: +#line 341 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 43: -#line 345 "../../harbour.y" + case 37: +#line 345 "harbour.y" { HB_COMP_PARAM->cVarType = 'N'; ;} break; - case 44: -#line 346 "../../harbour.y" + case 38: +#line 346 "harbour.y" { HB_COMP_PARAM->cVarType = 'C'; ;} break; - case 45: -#line 347 "../../harbour.y" + case 39: +#line 347 "harbour.y" { HB_COMP_PARAM->cVarType = 'D'; ;} break; - case 46: -#line 348 "../../harbour.y" + case 40: +#line 348 "harbour.y" { HB_COMP_PARAM->cVarType = 'L'; ;} break; - case 47: -#line 349 "../../harbour.y" + case 41: +#line 349 "harbour.y" { HB_COMP_PARAM->cVarType = 'B'; ;} break; - case 48: -#line 350 "../../harbour.y" + case 42: +#line 350 "harbour.y" { HB_COMP_PARAM->cVarType = 'O'; ;} break; - case 49: -#line 351 "../../harbour.y" + case 43: +#line 351 "harbour.y" { HB_COMP_PARAM->cVarType = 'S'; HB_COMP_PARAM->szFromClass = (yyvsp[(2) - (2)].string); ;} break; - case 50: -#line 352 "../../harbour.y" + case 44: +#line 352 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 52: -#line 356 "../../harbour.y" + case 46: +#line 356 "harbour.y" { HB_COMP_PARAM->cVarType = 'A'; ;} break; - case 53: -#line 357 "../../harbour.y" + case 47: +#line 357 "harbour.y" { HB_COMP_PARAM->cVarType = 'n'; ;} break; - case 54: -#line 358 "../../harbour.y" + case 48: +#line 358 "harbour.y" { HB_COMP_PARAM->cVarType = 'c'; ;} break; - case 55: -#line 359 "../../harbour.y" + case 49: +#line 359 "harbour.y" { HB_COMP_PARAM->cVarType = 'd'; ;} break; - case 56: -#line 360 "../../harbour.y" + case 50: +#line 360 "harbour.y" { HB_COMP_PARAM->cVarType = 'l'; ;} break; - case 57: -#line 361 "../../harbour.y" + case 51: +#line 361 "harbour.y" { HB_COMP_PARAM->cVarType = 'a'; ;} break; - case 58: -#line 362 "../../harbour.y" + case 52: +#line 362 "harbour.y" { HB_COMP_PARAM->cVarType = 'b'; ;} break; - case 59: -#line 363 "../../harbour.y" + case 53: +#line 363 "harbour.y" { HB_COMP_PARAM->cVarType = 'o'; ;} break; - case 60: -#line 364 "../../harbour.y" + case 54: +#line 364 "harbour.y" { HB_COMP_PARAM->cVarType = 's'; HB_COMP_PARAM->szFromClass = (yyvsp[(2) - (2)].string); ;} break; - case 61: -#line 367 "../../harbour.y" + case 55: +#line 367 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); (yyval.iNumber) = 1; ;} break; - case 62: -#line 368 "../../harbour.y" + case 56: +#line 368 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); (yyval.iNumber)++; ;} break; - case 63: -#line 376 "../../harbour.y" + case 57: +#line 376 "harbour.y" { HB_COMP_PARAM->fDontGenLineNum = TRUE; ;} break; - case 64: -#line 376 "../../harbour.y" + case 58: +#line 376 "harbour.y" { ;} break; + case 59: +#line 377 "harbour.y" + { ;} + break; + + case 60: +#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 61: +#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 62: +#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 63: +#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 64: +#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 65: -#line 377 "../../harbour.y" - { ;} +#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 66: -#line 378 "../../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 67: -#line 379 "../../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 68: -#line 380 "../../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 69: -#line 381 "../../harbour.y" +#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 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; - ;} +#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 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; - ;} +#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 72: -#line 394 "../../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 73: -#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 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 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 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 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 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 401 "../../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 80: -#line 403 "../../harbour.y" + case 74: +#line 403 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; - case 81: -#line 403 "../../harbour.y" + case 75: +#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 82: -#line 407 "../../harbour.y" + case 76: +#line 407 "harbour.y" + { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; ;} + break; + + case 77: +#line 407 "harbour.y" + { hb_compLoopExit( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} + break; + + case 78: +#line 408 "harbour.y" + { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; ;} + break; + + case 79: +#line 408 "harbour.y" + { hb_compLoopLoop( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} + break; + + case 80: +#line 409 "harbour.y" { if( HB_COMP_PARAM->wSeqCounter ) { @@ -4745,13 +4788,13 @@ yyreduce: ;} break; - case 83: -#line 421 "../../harbour.y" + case 81: +#line 423 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->cVarType = ' '; ;} break; - case 84: -#line 423 "../../harbour.y" + case 82: +#line 425 "harbour.y" { HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' '; @@ -4772,54 +4815,34 @@ yyreduce: ;} break; - case 85: -#line 441 "../../harbour.y" + case 83: +#line 443 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->iVarScope = VS_PUBLIC; ;} break; - case 86: -#line 443 "../../harbour.y" + case 84: +#line 445 "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 88: -#line 447 "../../harbour.y" + case 86: +#line 449 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); HB_COMP_PARAM->iVarScope = VS_PRIVATE; ;} break; - case 89: -#line 449 "../../harbour.y" + case 87: +#line 451 "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 91: -#line 454 "../../harbour.y" - { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; ;} - break; - - case 92: -#line 454 "../../harbour.y" - { hb_compLoopExit( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} - break; - case 93: -#line 455 "../../harbour.y" - { HB_COMP_PARAM->fDontGenLineNum = !HB_COMP_PARAM->fDebugInfo; ;} - break; - - case 94: -#line 455 "../../harbour.y" - { hb_compLoopLoop( HB_COMP_PARAM ); HB_COMP_PARAM->functions.pLast->bFlags |= FUN_BREAK_CODE; ;} - break; - - case 96: -#line 457 "../../harbour.y" +#line 459 "harbour.y" { if( HB_COMP_PARAM->szAnnounce == NULL ) { @@ -4836,13 +4859,13 @@ yyreduce: ;} break; - case 98: -#line 471 "../../harbour.y" + case 95: +#line 473 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_WITH_RETURN; ;} break; - case 99: -#line 474 "../../harbour.y" + case 96: +#line 476 "harbour.y" { if( (yyvsp[(1) - (1)].valChar).dealloc ) { @@ -4853,8 +4876,8 @@ yyreduce: ;} break; - case 100: -#line 482 "../../harbour.y" + case 97: +#line 484 "harbour.y" { { char szFileName[ _POSIX_PATH_MAX + 1 ]; @@ -4868,38 +4891,38 @@ yyreduce: ;} break; - case 101: -#line 495 "../../harbour.y" + case 98: +#line 497 "harbour.y" { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; - case 103: -#line 498 "../../harbour.y" + case 100: +#line 500 "harbour.y" { (yyval.lNumber) = 0; HB_COMP_PARAM->fDontGenLineNum = TRUE; ;} break; + case 101: +#line 501 "harbour.y" + { (yyval.lNumber) = 1; ;} + break; + + case 102: +#line 502 "harbour.y" + { (yyval.lNumber) = 1; ;} + break; + + case 103: +#line 503 "harbour.y" + { (yyval.lNumber) = 1; ;} + break; + case 104: -#line 499 "../../harbour.y" - { (yyval.lNumber) = 1; ;} - break; - - case 105: -#line 500 "../../harbour.y" - { (yyval.lNumber) = 1; ;} - break; - - case 106: -#line 501 "../../harbour.y" - { (yyval.lNumber) = 1; ;} - break; - - case 107: -#line 502 "../../harbour.y" +#line 504 "harbour.y" { (yyval.lNumber) = 0; hb_compCheckUnclosedStru( HB_COMP_PARAM ); ;} break; - case 108: -#line 503 "../../harbour.y" + case 105: +#line 505 "harbour.y" { int iLine = hb_pp_line( HB_COMP_PARAM->pLex->pPP ); if( HB_COMP_PARAM->ilastLineErr && HB_COMP_PARAM->ilastLineErr == iLine ) { @@ -4910,146 +4933,146 @@ yyreduce: yyerrok; HB_COMP_PARAM->ilastLineErr = iLine; } - ;} + ;} + break; + + case 106: +#line 518 "harbour.y" + {;} + break; + + case 107: +#line 519 "harbour.y" + {;} + break; + + case 108: +#line 520 "harbour.y" + {;} break; case 109: -#line 516 "../../harbour.y" +#line 521 "harbour.y" {;} break; - case 110: -#line 517 "../../harbour.y" - {;} - break; - - case 111: -#line 518 "../../harbour.y" - {;} - break; - - case 112: -#line 519 "../../harbour.y" - {;} - break; - - case 117: -#line 528 "../../harbour.y" + case 114: +#line 530 "harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (1)].lNumber); ;} break; - case 118: -#line 529 "../../harbour.y" + case 115: +#line 531 "harbour.y" { (yyval.lNumber) += (yyvsp[(2) - (2)].lNumber); ;} break; - case 119: -#line 532 "../../harbour.y" + case 116: +#line 534 "harbour.y" { hb_compExternAdd( HB_COMP_PARAM, (yyvsp[(1) - (1)].string) ); ;} break; - case 120: -#line 533 "../../harbour.y" + case 117: +#line 535 "harbour.y" { hb_compExternAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].string) ); ;} break; - case 121: -#line 536 "../../harbour.y" + case 118: +#line 538 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; - case 122: -#line 537 "../../harbour.y" + case 119: +#line 539 "harbour.y" { (yyval.string) = "STEP"; ;} break; - case 123: -#line 538 "../../harbour.y" + case 120: +#line 540 "harbour.y" { (yyval.string) = "TO"; ;} break; - case 124: -#line 539 "../../harbour.y" + case 121: +#line 541 "harbour.y" { (yyval.string) = "LOOP"; ;} break; - case 125: -#line 540 "../../harbour.y" + case 122: +#line 542 "harbour.y" { (yyval.string) = "EXIT"; ;} break; - case 126: -#line 541 "../../harbour.y" + case 123: +#line 543 "harbour.y" { (yyval.string) = "IN"; ;} break; + case 124: +#line 544 "harbour.y" + { (yyval.string) = (yyvsp[(1) - (1)].string); ;} + break; + + case 125: +#line 545 "harbour.y" + { (yyval.string) = (yyvsp[(1) - (1)].string); ;} + break; + + case 126: +#line 546 "harbour.y" + { (yyval.string) = (yyvsp[(1) - (1)].string); ;} + break; + case 127: -#line 542 "../../harbour.y" +#line 547 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 128: -#line 543 "../../harbour.y" +#line 548 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 129: -#line 544 "../../harbour.y" +#line 549 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 130: -#line 545 "../../harbour.y" +#line 550 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 131: -#line 546 "../../harbour.y" +#line 551 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 132: -#line 547 "../../harbour.y" +#line 552 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 133: -#line 548 "../../harbour.y" +#line 553 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 134: -#line 549 "../../harbour.y" +#line 554 "harbour.y" { (yyval.string) = (yyvsp[(1) - (1)].string); ;} break; case 135: -#line 550 "../../harbour.y" - { (yyval.string) = (yyvsp[(1) - (1)].string); ;} - break; - - case 136: -#line 551 "../../harbour.y" - { (yyval.string) = (yyvsp[(1) - (1)].string); ;} - break; - - case 137: -#line 552 "../../harbour.y" - { (yyval.string) = (yyvsp[(1) - (1)].string); ;} - break; - - case 138: -#line 557 "../../harbour.y" +#line 559 "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 139: -#line 558 "../../harbour.y" + case 136: +#line 560 "harbour.y" { (yyval.asExpr) = hb_compExprNewLong( (yyvsp[(1) - (1)].valLong).lNumber, HB_COMP_PARAM ); ;} break; - case 140: -#line 561 "../../harbour.y" + case 137: +#line 563 "harbour.y" { (yyval.asExpr) = hb_compExprNewDate( (yyvsp[(1) - (1)].valLong).lNumber, HB_COMP_PARAM ); if( (yyvsp[(1) - (1)].valLong).lNumber == 0 ) { @@ -5058,2099 +5081,2099 @@ yyreduce: ;} break; - case 141: -#line 569 "../../harbour.y" + case 138: +#line 571 "harbour.y" { (yyval.asExpr) = hb_compExprNewLong( (yyvsp[(1) - (2)].valLong).lNumber, HB_COMP_PARAM ); ;} break; - case 142: -#line 570 "../../harbour.y" + case 139: +#line 572 "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 143: -#line 575 "../../harbour.y" + case 140: +#line 577 "harbour.y" { (yyval.asExpr) = hb_compExprNewNil( HB_COMP_PARAM ); ;} break; - case 144: -#line 578 "../../harbour.y" + case 141: +#line 580 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 145: -#line 583 "../../harbour.y" + case 142: +#line 585 "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" + case 143: +#line 591 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; + case 144: +#line 596 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} + break; + + case 145: +#line 601 "harbour.y" + { (yyval.asExpr) = hb_compExprNewLogical( TRUE, HB_COMP_PARAM ); ;} + break; + + case 146: +#line 602 "harbour.y" + { (yyval.asExpr) = hb_compExprNewLogical( FALSE, HB_COMP_PARAM ); ;} + break; + case 147: -#line 594 "../../harbour.y" +#line 605 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 148: -#line 599 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewLogical( TRUE, HB_COMP_PARAM ); ;} - break; - - case 149: -#line 600 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewLogical( FALSE, HB_COMP_PARAM ); ;} - break; - - case 150: -#line 603 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} - break; - - case 151: -#line 608 "../../harbour.y" +#line 610 "harbour.y" { (yyval.asExpr) = hb_compExprNewSelf( HB_COMP_PARAM ); ;} break; + case 149: +#line 613 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} + break; + + case 150: +#line 618 "harbour.y" + {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_ARRAY;;} + break; + + case 151: +#line 618 "harbour.y" + { (yyval.asExpr) = hb_compExprNewArray( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ); HB_COMP_PARAM->iPassByRef=(yyvsp[(2) - (4)].bTrue); ;} + break; + case 152: -#line 611 "../../harbour.y" +#line 621 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 153: -#line 616 "../../harbour.y" - {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_ARRAY;;} - break; - - 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 155: -#line 619 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} - break; - - case 156: -#line 624 "../../harbour.y" +#line 626 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 157: -#line 627 "../../harbour.y" + case 154: +#line 629 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 158: -#line 632 "../../harbour.y" + case 155: +#line 634 "harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 159: -#line 635 "../../harbour.y" + case 156: +#line 637 "harbour.y" { (yyval.asExpr) = hb_compExprNewAlias( (yyvsp[(1) - (2)].string), HB_COMP_PARAM ); ;} break; - case 160: -#line 640 "../../harbour.y" + case 157: +#line 642 "harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( NULL, '&', (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 161: -#line 641 "../../harbour.y" + case 158: +#line 643 "harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( NULL, 0, (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 162: -#line 644 "../../harbour.y" + case 159: +#line 646 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 163: -#line 649 "../../harbour.y" + case 160: +#line 651 "harbour.y" { (yyval.asExpr) = hb_compExprNewMacro( (yyvsp[(2) - (2)].asExpr), 0, NULL, HB_COMP_PARAM ); ;} break; - case 164: -#line 652 "../../harbour.y" + case 161: +#line 654 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 165: -#line 659 "../../harbour.y" + case 162: +#line 661 "harbour.y" { (yyval.asExpr) = hb_compExprNewAlias( "FIELD", HB_COMP_PARAM ); ;} break; - case 166: -#line 660 "../../harbour.y" + case 163: +#line 662 "harbour.y" { (yyval.asExpr) = (yyvsp[(3) - (3)].asExpr); ;} break; + case 164: +#line 667 "harbour.y" + { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + + case 165: +#line 668 "harbour.y" + { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + + case 166: +#line 669 "harbour.y" + { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + case 167: -#line 665 "../../harbour.y" +#line 670 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 168: -#line 666 "../../harbour.y" +#line 671 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 169: -#line 667 "../../harbour.y" - { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} +#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 170: -#line 668 "../../harbour.y" - { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} +#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 171: -#line 669 "../../harbour.y" - { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} +#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 172: -#line 670 "../../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 173: -#line 671 "../../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 174: -#line 672 "../../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 175: -#line 673 "../../harbour.y" +#line 678 "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 674 "../../harbour.y" +#line 679 "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 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 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 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 680 "../../harbour.y" +#line 682 "harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 181: -#line 681 "../../harbour.y" + case 178: +#line 683 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; + case 179: +#line 684 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + + case 180: +#line 687 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} + break; + + case 181: +#line 688 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} + break; + case 182: -#line 682 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 689 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 183: -#line 685 "../../harbour.y" +#line 690 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 184: -#line 686 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} +#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 185: -#line 687 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} +#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 186: -#line 688 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} +#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 187: -#line 689 "../../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 188: -#line 690 "../../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 189: -#line 691 "../../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 190: -#line 692 "../../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 191: -#line 693 "../../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 192: -#line 694 "../../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 193: -#line 695 "../../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 194: -#line 696 "../../harbour.y" +#line 701 "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 697 "../../harbour.y" +#line 702 "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 698 "../../harbour.y" - { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} +#line 703 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 197: -#line 699 "../../harbour.y" - { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} +#line 704 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 198: -#line 700 "../../harbour.y" - { hb_compExprDelete( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(1) - (2)].asExpr) ); ;} +#line 705 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 199: -#line 701 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} +#line 714 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 200: -#line 702 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} +#line 715 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 201: -#line 703 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasVar( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} +#line 716 "harbour.y" + { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 202: -#line 712 "../../harbour.y" +#line 717 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 203: -#line 713 "../../harbour.y" +#line 718 "harbour.y" { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; case 204: -#line 714 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 205: -#line 715 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 206: -#line 716 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewAliasExpr( (yyvsp[(1) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 207: -#line 717 "../../harbour.y" +#line 719 "harbour.y" { hb_compExprDelete( (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ); (yyval.asExpr) = hb_compErrorAlias( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); ;} break; + case 205: +#line 724 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + + case 206: +#line 725 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + + case 207: +#line 726 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + case 208: -#line 722 "../../harbour.y" +#line 727 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 209: -#line 723 "../../harbour.y" +#line 728 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 210: -#line 724 "../../harbour.y" +#line 729 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 211: -#line 725 "../../harbour.y" +#line 730 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 212: -#line 726 "../../harbour.y" +#line 731 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 213: -#line 727 "../../harbour.y" +#line 732 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 214: -#line 728 "../../harbour.y" +#line 733 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 215: -#line 729 "../../harbour.y" +#line 734 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 216: -#line 730 "../../harbour.y" +#line 735 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 217: -#line 731 "../../harbour.y" +#line 736 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 218: -#line 732 "../../harbour.y" +#line 737 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 219: -#line 733 "../../harbour.y" +#line 738 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 220: -#line 734 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 221: -#line 735 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 222: -#line 736 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 223: -#line 739 "../../harbour.y" +#line 741 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; + case 221: +#line 746 "harbour.y" + {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} + break; + + case 222: +#line 746 "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 223: +#line 749 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + case 224: -#line 744 "../../harbour.y" +#line 750 "harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; case 225: -#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); ;} +#line 750 "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 226: -#line 747 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 751 "harbour.y" + {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; case 227: -#line 748 "../../harbour.y" - {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} +#line 751 "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 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 749 "../../harbour.y" - {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} - break; - - 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 231: -#line 752 "../../harbour.y" +#line 754 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 232: -#line 753 "../../harbour.y" + case 229: +#line 755 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 233: -#line 756 "../../harbour.y" + case 230: +#line 758 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 234: -#line 762 "../../harbour.y" + case 231: +#line 764 "harbour.y" { (yyval.asMessage).value.string = (yyvsp[(1) - (1)].string); (yyval.asMessage).bMacro=FALSE; ;} break; - case 235: -#line 763 "../../harbour.y" + case 232: +#line 765 "harbour.y" { (yyval.asMessage).value.macro = (yyvsp[(1) - (1)].asExpr); (yyval.asMessage).bMacro=TRUE; ;} break; + case 233: +#line 766 "harbour.y" + { (yyval.asMessage).value.macro = (yyvsp[(1) - (1)].asExpr); (yyval.asMessage).bMacro=TRUE; ;} + break; + + case 234: +#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 235: +#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 236: -#line 764 "../../harbour.y" - { (yyval.asMessage).value.macro = (yyvsp[(1) - (1)].asExpr); (yyval.asMessage).bMacro=TRUE; ;} +#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 237: -#line 767 "../../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 238: -#line 768 "../../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 239: -#line 769 "../../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 240: -#line 770 "../../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 241: -#line 771 "../../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 242: -#line 772 "../../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 243: -#line 773 "../../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 244: -#line 774 "../../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 245: -#line 775 "../../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 246: -#line 776 "../../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 247: -#line 777 "../../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 248: -#line 778 "../../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 249: -#line 779 "../../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 250: -#line 780 "../../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 251: -#line 781 "../../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 252: -#line 782 "../../harbour.y" +#line 787 "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 783 "../../harbour.y" +#line 788 "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 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 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 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 787 "../../harbour.y" +#line 789 "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 258: -#line 793 "../../harbour.y" + case 255: +#line 795 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 259: -#line 798 "../../harbour.y" + case 256: +#line 800 "harbour.y" {(yyval.bTrue)=HB_COMP_PARAM->iPassByRef;HB_COMP_PARAM->iPassByRef=HB_PASSBYREF_FUNCALL;;} break; - case 260: -#line 798 "../../harbour.y" + case 257: +#line 800 "harbour.y" { (yyval.asExpr) = hb_compExprNewMethodCall( (yyvsp[(1) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr) ); HB_COMP_PARAM->iPassByRef=(yyvsp[(3) - (5)].bTrue); ;} break; - case 261: -#line 801 "../../harbour.y" + case 258: +#line 803 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; + case 260: +#line 813 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + + case 261: +#line 814 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + + case 262: +#line 815 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + case 263: -#line 811 "../../harbour.y" +#line 816 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 264: -#line 812 "../../harbour.y" +#line 817 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 265: -#line 813 "../../harbour.y" +#line 818 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 266: -#line 814 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 819 "harbour.y" + {HB_COMP_PARAM->cVarType = ' ';;} break; case 267: -#line 815 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 819 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 268: -#line 816 "../../harbour.y" +#line 820 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 269: -#line 817 "../../harbour.y" - {HB_COMP_PARAM->cVarType = ' ';;} +#line 821 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 270: -#line 817 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} +#line 822 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 271: -#line 818 "../../harbour.y" +#line 823 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 272: -#line 819 "../../harbour.y" +#line 824 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 273: -#line 820 "../../harbour.y" +#line 825 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 274: -#line 821 "../../harbour.y" +#line 826 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 275: -#line 822 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 827 "harbour.y" + {HB_COMP_PARAM->cVarType = ' ';;} break; case 276: -#line 823 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 827 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 277: -#line 824 "../../harbour.y" +#line 828 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 278: -#line 825 "../../harbour.y" - {HB_COMP_PARAM->cVarType = ' ';;} - break; - - case 279: -#line 825 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} - break; - - case 280: -#line 826 "../../harbour.y" +#line 829 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; + case 279: +#line 830 "harbour.y" + {HB_COMP_PARAM->cVarType = ' ';;} + break; + + case 280: +#line 830 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} + break; + case 281: -#line 827 "../../harbour.y" +#line 831 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 282: -#line 828 "../../harbour.y" +#line 832 "harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; case 283: -#line 828 "../../harbour.y" +#line 832 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 284: -#line 829 "../../harbour.y" +#line 833 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 285: -#line 830 "../../harbour.y" - {HB_COMP_PARAM->cVarType = ' ';;} +#line 834 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 286: -#line 830 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} +#line 835 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 287: -#line 831 "../../harbour.y" +#line 836 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 288: -#line 832 "../../harbour.y" +#line 837 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 289: -#line 833 "../../harbour.y" +#line 838 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 290: -#line 834 "../../harbour.y" +#line 839 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 291: -#line 835 "../../harbour.y" +#line 840 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 292: -#line 836 "../../harbour.y" +#line 841 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 293: -#line 837 "../../harbour.y" +#line 844 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 294: -#line 838 "../../harbour.y" +#line 845 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 295: -#line 839 "../../harbour.y" +#line 846 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 296: -#line 842 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 847 "harbour.y" + { HB_COMP_PARAM->cVarType = ' ';;} break; case 297: -#line 843 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 847 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 298: -#line 844 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} +#line 848 "harbour.y" + { HB_COMP_PARAM->cVarType = ' ';;} break; case 299: -#line 845 "../../harbour.y" - { HB_COMP_PARAM->cVarType = ' ';;} +#line 848 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} break; case 300: -#line 845 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} - break; - - case 301: -#line 846 "../../harbour.y" - { HB_COMP_PARAM->cVarType = ' ';;} - break; - - case 302: -#line 846 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (3)].asExpr); ;} - break; - - case 303: -#line 847 "../../harbour.y" +#line 849 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewVarRef( (yyvsp[(2) - (2)].string), HB_COMP_PARAM ) ); ;} break; - case 304: -#line 848 "../../harbour.y" + case 301: +#line 850 "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" + case 302: +#line 851 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); ;} break; - case 306: -#line 850 "../../harbour.y" + case 303: +#line 852 "harbour.y" { (yyval.asExpr) = hb_compCheckPassByRef( HB_COMP_PARAM, hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ) ); ;} break; - case 307: -#line 851 "../../harbour.y" + case 304: +#line 853 "harbour.y" { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 308: -#line 854 "../../harbour.y" + case 305: +#line 856 "harbour.y" { (yyval.asExpr) = hb_compExprNewEmpty( HB_COMP_PARAM ); ;} break; - case 310: -#line 858 "../../harbour.y" + case 307: +#line 860 "harbour.y" { (yyval.asExpr) = hb_compExprNewVar( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 316: -#line 864 "../../harbour.y" + case 313: +#line 866 "harbour.y" { (yyval.asExpr) = hb_compExprListStrip( (yyvsp[(1) - (1)].asExpr), NULL ); ;} break; - case 317: -#line 870 "../../harbour.y" + case 314: +#line 872 "harbour.y" { (yyval.asExpr) = hb_compExprNewPostInc( (yyvsp[(0) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 318: -#line 871 "../../harbour.y" + case 315: +#line 873 "harbour.y" { (yyval.asExpr) = hb_compExprNewPostDec( (yyvsp[(0) - (1)].asExpr), HB_COMP_PARAM ); ;} break; + case 316: +#line 880 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + + case 317: +#line 881 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + + case 318: +#line 882 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} + break; + case 319: -#line 878 "../../harbour.y" +#line 883 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 320: -#line 879 "../../harbour.y" +#line 884 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 321: -#line 880 "../../harbour.y" +#line 885 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 322: -#line 881 "../../harbour.y" +#line 886 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 323: -#line 882 "../../harbour.y" +#line 887 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 324: -#line 883 "../../harbour.y" +#line 888 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 325: -#line 884 "../../harbour.y" +#line 889 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 326: -#line 885 "../../harbour.y" +#line 890 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 327: -#line 886 "../../harbour.y" +#line 891 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 328: -#line 887 "../../harbour.y" +#line 892 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 329: -#line 888 "../../harbour.y" +#line 893 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 330: -#line 889 "../../harbour.y" +#line 894 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 331: -#line 890 "../../harbour.y" +#line 895 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 332: -#line 891 "../../harbour.y" +#line 896 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 333: -#line 892 "../../harbour.y" +#line 897 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 334: -#line 893 "../../harbour.y" +#line 898 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; case 335: -#line 894 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 336: -#line 895 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 337: -#line 896 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} - break; - - case 338: -#line 899 "../../harbour.y" +#line 901 "harbour.y" { (yyval.asExpr) = hb_compExprNewPreInc( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 339: -#line 900 "../../harbour.y" + case 336: +#line 902 "harbour.y" { (yyval.asExpr) = hb_compExprNewPreDec( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 340: -#line 903 "../../harbour.y" + case 337: +#line 905 "harbour.y" { (yyval.asExpr) = hb_compExprNewNot( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 341: -#line 904 "../../harbour.y" + case 338: +#line 906 "harbour.y" { (yyval.asExpr) = hb_compExprNewNegate( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 342: -#line 905 "../../harbour.y" + case 339: +#line 907 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; + case 340: +#line 914 "harbour.y" + { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} + break; + + case 341: +#line 915 "harbour.y" + { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} + break; + + case 342: +#line 916 "harbour.y" + { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} + break; + case 343: -#line 912 "../../harbour.y" +#line 917 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 344: -#line 913 "../../harbour.y" +#line 918 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 345: -#line 914 "../../harbour.y" +#line 919 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 346: -#line 915 "../../harbour.y" +#line 920 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 347: -#line 916 "../../harbour.y" +#line 921 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 348: -#line 917 "../../harbour.y" - { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 922 "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 349: -#line 918 "../../harbour.y" +#line 923 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 350: -#line 919 "../../harbour.y" +#line 924 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 351: -#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 = ' ';;} +#line 925 "harbour.y" + { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 352: -#line 921 "../../harbour.y" +#line 926 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 353: -#line 922 "../../harbour.y" - { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 927 "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 354: -#line 923 "../../harbour.y" +#line 928 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 355: -#line 924 "../../harbour.y" +#line 929 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 356: -#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" +#line 930 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; + case 357: +#line 931 "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 358: -#line 927 "../../harbour.y" +#line 932 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 359: -#line 928 "../../harbour.y" +#line 935 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 360: -#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 = ' ';;} +#line 936 "harbour.y" + { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 361: -#line 930 "../../harbour.y" +#line 937 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 362: -#line 933 "../../harbour.y" +#line 938 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 363: -#line 934 "../../harbour.y" +#line 939 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 364: -#line 935 "../../harbour.y" +#line 940 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 365: -#line 936 "../../harbour.y" +#line 941 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 366: -#line 937 "../../harbour.y" +#line 942 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 367: -#line 938 "../../harbour.y" +#line 943 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 368: -#line 939 "../../harbour.y" +#line 944 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 369: -#line 940 "../../harbour.y" +#line 945 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 370: -#line 941 "../../harbour.y" +#line 946 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 371: -#line 942 "../../harbour.y" +#line 947 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 372: -#line 943 "../../harbour.y" +#line 948 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 373: -#line 944 "../../harbour.y" +#line 949 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 374: -#line 945 "../../harbour.y" +#line 950 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 375: -#line 946 "../../harbour.y" +#line 951 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 376: -#line 947 "../../harbour.y" +#line 952 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 377: -#line 948 "../../harbour.y" +#line 953 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 378: -#line 949 "../../harbour.y" +#line 954 "harbour.y" { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; case 379: -#line 950 "../../harbour.y" - { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 380: -#line 951 "../../harbour.y" - { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 381: -#line 952 "../../harbour.y" - { (yyval.asExpr) = hb_compExprAssign( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 382: -#line 955 "../../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 383: -#line 956 "../../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 384: -#line 957 "../../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 385: -#line 958 "../../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 386: -#line 959 "../../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 387: -#line 960 "../../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 388: -#line 961 "../../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 389: -#line 962 "../../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 390: -#line 963 "../../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 391: -#line 964 "../../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 392: -#line 965 "../../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 393: -#line 966 "../../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 394: -#line 967 "../../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 395: -#line 968 "../../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 396: -#line 969 "../../harbour.y" +#line 974 "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 970 "../../harbour.y" +#line 975 "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 971 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 399: -#line 972 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 400: -#line 973 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 401: -#line 976 "../../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 402: -#line 977 "../../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 403: -#line 978 "../../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 404: -#line 979 "../../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 405: -#line 980 "../../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 406: -#line 981 "../../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 407: -#line 982 "../../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 408: -#line 983 "../../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 409: -#line 984 "../../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 410: -#line 985 "../../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 411: -#line 986 "../../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 412: -#line 987 "../../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 413: -#line 988 "../../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 414: -#line 989 "../../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 415: -#line 990 "../../harbour.y" +#line 995 "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 991 "../../harbour.y" +#line 996 "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 992 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 418: -#line 993 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 419: -#line 994 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinusEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 420: -#line 997 "../../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 421: -#line 998 "../../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 422: -#line 999 "../../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 423: -#line 1000 "../../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 424: -#line 1001 "../../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 425: -#line 1002 "../../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 426: -#line 1003 "../../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 427: -#line 1004 "../../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 428: -#line 1005 "../../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 429: -#line 1006 "../../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 430: -#line 1007 "../../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 431: -#line 1008 "../../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 432: -#line 1009 "../../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 433: -#line 1010 "../../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 434: -#line 1011 "../../harbour.y" +#line 1016 "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 1012 "../../harbour.y" +#line 1017 "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 1013 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 437: -#line 1014 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 438: -#line 1015 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMultEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 439: -#line 1018 "../../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 440: -#line 1019 "../../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 441: -#line 1020 "../../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 442: -#line 1021 "../../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 443: -#line 1022 "../../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 444: -#line 1023 "../../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 445: -#line 1024 "../../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 446: -#line 1025 "../../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 447: -#line 1026 "../../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 448: -#line 1027 "../../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 449: -#line 1028 "../../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 450: -#line 1029 "../../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 451: -#line 1030 "../../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 452: -#line 1031 "../../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 453: -#line 1032 "../../harbour.y" +#line 1037 "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 1033 "../../harbour.y" +#line 1038 "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 1034 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 456: -#line 1035 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 457: -#line 1036 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDivEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 458: -#line 1039 "../../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 459: -#line 1040 "../../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 460: -#line 1041 "../../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 461: -#line 1042 "../../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 462: -#line 1043 "../../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 463: -#line 1044 "../../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 464: -#line 1045 "../../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 465: -#line 1046 "../../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 466: -#line 1047 "../../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 467: -#line 1048 "../../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 468: -#line 1049 "../../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 469: -#line 1050 "../../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 470: -#line 1051 "../../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 471: -#line 1052 "../../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 472: -#line 1053 "../../harbour.y" +#line 1058 "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 1054 "../../harbour.y" +#line 1059 "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 1055 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 475: -#line 1056 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 476: -#line 1057 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewModEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#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 477: -#line 1060 "../../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 478: -#line 1061 "../../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 479: -#line 1062 "../../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 480: -#line 1063 "../../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 481: -#line 1064 "../../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 482: -#line 1065 "../../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 483: -#line 1066 "../../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 484: -#line 1067 "../../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 485: -#line 1068 "../../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 486: -#line 1069 "../../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 487: -#line 1070 "../../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 488: -#line 1071 "../../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 489: -#line 1072 "../../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 490: -#line 1073 "../../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 491: -#line 1074 "../../harbour.y" +#line 1079 "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 1075 "../../harbour.y" +#line 1080 "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 1076 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 1083 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 494: -#line 1077 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 1084 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 495: -#line 1078 "../../harbour.y" - { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewExpEq( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} +#line 1085 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 496: -#line 1081 "../../harbour.y" +#line 1086 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 497: -#line 1082 "../../harbour.y" +#line 1087 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 498: -#line 1083 "../../harbour.y" +#line 1088 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 499: -#line 1084 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 500: -#line 1085 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 501: -#line 1086 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 502: -#line 1089 "../../harbour.y" +#line 1091 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPlus( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 503: -#line 1090 "../../harbour.y" + case 500: +#line 1092 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMinus( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 504: -#line 1091 "../../harbour.y" + case 501: +#line 1093 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMult( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 505: -#line 1092 "../../harbour.y" + case 502: +#line 1094 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewDiv( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 506: -#line 1093 "../../harbour.y" + case 503: +#line 1095 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewMod( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 507: -#line 1094 "../../harbour.y" + case 504: +#line 1096 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewPower( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 508: -#line 1097 "../../harbour.y" + case 505: +#line 1099 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewAnd( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 509: -#line 1098 "../../harbour.y" + case 506: +#line 1100 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewOr( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 510: -#line 1101 "../../harbour.y" + case 507: +#line 1103 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewEQ( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 511: -#line 1102 "../../harbour.y" + case 508: +#line 1104 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewLT( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 512: -#line 1103 "../../harbour.y" + case 509: +#line 1105 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewGT( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 513: -#line 1104 "../../harbour.y" + case 510: +#line 1106 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewLE( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 514: -#line 1105 "../../harbour.y" + case 511: +#line 1107 "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" + case 512: +#line 1108 "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 1107 "../../harbour.y" + case 513: +#line 1109 "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 1108 "../../harbour.y" + case 514: +#line 1110 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewIN( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 518: -#line 1109 "../../harbour.y" + case 515: +#line 1111 "harbour.y" { (yyval.asExpr) = hb_compExprSetOperand( hb_compExprNewEqual( (yyvsp[(1) - (3)].asExpr), HB_COMP_PARAM ), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 519: -#line 1112 "../../harbour.y" + case 516: +#line 1114 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 520: -#line 1118 "../../harbour.y" + case 517: +#line 1120 "harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(0) - (2)].asExpr), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 521: -#line 1119 "../../harbour.y" + case 518: +#line 1121 "harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 522: -#line 1120 "../../harbour.y" + case 519: +#line 1122 "harbour.y" { (yyval.asExpr) = hb_compExprNewArrayAt( (yyvsp[(1) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ); ;} break; - case 523: -#line 1123 "../../harbour.y" + case 520: +#line 1125 "harbour.y" { (yyval.asExpr) = hb_compExprNewList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 524: -#line 1124 "../../harbour.y" + case 521: +#line 1126 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 525: -#line 1127 "../../harbour.y" + case 522: +#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 523: +#line 1130 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (6)].asExpr); ;} + break; + + case 524: +#line 1131 "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 525: +#line 1132 "harbour.y" + { (yyval.asExpr) = (yyvsp[(2) - (6)].asExpr); ;} + break; + case 526: -#line 1128 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (6)].asExpr); ;} - break; - - case 527: -#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 528: -#line 1130 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(2) - (6)].asExpr); ;} - break; - - case 529: -#line 1135 "../../harbour.y" +#line 1137 "harbour.y" { (yyval.asExpr) = hb_compExprAddCodeblockExpr( (yyvsp[(-2) - (1)].asExpr), (yyvsp[(1) - (1)].asExpr) ); ;} break; - case 530: -#line 1136 "../../harbour.y" + case 527: +#line 1138 "harbour.y" { (yyval.asExpr) = hb_compExprAddCodeblockExpr( (yyvsp[(-2) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 531: -#line 1142 "../../harbour.y" + case 528: +#line 1144 "harbour.y" { (yyval.asExpr) = NULL; ;} break; - case 532: -#line 1145 "../../harbour.y" + case 529: +#line 1147 "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 533: -#line 1146 "../../harbour.y" + case 530: +#line 1148 "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 531: +#line 1158 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} + break; + + case 532: +#line 1161 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} + break; + + case 533: +#line 1164 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} + break; + case 534: -#line 1156 "../../harbour.y" +#line 1167 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; case 535: -#line 1159 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} +#line 1170 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 536: -#line 1162 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} +#line 1171 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 537: -#line 1165 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} +#line 1172 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 538: -#line 1168 "../../harbour.y" +#line 1173 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; case 539: -#line 1169 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 540: -#line 1170 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 541: -#line 1171 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 542: -#line 1174 "../../harbour.y" +#line 1176 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 543: -#line 1177 "../../harbour.y" + case 540: +#line 1179 "harbour.y" { (yyval.asExpr) = hb_compExprNewList( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; + case 541: +#line 1182 "harbour.y" + { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} + break; + + case 542: +#line 1185 "harbour.y" + { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} + break; + + case 543: +#line 1188 "harbour.y" + { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} + break; + case 544: -#line 1180 "../../harbour.y" +#line 1189 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; case 545: -#line 1183 "../../harbour.y" - { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} - break; - - case 546: -#line 1186 "../../harbour.y" - { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} - break; - - case 547: -#line 1187 "../../harbour.y" - { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} - break; - - case 548: -#line 1190 "../../harbour.y" +#line 1192 "harbour.y" { (yyval.asExpr) = hb_compExprNewIIF( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 549: -#line 1192 "../../harbour.y" + case 546: +#line 1194 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(2) - (5)].asExpr), (yyvsp[(4) - (5)].asExpr) ); ;} break; - case 550: -#line 1194 "../../harbour.y" + case 547: +#line 1196 "harbour.y" { (yyval.asExpr) = hb_compExprNewIIF( hb_compExprAddListExpr( (yyvsp[(6) - (8)].asExpr), (yyvsp[(7) - (8)].asExpr) ), HB_COMP_PARAM ); ;} break; - case 551: -#line 1197 "../../harbour.y" + case 548: +#line 1199 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 552: -#line 1200 "../../harbour.y" + case 549: +#line 1202 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_LOCAL; hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 553: -#line 1200 "../../harbour.y" + case 550: +#line 1203 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 554: -#line 1201 "../../harbour.y" + case 551: +#line 1204 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_STATIC; hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 555: -#line 1201 "../../harbour.y" + case 552: +#line 1205 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 556: -#line 1202 "../../harbour.y" + case 553: +#line 1206 "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 557: -#line 1206 "../../harbour.y" + case 554: +#line 1210 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 558: -#line 1209 "../../harbour.y" + case 555: +#line 1213 "harbour.y" { (yyval.iNumber) = 1; ;} break; - case 559: -#line 1210 "../../harbour.y" + case 556: +#line 1214 "harbour.y" + { (yyval.iNumber)++; ;} + break; + + case 557: +#line 1217 "harbour.y" + { (yyval.iNumber) = 1; ;} + break; + + case 558: +#line 1218 "harbour.y" { (yyval.iNumber)++; ;} break; case 560: -#line 1213 "../../harbour.y" - { (yyval.iNumber) = 1; ;} - break; - - case 561: -#line 1214 "../../harbour.y" - { (yyval.iNumber)++; ;} - break; - - case 563: -#line 1224 "../../harbour.y" +#line 1228 "harbour.y" { hb_compRTVariableAdd( HB_COMP_PARAM, hb_compExprNewRTVar( NULL, (yyvsp[(1) - (2)].asExpr), HB_COMP_PARAM ), FALSE ); ;} break; - case 564: -#line 1226 "../../harbour.y" + case 561: +#line 1230 "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 565: -#line 1230 "../../harbour.y" + case 562: +#line 1234 "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 ); @@ -7159,8 +7182,8 @@ yyreduce: ;} break; - case 566: -#line 1237 "../../harbour.y" + case 563: +#line 1241 "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 ); @@ -7169,13 +7192,13 @@ yyreduce: ;} break; - case 567: -#line 1245 "../../harbour.y" + case 564: +#line 1249 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 568: -#line 1246 "../../harbour.y" + case 565: +#line 1250 "harbour.y" { if( HB_COMP_PARAM->iVarScope == VS_STATIC ) { @@ -7190,20 +7213,20 @@ yyreduce: ;} break; - case 569: -#line 1259 "../../harbour.y" + case 566: +#line 1263 "harbour.y" { (yyval.iNumber) = HB_COMP_PARAM->iVarScope; hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 570: -#line 1262 "../../harbour.y" + case 567: +#line 1266 "harbour.y" {HB_COMP_PARAM->cVarType = ' ';;} break; - case 571: -#line 1263 "../../harbour.y" + case 568: +#line 1267 "harbour.y" { HB_COMP_PARAM->cCastType = HB_COMP_PARAM->cVarType; HB_COMP_PARAM->cVarType = ' '; @@ -7229,88 +7252,88 @@ yyreduce: ;} break; - case 572: -#line 1287 "../../harbour.y" + case 569: +#line 1291 "harbour.y" { hb_compVariableDim( (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 573: -#line 1288 "../../harbour.y" + case 570: +#line 1292 "harbour.y" { hb_compVariableDim( (yyvsp[(1) - (3)].string), (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ); ;} break; - case 574: -#line 1294 "../../harbour.y" + case 571: +#line 1298 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (2)].asExpr); ;} break; - case 575: -#line 1297 "../../harbour.y" + case 572: +#line 1301 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 576: -#line 1298 "../../harbour.y" + case 573: +#line 1302 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 577: -#line 1299 "../../harbour.y" + case 574: +#line 1303 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr) ); ;} break; - case 578: -#line 1303 "../../harbour.y" + case 575: +#line 1307 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_FIELD; ;} break; - case 579: -#line 1303 "../../harbour.y" + case 576: +#line 1307 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 580: -#line 1306 "../../harbour.y" + case 577: +#line 1310 "harbour.y" { (yyval.iNumber)=hb_compFieldsCount( HB_COMP_PARAM ); hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 581: -#line 1307 "../../harbour.y" + case 578: +#line 1311 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 582: -#line 1308 "../../harbour.y" + case 579: +#line 1312 "harbour.y" { hb_compFieldSetAlias( HB_COMP_PARAM, (yyvsp[(3) - (3)].string), (yyvsp[(1) - (3)].iNumber) ); ;} break; - case 583: -#line 1311 "../../harbour.y" + case 580: +#line 1315 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_MEMVAR; ;} break; - case 584: -#line 1311 "../../harbour.y" + case 581: +#line 1315 "harbour.y" { HB_COMP_PARAM->cVarType = ' '; ;} break; - case 585: -#line 1314 "../../harbour.y" + case 582: +#line 1318 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 586: -#line 1315 "../../harbour.y" + case 583: +#line 1319 "harbour.y" { hb_compVariableAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 587: -#line 1318 "../../harbour.y" + case 584: +#line 1322 "harbour.y" { hb_compDeclaredAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string) ); HB_COMP_PARAM->szDeclaredFun = (yyvsp[(2) - (3)].string); ;} break; - case 588: -#line 1319 "../../harbour.y" + case 585: +#line 1323 "harbour.y" { if( HB_COMP_PARAM->pLastDeclared ) { @@ -7335,43 +7358,43 @@ yyreduce: ;} break; - case 589: -#line 1341 "../../harbour.y" + case 586: +#line 1345 "harbour.y" { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (2)].string) ); ;} break; - case 590: -#line 1341 "../../harbour.y" + case 587: +#line 1345 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 591: -#line 1342 "../../harbour.y" + case 588: +#line 1346 "harbour.y" { HB_COMP_PARAM->pLastClass = hb_compClassAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string) ); HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 592: -#line 1343 "../../harbour.y" + case 589: +#line 1347 "harbour.y" { HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 593: -#line 1344 "../../harbour.y" + case 590: +#line 1348 "harbour.y" { HB_COMP_PARAM->cDataListType = HB_COMP_PARAM->cVarType; ;} break; - case 594: -#line 1344 "../../harbour.y" + case 591: +#line 1348 "harbour.y" { HB_COMP_PARAM->cDataListType = 0; HB_COMP_PARAM->iVarScope = VS_NONE; ;} break; - case 601: -#line 1357 "../../harbour.y" + case 598: +#line 1361 "harbour.y" { HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass, (yyvsp[(1) - (2)].string) ); ;} break; - case 602: -#line 1358 "../../harbour.y" + case 599: +#line 1362 "harbour.y" { if( HB_COMP_PARAM->pLastMethod ) { @@ -7393,13 +7416,13 @@ yyreduce: ;} break; - case 603: -#line 1379 "../../harbour.y" + case 600: +#line 1383 "harbour.y" { HB_COMP_PARAM->pLastMethod = hb_compMethodAdd( HB_COMP_PARAM, HB_COMP_PARAM->pLastClass, (yyvsp[(1) - (1)].string) ); ;} break; - case 604: -#line 1380 "../../harbour.y" + case 601: +#line 1384 "harbour.y" { if( HB_COMP_PARAM->pLastMethod ) { @@ -7455,296 +7478,296 @@ yyreduce: ;} break; - case 605: -#line 1435 "../../harbour.y" + case 602: +#line 1439 "harbour.y" + {;} + break; + + case 606: +#line 1445 "harbour.y" + {;} + break; + + case 607: +#line 1446 "harbour.y" + {;} + break; + + case 608: +#line 1449 "harbour.y" {;} break; case 609: -#line 1441 "../../harbour.y" - {;} - break; - - case 610: -#line 1442 "../../harbour.y" - {;} - break; - - case 611: -#line 1445 "../../harbour.y" - {;} - break; - - case 612: -#line 1451 "../../harbour.y" +#line 1455 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(1) - (2)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 613: -#line 1452 "../../harbour.y" + case 610: +#line 1456 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_BYREF ); ;} break; - case 614: -#line 1453 "../../harbour.y" + case 611: +#line 1457 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (5)].string), 'F' ); hb_compExprDelete( (yyvsp[(4) - (5)].asExpr), HB_COMP_PARAM );;} break; - case 615: -#line 1454 "../../harbour.y" + case 612: +#line 1458 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType ); ;} break; - case 616: -#line 1455 "../../harbour.y" + case 613: +#line 1459 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (5)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_BYREF ); ;} break; - case 617: -#line 1456 "../../harbour.y" + case 614: +#line 1460 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (7)].string), 'F' ); hb_compExprDelete( (yyvsp[(6) - (7)].asExpr), HB_COMP_PARAM ); ;} break; - case 618: -#line 1459 "../../harbour.y" + case 615: +#line 1463 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(2) - (3)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL ); ;} break; - case 619: -#line 1460 "../../harbour.y" + case 616: +#line 1464 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (4)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; - case 620: -#line 1461 "../../harbour.y" + case 617: +#line 1465 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(3) - (6)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; - case 621: -#line 1462 "../../harbour.y" + case 618: +#line 1466 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(4) - (5)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL ); ;} break; - case 622: -#line 1463 "../../harbour.y" + case 619: +#line 1467 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(5) - (6)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; - case 623: -#line 1464 "../../harbour.y" + case 620: +#line 1468 "harbour.y" { hb_compDeclaredParameterAdd( HB_COMP_PARAM, (yyvsp[(5) - (8)].string), HB_COMP_PARAM->cVarType + VT_OFFSET_OPTIONAL + VT_OFFSET_BYREF ); ;} break; - case 631: -#line 1476 "../../harbour.y" + case 628: +#line 1480 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (2)].iNumber), HB_COMP_PARAM ); ;} break; - case 632: -#line 1477 "../../harbour.y" + case 629: +#line 1481 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (3)].iNumber), HB_COMP_PARAM ); ;} break; - case 633: -#line 1478 "../../harbour.y" + case 630: +#line 1482 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (3)].iNumber), HB_COMP_PARAM ); hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (3)].pVoid) ); ;} break; - case 634: -#line 1479 "../../harbour.y" + case 631: +#line 1483 "harbour.y" { hb_compGenJumpHere( (yyvsp[(1) - (4)].iNumber), HB_COMP_PARAM ); hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (4)].pVoid) ); ;} break; + case 632: +#line 1486 "harbour.y" + { (yyval.lNumber) = (yyvsp[(1) - (1)].lNumber); ;} + break; + + case 633: +#line 1487 "harbour.y" + { (yyval.lNumber) += (yyvsp[(2) - (2)].lNumber); ;} + break; + + case 634: +#line 1490 "harbour.y" + { (yyval.lNumber) = 0; ;} + break; + case 635: -#line 1482 "../../harbour.y" +#line 1491 "harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (1)].lNumber); ;} break; case 636: -#line 1483 "../../harbour.y" - { (yyval.lNumber) += (yyvsp[(2) - (2)].lNumber); ;} +#line 1494 "harbour.y" + { ++HB_COMP_PARAM->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 637: -#line 1486 "../../harbour.y" - { (yyval.lNumber) = 0; ;} +#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 638: -#line 1487 "../../harbour.y" - { (yyval.lNumber) = (yyvsp[(1) - (1)].lNumber); ;} +#line 1496 "harbour.y" + { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 639: -#line 1490 "../../harbour.y" - { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} +#line 1498 "harbour.y" + { ++HB_COMP_PARAM->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 640: -#line 1490 "../../harbour.y" +#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 641: -#line 1492 "../../harbour.y" +#line 1500 "harbour.y" { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 642: -#line 1494 "../../harbour.y" - { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} +#line 1502 "harbour.y" + { ++HB_COMP_PARAM->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 643: -#line 1494 "../../harbour.y" +#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 644: -#line 1496 "../../harbour.y" +#line 1504 "harbour.y" { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 645: -#line 1498 "../../harbour.y" - { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} +#line 1506 "harbour.y" + { ++HB_COMP_PARAM->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 646: -#line 1498 "../../harbour.y" +#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 647: -#line 1500 "../../harbour.y" +#line 1508 "harbour.y" { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 648: -#line 1502 "../../harbour.y" - { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} +#line 1510 "harbour.y" + { ++HB_COMP_PARAM->wIfCounter; hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; case 649: -#line 1502 "../../harbour.y" +#line 1510 "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 1504 "../../harbour.y" +#line 1512 "harbour.y" { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} break; case 651: -#line 1506 "../../harbour.y" - { ++HB_COMP_PARAM->wIfCounter; hb_compLinePush( HB_COMP_PARAM ); ;} - break; - - 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 653: -#line 1508 "../../harbour.y" - { (yyval.iNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); hb_compGenJumpHere( (yyvsp[(5) - (6)].iNumber), HB_COMP_PARAM ); ;} - break; - - case 654: -#line 1511 "../../harbour.y" +#line 1515 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; - case 656: -#line 1515 "../../harbour.y" + case 653: +#line 1519 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 657: -#line 1517 "../../harbour.y" + case 654: +#line 1521 "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 658: -#line 1521 "../../harbour.y" + case 655: +#line 1525 "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 659: -#line 1525 "../../harbour.y" + case 656: +#line 1529 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 660: -#line 1527 "../../harbour.y" + case 657: +#line 1531 "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 661: -#line 1531 "../../harbour.y" + case 658: +#line 1535 "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" + case 659: +#line 1540 "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 1539 "../../harbour.y" + case 660: +#line 1543 "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 1546 "../../harbour.y" + case 661: +#line 1550 "harbour.y" { hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (3)].pVoid) ); ;} break; - case 667: -#line 1558 "../../harbour.y" + case 664: +#line 1562 "harbour.y" { hb_compElseIfFix( HB_COMP_PARAM, (yyvsp[(2) - (4)].pVoid) ); ;} break; - case 668: -#line 1562 "../../harbour.y" + case 665: +#line 1566 "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 669: -#line 1567 "../../harbour.y" + case 666: +#line 1571 "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 1573 "../../harbour.y" + case 667: +#line 1577 "harbour.y" { ++HB_COMP_PARAM->wCaseCounter; hb_compLinePushIfDebugger( HB_COMP_PARAM );;} break; - case 672: -#line 1576 "../../harbour.y" + case 669: +#line 1580 "harbour.y" { ;} break; - case 673: -#line 1577 "../../harbour.y" + case 670: +#line 1581 "harbour.y" { if( (yyvsp[(2) - (2)].lNumber) > 0 ) { @@ -7753,21 +7776,21 @@ yyreduce: ;} break; - case 674: -#line 1585 "../../harbour.y" - { hb_compLinePush( HB_COMP_PARAM ); ;} + case 671: +#line 1589 "harbour.y" + { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; - case 675: -#line 1586 "../../harbour.y" + case 672: +#line 1590 "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 676: -#line 1591 "../../harbour.y" + case 673: +#line 1595 "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 ) ); @@ -7775,21 +7798,21 @@ yyreduce: ;} break; - case 677: -#line 1597 "../../harbour.y" - { hb_compLinePush( HB_COMP_PARAM ); ;} + case 674: +#line 1601 "harbour.y" + { hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; - case 678: -#line 1598 "../../harbour.y" + case 675: +#line 1602 "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 679: -#line 1603 "../../harbour.y" + case 676: +#line 1607 "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 ) ); @@ -7797,39 +7820,39 @@ yyreduce: ;} break; - case 680: -#line 1610 "../../harbour.y" + case 677: +#line 1614 "harbour.y" {hb_compLinePushIfDebugger( HB_COMP_PARAM ); ;} break; - case 681: -#line 1610 "../../harbour.y" + case 678: +#line 1614 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; - case 683: -#line 1612 "../../harbour.y" + case 680: +#line 1616 "harbour.y" { hb_compGenError( HB_COMP_PARAM, hb_comp_szErrors, 'E', HB_COMP_ERR_MAYHEM_IN_CASE, NULL, NULL ); ;} break; - case 685: -#line 1617 "../../harbour.y" + case 682: +#line 1621 "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 686: -#line 1622 "../../harbour.y" + case 683: +#line 1626 "harbour.y" { hb_compLoopHere( HB_COMP_PARAM ); hb_compGenJump( (yyvsp[(1) - (5)].lNumber) - HB_COMP_PARAM->functions.pLast->lPCodePos, HB_COMP_PARAM ); ;} break; - case 687: -#line 1627 "../../harbour.y" + case 684: +#line 1631 "harbour.y" { hb_compGenJumpHere( (yyvsp[(4) - (7)].lNumber), HB_COMP_PARAM ); if( HB_COMP_PARAM->wWhileCounter ) @@ -7839,25 +7862,25 @@ yyreduce: ;} break; - case 688: -#line 1636 "../../harbour.y" + case 685: +#line 1640 "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" + case 686: +#line 1643 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; - case 690: -#line 1640 "../../harbour.y" + case 687: +#line 1644 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; - case 691: -#line 1644 "../../harbour.y" + case 688: +#line 1648 "harbour.y" { - hb_compLinePush( HB_COMP_PARAM ); + hb_compLinePushIfInside( HB_COMP_PARAM ); hb_compDebugStart(); ++HB_COMP_PARAM->wForCounter; /* 5 */ (yyval.asExpr) = hb_compExprGenStatement( hb_compExprAssign( (yyvsp[(2) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); @@ -7868,23 +7891,23 @@ yyreduce: ;} break; - case 692: -#line 1655 "../../harbour.y" + case 689: +#line 1659 "harbour.y" { hb_compLoopStart( HB_COMP_PARAM ); (yyval.lNumber) = hb_compGenJump( 0, HB_COMP_PARAM ); /* 9 */ ;} break; - case 693: -#line 1660 "../../harbour.y" + case 690: +#line 1664 "harbour.y" { (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; /* 11 */ ;} break; - case 694: -#line 1664 "../../harbour.y" + case 691: +#line 1668 "harbour.y" { short iStep, iLocal; @@ -7947,85 +7970,85 @@ yyreduce: ;} break; - case 697: -#line 1730 "../../harbour.y" + case 694: +#line 1734 "harbour.y" { (yyval.asExpr) = NULL; ;} break; - case 698: -#line 1731 "../../harbour.y" + case 695: +#line 1735 "harbour.y" { (yyval.asExpr) = hb_compExprReduce( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} break; - case 699: -#line 1734 "../../harbour.y" + case 696: +#line 1738 "harbour.y" { hb_compLinePush( HB_COMP_PARAM ); if( HB_COMP_PARAM->wForCounter ) --HB_COMP_PARAM->wForCounter; ;} break; + case 697: +#line 1741 "harbour.y" + { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; ;} + break; + + case 698: +#line 1744 "harbour.y" + { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; ;} + break; + + case 699: +#line 1747 "harbour.y" + { hb_compLinePush( HB_COMP_PARAM ); + if( HB_COMP_PARAM->wForCounter ) + --HB_COMP_PARAM->wForCounter; ;} + break; + case 700: -#line 1737 "../../harbour.y" - { hb_compLinePush( HB_COMP_PARAM ); - if( HB_COMP_PARAM->wForCounter ) - --HB_COMP_PARAM->wForCounter; ;} - break; - - case 701: -#line 1740 "../../harbour.y" - { hb_compLinePush( HB_COMP_PARAM ); - if( HB_COMP_PARAM->wForCounter ) - --HB_COMP_PARAM->wForCounter; ;} - break; - - case 702: -#line 1743 "../../harbour.y" - { hb_compLinePush( HB_COMP_PARAM ); - if( HB_COMP_PARAM->wForCounter ) - --HB_COMP_PARAM->wForCounter; ;} - break; - - case 703: -#line 1748 "../../harbour.y" +#line 1752 "harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 704: -#line 1749 "../../harbour.y" + case 701: +#line 1753 "harbour.y" { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 705: -#line 1752 "../../harbour.y" + case 702: +#line 1756 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; + case 703: +#line 1757 "harbour.y" + { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} + break; + + case 704: +#line 1760 "harbour.y" + { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} + break; + + case 705: +#line 1761 "harbour.y" + { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} + break; + case 706: -#line 1753 "../../harbour.y" - { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} - break; - - case 707: -#line 1756 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 708: -#line 1757 "../../harbour.y" - { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} - break; - - case 709: -#line 1761 "../../harbour.y" +#line 1765 "harbour.y" { ++HB_COMP_PARAM->wForCounter; /* 5 */ - hb_compLinePush( HB_COMP_PARAM ); + hb_compLinePushIfInside( HB_COMP_PARAM ); hb_compDebugStart(); ;} break; - case 710: -#line 1767 "../../harbour.y" + case 707: +#line 1771 "harbour.y" { /* 7 */ @@ -8036,8 +8059,8 @@ yyreduce: ;} break; - case 711: -#line 1776 "../../harbour.y" + case 708: +#line 1780 "harbour.y" { /* 9 */ @@ -8045,8 +8068,8 @@ yyreduce: ;} break; - case 712: -#line 1782 "../../harbour.y" + case 709: +#line 1786 "harbour.y" { hb_compLoopHere( HB_COMP_PARAM ); hb_compEnumNext( HB_COMP_PARAM, (yyvsp[(2) - (10)].asExpr), (yyvsp[(6) - (10)].iNumber) ); @@ -8061,18 +8084,18 @@ yyreduce: ;} break; - case 713: -#line 1796 "../../harbour.y" + case 710: +#line 1800 "harbour.y" { (yyval.iNumber) = 1; ;} break; - case 714: -#line 1797 "../../harbour.y" + case 711: +#line 1801 "harbour.y" { (yyval.iNumber) = -1; ;} break; - case 715: -#line 1801 "../../harbour.y" + case 712: +#line 1805 "harbour.y" { hb_compLoopStart( HB_COMP_PARAM ); hb_compSwitchStart( HB_COMP_PARAM ); @@ -8080,50 +8103,50 @@ yyreduce: ;} break; - case 716: -#line 1808 "../../harbour.y" + case 713: +#line 1812 "harbour.y" { hb_compSwitchEnd( HB_COMP_PARAM ); hb_compLoopEnd( HB_COMP_PARAM ); ;} break; - case 717: -#line 1815 "../../harbour.y" + case 714: +#line 1819 "harbour.y" { hb_compGenPCode1( HB_P_POP, HB_COMP_PARAM ); ;} break; - case 718: -#line 1821 "../../harbour.y" + case 715: +#line 1825 "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 719: -#line 1828 "../../harbour.y" + case 716: +#line 1832 "harbour.y" { ++HB_COMP_PARAM->wSwitchCounter; - hb_compLinePush( HB_COMP_PARAM ); + hb_compLinePushIfInside( HB_COMP_PARAM ); ;} break; - case 720: -#line 1832 "../../harbour.y" + case 717: +#line 1836 "harbour.y" { hb_compExprDelete( hb_compExprGenPush( (yyvsp[(3) - (4)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); ;} break; - case 721: -#line 1837 "../../harbour.y" + case 718: +#line 1841 "harbour.y" { ;} break; - case 722: -#line 1838 "../../harbour.y" + case 719: +#line 1842 "harbour.y" { if( (yyvsp[(2) - (2)].lNumber) > 0 ) { @@ -8132,33 +8155,33 @@ yyreduce: ;} break; - case 723: -#line 1846 "../../harbour.y" + case 720: +#line 1850 "harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, (yyvsp[(2) - (2)].asExpr) ); hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 725: -#line 1849 "../../harbour.y" + case 722: +#line 1853 "harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, (yyvsp[(3) - (3)].asExpr) ); hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 729: -#line 1857 "../../harbour.y" + case 726: +#line 1861 "harbour.y" { hb_compSwitchAdd( HB_COMP_PARAM, NULL ); hb_compLinePush( HB_COMP_PARAM ); ;} break; - case 730: -#line 1857 "../../harbour.y" + case 727: +#line 1861 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; ;} break; - case 732: -#line 1861 "../../harbour.y" - { ++HB_COMP_PARAM->wSeqCounter; (yyval.lNumber) = hb_compSequenceBegin( HB_COMP_PARAM ); ;} + case 729: +#line 1865 "harbour.y" + { ++HB_COMP_PARAM->wSeqCounter; hb_compStatmentStart( HB_COMP_PARAM ); (yyval.lNumber) = hb_compSequenceBegin( HB_COMP_PARAM ); ;} break; - case 733: -#line 1863 "../../harbour.y" + case 730: +#line 1867 "harbour.y" { /* Set jump address for HB_P_SEQBEGIN opcode - this address * will be used in BREAK code if there is no RECOVER clause @@ -8168,8 +8191,8 @@ yyreduce: ;} break; - case 734: -#line 1871 "../../harbour.y" + case 731: +#line 1875 "harbour.y" { /* Replace END address with RECOVER address in * HB_P_SEQBEGIN opcode if there is RECOVER clause @@ -8179,8 +8202,8 @@ yyreduce: ;} break; - case 735: -#line 1879 "../../harbour.y" + case 732: +#line 1883 "harbour.y" { /* Fix END address * There is no line number after HB_P_SEQEND in case no @@ -8194,182 +8217,183 @@ yyreduce: ;} break; - case 736: -#line 1892 "../../harbour.y" + case 733: +#line 1896 "harbour.y" { (yyval.lNumber) = 0; ;} break; - case 737: -#line 1893 "../../harbour.y" + case 734: +#line 1897 "harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (2)].lNumber); ;} break; - case 739: -#line 1894 "../../harbour.y" + case 736: +#line 1898 "harbour.y" { (yyval.lNumber) = (yyvsp[(1) - (2)].lNumber); ;} break; - case 741: -#line 1898 "../../harbour.y" + case 738: +#line 1902 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; if( HB_COMP_PARAM->wSeqCounter ) --HB_COMP_PARAM->wSeqCounter; - hb_compLinePush( HB_COMP_PARAM ); + hb_compLinePushIfInside( HB_COMP_PARAM ); hb_compGenPCode2( HB_P_SEQRECOVER, HB_P_POP, HB_COMP_PARAM ); ;} break; - case 742: -#line 1909 "../../harbour.y" + case 739: +#line 1913 "harbour.y" { HB_COMP_PARAM->functions.pLast->bFlags &= ~ FUN_BREAK_CODE; (yyval.lNumber) = HB_COMP_PARAM->functions.pLast->lPCodePos; if( HB_COMP_PARAM->wSeqCounter ) --HB_COMP_PARAM->wSeqCounter; - hb_compLinePush( HB_COMP_PARAM ); + hb_compLinePushIfInside( HB_COMP_PARAM ); hb_compGenPCode1( HB_P_SEQRECOVER, HB_COMP_PARAM ); hb_compGenPopVar( (yyvsp[(2) - (2)].string), HB_COMP_PARAM ); ;} break; - case 743: -#line 1926 "../../harbour.y" + case 740: +#line 1930 "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" + case 741: +#line 1931 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; - case 745: -#line 1928 "../../harbour.y" + case 742: +#line 1932 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; - case 746: -#line 1932 "../../harbour.y" + case 743: +#line 1936 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(2) - (2)].asExpr), NULL, HB_COMP_PARAM ); ;} break; - case 747: -#line 1934 "../../harbour.y" + case 744: +#line 1938 "harbour.y" { (yyval.asExpr) = hb_compExprNewFunCall( (yyvsp[(2) - (4)].asExpr), (yyvsp[(4) - (4)].asExpr), HB_COMP_PARAM ); ;} break; - case 748: -#line 1936 "../../harbour.y" + case 745: +#line 1940 "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 749: -#line 1941 "../../harbour.y" + case 746: +#line 1945 "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 750: -#line 1947 "../../harbour.y" + case 747: +#line 1951 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewArgList( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ), hb_compExprNewNil( HB_COMP_PARAM ) ); ;} break; - case 751: -#line 1948 "../../harbour.y" + case 748: +#line 1952 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( hb_compExprNewArgList( hb_compExprNewNil( HB_COMP_PARAM ), HB_COMP_PARAM ), (yyvsp[(2) - (2)].asExpr) ); ;} break; - case 752: -#line 1949 "../../harbour.y" + case 749: +#line 1953 "harbour.y" { (yyval.asExpr) = hb_compExprNewArgList( (yyvsp[(1) - (1)].asExpr), HB_COMP_PARAM ); ;} break; - case 753: -#line 1950 "../../harbour.y" + case 750: +#line 1954 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (2)].asExpr), hb_compExprNewNil( HB_COMP_PARAM ) ); ;} break; - case 754: -#line 1951 "../../harbour.y" + case 751: +#line 1955 "harbour.y" { (yyval.asExpr) = hb_compExprAddListExpr( (yyvsp[(1) - (3)].asExpr), (yyvsp[(3) - (3)].asExpr) ); ;} break; - case 755: -#line 1954 "../../harbour.y" + case 752: +#line 1958 "harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(1) - (1)].string), HB_COMP_PARAM ); ;} break; - case 756: -#line 1955 "../../harbour.y" + case 753: +#line 1959 "harbour.y" { (yyval.asExpr) = (yyvsp[(2) - (2)].asExpr); ;} break; - case 757: -#line 1956 "../../harbour.y" + case 754: +#line 1960 "harbour.y" { (yyval.asExpr) = hb_compExprNewVarRef( (yyvsp[(2) - (2)].string), HB_COMP_PARAM ); ;} break; - case 758: -#line 1957 "../../harbour.y" + case 755: +#line 1961 "harbour.y" { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} break; + case 756: +#line 1962 "harbour.y" + { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} + break; + + case 757: +#line 1963 "harbour.y" + { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} + break; + + case 758: +#line 1964 "harbour.y" + { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} + break; + case 759: -#line 1958 "../../harbour.y" - { (yyval.asExpr) = (yyvsp[(1) - (1)].asExpr); ;} - break; - - case 760: -#line 1959 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 761: -#line 1960 "../../harbour.y" - { (yyval.asExpr) = hb_compExprNewRef( (yyvsp[(2) - (2)].asExpr), HB_COMP_PARAM ); ;} - break; - - case 762: -#line 1964 "../../harbour.y" +#line 1968 "harbour.y" { + hb_compLinePushIfInside( HB_COMP_PARAM ); hb_compExprDelete( hb_compExprGenPush( (yyvsp[(2) - (3)].asExpr), HB_COMP_PARAM ), HB_COMP_PARAM ); hb_compGenPCode1( HB_P_WITHOBJECTSTART, HB_COMP_PARAM ); HB_COMP_PARAM->wWithObjectCnt++; ;} break; - case 763: -#line 1971 "../../harbour.y" + case 760: +#line 1976 "harbour.y" { if( HB_COMP_PARAM->wWithObjectCnt ) --HB_COMP_PARAM->wWithObjectCnt; hb_compGenPCode1( HB_P_WITHOBJECTEND, HB_COMP_PARAM ); ;} break; - case 764: -#line 1975 "../../harbour.y" + case 761: +#line 1980 "harbour.y" { hb_compExprDelete( (yyvsp[(2) - (4)].asExpr), HB_COMP_PARAM ); ;} break; - case 765: -#line 1978 "../../harbour.y" + case 762: +#line 1983 "harbour.y" { HB_COMP_PARAM->fError = FALSE; ;} break; - case 766: -#line 1979 "../../harbour.y" + case 763: +#line 1984 "harbour.y" { HB_COMP_PARAM->fDontGenLineNum = TRUE; ;} break; /* Line 1267 of yacc.c. */ -#line 8373 "harboury.c" +#line 8397 "harboury.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -8583,7 +8607,7 @@ yyreturn: } -#line 1982 "../../harbour.y" +#line 1987 "harbour.y" /* diff --git a/harbour/source/compiler/harbour.yyh b/harbour/source/compiler/harbour.yyh index 0a5c25a8ea..3e1ec3acda 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 */