diff options
author | Mike Kucera | 2008-03-14 21:30:55 +0000 |
---|---|---|
committer | Mike Kucera | 2008-03-14 21:30:55 +0000 |
commit | 650153071e4ad367422b0eea95c7441f4ed0c5b7 (patch) | |
tree | 9ba181ec167b9686729183242bded3b0ec4cb872 /lrparser/org.eclipse.cdt.core.lrparser | |
parent | e7bb0ea2c264737f476807ebf174a5dfc5de9ce9 (diff) | |
download | org.eclipse.cdt-650153071e4ad367422b0eea95c7441f4ed0c5b7.tar.gz org.eclipse.cdt-650153071e4ad367422b0eea95c7441f4ed0c5b7.tar.xz org.eclipse.cdt-650153071e4ad367422b0eea95c7441f4ed0c5b7.zip |
fixed problems with tokens not mapping correctly between main parser and secondary parsers, fixed for loop bug
Diffstat (limited to 'lrparser/org.eclipse.cdt.core.lrparser')
24 files changed, 8173 insertions, 8814 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/common.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/common.g index a0632802727..48c4396050e 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/common.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/common.g @@ -104,6 +104,14 @@ $Headers return action.getSecondaryParseResult(); } + public String[] getOrderedTerminalSymbols() { + return $sym_type.orderedTerminalSymbols; + } + + public String getName() { + return "$action_type"; //$NON-NLS-1$ + } + ./ $End diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g index 8d1efdba775..ee7622c560e 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g @@ -258,6 +258,15 @@ $Headers public IASTNode getSecondaryParseResult() { return action.builder.getSecondaryParseResult(); } + + public String[] getOrderedTerminalSymbols() { + return $sym_type.orderedTerminalSymbols; + } + + public String getName() { + return "$action_type"; //$NON-NLS-1$ + } + ./ $End @@ -762,8 +771,8 @@ assignment_expression expression ::= expression_list - | ERROR_TOKEN - /. $Build consumeExpressionProblem(); $EndBuild ./ + -- | ERROR_TOKEN + -- /. $Build consumeExpressionProblem(); $EndBuild ./ -- expression_list and expression_list_opt always result in a single element on the stack -- the element might be an expression, an expression list or null @@ -861,12 +870,6 @@ condition /. $Build consumeConditionDeclaration(); $EndBuild ./ --- where did this come from? ---condition_opt --- ::= condition --- | $empty --- /. $Build consumeEmpty(); $EndBuild ./ - iteration_statement ::= 'while' '(' condition ')' statement @@ -875,7 +878,7 @@ iteration_statement /. $Build consumeStatementDoLoop(); $EndBuild ./ | 'for' '(' expression_opt ';' expression_opt ';' expression_opt ')' statement /. $Build consumeStatementForLoop(); $EndBuild ./ - | 'for' '(' simple_declaration expression_opt ';' expression_opt ')' statement + | 'for' '(' simple_declaration_with_declspec expression_opt ';' expression_opt ')' statement /. $Build consumeStatementForLoop(); $EndBuild ./ @@ -940,7 +943,12 @@ declaration_seq_opt simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ';' /. $Build consumeDeclarationSimple(true); $EndBuild ./ - + + +simple_declaration_with_declspec + ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ';' + /. $Build consumeDeclarationSimple(true); $EndBuild ./ + -- declaration specifier nodes not created here, they are created by sub-rules -- these rules add IToken modifiers to the declspec nodes diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java index 12e7ba708b1..8e71052a18f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/CPreprocessorAdapter.java @@ -64,7 +64,8 @@ class CPreprocessorAdapter { org.eclipse.cdt.core.parser.IToken domToken = preprocessor.nextToken(); // throws EndOfFileException int type = domToken.getType(); - IToken token = new LPGTokenAdapter(domToken, tokenMap.mapKind(type)); + int newKind = tokenMap.mapKind(type); + IToken token = new LPGTokenAdapter(domToken, newKind); tokenCollector.addToken(token); if(type == tCOMPLETION) { diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParserActionTokenProvider.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParserActionTokenProvider.java index a58b77306ab..5ef0f12631d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParserActionTokenProvider.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/IParserActionTokenProvider.java @@ -55,4 +55,15 @@ public interface IParserActionTokenProvider { public IToken getRightIToken(); + /** + * Returns the orderedTerminalSymbol field of the corresponding sym class + * generated by LPG. + */ + public String[] getOrderedTerminalSymbols(); + + + /** + * Returns the parser's name, useful for debugging. + */ + public String getName(); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java index 4dd675fb1f3..3bb5cfbf7d4 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/BuildASTParserAction.java @@ -269,11 +269,28 @@ public abstract class BuildASTParserAction { * Runs the given parser on the tokens that make up the current rule. */ protected IASTNode runSecondaryParser(IParser secondaryParser) { - secondaryParser.setTokens(parser.getRuleTokens()); - // need to pass tu because any completion nodes need to be linked directly to the root + List<IToken> tokens = parser.getRuleTokens(); + + // the secondary parser will alter the token kinds, which will need to be undone + int[] savedKinds = new int[tokens.size()]; + + int i = 0; + for(IToken token : tokens) + savedKinds[i++] = token.getKind(); + + secondaryParser.setTokens(tokens); + + // need to pass tu because any new completion nodes need to be linked directly to the root IASTCompletionNode compNode = secondaryParser.parse(tu); addNameToCompletionNode(compNode); - return secondaryParser.getSecondaryParseResult(); + IASTNode result = secondaryParser.getSecondaryParseResult(); + + // restore the token kinds + i = 0; + for(IToken token : tokens) + token.setKind(savedKinds[i++]); + + return result; } @@ -601,17 +618,19 @@ public abstract class BuildASTParserAction { IASTTypeId typeId = (IASTTypeId) astStack.pop(); IASTCastExpression expr = nodeFactory.newCastExpression(operator, typeId, operand); setOffsetAndLength(expr); - - // try parsing as non-cast to resolve ambiguities - IParser secondaryParser = getNoCastExpressionParser(); - IASTNode alternateExpr = runSecondaryParser(secondaryParser); + + IASTNode alternateExpr = null; + if(operator == IASTCastExpression.op_cast) { // don't reparse for dynamic_cast etc as those are not ambiguous + // try parsing as non-cast to resolve ambiguities + IParser secondaryParser = getNoCastExpressionParser(); + alternateExpr = runSecondaryParser(secondaryParser); + } if(alternateExpr == null || alternateExpr instanceof IASTProblemExpression) astStack.push(expr); else astStack.push(nodeFactory.newAmbiguousExpression(expr, (IASTExpression)alternateExpr)); - if(TRACE_AST_STACK) System.out.println(astStack); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/TokenMap.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/TokenMap.java index 8589ad319db..57c443e52fd 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/TokenMap.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/TokenMap.java @@ -11,9 +11,6 @@ package org.eclipse.cdt.core.dom.lrparser.action; import java.util.HashMap; -import java.util.Map; - - /** @@ -26,9 +23,9 @@ public class TokenMap implements ITokenMap { // LPG token kinds start at 0 // the kind is not part of the base language parser - public static int INVALID_KIND = -1; + public static final int INVALID_KIND = -1; - private int[] kindMap = null; + private final int[] kindMap; /** @@ -39,19 +36,21 @@ public class TokenMap implements ITokenMap { */ public TokenMap(String[] toSymbols, String[] fromSymbols) { // If this map is not being used with an extension then it becomes an "identity map". - if(toSymbols == fromSymbols) + if(toSymbols == fromSymbols) { + kindMap = null; return; + } kindMap = new int[fromSymbols.length]; - Map<String,Integer> toMap = new HashMap<String,Integer>(); - for(int i = 0; i < toSymbols.length; i++) { - toMap.put(toSymbols[i], new Integer(i)); + HashMap<String,Integer> toMap = new HashMap<String,Integer>(); + for(int i = 0, n = toSymbols.length; i < n; i++) { + toMap.put(toSymbols[i], i); } - for(int i = 0; i < fromSymbols.length; i++) { + for(int i = 0, n = fromSymbols.length; i < n; i++) { Integer kind = toMap.get(fromSymbols[i]); - kindMap[i] = kind == null ? INVALID_KIND : kind.intValue(); + kindMap[i] = kind == null ? INVALID_KIND : kind; } } @@ -62,10 +61,23 @@ public class TokenMap implements ITokenMap { public int mapKind(int kind) { if(kindMap == null) return kind; - if(kind < 0 || kind >= kindMap.length) return INVALID_KIND; return kindMap[kind]; } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder('(') ; + boolean first = true; + for(int i = 0, n = kindMap.length; i < n; i++) { + if(!first) + sb.append(", "); //$NON-NLS-1$ + sb.append(i).append('=').append(kindMap[i]); + first = false; + } + return sb.append(')').toString(); + } }
\ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java index ba0927f167f..f10423c181a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java @@ -131,17 +131,17 @@ public class C99BuildASTParserAction extends BuildASTParserAction { @Override protected IParser getExpressionStatementParser() { - return new C99ExpressionStatementParser(C99Parsersym.orderedTerminalSymbols); + return new C99ExpressionStatementParser(parser.getOrderedTerminalSymbols()); } @Override protected IParser getNoCastExpressionParser() { - return new C99NoCastExpressionParser(C99Parsersym.orderedTerminalSymbols); + return new C99NoCastExpressionParser(parser.getOrderedTerminalSymbols()); } @Override protected IParser getSizeofExpressionParser() { - return new C99SizeofExpressionParser(CPPParsersym.orderedTerminalSymbols); + return new C99SizeofExpressionParser(parser.getOrderedTerminalSymbols()); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java index 9bc29f0f058..f47eca358d3 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java @@ -130,18 +130,21 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { @Override protected IParser getExpressionStatementParser() { - return new CPPExpressionStatementParser(CPPParsersym.orderedTerminalSymbols); + DebugUtil.printMethodTrace(); + return new CPPExpressionStatementParser(parser.getOrderedTerminalSymbols()); } @Override protected IParser getNoCastExpressionParser() { - return new CPPNoCastExpressionParser(CPPParsersym.orderedTerminalSymbols); + DebugUtil.printMethodTrace(); + return new CPPNoCastExpressionParser(parser.getOrderedTerminalSymbols()); } @Override protected IParser getSizeofExpressionParser() { - return new CPPSizeofExpressionParser(CPPParsersym.orderedTerminalSymbols); + DebugUtil.printMethodTrace(); + return new CPPSizeofExpressionParser(parser.getOrderedTerminalSymbols()); } /** diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java index 1b078f8ad94..0649d95285c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionStatementParser.java @@ -207,6 +207,14 @@ public IASTNode getSecondaryParseResult() { return action.getSecondaryParseResult(); } +public String[] getOrderedTerminalSymbols() { + return C99ExpressionStatementParsersym.orderedTerminalSymbols; +} + +public String getName() { + return "C99ExpressionStatementParser";//$NON-NLS-1$ +} + private ITokenMap tokenMap = null; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java index 65c8344957f..09a1f2d9498 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParser.java @@ -207,6 +207,14 @@ public IASTNode getSecondaryParseResult() { return action.getSecondaryParseResult(); } +public String[] getOrderedTerminalSymbols() { + return C99NoCastExpressionParsersym.orderedTerminalSymbols; +} + +public String getName() { + return "C99NoCastExpressionParser"; +} + private ITokenMap tokenMap = null; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java index b18f0de8499..2e9c648f86c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parser.java @@ -207,6 +207,14 @@ public IASTNode getSecondaryParseResult() { return action.getSecondaryParseResult(); } +public String[] getOrderedTerminalSymbols() { + return C99Parsersym.orderedTerminalSymbols; +} + +public String getName() { + return "C99Parser"; +} + private ITokenMap tokenMap = null; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java index 5a7148d5e48..6da80220b4d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParser.java @@ -207,6 +207,14 @@ public IASTNode getSecondaryParseResult() { return action.getSecondaryParseResult(); } +public String[] getOrderedTerminalSymbols() { + return C99SizeofExpressionParsersym.orderedTerminalSymbols; +} + +public String getName() { + return "C99SizeofExpressionParser"; +} + private ITokenMap tokenMap = null; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java index 7aea45602e1..20dcda3a3cf 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParser.java @@ -239,6 +239,15 @@ public IASTNode getSecondaryParseResult() { return action.builder.getSecondaryParseResult(); } +public String[] getOrderedTerminalSymbols() { + return CPPExpressionStatementParsersym.orderedTerminalSymbols; +} + +public String getName() { + return "CPPExpressionStatementParser"; //$NON-NLS-1$ +} + + private ITokenMap tokenMap = null; @@ -1020,203 +1029,203 @@ public CPPExpressionStatementParser(String[] mapFrom) { // constructor } // - // Rule 161: expression ::= ERROR_TOKEN + // Rule 161: expression_list ::= <openscope-ast> expression_list_actual // case 161: { action.builder. - consumeExpressionProblem(); break; - } - - // - // Rule 162: expression_list ::= <openscope-ast> expression_list_actual - // - case 162: { action.builder. consumeExpressionList(); break; } // - // Rule 166: expression_list_opt ::= $Empty + // Rule 165: expression_list_opt ::= $Empty // - case 166: { action.builder. + case 165: { action.builder. consumeEmpty(); break; } // - // Rule 168: expression_opt ::= $Empty + // Rule 167: expression_opt ::= $Empty // - case 168: { action.builder. + case 167: { action.builder. consumeEmpty(); break; } // - // Rule 171: constant_expression_opt ::= $Empty + // Rule 170: constant_expression_opt ::= $Empty // - case 171: { action.builder. + case 170: { action.builder. consumeEmpty(); break; } // - // Rule 180: statement ::= ERROR_TOKEN + // Rule 179: statement ::= ERROR_TOKEN // - case 180: { action.builder. + case 179: { action.builder. consumeStatementProblem(); break; } // - // Rule 181: labeled_statement ::= identifier : statement + // Rule 180: labeled_statement ::= identifier : statement // - case 181: { action.builder. + case 180: { action.builder. consumeStatementLabeled(); break; } // - // Rule 182: labeled_statement ::= case constant_expression : + // Rule 181: labeled_statement ::= case constant_expression : // - case 182: { action.builder. + case 181: { action.builder. consumeStatementCase(); break; } // - // Rule 183: labeled_statement ::= default : + // Rule 182: labeled_statement ::= default : // - case 183: { action.builder. + case 182: { action.builder. consumeStatementDefault(); break; } // - // Rule 184: expression_statement ::= expression ; + // Rule 183: expression_statement ::= expression ; // - case 184: { action.builder. + case 183: { action.builder. consumeStatementExpression(); break; } // - // Rule 185: expression_statement ::= ; + // Rule 184: expression_statement ::= ; // - case 185: { action.builder. + case 184: { action.builder. consumeStatementNull(); break; } // - // Rule 186: compound_statement ::= { <openscope-ast> statement_seq } + // Rule 185: compound_statement ::= { <openscope-ast> statement_seq } // - case 186: { action.builder. + case 185: { action.builder. consumeStatementCompoundStatement(true); break; } // - // Rule 187: compound_statement ::= { } + // Rule 186: compound_statement ::= { } // - case 187: { action.builder. + case 186: { action.builder. consumeStatementCompoundStatement(false); break; } // - // Rule 190: selection_statement ::= if ( condition ) statement + // Rule 189: selection_statement ::= if ( condition ) statement // - case 190: { action.builder. + case 189: { action.builder. consumeStatementIf(false); break; } // - // Rule 191: selection_statement ::= if ( condition ) statement else statement + // Rule 190: selection_statement ::= if ( condition ) statement else statement // - case 191: { action.builder. + case 190: { action.builder. consumeStatementIf(true); break; } // - // Rule 192: selection_statement ::= switch ( condition ) statement + // Rule 191: selection_statement ::= switch ( condition ) statement // - case 192: { action.builder. + case 191: { action.builder. consumeStatementSwitch(); break; } // - // Rule 194: condition ::= type_specifier_seq declarator = assignment_expression + // Rule 193: condition ::= type_specifier_seq declarator = assignment_expression // - case 194: { action.builder. + case 193: { action.builder. consumeConditionDeclaration(); break; } // - // Rule 195: iteration_statement ::= while ( condition ) statement + // Rule 194: iteration_statement ::= while ( condition ) statement // - case 195: { action.builder. + case 194: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 196: iteration_statement ::= do statement while ( expression ) ; + // Rule 195: iteration_statement ::= do statement while ( expression ) ; // - case 196: { action.builder. + case 195: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 197: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 196: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // + case 196: { action.builder. + consumeStatementForLoop(); break; + } + + // + // Rule 197: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement // case 197: { action.builder. consumeStatementForLoop(); break; } // - // Rule 198: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement + // Rule 198: jump_statement ::= break ; // case 198: { action.builder. - consumeStatementForLoop(); break; + consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= break ; + // Rule 199: jump_statement ::= continue ; // case 199: { action.builder. - consumeStatementBreak(); break; + consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= continue ; + // Rule 200: jump_statement ::= return expression ; // case 200: { action.builder. - consumeStatementContinue(); break; + consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= return expression ; + // Rule 201: jump_statement ::= return ; // case 201: { action.builder. - consumeStatementReturn(true); break; + consumeStatementReturn(false); break; } // - // Rule 202: jump_statement ::= return ; + // Rule 202: jump_statement ::= goto identifier_token ; // case 202: { action.builder. - consumeStatementReturn(false); break; + consumeStatementGoto(); break; } // - // Rule 203: jump_statement ::= goto identifier_token ; + // Rule 203: declaration_statement ::= block_declaration // case 203: { action.builder. - consumeStatementGoto(); break; + consumeStatementDeclaration(); break; } // - // Rule 204: declaration_statement ::= block_declaration + // Rule 204: declaration_statement ::= function_definition // case 204: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 205: declaration_statement ::= function_definition + // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // - case 205: { action.builder. - consumeStatementDeclaration(); break; + case 221: { action.builder. + consumeDeclarationSimple(true); break; } // - // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // case 222: { action.builder. consumeDeclarationSimple(true); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java index 84dcaac3edb..38aa0ce7c05 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParserprs.java @@ -53,13 +53,13 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 3,3,1,3,1,3,1,3,1,3, 1,3,1,5,1,2,1,1,3,3, 3,3,3,3,3,3,3,3,3,1, - 1,2,1,3,1,0,1,0,1,1, - 0,1,1,1,1,1,1,1,1,1, - 3,3,2,2,1,4,2,1,2,5, - 7,5,1,4,5,7,9,8,2,2, - 3,2,3,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2,1, - 0,4,2,2,2,2,2,0,1,1, + 2,1,3,1,0,1,0,1,1,0, + 1,1,1,1,1,1,1,1,1,3, + 3,2,2,1,4,2,1,2,5,7, + 5,1,4,5,7,9,8,2,2,3, + 2,3,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2,1,0, + 4,4,2,2,2,2,2,0,1,1, 1,1,1,1,1,2,1,2,2,2, 1,1,2,2,1,2,2,1,2,2, 1,2,2,1,1,1,1,1,1,1, @@ -89,447 +89,447 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 3,1,1,2,4,2,4,7,9,5, 1,1,3,1,0,1,1,1,2,4, 4,1,2,5,5,3,3,1,4,3, - 1,0,1,3,2,1,-64,0,0,0, - 0,-55,0,0,0,0,0,0,0,0, + 1,0,1,3,2,1,-63,0,0,0, + 0,-54,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -51,0,0,0,0,0,0,0,0,0, - -67,0,0,0,0,0,-3,0,0,-73, + -50,0,0,0,0,0,0,0,0,0, + -11,0,0,0,0,0,0,0,0,-72, 0,0,0,0,-2,0,0,0,0,0, - 0,0,-90,0,0,0,0,0,0,0, + 0,0,-89,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-51,0,0,0, + 0,0,-57,0,0,0,0,0,-5,0, + -20,0,0,0,0,-6,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-125,0,0,0,0,0,0,-5,0, - -21,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-73,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-74,0,0, + -176,0,0,0,0,-3,0,-7,0,0, + 0,0,0,0,-116,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -177,0,0,0,0,-59,0,-229,0,0, - 0,0,0,0,-117,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-114,0, + 0,0,0,-53,-8,0,0,-420,-292,0, + -17,0,0,0,0,-60,-58,0,0,0, + -131,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-205,0,0,0,-52,0, - 0,0,0,0,-54,0,0,-230,0,0, - 0,-186,0,0,0,0,-235,0,0,0, - -132,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-66, - -6,0,0,0,-12,0,0,0,0,0, - 0,0,0,-178,0,0,0,-128,0,0, - -7,0,0,0,-421,0,-145,0,0,0, - 0,0,0,0,0,0,0,-225,-135,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-8,0,0,0,0,-311,0,0, - 0,0,0,0,0,0,0,-144,-118,-9, - 0,0,0,0,0,-517,0,0,0,0, - -10,0,0,0,0,0,0,0,0,0, - 0,-148,0,0,0,0,0,0,0,0, - 0,0,0,0,-146,-307,0,-151,0,0, - 0,0,-115,0,0,0,0,0,0,0, - -209,-11,0,0,0,0,0,0,0,0, - -223,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-182,0,0,0,0,0, - 0,0,0,-371,0,0,0,0,0,-13, - -515,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-140,0,0,0,0,0, - 0,0,0,0,-58,0,0,0,0,0, - 0,0,0,-328,0,0,0,0,-293,-184, - 0,0,0,0,0,-245,0,0,-354,0, - 0,0,0,0,0,0,0,0,0,-236, - 0,0,0,0,-525,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-289,0, - 0,0,0,0,-14,0,0,0,0,0, - 0,0,0,0,-137,0,0,-234,0,0, - -333,0,0,0,0,0,0,0,0,0, + -9,0,0,0,-374,0,0,0,0,0, + -10,0,0,0,0,0,-185,0,0,0, + 0,0,-177,0,0,0,-144,0,0,0, + 0,0,0,0,0,0,0,-224,-134,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-12,0,0,0,0,-65,0,0, + 0,0,0,0,0,0,0,-143,-117,0, + 0,-61,0,0,0,-516,0,0,0,0, + -13,0,0,0,0,0,0,0,0,0, + 0,-147,0,0,0,0,0,0,0,0, + 0,0,0,0,-66,0,0,-150,0,0, + 0,0,-14,0,0,0,0,0,0,0, + -208,-260,0,0,0,0,0,0,0,0, + -222,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-181,0,0,0,0,0, + 0,0,0,-124,0,0,-233,0,0,0, + -514,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-127,0,0,0,0,-183, + 0,0,0,0,0,0,0,0,0,-129, + 0,0,0,-327,0,0,0,0,0,-244, + 0,0,0,0,-241,0,0,-16,-353,0, + 0,0,0,-365,0,0,0,0,0,-235, + 0,0,0,0,-524,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-108,0, + 0,0,0,-310,0,0,0,0,-139,0, + 0,0,0,0,0,0,0,0,-263,0, + -242,0,0,0,0,0,-228,-148,0,0, 0,0,0,-4,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-231,0,0, - 0,0,0,-215,0,0,0,-267,0,0, - 0,0,-15,-298,0,0,0,0,0,0, - 0,0,0,0,-18,0,0,0,0,-323, - 0,0,0,0,-277,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-375,0, - 0,0,0,0,-17,0,0,0,0,0, - 0,0,0,-349,0,0,0,0,0,-313, - 0,0,0,0,-30,0,0,0,0,0, + 0,0,-415,0,0,0,0,-230,0,0, + 0,0,-419,0,0,0,-400,-136,0,-249, + 0,0,0,0,0,0,0,0,-344,0, + 0,0,0,0,-276,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-332,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-31,-314,0,0,0,0,-61, + 0,0,0,-184,0,0,0,0,0,0, + 0,0,0,-288,-109,0,0,0,0,-312, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-185,0, - 0,0,0,0,-32,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-33,-477, - 0,0,0,0,-62,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-187,0,0,0,0,0,-34, + 0,0,0,-204,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-35,-41,0,0,0,0,-109, + 0,0,-29,-30,-313,0,0,0,0,-115, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-300,0, - 0,0,0,-247,0,0,0,0,0,0, - 0,0,0,0,-456,0,0,0,-36,-130, - -43,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-214,0, + 0,0,0,-306,-297,0,0,0,0,0, + 0,0,0,0,-146,0,0,0,0,-475, + 0,0,0,0,-151,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-189,0,0,0,0,0, - -37,0,0,0,0,0,0,0,0,-110, - -405,0,0,-96,0,0,0,0,0,0, + 0,0,0,-299,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-285,0,0, + 0,0,0,0,-40,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-416,0,0,0,-97,0,0,0, + 0,0,0,0,0,0,0,0,-305,0, + 0,0,0,-145,0,0,0,0,0,0, + 0,0,0,-186,-188,0,0,0,0,0, + -42,0,0,0,0,-130,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-191,0,0,0,0,0, + -31,0,0,0,0,0,0,0,0,-200, + -404,0,0,-95,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-284,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-32,0,0,0,-96,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -38,0,0,0,0,0,0,0,0,0, - -192,0,0,0,0,0,-474,0,0,-98, - 0,0,0,0,-116,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-203,0, + -137,0,0,0,0,0,0,0,0,0, + -202,0,0,0,0,0,-472,0,0,-97, + 0,0,0,0,-141,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-99,0,0,0,0,-131,0,0, + 0,0,0,0,0,0,0,0,-207,0, + 0,0,0,0,0,0,0,0,-209,-33, + 0,0,-98,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-208,-39,0,0,0,0,0,0,0, - 0,-147,-40,0,0,-100,0,0,0,0, - -138,0,0,0,0,0,0,0,0,0, + 0,-226,0,0,0,0,0,0,0,0, + 0,-236,0,0,0,-99,0,0,0,0, + -152,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,-227,0,0,0,0,0, - 0,0,0,0,-152,0,0,0,-101,0, - 0,0,0,-142,0,0,0,0,0,0, + 0,0,0,0,-243,-34,0,0,-100,0, + 0,0,0,-198,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-231,0,0, + 0,0,0,0,0,0,0,-250,0,0, + 0,-101,0,0,0,0,-251,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-306,0,0,0,0,-201,0,0, - 0,-102,0,0,0,0,-153,0,0,0, + 0,0,0,0,0,-256,0,0,0,0, + 0,0,0,0,0,-333,0,0,0,0, + 0,0,0,0,-102,0,0,0,0,-252, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-228,0,0,0,0, - 0,0,0,0,0,-42,0,0,0,0, - -210,0,0,0,-103,0,0,0,0,-199, + 0,0,0,0,0,0,0,0,-275,0, + 0,0,0,0,0,0,0,0,-342,0, + 0,0,0,0,0,0,0,-103,0,0, + 0,0,-253,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,-232,0, - 0,0,0,0,0,0,0,0,-56,0, - 0,0,0,-237,0,0,0,-104,0,0, - 0,0,-244,0,0,0,0,0,0,0, + 0,-279,0,0,0,0,-287,-339,0,0, + 0,0,0,0,0,0,0,-35,0,0, + -104,0,0,0,0,-280,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-257,0,0,0,0,0,0,0,0, - 0,-57,0,0,0,0,0,0,0,0, - -105,0,0,0,0,-251,0,0,0,0, + 0,0,0,0,-300,0,0,0,0,0, + -36,0,0,0,-343,0,0,0,0,-285, + 0,0,0,-105,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-276,0,0,0,0,0, - -60,0,0,0,-343,0,0,0,0,0, - 0,0,0,-106,0,0,0,0,-252,0, + 0,0,0,0,0,0,0,-37,0,0, + 0,0,0,0,0,0,0,-432,0,0, + 0,0,-294,0,0,0,-215,0,0,0, + 0,-295,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,-288,0,0, - 0,0,0,-68,0,0,0,-344,0,0, - 0,0,0,0,0,0,-216,0,0,0, - 0,-253,0,0,0,0,0,0,0,0, + -314,0,0,0,0,0,0,0,0,0, + -351,0,0,0,0,0,-326,0,0,-508, + 0,0,0,0,-317,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -301,0,0,0,0,0,-69,0,0,0, - -434,0,0,0,0,0,0,0,0,-510, - 0,0,0,0,-254,0,0,0,0,0, + 0,0,0,-320,0,0,0,0,0,0, + 0,0,0,-372,0,0,0,0,0,0, + 0,0,-309,0,0,0,0,-258,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-315,0,0,0,0,0,-507, - 0,0,0,-340,0,0,0,0,0,-71, - 0,0,-310,0,0,0,0,-259,0,0, + 0,0,0,0,0,0,-271,0,0,0, + 0,-328,0,0,0,0,0,0,0,0, + 0,-324,0,0,0,0,-38,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-272,0,0,0, - 0,-420,0,0,0,0,-286,0,0,0, - 0,-325,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-266,0,0,0,0, + 0,0,0,0,0,-39,0,0,0,0, + -269,0,0,0,0,-194,0,0,0,0, + 0,-337,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-268,0,0,0,0, - 0,0,0,0,0,-72,0,0,0,0, - -243,0,0,0,0,-195,0,0,0,0, - 0,-338,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -330,-409,0,0,0,0,0,0,0,0, + -360,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -261,-111,0,0,0,-295,0,0,0,0, + 0,0,0,0,-345,0,0,0,0,0, + 0,0,0,0,-41,0,0,0,0,-274, + 0,0,0,0,-55,-325,0,0,0,-308, -361,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-327,0,0,0,0,0, - 0,0,0,0,-334,0,0,0,0,-250, - 0,0,0,0,0,-296,0,0,0,-309, - -362,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-367,0,0,0,0,0, + -417,0,0,0,-349,0,0,0,0,-407, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -112,0,0,0,-318,0,0,0,0,-408, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-286,0, + 0,0,0,-19,0,0,0,0,-56,-107, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-113, - 0,0,0,-114,0,0,0,0,-270,0, - 0,0,0,-20,0,0,0,0,0,-108, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-366,-59, + 0,0,0,-418,0,0,0,0,-94,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-321,-121, - 0,0,0,0,0,0,0,0,-95,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-316,-348,0, + 0,0,0,0,-92,0,0,0,0,-322, 0,0,0,0,0,0,0,0,0,0, - 0,0,-462,0,0,0,0,-317,0,0, - 0,0,-264,0,-93,0,0,0,0,-280, + 0,0,0,0,0,0,0,0,-267,0, + 0,0,0,-434,-421,0,0,0,-93,0, + 0,0,0,-67,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-281,0, - 0,0,0,-350,-367,0,0,0,-94,0, - 0,0,0,-139,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-350,0,0, + 0,-90,0,0,0,0,-359,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-68,0,0,0,0, + -91,0,0,0,0,-70,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-91,0,0,0,0,0,0,0,0, + 0,0,0,0,-71,0,0,0,0,-52, + 0,0,0,0,0,0,-110,0,-111,0, + 0,0,0,0,0,0,0,0,-213,0, + 0,0,0,-454,-83,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, - -92,0,0,0,0,-326,0,0,0,0, + 0,0,-399,0,0,-84,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-154,0,0,0,0,-53, - 0,0,0,0,-366,0,-275,0,0,0, - 0,-155,0,0,-400,0,0,-156,-214,0, - 0,0,0,0,-84,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-15, + 0,0,0,-505,0,-381,-385,0,0,0, + 0,0,0,-48,0,0,0,0,-362,0, + 0,0,0,0,-483,0,0,-463,-356,0, + 0,0,0,-112,0,0,0,0,0,0, + -113,-388,-423,0,0,0,0,0,0,-424, + -428,0,0,-447,0,0,0,0,0,-120, + 0,0,0,0,0,0,0,-85,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-157,0,-158,-85,0,0,0,0, + 0,-138,0,0,0,-86,0,0,0,0, + -478,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,-476, - 0,0,0,-159,0,-19,-329,0,0,0, - 0,0,0,-49,0,0,0,0,-149,0, - 0,0,0,-160,-357,0,0,-331,0,0, - 0,0,0,-161,0,0,0,0,0,0, - -162,-383,-163,0,0,0,-164,0,0,-165, - -346,0,0,-368,0,0,0,0,0,-166, - 0,0,0,0,0,0,0,-86,0,0, - 0,0,-167,0,0,0,0,0,0,0, + 0,0,0,-238,0,0,0,0,0,0, + 0,0,0,0,0,0,-87,0,0,0, + 0,-422,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-436,0,0,0,-87,0,0,0,0, - -351,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-355, - 0,0,0,-239,0,0,0,0,0,0, - 0,0,0,0,0,0,-88,0,0,0, - 0,-168,0,0,0,0,0,0,0,0, + -246,0,0,-240,0,-153,0,-154,0,-248, + 0,0,0,0,0,0,-444,-445,-331,-155, + -156,0,0,0,0,0,0,0,-157,-158, + 0,0,0,0,-378,0,0,0,0,0, + 0,-282,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-159,0,0, + 0,0,-232,0,0,0,0,-88,0,0, + 0,0,-456,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -382,0,0,-1,0,0,-169,-202,0,-353, - -241,0,0,0,0,0,-170,-171,0,-402, - -172,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-345,0,0,0,0, - 0,-360,0,0,0,-283,0,0,0,0, + 0,-451,0,0,-160,0,0,-161,-162,0, + 0,0,0,0,0,-497,0,-163,0,-164, + 0,0,0,-379,0,0,0,0,0,-507, 0,0,0,0,0,0,0,0,0,0, - 0,0,-498,0,-173,0,0,-89,0,0, - 0,0,-401,0,0,0,0,0,0,0, + 0,0,0,0,-165,-382,0,0,0,0, + 0,-270,0,0,0,-78,0,0,0,0, + -464,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-386,0,0,-451,-389,0,-174,0,0, - 0,0,0,0,0,0,0,0,0,-175, - -176,0,0,0,0,0,0,0,0,0, - -179,0,0,-509,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-180,0, - 0,0,0,0,-352,-181,0,0,0,-79, - 0,0,0,0,-258,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-373,0,-372,0, - 0,0,0,0,0,0,0,0,-190,-191, - 0,-423,-249,0,0,0,0,-196,-197,-200, - 0,-302,0,0,0,0,0,0,0,0, - 0,0,0,0,-211,0,0,0,0,0, - 0,0,0,0,0,0,0,-80,0,0, - 0,0,-297,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-390,0,-425,0,0,0,0,0,0, - 0,0,-459,0,0,-384,-221,0,-222,-224, - 0,-143,-480,-134,-356,0,0,-50,0,0, - 0,-284,0,-508,-424,0,0,0,0,0, - 0,0,0,0,-238,0,0,-240,0,0, - 0,0,0,0,0,-499,0,0,0,0, - 0,0,0,0,0,0,-410,0,0,-458, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-406,-418,0,0,-119,0, - 0,0,0,0,0,0,0,0,0,0, - -419,0,0,0,-16,-248,0,0,0,0, - 0,0,-262,0,0,-63,-75,0,0,0, - 0,0,0,0,0,0,0,-263,0,0, - 0,0,0,0,0,0,0,0,-273,-136, - 0,0,0,0,0,0,-341,-466,0,0, - 0,-446,0,0,0,0,0,0,0,0, - 0,-428,0,0,0,0,0,0,0,0, - 0,0,0,0,-274,0,0,0,0,0, - -475,0,0,-278,-120,0,-316,0,0,0, - 0,0,-279,0,-290,-294,-123,0,0,0, - 0,-447,0,-426,0,-502,0,-455,0,-430, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-299,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-304,-482,0,0,0,0,0, - 0,-469,0,-394,-305,-503,0,-322,0,0, - 0,0,0,0,0,0,0,0,0,0, - -449,0,0,0,0,0,-319,0,-335,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-453,0, - 0,-337,0,0,-339,-369,0,0,0,-483, - 0,-460,0,0,0,-198,0,-45,-468,0, - -370,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-183,0,0,0,0, - -470,0,-376,-129,0,0,0,0,-378,0, - 0,-381,0,0,0,-387,0,0,0,0, - 0,0,0,0,-388,0,-479,0,0,0, - -396,0,0,0,-473,0,-461,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-287,0, - 0,0,0,-391,0,0,0,-399,0,0, - 0,0,0,0,0,0,-23,0,0,0, - 0,-407,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-409, - 0,-81,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-82,0,0,0,0, - -411,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-83, - 0,0,0,0,-412,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-320,0,0,0,0,-487,0, - 0,0,0,0,0,0,-22,0,0,0, - 0,-312,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-471, - -414,-488,0,-348,0,0,-363,0,0,0, - 0,-141,0,0,0,0,0,0,0,0, - -413,0,0,0,0,0,0,-76,-415,0, - 0,-422,0,-395,-427,0,0,-429,-440,0, - 0,0,0,0,-431,0,-500,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-432,0,0,0,0,-122,0, - 0,0,0,0,0,0,0,0,0,-489, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-490,-433,0,0,-493,0,-379,0, - 0,0,0,0,0,-435,-505,0,0,0, - 0,0,0,0,0,-437,0,-501,-486,0, - 0,0,0,-380,0,0,0,0,0,0, - -492,0,0,0,0,0,0,0,-438,0, - 0,0,0,0,0,0,0,-443,-513,0, - -124,-514,0,0,0,-374,0,0,0,0, - -519,0,0,0,0,0,0,0,0,0, - 0,0,-485,0,0,0,0,0,0,0, - 0,0,0,0,-497,0,0,0,0,0, - -516,-524,0,-439,0,-444,0,-448,-457,0, - 0,0,0,0,0,0,0,-521,0,-464, - -472,0,0,0,-392,0,0,0,0,-491, - -506,-255,-518,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-511,0,0,0,0,0,-522,0, - 0,0,-126,0,0,0,0,0,0,0, - 0,0,0,-46,0,0,0,0,0,0, - 0,0,0,0,0,0,-523,-256,-494,0, - 0,0,0,0,-47,0,0,0,0,0, + 0,-346,0,-370,0,0,0,0,0,0, + 0,0,0,0,0,-166,0,-460,-315,0, + 0,0,0,0,-466,0,0,-301,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-167,-355,0,0,0,0,0,-229, + 0,0,0,-79,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-389,0,-502, + 0,0,0,0,-168,0,0,0,0,0, + 0,-457,0,0,-257,0,0,-234,0,0, + 0,0,-119,-169,0,-496,0,-49,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-170,-453,0,0,0,0,0,0,0, + 0,-371,0,0,0,-500,0,0,0,0, + 0,0,0,0,0,-468,0,0,0,0, + 0,0,0,0,-171,0,-172,0,-173,0, + -1,0,0,0,-405,0,-484,0,0,0, + 0,0,0,0,0,0,0,0,0,-122, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-174,-175,0,0,-178,0,0,-471,0, + 0,0,0,0,0,0,0,0,0,-473, + -74,0,0,0,0,0,-201,-296,0,0, + -179,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-391,0,0,0,0,0, + 0,0,-426,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-485,0,-62,0,-390,0,0, + 0,-458,0,0,-373,0,0,0,0,0, + -449,-180,-477,-128,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-189, + 0,0,0,-501,0,0,-480,0,0,0, + -245,0,-491,0,0,0,0,0,0,0, + 0,0,-133,0,0,0,0,0,0,-459, + 0,0,0,0,0,-190,-195,0,-476,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,-469,0,0,0,-197, + 0,-481,0,-121,0,0,0,-487,0,-196, + -486,-199,0,0,-123,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-474, + 0,0,-210,0,0,-140,0,0,0,0, + 0,0,0,0,0,0,-220,0,0,0, + 0,0,0,0,0,0,-221,-223,0,0, + 0,0,0,-499,0,0,0,0,0,0, + -211,0,0,0,0,0,-237,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-498,-239, + 0,-247,0,0,0,-506,0,0,-22,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,-526,0,0,0,0,0, + 0,-261,0,-80,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-107,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-81,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-82,0,0,0,0,-521,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-319,0,0,0,0, + -503,0,0,0,0,0,0,0,-21,0, + 0,0,0,-311,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-262,-413,-272,-511,-513,-347,0,-512,0, + 0,-44,-318,-268,-283,-273,0,0,0,0, + 0,0,-277,0,0,0,0,0,0,-278, + -289,0,0,-135,-293,0,0,-125,0,0, + -438,0,0,0,0,0,-515,0,0,0, + 0,0,0,0,0,0,0,-520,-298,0, + 0,0,0,0,0,-303,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-24,0,0,0,0,0,0,0,0, + 0,-304,-321,0,0,0,0,0,0,0, + 0,0,0,0,-488,-336,0,0,0,0, + 0,-518,-338,0,0,0,0,0,-368,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-25,0,0,0,0,0, + 0,0,-369,0,-523,0,0,0,0,0, + 0,0,-490,0,0,0,0,0,-375,-377, + 0,0,0,0,0,0,0,0,-416,-380, + -386,0,-387,0,-395,-398,0,-406,0,-408, + -410,0,-118,0,0,0,0,0,0,0, + 0,0,0,-411,0,0,0,0,0,0, + 0,0,0,0,0,0,-495,0,0,0, + -412,0,-352,-254,-414,-383,0,0,0,-425, + 0,0,0,0,0,0,0,0,0,-427, + 0,-429,-255,-323,-430,0,0,0,0,0, + -354,-431,0,0,-517,0,0,-433,-435,0, + -436,-437,0,0,0,0,0,0,0,0, + -467,0,0,0,-442,0,-446,-455,0,-462, + 0,0,0,0,-470,0,0,0,0,0, + 0,0,0,0,0,-489,-504,-509,0,0, + 0,0,0,0,0,0,0,0,-522,0, + 0,0,0,0,0,-392,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-26,0,0, + 0,0,0,-75,-106,0,0,0,0,0, + 0,0,0,0,0,0,-525,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -27,0,0,0,0,0,0,0,0,0, + 0,-216,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-28,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-29,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-65, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-23,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-77,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-24,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-78,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-25, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-133,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-26,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-206,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-27,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-385,-417,-242,0,0,0, - 0,-217,0,-397,0,0,0,0,0,-504, - 0,0,0,0,0,0,-233,0,0,0, - -512,0,0,0,0,0,0,0,0,0, - 0,0,0,-347,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-28,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-324,0,0,0,-452,0,0, + 0,-64,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-76,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-495,0, + 0,0,0,0,0,0,0,-77,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-454,0,0,0,0,0,0,-271,0, - 0,-481,0,0,0,0,0,0,-218,-48, + -132,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-205,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-384,-492,-217,-218, + 0,0,0,0,0,-396,0,-291,0,0, + 0,0,0,0,0,0,-142,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -510,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, + -340,0,0,0,0,-394,0,0,0,-450, + 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, + -493,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-452,0,0,0,0,0,0, + 0,0,0,-479,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, - -393,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,-358,0,0,0,0,0,0,0,0, - 0,0,0,0,-127,0,0,0,0,0, - 0,0,-150,0,0,0,0,0,0,0, - 0,-478,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-520,-207,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-403,-404,0,0,0,0,0,0,0, - 0,0,0,0,0,-188,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-303, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-465,0,0,0,0,0, + 0,0,0,-357,0,0,0,0,0,0, + 0,0,0,0,0,0,-126,0,0,0, + 0,0,0,0,-149,0,0,0,0,0, + 0,0,0,-302,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-219,0,0, + 0,0,0,0,0,-182,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-334, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-269,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,-467,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-265,0,0, 0,0,0,0,0,0,0,0,0,0, - -359,0,0,0,0,0,0,0,0,0, - 0,0,0,-398,0,0,0,0,0,0, + 0,-465,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,-226,0,0, + 0,0,0,0,0,0,0,-193,0,0, + 0,0,0,-264,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-266,0,0,0,0,0, - 0,0,0,0,-193,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -282,0,0,0,0,-308,0,0,0,0, - 0,0,0,0,0,0,0,0,-219,0, + 0,0,0,-332,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-358,0,0,0,0,0, + 0,0,0,0,0,0,0,-397,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-246, + -290,0,-225,0,0,0,0,0,0,0, + 0,0,0,0,-265,0,0,0,0,0, + 0,-187,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-450,0,0,0,0,0,0, - 0,0,0,-330,0,0,0,0,-336,0, - 0,0,0,0,-220,0,0,0,0,0, - -342,0,0,0,0,-364,0,0,0,0, - 0,-291,0,0,0,0,0,-496,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-192,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-45,0,0,0,0,0,0,0,0, + 0,0,0,0,-281,0,0,0,0,-307, 0,0,0,0,0,0,0,0,0,0, + 0,-329,0,0,0,0,0,0,0,-335, 0,0,0,0,0,0,0,0,0,0, - -365,0,0,0,0,-377,0,0,0,0, - 0,0,-463,0,0,0,0,-484,0,0, - 0,0,-212,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-194,0,0, - 0,0,0,0,0,-292,0,0,0,0, + 0,-341,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-363,0,0,0, + 0,0,0,0,0,0,-46,0,0,0, + 0,0,0,0,0,0,-364,0,0,0, + 0,0,0,0,-47,0,0,0,0,0, + 0,0,0,0,-376,0,0,0,0,0, + 0,-461,0,0,0,0,0,0,0,0, + 0,0,0,-482,0,0,0,0,-18,0, + 0,0,-401,0,0,0,0,0,0,0, + 0,0,-203,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-212, + 0,0,0,0,-43,0,0,0,0,0, + -69,-393,0,0,0,0,0,0,-259,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-204,0,0,0,0,0,0,0, - 0,0,-213,0,0,0,0,-260,0,0, - 0,0,0,0,-44,-70,0,0,-441,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-439,-440,0,0, + 0,0,0,-441,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-443,-206,0,0,0,0,0, + -402,0,0,-403,0,0,0,0,0,0, + 0,0,0,0,0,0,-448,0,0,0, + 0,0,0,-519,0,-494,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-442,0, - 0,0,-445,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -540,7 +540,7 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -550,8 +550,8 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface BaseAction { public final static char baseAction[] = { - 170,5,131,78,78,34,34,64,64,40, - 40,189,189,190,190,191,191,1,1,16, + 170,5,131,78,78,34,34,64,64,39, + 39,190,190,191,191,192,192,1,1,16, 16,16,16,16,16,16,16,17,17,17, 15,11,11,9,9,9,9,9,2,65, 65,6,6,12,12,12,12,44,44,132, @@ -566,13 +566,13 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 31,31,31,32,32,33,33,35,35,36, 36,37,37,38,38,42,42,41,41,41, 41,41,41,41,41,41,41,41,41,41, - 39,39,29,140,140,99,99,102,102,94, - 192,192,69,69,69,69,69,69,69,69, - 69,70,70,70,71,71,57,57,174,174, - 72,72,72,115,115,73,73,73,73,74, - 74,74,74,74,75,75,79,79,79,79, - 79,79,79,50,50,50,50,50,105,105, - 106,106,49,24,24,24,24,24,45,45, + 40,29,140,140,99,99,102,102,94,193, + 193,69,69,69,69,69,69,69,69,69, + 70,70,70,71,71,57,57,174,174,72, + 72,72,115,115,73,73,73,73,74,74, + 74,74,74,75,75,79,79,79,79,79, + 79,79,49,49,49,49,49,105,105,106, + 106,50,175,24,24,24,24,24,48,48, 88,88,88,88,88,147,147,142,142,142, 142,142,143,143,143,144,144,144,145,145, 145,146,146,146,89,89,89,89,89,90, @@ -580,20 +580,20 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 14,14,14,14,93,119,119,119,119,119, 117,117,117,118,118,149,149,148,148,121, 121,150,83,83,84,84,86,87,85,52, - 48,151,151,53,51,82,82,152,152,141, + 47,151,151,53,51,82,82,152,152,141, 141,122,122,77,77,153,153,62,62,62, 59,59,58,63,63,67,67,56,56,56, 91,91,101,100,100,61,61,60,60,55, - 55,46,103,103,103,95,95,95,96,97, + 55,45,103,103,103,95,95,95,96,97, 97,97,98,98,107,107,107,109,109,108, - 108,193,193,92,92,176,176,176,176,176, - 124,47,47,155,175,175,125,125,125,125, - 177,177,30,30,116,126,126,126,126,110, + 108,194,194,92,92,177,177,177,177,177, + 124,46,46,155,176,176,125,125,125,125, + 178,178,30,30,116,126,126,126,126,110, 110,120,120,120,157,158,158,158,158,158, - 158,158,158,158,180,180,178,178,179,179, - 159,159,159,159,160,181,112,111,111,182, - 182,161,161,161,161,104,104,104,183,183, - 10,184,184,185,162,154,154,163,163,164, + 158,158,158,158,181,181,179,179,180,180, + 159,159,159,159,160,182,112,111,111,183, + 183,161,161,161,161,104,104,104,184,184, + 10,185,185,186,162,154,154,163,163,164, 165,165,7,7,8,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167, @@ -601,495 +601,495 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 167,167,167,167,167,167,167,66,68,68, 168,168,127,127,128,128,128,128,128,128, 3,4,169,169,166,166,129,129,129,80, - 81,76,156,156,113,113,186,186,186,130, - 130,123,123,187,187,170,170,1417,38,2046, - 1970,1123,3464,3492,34,1175,31,35,30,32, - 2354,262,29,27,55,1195,110,80,81,112, - 1234,83,1279,1265,1324,1310,675,274,1401,1369, - 1573,1633,1481,1583,1706,147,485,3136,163,148, - 2078,38,1055,36,1123,957,4373,34,1175,31, - 35,62,32,3359,38,1055,36,1123,232,2234, - 34,1175,31,35,30,32,950,262,29,27, - 55,1195,110,80,81,112,1234,525,1279,1265, - 1324,1310,3447,2870,2570,235,230,231,4625,1440, - 275,3318,38,1055,36,1123,787,2234,34,1175, - 31,35,30,32,950,262,29,27,55,1195, - 90,80,81,242,245,248,251,3127,3133,38, - 1055,36,1123,2270,4373,34,1175,31,35,61, - 32,774,38,501,2947,1123,3118,761,435,3019, - 3115,3549,3631,3733,4365,2281,38,1055,36,1123, - 2440,2234,34,1175,31,35,2819,32,950,262, - 29,27,55,1195,110,80,81,112,1234,341, - 1279,1265,1324,1310,66,3541,1401,1369,1573,2740, - 1481,1583,1706,147,839,1746,506,148,3612,38, - 280,3046,774,38,1696,1615,1123,3612,38,278, - 507,2281,38,1055,36,1123,2440,2234,34,1175, - 31,35,2819,32,950,262,29,27,55,1195, - 110,80,81,112,1234,341,1279,1265,1324,1310, - 410,1719,1401,1369,1573,513,1481,1583,1706,147, - 787,2534,506,148,774,38,2949,3046,513,385, - 417,58,65,2229,4818,3742,507,1828,38,1055, - 36,1123,2447,486,34,1175,43,35,2136,2843, - 38,1055,36,1123,502,2234,34,1175,31,35, - 30,32,950,262,29,27,55,1195,110,80, - 81,112,1234,1598,1279,1265,1324,1310,774,3069, - 1401,1369,1573,444,1481,1583,2880,169,83,2745, - 2072,2801,3201,1084,2826,3266,1809,38,1055,36, - 1123,3016,4863,34,1175,31,35,30,32,2835, - 502,499,1555,38,1055,36,1123,1711,4863,34, - 1175,31,35,64,32,3156,2929,326,1555,38, - 1055,36,1123,1777,4863,34,1175,31,35,63, - 32,2944,3131,1720,431,330,4680,2879,327,333, - 2826,2799,38,1055,36,1123,2440,2234,34,1175, - 31,35,2819,32,950,262,29,27,55,1195, - 110,80,81,112,1234,341,1279,1265,1324,1310, - 935,2952,1401,1369,1573,2926,1481,1583,1706,147, - 4803,3266,506,148,3171,38,389,3046,661,286, - 146,2609,38,1055,36,1123,507,2234,34,1175, - 31,35,30,32,950,262,29,27,55,1195, - 110,80,81,112,1234,513,1279,1265,1324,1310, - 428,4853,1401,1369,1573,83,1481,1583,1706,147, - 731,331,376,148,1828,38,1055,36,1123,3479, - 83,34,1175,2825,35,798,2304,47,2895,1828, - 38,1055,36,1123,774,379,34,1175,2857,35, - 774,38,501,277,1123,2682,38,1055,36,1123, - 503,2234,34,1175,31,35,30,32,950,262, - 29,27,55,1195,110,80,81,112,1234,3510, - 1279,1265,1324,1310,3286,3569,1401,1369,1573,1878, - 1481,1583,1706,147,97,1707,376,148,774,38, - 282,1681,38,1055,36,1123,380,4709,34,1175, - 31,35,337,32,2962,38,1055,36,1123,377, - 2234,34,1175,31,35,30,32,950,262,29, - 27,55,1195,110,80,81,112,1234,435,1279, - 1265,1324,1310,75,3481,1401,1369,1573,435,1481, - 1583,1706,147,3630,1633,163,148,331,3729,318, - 2339,320,350,316,2320,70,38,1831,46,1123, - 2304,1049,45,1175,3125,2962,38,1055,36,1123, - 381,2234,34,1175,31,35,30,32,950,262, - 29,27,55,1195,110,80,81,112,1234,3444, - 1279,1265,1324,1310,2932,3633,1401,1369,1573,787, - 1481,1583,1706,147,3510,92,370,148,106,994, - 2962,38,1055,36,1123,3805,2234,34,1175,31, - 35,30,32,950,262,29,27,55,1195,110, - 80,81,112,1234,611,1279,1265,1324,1310,386, - 417,1401,1369,1573,761,1481,1583,1706,147,388, - 417,370,148,187,3051,2962,38,1055,36,1123, - 3464,2234,34,1175,31,35,30,32,950,262, - 29,27,55,1195,110,80,81,112,1234,83, - 1279,1265,1324,1310,4588,677,1401,1369,1573,369, - 1481,1583,1706,147,4079,1184,370,148,3125,68, - 2884,38,1055,36,1123,3464,2234,34,1175,31, - 35,30,32,950,262,29,27,55,1195,110, - 80,81,112,1234,83,1279,1265,1324,1310,668, - 3086,1401,1369,1573,368,1481,1583,1706,147,28, - 93,376,148,106,249,2755,38,1055,36,1123, - 3464,2234,34,1175,31,35,30,32,950,262, - 29,27,55,1195,110,80,81,112,1234,513, - 1279,1265,1324,1310,3687,4704,1401,1369,1573,366, - 1481,1583,1706,147,74,3473,146,148,2955,1631, - 1746,2962,38,1055,36,1123,435,2234,34,1175, - 31,35,30,32,950,262,29,27,55,1195, - 110,80,81,112,1234,1863,1279,1265,1324,1310, - 1108,325,1401,1369,1573,374,1481,1583,1706,147, - 3464,2278,164,148,2962,38,1055,36,1123,4803, - 2234,34,1175,31,35,30,32,950,262,29, - 27,55,1195,110,80,81,112,1234,246,1279, - 1265,1324,1310,2440,73,1401,1369,1573,448,1481, - 1583,1706,147,774,3082,159,148,2962,38,1055, - 36,1123,2644,2234,34,1175,31,35,30,32, - 950,262,29,27,55,1195,110,80,81,112, - 1234,234,1279,1265,1324,1310,49,2895,1401,1369, - 1573,83,1481,1583,1706,147,4147,2278,158,148, - 2962,38,1055,36,1123,3464,2234,34,1175,31, - 35,30,32,950,262,29,27,55,1195,110, - 80,81,112,1234,512,1279,1265,1324,1310,83, - 358,1401,1369,1573,2691,1481,1583,1706,147,58, - 312,157,148,2962,38,1055,36,1123,1746,2234, - 34,1175,31,35,30,32,950,262,29,27, - 55,1195,110,80,81,112,1234,2612,1279,1265, - 1324,1310,83,1491,1401,1369,1573,1006,1481,1583, - 1706,147,3464,158,156,148,2962,38,1055,36, - 1123,1154,2234,34,1175,31,35,30,32,950, - 262,29,27,55,1195,110,80,81,112,1234, - 512,1279,1265,1324,1310,83,91,1401,1369,1573, - 1118,1481,1583,1706,147,3464,447,155,148,2962, - 38,1055,36,1123,1746,2234,34,1175,31,35, - 30,32,950,262,29,27,55,1195,110,80, - 81,112,1234,2743,1279,1265,1324,1310,351,57, - 1401,1369,1573,2938,1481,1583,1706,147,3464,4721, - 154,148,2962,38,1055,36,1123,1746,2234,34, - 1175,31,35,30,32,950,262,29,27,55, - 1195,110,80,81,112,1234,3712,1279,1265,1324, - 1310,2036,348,1401,1369,1573,1558,1481,1583,1706, - 147,3464,4102,153,148,2962,38,1055,36,1123, - 1746,2234,34,1175,31,35,30,32,950,262, - 29,27,55,1195,110,80,81,112,1234,83, - 1279,1265,1324,1310,4259,94,1401,1369,1573,1346, - 1481,1583,1706,147,3464,56,152,148,2962,38, - 1055,36,1123,3464,2234,34,1175,31,35,30, - 32,950,262,29,27,55,1195,110,80,81, - 112,1234,83,1279,1265,1324,1310,2913,1825,1401, - 1369,1573,1474,1481,1583,1706,147,1868,325,151, - 148,2962,38,1055,36,1123,3464,2234,34,1175, - 31,35,30,32,950,262,29,27,55,1195, - 110,80,81,112,1234,83,1279,1265,1324,1310, - 3462,3641,1401,1369,1573,513,1481,1583,1706,147, - 72,4726,150,148,2962,38,1055,36,1123,3464, - 2234,34,1175,31,35,30,32,950,262,29, - 27,55,1195,110,80,81,112,1234,83,1279, - 1265,1324,1310,1140,1753,1401,1369,1573,513,1481, - 1583,1706,147,71,4781,149,148,2962,38,1055, - 36,1123,3464,2234,34,1175,31,35,30,32, - 950,262,29,27,55,1195,110,80,81,112, - 1234,3591,1279,1265,1324,1310,1214,3708,1401,1369, - 1573,513,1481,1583,1706,147,70,4793,144,148, - 3276,38,1055,36,1123,3464,2234,34,1175,31, - 35,30,32,950,262,29,27,55,1195,110, - 80,81,112,1234,83,1279,1265,1324,1310,4164, - 3742,1401,1369,1573,3590,1481,1583,1706,147,69, - 1632,194,148,3359,38,1055,36,1123,1552,2234, - 34,1175,31,35,30,32,950,262,29,27, - 55,1195,110,80,81,112,1234,1552,1279,1265, - 1324,1310,774,3678,1401,1369,1573,3464,1481,1583, - 2880,169,3359,38,1055,36,1123,515,2234,34, - 1175,31,35,30,32,950,262,29,27,55, - 1195,110,80,81,112,1234,435,1279,1265,1324, - 1310,2269,384,1401,1369,1573,1748,1481,1583,2880, - 169,2675,38,501,277,1123,774,38,1917,383, - 1123,283,3359,38,1055,36,1123,290,2234,34, - 1175,31,35,30,32,950,262,29,27,55, - 1195,110,80,81,112,1234,274,1279,1265,1324, - 1310,3169,253,1401,1369,1573,3464,1481,1583,2880, - 169,3359,38,1055,36,1123,2621,2234,34,1175, - 31,35,30,32,950,262,29,27,55,1195, - 110,80,81,112,1234,3479,1279,1265,1324,1310, - 60,397,1401,1369,1573,3539,1481,1583,2880,169, - 2675,38,501,3126,1123,411,3464,387,417,276, - 1552,3359,38,1055,36,1123,413,2234,34,1175, - 31,35,30,32,950,262,29,27,55,1195, - 110,80,81,112,1234,395,1279,1265,1324,1310, - 59,605,1401,1369,1573,3464,1481,1583,2880,169, - 3400,38,1055,36,1123,412,2234,34,1175,31, - 35,30,32,950,262,29,27,55,1195,110, - 80,81,112,1234,284,1279,1265,1324,1310,321, - 693,1401,1369,1573,781,1481,1583,2880,169,774, - 38,501,281,1123,1546,38,1917,383,1123,76, - 3359,38,1055,36,1123,415,2234,34,1175,31, - 35,30,32,950,262,29,27,55,1195,110, - 80,81,112,1234,54,1279,1265,1324,1310,83, - 2066,1401,1369,1573,3484,1481,2701,1874,561,3359, - 38,1055,36,1123,3674,2234,34,1175,31,35, - 30,32,950,262,29,27,55,1195,110,80, - 81,112,1234,513,1279,1265,1324,1310,3705,4798, - 1401,1369,1573,860,2697,3359,38,1055,36,1123, - 2585,2234,34,1175,31,35,30,32,950,262, - 29,27,55,1195,110,80,81,112,1234,1282, - 1279,1265,1324,1310,3464,3464,1401,1369,2662,3359, - 38,1055,36,1123,498,2234,34,1175,31,35, - 30,32,950,262,29,27,55,1195,110,80, - 81,112,1234,787,1279,1265,1324,1310,105,2681, - 1401,2687,3359,38,1055,36,1123,323,2234,34, - 1175,31,35,30,32,950,262,29,27,55, - 1195,110,80,81,112,1234,324,1279,1265,1324, - 2580,3359,38,1055,36,1123,1746,2234,34,1175, - 31,35,30,32,950,262,29,27,55,1195, - 110,80,81,112,1234,156,1279,1265,1324,2593, - 3441,38,1917,383,1123,2737,3274,774,38,501, - 279,1123,244,237,262,3635,3574,3544,3382,424, - 38,1917,383,1123,1349,3359,38,1055,36,1123, - 274,2234,34,1175,31,35,30,32,950,262, - 29,27,55,1195,110,80,81,112,1234,274, - 1279,1265,2524,3620,101,3671,3359,38,1055,36, - 1123,232,2234,34,1175,31,35,30,32,950, - 262,29,27,55,1195,110,80,81,112,1234, - 83,1279,1265,2544,601,1084,1033,83,235,230, - 231,527,2690,275,774,38,1917,383,1123,774, - 38,1917,383,1123,777,510,38,441,83,3527, - 341,4786,3036,2640,1505,160,242,245,248,251, - 3127,1718,2737,1634,54,1285,2270,1812,353,37, - 1410,83,3046,77,83,521,2445,1874,883,2562, - 3477,1240,3019,3115,3549,3631,3733,4365,3359,38, - 1055,36,1123,3565,2234,34,1175,31,35,30, - 32,950,262,29,27,55,1195,110,80,81, - 112,1234,2606,1279,1265,2554,3359,38,1055,36, - 1123,1746,2234,34,1175,31,35,30,32,950, - 262,29,27,55,1195,110,80,81,112,1234, - 611,1279,1265,2561,1709,38,1055,36,1123,2962, - 4641,34,1175,31,35,337,32,3359,38,1055, - 36,1123,2653,2234,34,1175,31,35,30,32, - 950,262,29,27,55,1195,110,80,81,112, - 1234,83,1279,2563,2140,352,3514,2664,2935,1084, - 3774,3662,521,2440,3266,2440,2440,853,347,102, - 3809,686,318,2339,320,2440,313,2320,434,3273, - 3279,349,2644,160,2644,2644,774,38,1917,383, - 1123,3123,3198,567,2644,513,3032,38,1055,36, - 1123,3207,4641,34,1175,31,35,337,32,342, - 1591,1065,347,3048,330,938,421,3114,3359,38, - 1055,36,1123,2947,2234,34,1175,31,35,30, - 32,950,262,29,27,55,1195,110,80,81, - 112,1234,83,1279,2567,2737,83,2700,1787,3246, - 357,1411,493,357,318,2339,320,787,313,2320, - 2081,2957,493,349,3636,1754,2975,2978,2007,2975, - 2978,2210,435,2185,3065,38,1055,36,1123,2962, - 4641,34,1175,31,35,337,32,490,492,2007, - 363,342,1591,1065,347,3136,1755,490,492,1668, - 3359,38,1055,36,1123,2136,2234,34,1175,31, - 35,30,32,950,262,29,27,55,1195,110, - 80,81,112,1234,575,2435,513,3136,3236,3171, - 38,389,318,2339,320,399,313,2320,3586,1459, - 2678,349,3464,774,38,1917,383,1123,1775,2257, - 1574,516,1599,38,3232,36,1123,3209,4709,34, - 1175,31,35,337,32,3465,2835,300,322,342, - 1591,1065,347,274,1349,521,439,517,3359,38, - 1055,36,1123,2136,2234,34,1175,31,35,30, - 32,950,262,29,27,55,1195,110,80,81, - 112,1234,177,2452,83,332,333,527,330,2775, - 318,2339,320,3574,313,2320,3774,3471,2440,3508, - 165,2440,586,1552,2745,3742,229,2440,1630,1964, - 3266,160,2745,1084,3742,3125,78,229,3266,3295, - 2644,2997,185,1071,2835,237,341,4564,1792,205, - 216,213,204,214,215,217,1552,165,4564,174, - 207,216,213,206,214,215,217,3136,891,519, - 3464,188,172,173,175,176,177,178,179,208, - 330,3058,373,329,333,1,3136,298,330,3005, - 527,514,218,209,210,211,212,292,293,294, - 295,3136,239,262,3297,3004,3466,184,493,229, - 2440,408,3235,523,160,3246,3127,1630,4262,2953, - 305,2954,1084,3444,2997,185,200,1505,2951,341, - 4564,2135,205,216,213,204,214,215,217,2679, - 1026,199,174,491,492,2688,165,3038,3464,186, - 232,709,3136,4646,189,172,173,175,176,177, - 178,179,2057,38,1055,36,1123,3209,4709,34, - 1175,31,35,337,32,3480,3015,240,230,231, - 371,3600,3573,349,3202,1462,2440,774,38,1917, - 383,1123,203,3515,1572,3548,3589,3087,38,2869, - 1395,1123,3136,4446,3780,229,1552,349,3136,4198, - 83,342,1591,1065,347,2943,1625,274,330,340, - 318,2339,320,3775,313,2320,4564,54,207,216, - 213,206,214,215,217,342,1591,1065,347,1365, - 1874,722,201,1668,3660,3673,232,208,222,3058, - 2440,1663,1916,1071,3709,3616,1552,1084,3695,2440, - 218,209,210,211,212,292,293,294,295,229, - 297,83,444,244,230,231,1497,2935,341,2745, - 338,160,2440,3266,307,3266,4262,2986,520,430, - 4564,167,207,216,213,206,214,215,217,83, - 3046,2644,3624,3138,3111,699,3050,1304,420,523, - 3720,208,83,3058,3679,2440,2067,3175,83,3464, - 296,3776,3266,2440,218,209,210,211,212,292, - 293,294,295,330,229,330,774,38,1917,383, - 1123,3136,341,3632,862,38,1917,383,1123,3731, - 4262,3136,3733,3611,3577,4564,3735,207,216,213, - 206,214,215,217,3046,3740,54,3136,3444,357, - 4551,2418,331,2092,54,3464,208,83,3058,1874, - 2950,3759,3240,349,1754,2975,2978,1874,2878,218, - 209,210,211,212,292,293,294,295,2056,774, - 38,501,3188,1123,598,38,441,304,3760,3665, - 4786,344,1591,1065,347,4262,3186,3359,38,2046, - 1970,1123,875,2234,34,1175,31,35,30,32, - 950,262,29,27,55,1195,110,80,81,88, - 2465,2965,3359,38,1055,36,1123,37,2234,34, - 1175,31,35,30,32,950,262,29,27,55, - 1195,110,80,81,112,2458,3359,38,1055,36, - 1123,3770,2234,34,1175,31,35,30,32,950, - 262,29,27,55,1195,110,80,81,112,2493, - 3359,38,1055,36,1123,3778,2234,34,1175,31, - 35,30,32,950,262,29,27,55,1195,110, - 80,81,112,2495,1760,38,1055,36,1123,3464, - 4709,34,1175,31,35,337,32,3359,38,1055, - 36,1123,2136,2234,34,1175,31,35,30,32, - 950,262,29,27,55,1195,110,80,81,89, - 83,265,3464,1960,2136,4229,527,774,38,1917, - 383,1123,1549,38,1917,383,1123,438,3273,3279, - 331,3840,318,2339,320,229,314,2320,2187,3841, - 160,349,3423,1084,2136,2491,2964,424,2907,353, - 2997,185,54,2835,527,3782,4564,3464,205,216, - 213,204,214,215,217,1874,705,160,174,344, - 1591,1065,347,229,3787,2835,2056,1677,160,1747, - 3676,172,173,175,176,177,178,179,2997,185, - 3756,375,2571,333,4564,2804,205,216,213,204, - 214,215,217,441,3789,2835,174,3136,527,774, - 38,1917,383,1123,2574,333,3205,3136,181,172, - 173,175,176,177,178,179,3846,229,83,3171, - 38,389,160,951,774,38,1917,383,1123,423, - 232,529,2997,185,2934,333,527,4151,4564,89, - 205,216,213,204,214,215,217,303,969,3136, - 174,2607,3464,527,422,229,3742,247,230,231, - 160,3464,192,172,173,175,176,177,178,179, - 2997,185,229,774,38,291,4564,160,205,216, - 213,204,214,215,217,617,3688,167,174,4396, - 527,3136,3464,3480,3621,3757,2931,3182,3813,3804, - 3723,172,173,175,176,177,178,179,3136,229, - 3090,3848,232,373,160,774,38,1917,383,1123, - 3815,3817,1630,705,2997,185,3795,1084,527,3701, - 4564,299,205,216,213,204,214,215,217,250, - 230,231,174,2940,5399,440,5399,229,196,3475, - 3271,165,160,2680,195,172,173,175,176,177, - 178,179,2997,185,83,5399,5399,5399,4564,2440, - 205,216,213,204,214,215,217,793,1630,1963, - 174,5399,527,1084,1084,83,5399,5399,341,5399, - 2440,5399,191,172,173,175,176,177,178,179, - 5399,229,5399,5399,5399,5399,160,165,160,341, - 3046,2776,5399,378,232,881,2997,185,167,2181, - 527,2096,4564,3587,205,216,213,204,214,215, - 217,3046,2234,5399,174,5399,5399,1084,5399,229, - 2220,253,230,231,160,5399,198,172,173,175, - 176,177,178,179,2997,185,5399,5399,5399,5399, - 4564,160,205,216,213,204,214,215,217,5399, - 5399,2698,174,5399,5399,5399,5399,2146,5399,5399, - 5399,3629,5399,5399,197,172,173,175,176,177, - 178,179,3359,38,1055,36,1123,5399,2234,34, - 1175,31,35,30,32,950,262,29,27,55, - 1195,110,80,81,87,3359,38,1055,36,1123, - 5399,2234,34,1175,31,35,30,32,950,262, - 29,27,55,1195,110,80,81,86,3359,38, - 1055,36,1123,5399,2234,34,1175,31,35,30, - 32,950,262,29,27,55,1195,110,80,81, - 85,3359,38,1055,36,1123,5399,2234,34,1175, - 31,35,30,32,950,262,29,27,55,1195, - 110,80,81,84,3359,38,1055,36,1123,5399, - 2234,34,1175,31,35,30,32,950,262,29, - 27,55,1195,110,80,81,83,3359,38,1055, - 36,1123,5399,2234,34,1175,31,35,30,32, - 950,262,29,27,55,1195,110,80,81,82, - 3232,38,1055,36,1123,5399,2234,34,1175,31, - 35,30,32,950,262,29,27,55,1195,110, - 80,81,108,3359,38,1055,36,1123,5399,2234, - 34,1175,31,35,30,32,950,262,29,27, - 55,1195,110,80,81,114,3359,38,1055,36, - 1123,5399,2234,34,1175,31,35,30,32,950, - 262,29,27,55,1195,110,80,81,113,3359, - 38,1055,36,1123,5399,2234,34,1175,31,35, - 30,32,950,262,29,27,55,1195,110,80, - 81,111,3359,38,1055,36,1123,5399,2234,34, - 1175,31,35,30,32,950,262,29,27,55, - 1195,110,80,81,109,3746,1869,3626,38,278, - 2440,1084,2327,5399,3528,5399,5399,1084,5399,2440, - 774,38,291,5399,5399,5399,5399,2137,3069,229, - 5399,2010,5399,5399,5399,160,1084,5399,229,5399, - 5399,160,5399,5399,3662,3132,202,5399,5399,2440, - 4564,1806,207,216,213,206,214,215,217,4564, - 160,207,216,213,206,214,215,217,2644,5399, - 167,208,3329,3058,1630,5399,5399,5399,3793,1084, - 208,5399,3058,2440,487,209,210,211,212,292, - 293,294,295,509,209,210,211,212,292,293, - 294,295,229,165,5399,5399,5399,5399,5399,3077, - 38,1055,36,1123,3209,4641,34,1175,31,35, - 337,32,5399,4564,5399,207,216,213,206,214, - 215,217,3819,3641,5399,5399,357,2440,774,2137, - 3069,5399,3647,5399,208,5399,3058,2440,285,2374, - 83,2345,2975,2978,1084,2440,229,306,209,210, - 211,212,292,293,294,295,229,318,2339,320, - 3671,313,2320,2344,341,1997,3105,4564,160,207, - 216,213,206,214,215,217,1365,4564,1849,207, - 216,213,206,214,215,217,3046,5399,208,5399, - 3058,1630,5399,5399,5399,2224,1084,5399,208,5399, - 3058,510,209,210,211,212,292,293,294,295, - 5399,219,209,210,211,212,292,293,294,295, - 165,307,2666,38,3232,36,1123,3209,4641,34, - 1175,31,35,337,32,3505,38,1917,383,1123, - 3138,3274,5399,950,38,1917,383,1123,238,262, - 285,3679,1647,38,1055,36,1123,3209,4641,34, - 1175,31,35,337,32,274,2087,83,5399,5399, - 5399,1084,2440,54,5399,5399,5399,2150,3105,5399, - 318,2339,320,5399,313,2320,1874,1114,5399,5399, - 2872,341,5399,5399,5399,160,232,2459,5399,1964, - 5399,5399,83,83,5399,167,5399,2440,2440,5399, - 318,2339,320,3046,313,2320,1521,38,1917,383, - 1123,5399,1763,236,230,231,341,341,275,1365, - 1647,38,1055,36,1123,3209,4641,34,1175,31, - 35,337,32,5399,5399,1960,54,5399,3046,3046, - 2440,243,246,249,252,3127,5399,497,495,1874, - 52,2270,5399,5399,5399,5399,3038,5399,3672,341, - 718,5399,4646,5399,308,5399,5399,5399,5399,5399, - 5399,409,3235,5399,5399,5399,5399,5399,318,2339, - 320,3560,313,2320,1647,38,1055,36,1123,3209, - 4641,34,1175,31,35,337,32,2185,1781,38, - 1055,36,1123,2882,4641,34,1175,31,35,337, - 32,1681,38,1055,36,1123,5399,4709,34,1175, - 31,35,337,32,1693,38,1055,36,1123,3092, - 4641,34,1175,31,35,337,32,5399,396,5399, - 5399,5399,318,2339,320,5399,313,2320,1481,5399, - 5399,5399,5399,2440,4868,5399,315,3174,320,5399, - 1663,3700,5399,5399,5399,5399,5399,331,5399,318, - 2339,320,229,314,2320,1564,5399,5399,5399,5399, - 2440,4868,315,3174,320,862,38,1917,383,1123, - 5399,5399,5399,4538,5399,2091,400,5399,5399,229, - 5399,2953,38,1917,383,1123,2953,38,1917,383, - 1123,5399,5399,5399,401,54,3058,419,5399,2421, - 4538,3482,2091,400,1084,5399,5399,5399,1874,52, - 5399,54,5399,5399,5399,5399,54,5399,3185,1068, - 2745,401,5399,3058,1874,2308,3266,5399,160,1874, - 52,1911,3043,5399,83,3117,5399,5399,1892,2440, - 2716,5399,5399,5399,950,38,1917,383,1123,2953, - 38,1917,383,1123,5399,2468,5399,1911,341,3043, - 1084,2953,38,1917,383,1123,2953,38,1917,383, - 1123,5399,2515,5399,54,5399,4826,1084,2562,54, - 3046,5399,5399,1084,160,402,404,1874,52,524, - 5399,54,1874,2722,1935,5399,54,5399,1009,5399, - 5399,160,5399,3117,1874,52,1978,160,4615,1874, - 52,2416,402,405,5399,3487,5399,3632,5399,5399, - 3579,2953,38,1917,383,1123,2953,38,1917,383, - 1123,5399,5399,3174,38,1917,383,1123,3182,38, - 1917,383,1123,774,38,1917,383,1123,5399,5399, - 5399,54,5399,5399,5399,5399,54,98,774,38, - 1917,383,1123,54,1874,52,3162,5399,54,1874, - 52,5399,3266,54,5399,3604,1874,52,5399,5399, - 3695,1874,52,5399,5399,5399,51,3653,54,5399, - 5399,5399,4140,774,38,1917,383,1123,5399,5399, - 5399,1874,727,774,38,1917,383,1123,774,38, - 1917,383,1123,5399,5399,1097,1161,5399,5399,1225, - 527,527,4826,54,527,5399,5399,5399,5399,5399, - 5399,5399,5399,54,5399,5399,1874,4127,54,341, - 341,5399,5399,341,160,160,1874,561,160,5399, - 5399,1874,1124,5399,1410,1285,5399,5399,193,1289, - 5399,3046,3046,1353,527,4524,5399,5399,527,5399, - 1330,1582,5399,5399,5399,5399,5399,5399,5399,5399, - 5399,5399,5399,341,5399,5399,5399,341,160,5399, - 5399,5399,160,5399,5399,5399,5399,5399,193,5399, - 5399,5399,193,100,5399,4524,5399,5399,5399,4524, - 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399, - 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399, - 5399,5399,5399,5399,3078,5399,5399,5399,5399,5399, - 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399, - 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399, - 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399, - 5399,5399,5399,5399,3249,5399,5399,5399,3305,5399, - 0,5417,42,0,5416,42,0,501,33,0, - 442,985,0,41,5417,0,41,5416,0,130, - 2588,0,1,432,0,42,5417,0,42,5416, - 0,446,1370,0,445,1548,0,501,44,0, - 838,95,0,501,382,0,383,36,0,36, - 383,0,382,33,0,33,382,0,501,33, - 382,0,2539,42,0,1,765,0,1,5672, - 0,1,5671,0,1,5670,0,1,5669,0, - 1,5668,0,1,5667,0,1,5666,0,1, - 5665,0,1,5664,0,1,5663,0,1,5662, - 0,1,5417,42,0,1,5416,42,0,1, - 1135,0,5633,241,0,5632,241,0,5735,241, - 0,5734,241,0,5660,241,0,5659,241,0, - 5658,241,0,5657,241,0,5656,241,0,5655, - 241,0,5654,241,0,5653,241,0,5672,241, - 0,5671,241,0,5670,241,0,5669,241,0, - 5668,241,0,5667,241,0,5666,241,0,5665, - 241,0,5664,241,0,5663,241,0,5662,241, - 0,42,241,5417,0,42,241,5416,0,241, - 5440,0,53,5417,0,53,5416,0,237,2958, - 0,48,5438,0,48,40,0,5417,53,0, - 5416,53,0,132,2588,0,131,2588,0,30, - 508,0,5727,433,0,1000,433,0,1,5440, - 0,1,42,0,52,40,0,1,96,0, - 228,1,5440,0,228,1,42,0,228,407, - 0,40,5417,0,40,5416,0,40,5417,2, - 0,40,5416,2,0,5417,39,0,5416,39, - 0,5438,50,0,50,40,0,5409,398,0, - 5408,398,0,1,4460,0,1,3035,0,1, - 2539,0,228,406,0,1954,317,0,5727,99, - 0,1000,99,0,1,5727,0,1,1000,0, - 279,3702,0,1,944,0,1,2859,0,5407, - 1,0,489,4134,0,228,1,0,228,1, - 3370,0,5409,228,0,5408,228,0,3619,228, - 0,161,180,0,8,10,0,228,168,0, - 228,221,0,228,220,0,190,3703,0 + 81,76,156,156,113,113,187,187,187,130, + 130,123,123,188,188,170,170,958,38,2435, + 2416,883,508,3266,34,1008,31,35,30,32, + 2612,262,29,27,55,1233,110,80,81,112, + 1234,30,1453,1401,1626,1540,675,274,1831,1798, + 2017,590,1868,2046,2135,147,485,2534,162,148, + 1476,38,851,36,883,117,4365,34,1008,31, + 35,62,32,2351,38,851,36,883,232,2234, + 34,1008,31,35,30,32,823,262,29,27, + 55,1233,110,80,81,112,1234,1315,1453,1401, + 1626,1540,839,30,2790,235,230,231,731,82, + 275,2307,38,851,36,883,1155,2234,34,1008, + 31,35,30,32,823,262,29,27,55,1233, + 90,80,81,242,245,248,251,3030,2025,38, + 851,36,883,2580,4365,34,1008,31,35,61, + 32,327,38,501,3277,883,1186,619,160,3633, + 2953,3234,3245,3508,4357,1496,38,851,36,883, + 2440,2234,34,1008,31,35,3081,32,823,262, + 29,27,55,1233,110,80,81,112,1234,341, + 1453,1401,1626,1540,66,525,1831,1798,2017,1106, + 1868,2046,2135,147,943,856,506,148,865,2528, + 3126,66,38,2270,46,883,508,2094,45,1008, + 507,1496,38,851,36,883,2440,2234,34,1008, + 31,35,3081,32,823,262,29,27,55,1233, + 110,80,81,112,1234,341,1453,1401,1626,1540, + 4071,1189,1831,1798,2017,1311,1868,2046,2135,147, + 2928,1449,506,148,661,2574,3126,327,38,1615, + 1572,883,65,327,38,3287,507,2658,38,851, + 36,883,486,431,34,1008,43,35,938,1826, + 38,851,36,883,502,2234,34,1008,31,35, + 30,32,823,262,29,27,55,1233,110,80, + 81,112,1234,1243,1453,1401,1626,1540,1472,186, + 1831,1798,2017,75,1868,2046,3242,168,30,1607, + 783,3056,508,1084,3142,4396,2148,38,851,36, + 883,1852,4810,34,1008,31,35,30,32,2945, + 502,499,1466,38,851,36,883,1539,4810,34, + 1008,31,35,64,32,1076,28,326,1466,38, + 851,36,883,1855,4810,34,1008,31,35,63, + 32,2121,2541,1634,444,330,3171,3240,327,333, + 3142,1761,38,851,36,883,2440,2234,34,1008, + 31,35,3081,32,823,262,29,27,55,1233, + 110,80,81,112,1234,341,1453,1401,1626,1540, + 935,397,1831,1798,2017,2011,1868,2046,2135,147, + 787,4396,506,148,1092,3196,3126,327,38,282, + 4624,1562,38,851,36,883,507,2234,34,1008, + 31,35,30,32,823,262,29,27,55,1233, + 110,80,81,112,1234,590,1453,1401,1626,1540, + 30,4478,1831,1798,2017,798,1868,2046,2135,147, + 943,331,376,148,2658,38,851,36,883,4137, + 1682,34,1008,1921,35,2701,38,278,1918,2658, + 38,851,36,883,1879,379,34,1008,1964,35, + 327,38,501,277,883,1634,38,851,36,883, + 503,2234,34,1008,31,35,30,32,823,262, + 29,27,55,1233,110,80,81,112,1234,508, + 1453,1401,1626,1540,327,3474,1831,1798,2017,590, + 1868,2046,2135,147,97,4793,376,148,448,1054, + 2229,1555,38,501,277,883,380,1095,327,38, + 2406,383,883,74,1935,38,851,36,883,377, + 2234,34,1008,31,35,30,32,823,262,29, + 27,55,1233,110,80,81,112,1234,37,1453, + 1401,1626,1540,327,2697,1831,1798,2017,1095,1868, + 2046,2135,147,327,3717,162,148,1375,507,3417, + 1555,38,501,3505,883,1184,783,353,3501,327, + 38,2406,383,883,521,1935,38,851,36,883, + 381,2234,34,1008,31,35,30,32,823,262, + 29,27,55,1233,110,80,81,112,1234,421, + 1453,1401,1626,1540,30,286,1831,1798,2017,4573, + 1868,2046,2135,147,2377,508,370,148,385,417, + 1935,38,851,36,883,350,2234,34,1008,31, + 35,30,32,823,262,29,27,55,1233,110, + 80,81,112,1234,1932,1453,1401,1626,1540,73, + 1304,1831,1798,2017,619,1868,2046,2135,147,386, + 417,370,148,2566,1725,1935,38,851,36,883, + 508,2234,34,1008,31,35,30,32,823,262, + 29,27,55,1233,110,80,81,112,1234,2690, + 1453,1401,1626,1540,1139,1076,1831,1798,2017,369, + 1868,2046,2135,147,58,508,370,148,1304,787, + 1870,38,851,36,883,508,2234,34,1008,31, + 35,30,32,823,262,29,27,55,1233,110, + 80,81,112,1234,590,1453,1401,1626,1540,91, + 4672,1831,1798,2017,368,1868,2046,2135,147,57, + 92,376,148,106,787,1696,38,851,36,883, + 994,2234,34,1008,31,35,30,32,823,262, + 29,27,55,1233,110,80,81,112,1234,2018, + 1453,1401,1626,1540,1175,4692,1831,1798,2017,366, + 1868,2046,2135,147,30,2442,146,148,428,1077, + 1118,1935,38,851,36,883,943,2234,34,1008, + 31,35,30,32,823,262,29,27,55,1233, + 110,80,81,112,1234,30,1453,1401,1626,1540, + 2743,235,1831,1798,2017,374,1868,2046,2135,147, + 508,2303,163,148,1935,38,851,36,883,3301, + 2234,34,1008,31,35,30,32,823,262,29, + 27,55,1233,110,80,81,112,1234,2049,1453, + 1401,1626,1540,2440,348,1831,1798,2017,1835,1868, + 2046,2135,147,931,447,159,148,1935,38,851, + 36,883,2644,2234,34,1008,31,35,30,32, + 823,262,29,27,55,1233,110,80,81,112, + 1234,2130,1453,1401,1626,1540,47,3263,1831,1798, + 2017,30,1868,2046,2135,147,2684,2303,158,148, + 1935,38,851,36,883,943,2234,34,1008,31, + 35,30,32,823,262,29,27,55,1233,110, + 80,81,112,1234,512,1453,1401,1626,1540,30, + 358,1831,1798,2017,1000,1868,2046,2135,147,508, + 2445,157,148,1935,38,851,36,883,351,2234, + 34,1008,31,35,30,32,823,262,29,27, + 55,1233,110,80,81,112,1234,2344,1453,1401, + 1626,1540,30,94,1831,1798,2017,2036,1868,2046, + 2135,147,508,4094,156,148,1935,38,851,36, + 883,943,2234,34,1008,31,35,30,32,823, + 262,29,27,55,1233,110,80,81,112,1234, + 512,1453,1401,1626,1540,2316,1739,1831,1798,2017, + 2339,1868,2046,2135,147,508,153,155,148,1935, + 38,851,36,883,943,2234,34,1008,31,35, + 30,32,823,262,29,27,55,1233,110,80, + 81,112,1234,2956,1453,1401,1626,1540,30,1787, + 1831,1798,2017,2822,1868,2046,2135,147,508,56, + 154,148,1935,38,851,36,883,508,2234,34, + 1008,31,35,30,32,823,262,29,27,55, + 1233,110,80,81,112,1234,30,1453,1401,1626, + 1540,3078,72,1831,1798,2017,2526,1868,2046,2135, + 147,71,325,153,148,1935,38,851,36,883, + 508,2234,34,1008,31,35,30,32,823,262, + 29,27,55,1233,110,80,81,112,1234,30, + 1453,1401,1626,1540,3454,395,1831,1798,2017,590, + 1868,2046,2135,147,70,4717,152,148,1935,38, + 851,36,883,508,2234,34,1008,31,35,30, + 32,823,262,29,27,55,1233,110,80,81, + 112,1234,1979,1453,1401,1626,1540,30,2684,1831, + 1798,2017,2320,1868,2046,2135,147,69,1474,151, + 148,1935,38,851,36,883,2175,2234,34,1008, + 31,35,30,32,823,262,29,27,55,1233, + 110,80,81,112,1234,1479,1453,1401,1626,1540, + 2699,1006,1831,1798,2017,590,1868,2046,2135,147, + 508,4737,150,148,1935,38,851,36,883,323, + 2234,34,1008,31,35,30,32,823,262,29, + 27,55,1233,110,80,81,112,1234,1248,1453, + 1401,1626,1540,324,1954,1831,1798,2017,590,1868, + 2046,2135,147,508,4762,149,148,1935,38,851, + 36,883,508,2234,34,1008,31,35,30,32, + 823,262,29,27,55,1233,110,80,81,112, + 1234,30,1453,1401,1626,1540,2852,60,1831,1798, + 2017,1186,1868,2046,2135,147,59,2528,144,148, + 2259,38,851,36,883,508,2234,34,1008,31, + 35,30,32,823,262,29,27,55,1233,110, + 80,81,112,1234,30,1453,1401,1626,1540,3477, + 399,1831,1798,2017,1186,1868,2046,2135,147,321, + 411,193,148,2351,38,851,36,883,1178,2234, + 34,1008,31,35,30,32,823,262,29,27, + 55,1233,110,80,81,112,1234,1178,1453,1401, + 1626,1540,30,300,1831,1798,2017,3663,1868,2046, + 3242,168,2351,38,851,36,883,1109,2234,34, + 1008,31,35,30,32,823,262,29,27,55, + 1233,110,80,81,112,1234,1095,1453,1401,1626, + 1540,76,384,1831,1798,2017,155,1868,2046,3242, + 168,327,38,501,281,883,327,38,2406,383, + 883,283,2351,38,851,36,883,290,2234,34, + 1008,31,35,30,32,823,262,29,27,55, + 1233,110,80,81,112,1234,274,1453,1401,1626, + 1540,30,1186,1831,1798,2017,3691,1868,2046,3242, + 168,2351,38,851,36,883,2378,2234,34,1008, + 31,35,30,32,823,262,29,27,55,1233, + 110,80,81,112,1234,30,1453,1401,1626,1540, + 1014,183,1831,1798,2017,1247,1868,2046,3242,168, + 327,38,501,279,883,333,943,388,417,276, + 1178,2351,38,851,36,883,413,2234,34,1008, + 31,35,30,32,823,262,29,27,55,1233, + 110,80,81,112,1234,30,1453,1401,1626,1540, + 2816,1186,1831,1798,2017,508,1868,2046,3242,168, + 2395,38,851,36,883,412,2234,34,1008,31, + 35,30,32,823,262,29,27,55,1233,110, + 80,81,112,1234,284,1453,1401,1626,1540,105, + 199,1831,1798,2017,101,1868,2046,3242,168,327, + 38,501,3553,883,1630,38,2406,383,883,420, + 2351,38,851,36,883,415,2234,34,1008,31, + 35,30,32,823,262,29,27,55,1233,110, + 80,81,112,1234,54,1453,1401,1626,1540,508, + 2107,1831,1798,2017,1186,1868,3005,2354,875,2351, + 38,851,36,883,3702,2234,34,1008,31,35, + 30,32,823,262,29,27,55,1233,110,80, + 81,112,1234,2526,1453,1401,1626,1540,2740,2377, + 1831,1798,2017,198,2954,2351,38,851,36,883, + 1682,2234,34,1008,31,35,30,32,823,262, + 29,27,55,1233,110,80,81,112,1234,1095, + 1453,1401,1626,1540,2530,508,1831,1798,2893,2351, + 38,851,36,883,1085,2234,34,1008,31,35, + 30,32,823,262,29,27,55,1233,110,80, + 81,112,1234,787,1453,1401,1626,1540,943,439, + 1831,2935,2351,38,851,36,883,2645,2234,34, + 1008,31,35,30,32,823,262,29,27,55, + 1233,110,80,81,112,1234,2173,1453,1401,1626, + 2815,2351,38,851,36,883,1185,2234,34,1008, + 31,35,30,32,823,262,29,27,55,1233, + 110,80,81,112,1234,1301,1453,1401,1626,2866, + 2439,38,2406,383,883,93,3144,154,106,589, + 387,417,787,237,262,2309,102,513,3501,1369, + 38,2406,383,883,2447,2351,38,851,36,883, + 274,2234,34,1008,31,35,30,32,823,262, + 29,27,55,1233,110,80,81,112,1234,274, + 1453,1401,2710,1914,3692,3685,2351,38,851,36, + 883,232,2234,34,1008,31,35,30,32,823, + 262,29,27,55,1233,110,80,81,112,1234, + 1980,1453,1401,2738,865,2440,30,30,235,230, + 231,4186,4783,275,327,38,2406,383,883,327, + 38,2406,383,883,341,327,38,291,2404,1267, + 38,441,3332,2440,1545,4755,242,245,248,251, + 3030,1758,30,30,54,607,2580,1411,3141,424, + 2286,30,341,77,30,4190,2942,2354,709,1497, + 691,515,3633,2953,3234,3245,3508,4357,2351,38, + 851,36,883,3238,2234,34,1008,31,35,30, + 32,823,262,29,27,55,1233,110,80,81, + 112,1234,1522,1453,1401,2775,2351,38,851,36, + 883,1178,2234,34,1008,31,35,30,32,823, + 262,29,27,55,1233,110,80,81,112,1234, + 312,1453,1401,2778,1146,38,851,36,883,3485, + 4655,34,1008,31,35,337,32,2351,38,851, + 36,883,1299,2234,34,1008,31,35,30,32, + 823,262,29,27,55,1233,110,80,81,112, + 1234,2704,1453,2779,1919,298,2051,444,2165,2440, + 327,38,2406,383,883,3441,519,1186,1186,1228, + 1897,2162,318,1806,320,430,313,1782,2644,2444, + 588,349,434,3609,3610,327,38,2406,383,883, + 274,3500,1618,38,851,36,883,3483,4655,34, + 1008,31,35,337,32,3241,202,200,675,342, + 1481,1128,347,1415,3474,423,3301,3493,2351,38, + 851,36,883,508,2234,34,1008,31,35,30, + 32,823,262,29,27,55,1233,110,80,81, + 112,1234,30,1453,2788,762,357,3070,936,670, + 318,1806,320,78,313,1782,1178,3143,757,349, + 2448,1840,3307,3330,327,38,2406,383,883,1935, + 1685,38,851,36,883,3485,4655,34,1008,31, + 35,337,32,49,3263,2500,1879,342,1481,1128, + 347,363,1415,3474,422,1410,2351,38,851,36, + 883,508,2234,34,1008,31,35,30,32,823, + 262,29,27,55,1233,110,80,81,112,1234, + 305,2686,1919,2894,1805,38,389,2440,318,1806, + 320,435,313,1782,285,3565,2606,349,590,327, + 38,2406,383,883,4774,508,2644,516,1234,38, + 3566,36,883,4410,4680,34,1008,31,35,337, + 32,1997,3486,1691,865,342,1481,1128,347,274, + 2678,38,280,517,2351,38,851,36,883,3603, + 2234,34,1008,31,35,30,32,823,262,29, + 27,55,1233,110,80,81,112,1234,175,2688, + 327,38,291,527,330,2095,318,1806,320,352, + 313,1782,2108,285,357,938,521,2440,2678,38, + 278,373,229,1014,1384,1788,2542,160,334,2269, + 3307,3330,338,1084,3621,2051,229,184,2092,4524, + 2150,3486,306,1186,204,215,4558,203,212,213, + 214,216,1805,38,389,173,1178,164,206,215, + 4558,205,212,213,214,216,1186,187,171,172, + 174,175,176,177,178,1350,2945,1817,207,2098, + 3472,1422,221,2140,232,1,1084,1805,38,389, + 527,217,208,209,210,211,292,293,294,295, + 2637,38,3160,1365,883,4118,4592,408,3573,229, + 160,244,230,231,160,332,333,4254,2621,371, + 297,666,2128,2177,184,2092,1788,1240,1706,508, + 54,204,215,4558,203,212,213,214,216,513, + 2596,334,173,2354,777,2440,1084,1921,938,185, + 3517,1057,2440,4396,188,171,172,174,175,176, + 177,178,3623,3657,229,327,38,2406,383,883, + 164,2644,3015,1328,38,851,36,883,4410,4680, + 34,1008,31,35,337,32,206,215,4558,205, + 212,213,214,216,508,440,2471,3737,1540,38, + 441,3183,30,330,4755,865,207,3167,3472,2945, + 1364,1879,430,1186,414,38,2406,383,883,217, + 208,209,210,211,292,293,294,295,2524,330, + 1343,318,1806,320,1178,313,1782,2709,3230,357, + 1285,1607,2440,1186,54,4254,2786,4396,329,333, + 2464,575,304,1607,1582,3307,3330,2354,3197,4396, + 30,229,373,349,4524,3232,778,2067,2056,1487, + 38,851,36,883,4410,4655,34,1008,31,35, + 337,32,4151,206,215,4558,205,212,213,214, + 216,342,1481,1128,347,307,30,4128,296,340, + 1546,4221,2720,207,1695,3472,4396,2440,2609,330, + 1924,508,1931,2800,2973,2007,217,208,209,210, + 211,292,293,294,295,3718,229,318,1806,320, + 30,313,1782,2463,322,1084,1755,38,2406,383, + 883,521,4254,2986,3230,3336,2464,2234,206,215, + 4558,205,212,213,214,216,331,2285,849,3329, + 2562,438,3609,3610,30,232,54,349,207,951, + 3472,327,38,2406,383,883,232,2009,98,2354, + 1214,217,208,209,210,211,292,293,294,295, + 2056,308,247,230,231,344,1481,1128,347,508, + 942,54,2464,250,230,231,865,4254,3164,2351, + 38,2435,2416,883,51,2234,34,1008,31,35, + 30,32,823,262,29,27,55,1233,110,80, + 81,88,1172,375,2351,38,851,36,883,37, + 2234,34,1008,31,35,30,32,823,262,29, + 27,55,1233,110,80,81,112,2700,2351,38, + 851,36,883,514,2234,34,1008,31,35,30, + 32,823,262,29,27,55,1233,110,80,81, + 112,2701,2351,38,851,36,883,1070,2234,34, + 1008,31,35,30,32,823,262,29,27,55, + 1233,110,80,81,112,2709,1258,38,851,36, + 883,1186,4680,34,1008,31,35,337,32,2351, + 38,851,36,883,938,2234,34,1008,31,35, + 30,32,823,262,29,27,55,1233,110,80, + 81,89,2304,262,2465,1186,508,938,527,1186, + 303,378,30,1921,2031,1607,1558,2440,2440,4396, + 4660,4396,331,2543,318,1806,320,229,314,1782, + 2670,2527,160,349,1981,2668,341,2644,2424,3077, + 3528,349,184,2092,4914,2945,527,1186,222,204, + 215,4558,203,212,213,214,216,3126,1186,2334, + 173,344,1481,1128,347,229,2640,2447,2945,330, + 160,330,3715,171,172,174,175,176,177,178, + 184,2092,1614,2682,2125,333,299,204,215,4558, + 203,212,213,214,216,436,1018,195,173,232, + 527,349,508,2676,3436,357,3436,2175,333,1523, + 180,171,172,174,175,176,177,178,1349,229, + 1582,3307,3330,2505,160,508,253,230,231,342, + 1481,1128,347,523,184,2092,3749,1410,527,2421, + 2694,204,215,4558,203,212,213,214,216,2655, + 2750,2687,173,2689,1084,2731,2752,229,2758,3787, + 2760,2761,160,2562,191,171,172,174,175,176, + 177,178,184,2092,2771,419,239,262,160,204, + 215,4558,203,212,213,214,216,610,201,2698, + 173,2772,527,1161,334,2779,1161,3552,2440,1084, + 2732,2440,3738,171,172,174,175,176,177,178, + 2739,229,2513,334,334,2574,160,2644,1084,1084, + 2644,1228,2766,164,232,697,184,2092,1551,2783, + 527,88,2762,204,215,4558,203,212,213,214, + 216,2586,164,164,173,2773,1084,2777,2785,229, + 2778,240,230,231,160,2784,194,171,172,174, + 175,176,177,178,184,2092,2788,2789,1053,5394, + 160,204,215,4558,203,212,213,214,216,784, + 5394,166,173,5394,527,493,334,5394,493,5394, + 5394,1084,5394,1883,190,171,172,174,175,176, + 177,178,5394,229,30,30,5394,5394,160,1084, + 1084,5394,1892,2185,5394,164,5394,871,184,2092, + 490,492,527,491,492,204,215,4558,203,212, + 213,214,216,160,160,5394,173,5394,5394,5394, + 5394,229,30,3173,1591,2972,160,1084,197,171, + 172,174,175,176,177,178,184,2092,5394,5394, + 5394,3579,5394,204,215,4558,203,212,213,214, + 216,160,5394,5394,173,3135,5394,5394,5394,5394, + 5394,5394,1668,435,5394,2345,196,171,172,174, + 175,176,177,178,2351,38,851,36,883,5394, + 2234,34,1008,31,35,30,32,823,262,29, + 27,55,1233,110,80,81,87,2351,38,851, + 36,883,5394,2234,34,1008,31,35,30,32, + 823,262,29,27,55,1233,110,80,81,86, + 2351,38,851,36,883,5394,2234,34,1008,31, + 35,30,32,823,262,29,27,55,1233,110, + 80,81,85,2351,38,851,36,883,5394,2234, + 34,1008,31,35,30,32,823,262,29,27, + 55,1233,110,80,81,84,2351,38,851,36, + 883,5394,2234,34,1008,31,35,30,32,823, + 262,29,27,55,1233,110,80,81,83,2351, + 38,851,36,883,5394,2234,34,1008,31,35, + 30,32,823,262,29,27,55,1233,110,80, + 81,82,2208,38,851,36,883,5394,2234,34, + 1008,31,35,30,32,823,262,29,27,55, + 1233,110,80,81,108,2351,38,851,36,883, + 5394,2234,34,1008,31,35,30,32,823,262, + 29,27,55,1233,110,80,81,114,2351,38, + 851,36,883,5394,2234,34,1008,31,35,30, + 32,823,262,29,27,55,1233,110,80,81, + 113,2351,38,851,36,883,5394,2234,34,1008, + 31,35,30,32,823,262,29,27,55,1233, + 110,80,81,111,2351,38,851,36,883,5394, + 2234,34,1008,31,35,30,32,823,262,29, + 27,55,1233,110,80,81,109,2802,2586,30, + 30,5394,2440,1084,1084,1084,1994,5394,2166,5394, + 5394,2440,5394,5394,4396,5394,5394,1660,5394,5394, + 5394,229,2440,5394,5394,5394,5394,160,160,160, + 229,2586,5394,5394,5394,5394,1084,5394,166,1677, + 1720,341,5394,206,215,4558,205,212,213,214, + 216,5394,206,215,4558,205,212,213,214,216, + 160,2031,891,207,4128,3472,938,4660,5394,5394, + 2812,166,207,5394,3472,2440,487,208,209,210, + 211,292,293,294,295,509,208,209,210,211, + 292,293,294,295,229,5394,5394,5394,5394,5394, + 3475,1337,38,851,36,883,4410,4655,34,1008, + 31,35,337,32,5394,5394,206,215,4558,205, + 212,213,214,216,2894,5394,5394,2945,5394,2440, + 5394,5394,5394,3572,2627,5394,207,5394,3472,2440, + 5394,5394,5394,5394,5394,100,5394,5394,229,306, + 208,209,210,211,292,293,294,295,229,318, + 1806,320,5394,313,1782,1349,2563,333,5394,5394, + 206,215,4558,205,212,213,214,216,2464,5394, + 206,215,4558,205,212,213,214,216,5394,1529, + 207,5394,3472,5394,5394,5394,5394,5394,5394,5394, + 207,5394,3472,510,208,209,210,211,292,293, + 294,295,5394,218,208,209,210,211,292,293, + 294,295,420,307,1376,38,3566,36,883,4410, + 4655,34,1008,31,35,337,32,2502,38,2406, + 383,883,3479,3144,5394,501,38,2406,383,883, + 238,262,5394,3718,1487,38,851,36,883,4410, + 4655,34,1008,31,35,337,32,274,30,5394, + 5394,5394,5394,1084,5394,54,327,38,2406,383, + 883,5394,318,1806,320,5394,313,1782,2354,1259, + 1607,5394,5394,5394,5394,5394,4396,160,232,2459, + 5394,1788,5394,5394,5394,5394,54,5394,1763,5394, + 5394,5394,318,1806,320,5394,313,1782,5394,2354, + 3288,5394,5394,5394,5394,236,230,231,5394,5394, + 275,1935,1487,38,851,36,883,4410,4655,34, + 1008,31,35,337,32,5394,330,5394,5394,5394, + 5394,5394,5394,243,246,249,252,3030,327,38, + 2406,383,883,2580,1198,38,851,36,883,2878, + 4655,34,1008,31,35,337,32,5394,5394,5394, + 5394,4545,5394,409,3573,5394,5394,5394,54,5394, + 318,1806,320,5394,313,1782,5394,5394,5394,5394, + 5394,2354,2948,396,1214,38,851,36,883,3736, + 4680,34,1008,31,35,337,32,5394,5394,5394, + 5394,5394,315,3536,320,1214,38,851,36,883, + 5394,4680,34,1008,31,35,337,32,1809,38, + 851,36,883,3103,4655,34,1008,31,35,337, + 32,30,5394,1029,5394,5394,1084,5394,2440,4829, + 331,5394,318,1806,320,1111,316,1782,5394,5394, + 2440,4829,1230,38,2406,383,883,229,5394,5394, + 160,331,5394,318,1806,320,5394,314,1782,229, + 5394,2146,5394,5394,5394,5394,315,3536,320,892, + 400,4484,54,5394,414,38,2406,383,883,5394, + 5394,892,400,4484,5394,2354,52,1825,5394,401, + 5394,3472,30,5394,5394,5394,2900,2440,5394,5394, + 5394,401,5394,3472,54,1626,38,2406,383,883, + 1626,38,2406,383,883,5394,341,2354,52,5394, + 5394,5394,501,38,2406,383,883,3362,947,5394, + 1626,38,2406,383,883,54,5394,3126,5394,3362, + 54,5394,1626,38,2406,383,883,2449,2354,2308, + 5394,5394,54,2354,52,5394,5394,5394,5394,2869, + 54,1825,5394,5394,1139,2354,52,1626,38,2406, + 383,883,54,2354,2387,5394,1009,30,5394,5394, + 402,404,2440,5394,2869,2354,52,1626,38,2406, + 383,883,402,405,5394,30,2539,54,5394,5394, + 2440,341,1978,5394,4585,1626,38,2406,383,883, + 2354,52,2139,38,2406,383,883,54,5394,341, + 5394,2715,3126,5394,2253,38,2406,383,883,30, + 2354,52,2554,2734,527,54,5394,5394,2440,5394, + 3126,2794,54,327,38,2406,383,883,2354,52, + 2561,5394,5394,341,54,2354,52,2644,160,3095, + 327,38,2406,383,883,30,2545,2354,52,842, + 527,30,2486,54,3126,5394,527,2440,2930,327, + 38,2406,383,883,726,5394,2354,1005,5394,341, + 54,5394,5394,5394,160,341,341,5394,5394,5394, + 160,5394,5394,2354,875,1185,520,30,30,54, + 3126,842,527,527,2586,5394,3126,3126,5394,527, + 1049,5394,2354,1265,5394,493,1275,523,5394,5394, + 5394,341,341,5394,30,30,160,160,3226,527, + 2440,30,5394,160,30,5394,2440,192,192,2440, + 5394,5394,4452,4452,166,5394,5394,30,341,341, + 490,492,2440,160,2586,341,30,5394,341,1084, + 5394,1084,5394,5394,192,5394,5394,5394,5394,4452, + 3126,341,5394,5394,5394,5394,3126,5394,5394,3126, + 1625,5394,5394,160,5394,160,497,5394,5394,495, + 5394,3698,3126,5394,166,5394,3476,5394,5394,5394, + 5394,5394,524,5394,5394,5394,2996,5394,5394,5394, + 5394,5394,2831,2875,5394,5394,5394,5394,5394,5394, + 5394,5394,5394,5394,5394,5394,5394,5394,5394,5394, + 5394,5394,5394,5394,5394,5394,5394,5394,5394,3059, + 5394,5394,5394,5394,5394,5394,5394,5394,5394,5394, + 2662,5394,5394,5394,5394,5394,3595,5394,5394,5394, + 5394,5394,5394,5394,5394,5394,5394,5394,5394,5394, + 5394,5394,5394,5394,5394,5394,5394,5394,5394,3711, + 5394,0,5412,42,0,5411,42,0,501,33, + 0,442,613,0,41,5412,0,41,5411,0, + 130,2588,0,1,432,0,42,5412,0,42, + 5411,0,446,990,0,445,1376,0,501,44, + 0,838,95,0,501,382,0,383,36,0, + 36,383,0,382,33,0,33,382,0,501, + 33,382,0,1078,42,0,1,561,0,1, + 5667,0,1,5666,0,1,5665,0,1,5664, + 0,1,5663,0,1,5662,0,1,5661,0, + 1,5660,0,1,5659,0,1,5658,0,1, + 5657,0,1,5412,42,0,1,5411,42,0, + 1,721,0,5628,241,0,5627,241,0,5730, + 241,0,5729,241,0,5655,241,0,5654,241, + 0,5653,241,0,5652,241,0,5651,241,0, + 5650,241,0,5649,241,0,5648,241,0,5667, + 241,0,5666,241,0,5665,241,0,5664,241, + 0,5663,241,0,5662,241,0,5661,241,0, + 5660,241,0,5659,241,0,5658,241,0,5657, + 241,0,42,241,5412,0,42,241,5411,0, + 241,5435,0,53,5412,0,53,5411,0,237, + 2958,0,48,5433,0,48,40,0,5412,53, + 0,5411,53,0,132,2588,0,131,2588,0, + 30,508,0,5722,433,0,980,433,0,1, + 5435,0,1,42,0,52,40,0,1,96, + 0,228,1,5435,0,228,1,42,0,228, + 407,0,40,5412,0,40,5411,0,40,5412, + 2,0,40,5411,2,0,5412,39,0,5411, + 39,0,5433,50,0,50,40,0,5404,398, + 0,5403,398,0,1,4374,0,1,2520,0, + 1,1078,0,228,406,0,1911,317,0,5722, + 99,0,980,99,0,1,5722,0,1,980, + 0,279,3664,0,1,2854,0,1,2982,0, + 5402,1,0,489,4126,0,228,1,0,228, + 1,3630,0,5404,228,0,5403,228,0,3701, + 228,0,8,10,0,228,220,0,228,219, + 0,189,3695,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1101,402 +1101,306 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final static byte termCheck[] = {0, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, + 20,21,22,23,24,25,26,27,28,0, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,0,58,59, - 3,61,62,63,64,65,66,0,68,0, - 1,2,72,6,74,75,7,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,0,58,59,3,61, - 62,63,64,65,66,0,68,0,91,92, - 72,6,74,75,0,77,78,79,80,81, - 6,83,84,85,86,87,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,56,0,58,59,0,61,62,63, - 64,65,66,0,68,0,91,92,0,6, - 74,75,0,77,78,79,80,81,101,83, - 84,85,86,87,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 56,69,58,59,0,61,62,63,64,65, - 66,95,68,100,91,92,88,89,74,75, - 95,77,78,79,80,81,0,83,84,85, - 86,87,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,0, - 58,59,3,61,62,63,64,65,66,73, - 68,97,98,0,1,2,74,75,5,77, - 78,79,80,81,0,83,84,85,86,87, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,0,58,59, - 3,61,62,63,64,65,66,73,68,0, - 1,2,0,4,74,75,4,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,0,58,59,3,61, - 62,63,64,65,66,73,68,0,1,2, - 0,4,74,75,0,77,78,79,80,81, - 0,83,84,85,86,87,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,56,69,58,59,0,61,62,63, - 64,65,66,73,68,0,10,11,88,89, - 74,75,0,77,78,79,80,81,0,83, - 84,85,86,87,0,1,2,3,4,5, + 40,41,42,43,0,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,61,62,63,64,0,1,2,68,69, + 70,71,7,73,74,75,76,77,78,79, + 80,0,82,83,84,85,86,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,0,30,31,32, + 33,34,35,36,37,38,39,40,41,42, + 43,0,45,46,47,48,49,50,51,52, + 53,54,55,56,57,58,59,66,61,62, + 63,64,0,0,0,68,69,70,71,0, + 73,74,75,76,77,78,79,80,0,82, + 83,84,85,86,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,45, + 26,27,28,44,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,65,45, 46,47,48,49,50,51,52,53,54,55, - 56,69,58,59,0,61,62,63,64,65, - 66,73,68,0,1,2,0,0,74,75, - 0,77,78,79,80,81,101,83,84,85, - 86,87,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,69, - 58,59,0,61,62,63,64,65,66,0, - 68,0,1,2,88,89,74,75,9,77, - 78,79,80,81,0,83,84,85,86,87, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,0,58,59, - 3,61,62,63,64,65,66,73,68,0, - 1,2,100,0,74,75,0,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,0,58,59,3,61, - 62,63,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,0,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,121,46,47, - 48,49,50,51,52,53,54,55,56,0, - 58,59,67,61,62,63,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,0, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,0,46,47,48,49,50,51,52,53, - 54,55,56,0,58,59,3,61,62,63, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,0,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,0,46,47,48,49, - 50,51,52,53,54,55,56,0,58,59, - 67,61,62,63,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,0,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,0, - 46,47,48,49,50,51,52,53,54,55, - 56,0,58,59,3,61,62,63,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,0,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,0,46,47,48,49,50,51, - 52,53,54,55,56,0,58,59,67,61, - 62,63,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,0,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,0,46,47, - 48,49,50,51,52,53,54,55,56,0, - 58,59,67,61,62,63,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,0, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,0,0, - 44,0,4,47,48,49,50,51,52,53, - 54,55,56,0,58,59,0,61,62,63, - 0,1,2,3,4,5,6,7,8,9, - 0,0,12,13,14,15,16,17,18,19, - 20,21,22,23,0,44,97,98,47,48, - 49,50,51,52,53,54,55,56,60,58, - 0,1,2,0,44,45,46,47,48,49, - 50,51,52,53,54,55,56,57,58,59, - 67,61,62,63,64,0,1,2,0,1, - 2,0,72,73,0,1,2,0,4,5, - 121,7,82,0,1,2,3,4,5,6, - 7,8,9,0,23,12,13,14,15,16, - 17,18,19,20,21,22,23,42,43,99, - 42,43,88,89,114,115,116,0,0,1, - 2,3,4,5,6,7,8,44,45,46, - 47,48,49,50,51,52,53,54,55,56, - 57,58,59,72,61,62,63,64,71,0, - 0,0,0,0,3,72,73,6,8,8, - 0,10,11,10,11,82,0,1,2,3, - 4,5,23,7,23,24,25,60,0,102, - 0,104,105,106,107,108,109,110,111,112, - 113,73,0,0,117,102,45,114,115,116, - 0,1,2,3,4,5,6,7,8,57, - 117,60,0,1,2,3,4,5,67,7, - 69,70,71,72,73,76,0,76,0,1, - 2,3,4,5,6,7,8,0,0,88, - 89,90,91,92,93,94,95,96,97,98, - 99,100,101,102,103,104,105,106,107,108, - 109,110,111,112,113,0,0,0,117,118, - 3,120,0,6,0,8,4,10,11,0, - 1,2,3,4,5,6,7,8,23,0, - 23,24,25,67,0,67,0,1,2,71, - 0,1,2,3,4,5,0,7,70,3, - 44,0,45,47,48,49,50,51,52,53, - 54,55,56,23,58,88,89,60,0,1, - 2,0,4,5,67,7,69,70,71,72, - 73,10,11,76,70,45,67,0,1,2, - 0,57,5,57,7,88,89,90,91,92, - 93,94,95,96,97,98,99,100,101,102, - 103,104,105,106,107,108,109,110,111,112, - 113,70,0,118,117,118,4,120,0,1, + 56,57,58,59,0,61,62,63,64,123, + 88,89,68,69,70,11,12,73,74,75, + 76,77,78,79,80,101,82,83,84,85, + 86,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 0,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,0,45,46,47,48, + 49,50,51,52,53,54,55,56,57,58, + 59,0,61,62,63,64,0,1,2,68, + 69,70,0,0,73,74,75,76,77,78, + 79,80,9,82,83,84,85,86,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, + 22,23,24,25,26,27,28,72,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,0,45,46,0,1,2,3,4, + 42,43,60,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,0,61, + 62,63,64,0,1,2,68,69,70,0, + 87,73,74,75,76,77,78,79,80,0, + 82,83,84,85,86,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,42,43,0, - 45,46,0,1,2,3,4,5,6,7, + 25,26,27,28,0,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,60, + 45,46,47,48,49,50,51,52,53,54, + 55,56,57,58,59,66,61,62,63,64, + 0,1,2,68,69,70,0,0,73,74, + 75,76,77,78,79,80,9,82,83,84, + 85,86,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,0,45,46,0, + 28,0,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,60,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,0,61,62,63,64,0,0,0, + 68,69,70,4,87,73,74,75,76,77, + 78,79,80,0,82,83,84,85,86,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, + 21,22,23,24,25,26,27,28,0,30, 31,32,33,34,35,36,37,38,39,40, - 41,42,43,0,95,46,0,1,2,3, - 4,5,6,7,8,0,0,1,2,3, - 4,0,6,0,8,69,70,0,1,2, - 0,4,5,3,7,76,0,1,2,3, + 41,42,43,65,45,46,47,48,49,50, + 51,52,53,54,55,56,57,58,59,0, + 61,62,63,64,0,88,89,68,69,70, + 11,12,73,74,75,76,77,78,79,80, + 0,82,83,84,85,86,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, + 24,25,26,27,28,0,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 65,60,46,67,57,0,0,1,2,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,76,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,42,43,48,49,46,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,0, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 0,0,46,0,1,2,3,4,5,6, + 50,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,0,61,62,63, + 64,0,88,89,68,69,70,11,12,73, + 74,75,76,77,78,79,80,0,82,83, + 84,85,86,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,0,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,43,0,69,46, + 17,18,19,20,21,22,23,24,25,26, + 27,28,0,30,31,32,33,34,35,36, + 37,38,39,40,41,42,43,50,45,46, + 47,48,49,50,51,52,53,54,55,56, + 57,58,59,0,61,62,63,64,0,88, + 89,68,69,70,6,0,73,74,75,76, + 77,78,79,80,0,82,83,84,85,86, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,0,24,25,26,27,28,29, + 20,21,22,23,24,25,26,27,28,44, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,0,69,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,69, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 67,0,46,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,119,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,43,0,0,46, + 40,41,42,43,50,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,61,62,63,64,0,6,0,68,69, + 70,0,0,73,74,75,76,77,78,79, + 80,9,82,83,84,85,86,0,1,2, + 3,4,5,6,7,8,0,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,46,27,28,49,30,31,32, + 33,34,35,36,37,38,39,40,41,42, + 43,0,45,46,47,0,49,66,51,52, + 53,54,55,0,57,58,59,0,0,62, + 0,91,92,88,89,68,69,70,0,1, + 2,3,4,5,6,7,8,9,10,0, + 27,13,14,15,16,17,18,19,20,21, + 22,23,0,0,26,27,0,29,45,46, + 118,44,49,10,51,52,53,54,55,0, + 57,58,59,45,46,0,48,49,9,51, + 52,53,54,55,0,57,58,59,4,72, + 62,0,1,2,0,4,68,69,70,71, + 72,73,97,98,29,0,1,2,0,81, 0,1,2,3,4,5,6,7,8,9, + 10,65,66,13,14,15,16,17,18,19, + 20,21,22,23,29,66,26,27,0,29, + 71,50,114,115,116,0,1,2,3,4, + 5,6,7,8,0,45,46,3,48,49, + 0,51,52,53,54,55,72,57,58,59, + 10,0,62,121,0,1,2,0,68,69, + 70,71,72,73,0,0,9,3,0,29, + 6,81,8,9,9,11,12,0,1,2, + 3,4,5,29,7,60,9,99,24,25, + 26,26,67,0,1,2,3,4,5,6, + 7,8,62,26,114,115,116,0,44,0, + 1,2,44,0,1,2,3,4,5,6, + 7,8,0,72,60,3,0,0,71,65, + 66,67,114,115,116,71,72,0,1,2, + 3,4,5,6,7,8,0,1,2,0, + 4,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,102,103,104,105, + 106,107,108,109,110,111,112,113,0,72, + 0,117,118,3,120,72,6,9,8,9, + 0,11,12,67,0,1,2,60,4,9, + 6,0,8,0,24,25,26,0,1,2, + 3,4,5,6,7,8,0,1,2,3, + 4,5,0,7,44,9,4,100,102,0, + 104,105,106,107,108,109,110,111,112,113, + 60,0,26,117,66,65,66,67,0,1, + 2,71,72,5,0,0,1,2,3,4, + 5,71,7,0,10,87,44,87,88,89, + 90,91,92,93,94,95,96,97,98,99, + 100,101,102,103,104,105,106,107,108,109, + 110,111,112,113,0,1,2,117,118,0, + 120,0,1,2,3,4,5,6,7,8, + 56,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,72,0,28, + 101,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,0,1,2,47,4, + 5,0,7,0,3,0,1,2,0,4, + 5,8,7,100,63,64,0,1,2,3, + 4,5,44,7,73,0,1,2,3,4, + 5,6,7,8,29,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,0,0,28,3,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,0, + 1,2,47,4,0,0,1,2,3,4, + 0,6,74,8,0,1,2,0,63,64, + 65,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,65,66,28, + 0,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,60,0,0,47,65, + 4,50,6,0,8,65,66,0,1,2, + 3,4,5,66,7,0,1,2,0,0, + 1,2,71,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,0, + 0,28,3,30,31,32,33,34,35,36, + 37,38,39,40,41,42,43,60,0,66, + 47,0,4,50,0,1,2,3,4,5, + 0,7,63,64,0,0,1,2,3,4, + 5,6,7,8,71,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,27,44,28,0,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,45, + 46,60,47,49,60,51,52,53,54,55, + 0,57,58,59,0,1,2,0,63,64, + 0,1,2,3,4,5,6,7,8,0, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,26,24,25,26,27,28,29, + 20,21,22,23,24,25,0,0,28,99, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,0,0,46,0,1,2, - 3,4,5,6,7,8,9,10,11,12, + 40,41,42,43,0,1,2,47,0,1, + 2,3,4,5,90,7,0,63,64,3, + 96,0,65,63,64,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,0,65,28,0,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,0, + 1,2,3,4,5,6,7,8,0,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,44,0,28,44,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,43,0,1,2,47,0,0,50, + 0,1,2,0,4,47,6,9,8,9, + 0,0,1,2,0,1,2,3,4,5, + 6,7,8,118,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 29,44,28,50,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,0,0, + 0,47,3,3,5,6,90,8,65,0, + 11,12,96,0,1,2,3,4,5,6, + 7,8,9,24,25,87,0,87,0,30, + 0,1,2,95,4,95,6,0,8,26, + 27,4,29,44,0,1,2,0,4,5, + 0,7,102,27,4,122,0,44,60,60, + 60,48,63,64,65,66,67,117,0,56, + 0,45,46,29,61,49,6,51,52,53, + 54,55,45,57,58,59,0,88,89,90, + 91,92,93,94,81,45,97,98,99,100, + 101,102,103,104,105,106,107,108,109,110, + 111,112,113,0,0,29,3,0,5,6, + 3,8,8,95,11,12,0,0,1,2, + 3,4,5,6,7,8,9,24,25,0, + 0,1,2,30,4,0,6,0,8,0, + 3,0,3,26,27,4,29,44,0,1, + 2,91,92,95,114,115,116,0,1,2, + 44,4,5,60,7,48,63,64,65,66, + 67,0,0,56,0,0,1,2,61,4, + 6,6,0,8,0,44,0,3,71,3, + 0,88,89,90,91,92,93,94,81,60, + 97,98,99,100,101,102,103,104,105,106, + 107,108,109,110,111,112,113,0,1,2, + 3,4,5,6,7,8,44,10,11,12, 13,14,15,16,17,18,19,20,21,22, - 0,24,25,26,27,28,29,30,31,32, + 23,24,25,0,60,28,3,30,31,32, 33,34,35,36,37,38,39,40,41,42, - 43,0,0,46,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,73,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,0,69, - 46,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,0,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,42,43,0,0,46,0,1, - 2,3,4,5,6,7,8,9,10,11, + 43,90,0,1,2,91,92,96,0,1, + 2,3,4,5,6,7,8,60,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, + 22,23,24,25,0,0,28,3,30,31, 32,33,34,35,36,37,38,39,40,41, - 44,67,0,47,48,49,50,51,52,53, - 54,55,56,0,58,0,1,2,3,4, - 5,8,7,65,0,1,2,0,0,0, - 72,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,44,119,0,47,48,49,50, - 51,52,53,54,55,56,0,58,73,0, - 1,2,65,4,0,6,65,8,4,71, - 6,99,8,72,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,41,24,25, - 26,27,28,29,30,31,32,33,34,35, + 42,43,0,0,0,47,0,1,2,3, + 4,5,6,7,8,0,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,29,0,28,50,30,31,32,33, + 34,35,36,37,38,39,40,41,42,43, + 0,1,2,3,4,5,6,7,8,44, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,0,44,28,3, + 30,31,32,33,34,35,36,37,38,39, + 40,41,42,43,0,1,2,3,4,5, + 6,7,8,0,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 0,119,28,0,30,31,32,33,34,35, 36,37,38,39,40,41,42,43,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,0,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,0,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,1,2,0,4, - 0,6,26,8,0,1,2,0,4,0, - 6,4,8,0,1,2,0,4,65,6, - 0,8,0,1,2,9,0,23,0,3, - 118,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,47,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,0,0,75,3,57,5,6, - 76,8,66,10,11,0,12,13,14,15, - 16,17,18,19,20,21,22,24,25,95, - 27,0,1,2,3,4,5,0,7,0, - 0,4,114,115,116,42,43,0,44,0, - 0,47,48,49,50,51,52,53,54,55, - 56,122,58,60,0,1,2,3,4,5, - 67,7,69,70,71,60,0,1,2,3, - 4,5,0,7,47,0,0,1,2,0, - 4,88,89,90,91,92,93,94,67,23, - 97,98,99,100,101,102,103,104,105,106, - 107,108,109,110,111,112,113,0,69,70, - 3,45,5,6,0,8,0,10,11,3, - 0,67,0,1,2,0,4,5,0,7, - 90,24,25,57,27,60,96,23,59,23, - 0,114,115,116,69,0,1,2,23,42, - 43,0,1,2,26,4,119,6,0,8, - 0,1,2,0,1,2,0,60,93,94, - 45,0,1,2,67,0,69,70,71,57, - 60,23,0,67,70,69,70,0,1,2, - 76,0,76,6,0,88,89,90,91,92, - 93,94,57,45,97,98,99,100,101,102, - 103,104,105,106,107,108,109,110,111,112, - 113,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,57,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,71,69,70,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,67,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 0,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,0,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,0,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 0,1,2,0,4,23,0,1,2,9, - 4,0,12,13,14,15,16,17,18,19, - 20,21,22,0,0,0,23,45,4,4, - 0,90,0,3,0,3,0,96,0,0, - 0,1,2,5,44,5,23,47,48,49, - 50,51,52,53,54,55,56,23,58,59, - 0,61,62,63,0,1,2,0,4,0, - 3,65,3,9,0,72,12,13,14,15, - 16,17,18,19,20,21,22,0,1,2, - 3,4,5,6,7,8,60,57,0,76, - 0,1,2,71,70,69,72,0,44,70, - 23,47,48,49,50,51,52,53,54,55, - 56,23,58,59,0,61,62,63,0,93, - 94,44,45,0,1,2,3,4,5,6, - 7,8,0,45,57,71,4,60,0,0, - 0,64,4,66,0,68,23,57,0,0, - 1,2,3,4,5,6,7,8,70,82, - 0,0,1,2,67,0,0,44,45,0, - 0,0,23,0,60,0,1,2,60,0, - 57,0,0,69,0,1,2,64,0,66, - 0,68,60,44,45,72,0,1,2,3, - 4,5,6,7,8,82,57,93,94,0, - 71,0,3,64,74,66,0,68,57,23, - 0,72,0,1,2,3,4,5,6,7, - 8,82,57,60,23,70,0,1,2,60, - 44,45,60,73,0,23,73,3,0,65, - 60,70,4,57,0,1,2,0,0,90, - 64,0,66,0,68,96,44,45,72,0, - 1,2,3,4,5,6,7,8,82,57, - 0,23,0,3,0,3,64,76,66,0, - 68,0,23,57,72,0,1,2,3,4, - 5,6,7,8,82,0,95,123,60,0, - 90,57,3,44,45,0,96,60,23,0, - 0,60,3,0,0,0,57,0,23,0, - 3,0,9,64,76,66,0,68,0,44, - 45,72,0,1,2,3,4,5,6,7, - 8,82,57,0,0,71,65,3,0,64, - 71,66,0,68,0,23,0,9,0,1, - 2,3,4,5,6,7,8,82,24,25, - 57,76,59,0,60,60,44,45,0,0, - 0,23,3,3,65,0,65,0,3,57, - 3,65,0,0,0,0,64,0,66,71, - 68,0,44,45,0,57,0,59,0,0, - 0,67,0,70,82,57,0,0,0,0, - 0,0,64,71,66,71,68,71,0,0, - 0,0,0,60,0,0,0,0,0,0, - 82,0,0,0,0,0,0,103,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,120,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0 + 2,0,4,0,0,4,0,0,10,3, + 27,13,14,15,16,17,18,19,20,21, + 22,23,0,0,0,27,4,4,45,46, + 0,0,49,3,51,52,53,54,55,9, + 57,58,59,45,46,0,66,49,44,51, + 52,53,54,55,9,57,58,59,95,0, + 62,0,1,2,0,4,68,69,70,65, + 0,10,0,67,13,14,15,16,17,18, + 19,20,21,22,23,0,0,0,27,0, + 60,67,5,90,9,65,66,93,94,96, + 0,0,0,44,97,98,45,46,44,9, + 49,26,51,52,53,54,55,87,57,58, + 59,0,50,62,65,0,26,0,3,68, + 69,70,87,0,13,14,15,16,17,18, + 19,20,21,22,23,0,60,0,27,24, + 25,66,93,94,9,0,1,2,3,4, + 5,6,7,8,9,0,45,46,0,67, + 49,26,51,52,53,54,55,9,57,58, + 59,26,27,50,29,60,0,1,2,3, + 4,5,6,7,8,9,0,1,2,0, + 4,0,3,48,0,1,2,0,119,44, + 6,56,26,27,0,29,61,0,1,2, + 119,0,5,9,7,29,71,0,103,0, + 65,4,87,29,48,0,81,0,1,2, + 26,0,56,0,3,120,0,61,0,0, + 1,2,0,0,5,87,3,71,93,94, + 0,1,2,0,1,2,29,81,0,1, + 2,3,4,5,6,7,8,9,29,0, + 1,2,3,4,5,6,7,8,9,29, + 0,0,29,0,26,27,67,29,0,0, + 1,2,0,10,0,26,27,72,29,0, + 67,0,3,67,3,67,48,0,28,0, + 0,0,29,3,56,0,28,48,29,61, + 0,0,0,3,3,56,0,0,0,71, + 61,3,0,0,0,3,3,0,0,81, + 71,0,0,0,0,62,65,0,0,0, + 81,0,1,2,3,4,5,6,7,8, + 9,0,1,2,3,4,5,6,7,8, + 9,28,0,0,0,0,0,26,27,72, + 29,72,67,72,0,44,0,26,27,62, + 29,0,0,67,0,0,0,75,0,48, + 66,0,0,0,67,67,0,56,0,48, + 0,0,61,0,0,0,0,56,0,0, + 0,0,61,0,0,0,0,0,0,0, + 0,0,81,0,0,0,0,0,0,0, + 0,0,81,0,1,2,3,4,5,6, + 7,8,9,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,26, + 27,0,29,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,48,0,0,0,0,0,0,0,56, + 0,0,0,0,61,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,81,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1504,399 +1408,304 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface TermAction { public final static char termAction[] = {0, - 5399,5368,5365,5365,5365,5365,5365,5365,5365,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5378,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5375,3512,1,1,1, - 1,1,1,1,1,1,1,5399,1,1, - 4875,1,1,1,2753,1169,2002,119,3338,41, - 5056,5053,5406,3420,785,3509,666,3031,2190,3016, - 3352,3481,1,3501,1453,3425,4126,3401,8,5384, - 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384, - 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384, - 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384, - 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384, - 5384,5384,5384,5384,5384,5384,5384,5384,5384,5384, - 5384,5384,5384,5384,5384,5399,5384,5384,2958,5384, - 5384,5384,5384,5384,5384,121,5384,141,3396,3372, - 5384,3420,5384,5384,5399,5384,5384,5384,5384,5384, - 1782,5384,5384,5384,5384,5384,5399,5368,5365,5365, - 5365,5365,5365,5365,5365,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5372, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5375,3512,1,1,1,1,1,1,1, - 1,1,1,139,1,1,355,1,1,1, - 2753,1169,2002,120,3338,1,3396,3372,125,3420, - 785,3509,5399,3031,2190,3016,3352,3481,2279,3501, - 1453,3425,4126,3401,5399,5368,5365,5365,5365,5365, - 5365,5365,5365,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5372,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5375, - 3512,1,1,1,1,1,1,1,1,1, - 1,2745,1,1,133,1,1,1,2753,1169, - 2002,5753,3338,2315,3396,3372,2657,2748,785,3509, - 5755,3031,2190,3016,3352,3481,5399,3501,1453,3425, - 4126,3401,5399,5368,5365,5365,5365,5365,5365,5365, - 5365,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5372,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5375,3512,1, - 1,1,1,1,1,1,1,1,1,95, - 1,1,5080,1,1,1,2753,1169,2002,1887, - 3338,2411,2382,5399,5416,5417,785,3509,2873,3031, - 2190,3016,3352,3481,418,3501,1453,3425,4126,3401, - 5399,5368,5365,5365,5365,5365,5365,5365,5365,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5372,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5375,3512,1,1,1, - 1,1,1,1,1,1,1,237,1,1, - 5238,1,1,1,2753,1169,2002,4496,3338,5399, - 5044,5041,42,5440,785,3509,5440,3031,2190,3016, - 3352,3481,5399,3501,1453,3425,4126,3401,5399,5368, - 5365,5365,5365,5365,5365,5365,5365,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5372,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5375,3512,1,1,1,1,1, - 1,1,1,1,1,1,1,1,4397,1, - 1,1,2753,1169,2002,5793,3338,5399,5044,5041, - 129,5440,785,3509,5399,3031,2190,3016,3352,3481, - 436,3501,1453,3425,4126,3401,5399,5368,5365,5365, - 5365,5365,5365,5365,5365,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5372, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5375,3512,1,1,1,1,1,1,1, - 1,1,1,2778,1,1,122,1,1,1, - 2753,1169,2002,2545,3338,142,2908,2830,2657,2748, - 785,3509,5399,3031,2190,3016,3352,3481,5399,3501, - 1453,3425,4126,3401,5399,5368,5365,5365,5365,5365, - 5365,5365,5365,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5372,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5375, - 3512,1,1,1,1,1,1,1,1,1, - 1,2790,1,1,5399,1,1,1,2753,1169, - 2002,2101,3338,5399,5416,5417,128,5399,785,3509, - 5399,3031,2190,3016,3352,3481,2279,3501,1453,3425, - 4126,3401,5399,5368,5365,5365,5365,5365,5365,5365, - 5365,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5372,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5375,3512,1, - 1,1,1,1,1,1,1,1,1,2791, - 1,1,140,1,1,1,2753,1169,2002,302, - 3338,5399,5235,5232,2657,2748,785,3509,5700,3031, - 2190,3016,3352,3481,5399,3501,1453,3425,4126,3401, - 5399,3370,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5409,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5408,3512,1,1,1, - 1,1,1,1,1,1,1,5399,1,1, - 4132,1,1,1,2753,1169,2002,5582,3338,53, - 5250,5247,2315,5399,785,3509,5399,3031,2190,3016, - 3352,3481,5399,3501,1453,3425,4126,3401,5399,5365, - 5365,5365,5365,5365,5365,5365,5365,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5387,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5387,5560,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3070,1, - 1,1,5399,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5399,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5040,5560,1, - 1,1,1,1,1,1,1,1,1,5399, - 1,1,799,1,1,1,5399,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5399, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5399,5560,1,1,1,1,1,1,1, - 1,1,1,345,1,1,1529,1,1,1, - 5399,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5399,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5399,5560,1,1,1, - 1,1,1,1,1,1,1,5399,1,1, - 799,1,1,1,5399,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5399,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5399, - 5560,1,1,1,1,1,1,1,1,1, - 1,317,1,1,5335,1,1,1,5399,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5399,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5399,5560,1,1,1,1,1, - 1,1,1,1,1,446,1,1,799,1, - 1,1,5399,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5399,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5399,5560,1, - 1,1,1,1,1,1,1,1,1,134, - 1,1,5071,1,1,1,42,5068,5065,2526, - 1135,3347,3918,3035,3941,975,3895,3872,5664,5662, - 5671,5670,5666,5667,5665,5668,5669,5672,5663,161, - 3987,3964,5422,3457,823,892,5424,840,621,851, - 5425,5423,781,5418,5420,5421,5419,1325,389,5399, - 5656,224,382,5659,5734,5735,5653,5660,5632,5658, - 5657,5654,5655,445,5633,5790,5399,612,5791,5792, - 5399,5284,5284,228,5280,228,228,228,228,1, - 137,5399,1,1,1,1,1,1,1,1, - 1,1,1,5288,127,5656,2411,2382,5659,5734, - 5735,5653,5660,5632,5658,5657,5654,5655,501,5633, - 53,5235,5232,5399,1,228,5802,1,1,1, - 1,1,1,1,1,1,1,489,1,1, - 5074,1,1,1,2313,5399,5416,5417,5399,5235, - 5232,5399,407,228,5399,5044,5041,143,1135,2539, - 526,3035,5887,5399,5284,5284,228,5280,228,228, - 228,228,1,143,5407,1,1,1,1,1, - 1,1,1,1,1,1,5332,4010,760,2349, - 4010,760,2657,2748,5824,5825,5826,5399,5399,5145, - 5141,4460,5149,2539,5347,3035,5344,1,228,5802, - 1,1,1,1,1,1,1,1,1,1, - 489,1,1,5406,1,1,1,2313,1844,1, - 135,383,40,124,5086,406,228,5086,583,5086, - 5399,5089,5089,2908,2830,5887,1,5145,5141,4460, - 5149,2539,166,3035,5089,5089,5089,3248,5399,2240, - 5399,1801,1758,1715,1672,1629,1586,1543,1500,1457, - 1414,2062,5399,5399,3812,2240,5086,5824,5825,5826, - 5399,5044,5041,4460,1135,2539,1000,3035,5727,5438, - 3812,5089,1,5145,5141,5323,5149,5329,5089,5326, - 5089,5089,5089,5089,5089,166,346,5089,364,5145, - 5141,2726,5149,2539,1,3035,1,126,162,5089, - 5089,5089,5089,5089,5089,5089,5089,5089,5089,5089, - 5089,5089,5089,5089,5089,5089,5089,5089,5089,5089, - 5089,5089,5089,5089,5089,5399,225,382,5089,5089, - 5092,5089,5399,5092,504,5092,875,5095,5095,343, - 5044,5041,2726,1135,2539,1000,3035,5727,5403,5399, - 5095,5095,5095,799,52,799,5399,9759,9759,1145, - 1,5145,5141,5323,5149,5329,5399,5326,1371,4269, - 5656,359,5092,5659,5734,5735,5653,5660,5632,5658, - 5657,5654,5655,5409,5633,2657,2748,5098,5399,5044, - 5041,123,1135,2539,5095,3035,5095,5095,5095,5095, - 5095,2908,2830,5095,901,5408,799,5399,5416,5417, - 5399,1020,2539,5438,3035,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,5095,5095,5095,5095,5095,5095,5095,5095,5095, - 5095,1438,1,5402,5095,5095,383,5095,5399,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5409,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,5399,5408,5560,5399,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,168,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 168,5560,5399,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,168,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,30,168,5560,5399, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,168,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5399,3449,5560,310,5145,5141,4460, - 5149,2539,5347,3035,5344,5399,343,42,42,3070, - 5440,5399,1000,5399,5727,5259,5259,5399,5044,5041, - 5399,1135,5102,4659,3035,168,5399,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,168, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1259,3744,5560,799,862,334,288,5416,5417,5399, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,168,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5734,5735,619,5399,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5399, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 5399,5399,5560,5399,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5399,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5399,5899,5560, - 1,5145,5141,2526,5149,3347,3918,3035,3941,5105, - 3895,3872,5132,5138,5111,5114,5126,5123,5129,5120, - 5117,5108,5135,104,3987,3964,5422,3457,823,892, - 5424,840,621,851,5425,5423,781,5418,5420,5421, - 5419,1325,42,42,5399,5842,5399,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,505, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 4732,5399,5560,5399,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3596,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5399,5399,5560, - 5399,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3134,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5399,5399,5560,5399,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 5399,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5399,5399,5560,5399,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3519,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5399,4252, - 5560,5399,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,319,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,372,226,5560,42,5044, - 5041,2526,1135,3347,3918,3035,3941,765,3895,3872, - 5664,5662,5671,5670,5666,5667,5665,5668,5669,5672, - 5663,5407,3987,3964,5422,3457,823,892,5424,840, - 621,851,5425,5423,781,5418,5420,5421,5419,1325, - 5656,799,138,5659,5734,5735,5653,5660,5632,5658, - 5657,5654,5655,136,5633,1,5145,5141,4460,5149, - 2539,583,3035,3598,39,5308,5305,5399,289,227, - 5406,42,5044,5041,2526,1135,3347,3918,3035,3941, - 765,3895,3872,5664,5662,5671,5670,5666,5667,5665, - 5668,5669,5672,5663,5407,3987,3964,5422,3457,823, - 892,5424,840,621,851,5425,5423,781,5418,5420, - 5421,5419,1325,5656,3596,5399,5659,5734,5735,5653, - 5660,5632,5658,5657,5654,5655,522,5633,2062,432, - 1,1,1739,1,42,5062,3598,5062,5440,1973, - 1000,2349,5727,5406,145,5044,5041,2526,1135,3347, - 3918,3035,3941,765,3895,3872,5664,5662,5671,5670, - 5666,5667,5665,5668,5669,5672,5663,3282,3987,3964, - 5422,3457,823,892,5424,840,621,851,5425,5423, - 781,5418,5420,5421,5419,1325,42,42,1,5145, - 5141,2526,5149,3347,3918,3035,3941,5105,3895,3872, - 5132,5138,5111,5114,5126,5123,5129,5120,5117,5108, - 5135,5399,3987,3964,5422,3457,823,892,5424,840, - 621,851,5425,5423,781,5418,5420,5421,5419,1325, - 42,42,42,5044,5041,2526,1135,3347,3918,3035, - 3941,765,3895,3872,5664,5662,5671,5670,5666,5667, - 5665,5668,5669,5672,5663,5403,3987,3964,5422,3457, - 823,892,5424,840,621,851,5425,5423,781,5418, - 5420,5421,5419,42,5044,5041,2526,1135,3347,3918, - 3035,3941,765,3895,3872,5664,5662,5671,5670,5666, - 5667,5665,5668,5669,5672,5663,5399,3987,3964,5422, - 3457,823,892,5424,840,621,851,5425,5423,781, - 5418,5420,5421,5419,1325,433,42,42,429,5440, - 5399,5265,3000,5262,1,5271,5271,42,5268,190, - 1000,5440,5727,96,1,1,302,1,3598,5277, - 5399,5277,5399,5250,5247,5700,5399,360,5399,4715, - 5402,42,5044,5041,2526,1135,3347,3918,3035,3941, - 765,3895,3872,5664,5662,5671,5670,5666,5667,5665, - 5668,5669,5672,5663,1835,3987,3964,5422,3457,823, - 892,5424,840,621,851,5425,5423,781,5418,5420, - 5421,5419,1325,1,223,3691,532,3153,5856,5850, - 360,5854,1921,5848,5849,5399,5664,5662,5671,5670, - 5666,5667,5665,5668,5669,5672,5663,5879,5880,360, - 5857,1,5145,5141,2726,5149,2539,42,3035,5399, - 5399,5440,5824,5825,5826,1749,1792,511,5656,5399, - 115,5659,5734,5735,5653,5660,5632,5658,5657,5654, - 5655,5396,5633,5859,1,5145,5141,2726,5149,2539, - 715,3035,5860,5881,5858,3765,1,5145,5141,4460, - 5149,2539,5399,3035,876,130,390,5068,5065,5399, - 5440,5870,5869,5882,5851,5852,5875,5876,799,310, - 5873,5874,5853,5855,5877,5878,5883,5863,5864,5865, - 5861,5862,5871,5872,5867,5866,5868,5399,4125,2946, - 532,310,5856,5850,5399,5854,1,5848,5849,3070, - 5399,799,5399,5044,5041,5399,1135,5102,1,3035, - 4033,5879,5880,42,5857,2616,4056,5405,3599,339, - 5399,5824,5825,5826,5059,48,5244,5244,5409,1749, - 1792,99,42,42,3301,5440,3596,5341,398,5338, - 390,5416,5417,5399,9624,9508,5399,5859,2496,2465, - 5408,5399,9624,9508,715,5399,5860,5881,5858,878, - 4270,5317,5399,799,4694,339,339,40,5274,5274, - 5404,367,339,1782,5399,5870,5869,5882,5851,5852, - 5875,5876,5241,5320,5873,5874,5853,5855,5877,5878, - 5883,5863,5864,5865,5861,5862,5871,5872,5867,5866, - 5868,42,5044,5041,2526,1135,3347,3918,3035,3941, - 765,3895,3872,5664,5662,5671,5670,5666,5667,5665, - 5668,5669,5672,5663,5438,3987,3964,5422,3457,823, - 892,5424,840,621,851,5425,5423,781,5418,5420, - 5421,5419,1190,3690,2946,42,5044,5041,2526,1135, - 3347,3918,3035,3941,765,3895,3872,5664,5662,5671, - 5670,5666,5667,5665,5668,5669,5672,5663,1634,3987, - 3964,5422,3457,823,892,5424,840,621,851,5425, - 5423,781,5418,5420,5421,5419,1325,42,5044,5041, - 4876,1135,3347,3918,3035,3941,765,3895,3872,5664, - 5662,5671,5670,5666,5667,5665,5668,5669,5672,5663, - 5399,3987,3964,5422,3457,823,892,5424,840,621, - 851,5425,5423,781,5418,5420,5421,5419,42,5044, - 5041,2526,1135,3347,3918,3035,3941,765,3895,3872, - 5664,5662,5671,5670,5666,5667,5665,5668,5669,5672, - 5663,118,3987,3964,5422,3457,823,892,5424,840, - 621,851,5425,5423,781,5418,5420,5421,5419,42, - 5044,5041,2526,1135,3347,3918,3035,3941,765,3895, - 3872,5664,5662,5671,5670,5666,5667,5665,5668,5669, - 5672,5663,180,3987,3964,5422,3457,823,892,5424, - 840,621,851,5425,5423,781,5418,5420,5421,5419, - 5399,5068,5065,1,5440,5381,5399,5068,5065,778, - 5440,5399,5664,5662,5671,5670,5666,5667,5665,5668, - 5669,5672,5663,5399,5399,5399,5359,5381,1354,999, - 5399,4033,311,3702,5399,2520,132,4056,5399,287, - 40,5274,5274,2873,5656,5274,5405,5659,5734,5735, - 5653,5660,5632,5658,5657,5654,5655,5407,5633,5790, - 5399,612,5791,5792,241,5225,5221,5399,5229,107, - 3758,1491,4194,778,365,5406,5212,5218,5191,5194, - 5206,5203,5209,5200,5197,5188,5215,1,5365,5365, - 228,5365,228,228,228,228,2616,2140,5399,5404, - 40,5274,5274,1280,1025,5253,5406,103,5176,828, - 228,5167,5161,5158,5185,5164,5155,5170,5173,5182, - 5179,5409,5152,5790,131,612,5791,5792,33,2496, - 2465,9064,228,1,5365,5365,228,5365,228,228, - 228,228,53,5408,5362,1235,5417,3515,5399,410, - 1,2753,2125,2455,5399,3338,5390,2051,5399,1, - 5365,5365,228,5365,228,228,228,228,4352,5887, - 5399,5399,5294,5291,2012,416,5399,9064,228,117, - 5399,5399,5390,33,2616,5399,5301,5297,5047,5399, - 5362,437,442,5256,5399,5416,5417,2753,5399,2455, - 44,3338,5417,9064,228,221,1,5365,5365,228, - 5365,228,228,228,228,5887,5362,2496,2465,5399, - 2151,1,1954,2753,2548,2455,5399,3338,5438,5393, - 116,221,1,5365,5365,228,5365,228,228,228, - 228,5887,5438,501,360,3077,50,5314,5314,551, - 9064,228,5050,5581,279,5390,414,5350,53,3140, - 5077,3334,5416,5362,40,5274,5274,382,1,4033, - 2753,1,2455,5399,3338,4056,9064,228,220,1, - 5365,5365,228,5365,228,228,228,228,5887,5362, - 5399,5405,5399,4321,496,3184,2753,360,2455,494, - 3338,5399,5390,5311,221,1,5365,5365,228,5365, - 228,228,228,228,5887,1,360,3525,5416,5399, - 4033,5438,3518,9064,228,5399,4056,5083,228,5399, - 5399,501,4879,1,5399,5399,5362,5399,518,1, - 4919,5399,5353,2753,5404,2455,5399,3338,38,9064, - 228,221,1,5365,5365,228,5365,228,228,228, - 228,5887,5362,309,79,4432,1169,3047,1,2753, - 4433,2455,5399,3338,5399,228,498,5353,1,5365, - 5365,228,5365,228,228,228,228,5887,5466,5467, - 3251,518,5356,2,2527,2772,9064,228,5399,5399, - 5399,228,3628,4923,3229,5399,3242,5399,4475,5362, - 4738,3307,5399,5399,5399,5399,2753,5399,2455,2303, - 3338,5399,9064,228,5399,3251,5399,5356,5399,5399, - 5399,3508,5399,4382,5887,5362,5399,5399,5399,5399, - 5399,5399,2753,2303,2455,1930,3338,846,5399,5399, - 5399,5399,5399,40,5399,5399,5399,5399,5399,5399, - 5887,5399,5399,5399,5399,5399,5399,570,5399,5399, - 5399,5399,5399,5399,5399,5399,5399,5399,5399,5399, - 5399,5399,5399,5399,648 + 5394,5369,5366,5366,5366,5366,5366,5366,5366,5379, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5376,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5394,1,1,1,1127,1, + 765,1,1,1,1,1,1123,1,1,1, + 5394,3626,1,1,1,41,5057,5054,1,1, + 1,5401,727,5573,718,3665,2274,2190,2181,3628, + 3473,161,3661,1113,3644,3619,3631,8,5382,5382, + 5382,5382,5382,5382,5382,5382,5382,5382,5382,5382, + 5382,5382,5382,5382,5382,5382,5382,5382,5382,5382, + 5382,5382,5382,5382,5382,5382,5394,5382,5382,5382, + 5382,5382,5382,5382,5382,5382,5382,5382,5382,5382, + 5382,5394,5382,5382,5382,5382,5382,5382,5382,5382, + 5382,5382,5382,5382,5382,5382,5382,1371,5382,5382, + 5382,5382,125,5394,141,5382,5382,5382,5382,5394, + 5382,5382,5382,5382,5382,5382,5382,5382,5394,5382, + 5382,5382,5382,5382,5394,5369,5366,5366,5366,5366, + 5366,5366,5366,5373,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 5376,1,1,3482,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,3007,1, + 1,1,1127,1,765,1,1,1,1,1, + 1123,1,1,1,122,3626,1,1,1,5041, + 2657,2748,1,1,1,2904,2826,5573,718,3665, + 2274,2190,2181,3628,3473,2279,3661,1113,3644,3619, + 3631,5394,5369,5366,5366,5366,5366,5366,5366,5366, + 5373,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5376,1,1, + 5394,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5394,1,1,1,1127, + 1,765,1,1,1,1,1,1123,1,1, + 1,5394,3626,1,1,1,5394,5411,5412,1, + 1,1,446,1,5573,718,3665,2274,2190,2181, + 3628,3473,165,3661,1113,3644,3619,3631,5394,5369, + 5366,5366,5366,5366,5366,5366,5366,5373,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5376,1,1,1887,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,5072,1,1,1,1127,1,765,1, + 1,1,1,1,1123,1,1,1,5394,3626, + 1,1,1,5394,5236,5233,1,1,1,445, + 165,5573,718,3665,2274,2190,2181,3628,3473,504, + 3661,1113,3644,3619,3631,5394,5369,5366,5366,5366, + 5366,5366,5366,5366,5373,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,5376,1,1,5394,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5075, + 1,1,1,1127,1,765,1,1,1,1, + 1,1123,1,1,1,901,3626,1,1,1, + 53,5251,5248,1,1,1,346,5394,5573,718, + 3665,2274,2190,2181,3628,3473,5400,3661,1113,3644, + 3619,3631,5394,5369,5366,5366,5366,5366,5366,5366, + 5366,5373,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5376,1, + 1,5394,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,799,1,1,1, + 1127,1,765,1,1,1,1,1,1123,1, + 1,1,5394,3626,1,1,1,129,5394,42, + 1,1,1,5435,5399,5573,718,3665,2274,2190, + 2181,3628,3473,5394,3661,1113,3644,3619,3631,5394, + 5369,5366,5366,5366,5366,5366,5366,5366,5373,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5376,1,1,5394,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,3009,1,1,1,1127,1,765, + 1,1,1,1,1,1123,1,1,1,124, + 3626,1,1,1,128,2657,2748,1,1,1, + 2904,2826,5573,718,3665,2274,2190,2181,3628,3473, + 5394,3661,1113,3644,3619,3631,5394,5369,5366,5366, + 5366,5366,5366,5366,5366,5373,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,5376,1,1,5394,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1174,1,1,1,1127,1,765,1,1,1, + 1,1,1123,1,1,1,123,3626,1,1, + 1,127,2657,2748,1,1,1,2904,2826,5573, + 718,3665,2274,2190,2181,3628,3473,5394,3661,1113, + 3644,3619,3631,5394,5369,5366,5366,5366,5366,5366, + 5366,5366,5373,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5376, + 1,1,5394,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1658,1,1, + 1,1127,1,765,1,1,1,1,1,1123, + 1,1,1,5394,3626,1,1,1,5394,2657, + 2748,1,1,1,1696,5394,5573,718,3665,2274, + 2190,2181,3628,3473,5394,3661,1113,3644,3619,3631, + 5394,3630,1,1,1,1,1,1,1,5404, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5403,1,1,4642, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,765,1,1,1,1127,1, + 765,1,1,1,1,1,1123,1,1,1, + 119,3626,1,1,1,126,3412,334,1,1, + 1,359,5394,5573,718,3665,2274,2190,2181,3628, + 3473,5398,3661,1113,3644,3619,3631,42,5069,5066, + 4779,721,3339,3910,2520,3933,5394,1059,3887,3864, + 5659,5657,5666,5665,5661,5662,5660,5663,5664,5667, + 5658,3979,3956,5729,5651,5417,5730,3449,668,771, + 5419,715,621,761,5420,5418,626,5413,5415,5416, + 5414,5394,5654,5729,1325,133,5730,1438,5648,5655, + 5627,5653,5652,224,5649,5650,5628,33,5394,5785, + 5394,3388,3364,2657,2748,944,5786,5787,5394,5285, + 5285,228,5281,228,228,228,228,5289,1,5394, + 5651,1,1,1,1,1,1,1,1,1, + 1,1,189,302,228,1,30,489,5654,5729, + 5397,501,5730,5695,5648,5655,5627,5653,5652,5394, + 5649,5650,5628,1,1,40,1069,1,5402,1, + 1,1,1,1,5394,1,1,1,1354,414, + 1,5394,5069,5066,418,5435,1,1,1,407, + 228,5797,2411,2382,5433,5394,8712,8712,137,5882, + 5394,5285,5285,228,5281,228,228,228,228,5333, + 1,5260,5260,1,1,1,1,1,1,1, + 1,1,1,1,5433,1025,228,1,429,489, + 5401,1395,5819,5820,5821,364,5146,5142,2722,5150, + 1078,1,2520,1,5394,1,1,4815,1069,1, + 1,1,1,1,1,1,3484,1,1,1, + 5354,5394,1,5391,48,5245,5245,5394,1,1, + 1,406,228,5797,383,5394,5402,5087,5394,3593, + 5087,5882,5087,5090,5404,5090,5090,1,5146,5142, + 5324,5150,5330,5242,5327,799,5404,2349,5090,5090, + 5087,5403,1145,5394,5045,5042,4374,721,1078,980, + 2520,5722,5357,5403,5819,5820,5821,436,5090,53, + 5236,5233,4727,5394,5146,5142,4374,5150,1078,5348, + 2520,5345,5394,5788,5090,2958,143,139,5401,5090, + 5090,5090,5819,5820,5821,5090,5090,343,5045,5042, + 2722,721,1078,980,2520,5722,5394,5045,5042,5394, + 5435,5090,5090,5090,5090,5090,5090,5090,5090,5090, + 5090,5090,5090,5090,5090,5090,5090,5090,5090,5090, + 5090,5090,5090,5090,5090,5090,5090,5090,5394,2549, + 382,5090,5090,5093,5090,2062,5093,5400,5093,5096, + 1,5096,5096,1844,432,1,1,799,1,5360, + 5063,5394,5063,5394,5096,5096,5093,310,5146,5142, + 4374,5150,1078,5348,2520,5345,1,5146,5142,4374, + 5150,1078,389,2520,5099,310,382,2315,2240,142, + 1801,1758,1715,1672,1629,1586,1543,1500,1457,1414, + 5096,5394,310,3775,4907,5096,5096,5096,5394,5411, + 5412,5096,5096,2690,302,1,5146,5142,4374,5150, + 1078,5401,2520,140,5695,5399,501,5096,5096,5096, + 5096,5096,5096,5096,5096,5096,5096,5096,5096,5096, + 5096,5096,5096,5096,5096,5096,5096,5096,5096,5096, + 5096,5096,5096,5096,288,5411,5412,5096,5096,5394, + 5096,5394,1,1,1,1,1,1,1,1, + 1878,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2062,5394,1, + 2279,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5394,5045,5042,1,721, + 1078,95,2520,135,5081,5394,5045,5042,1,721, + 5103,583,2520,2315,1,1,1,5146,5142,4374, + 5150,1078,4745,2520,5920,1,5146,5142,4779,5150, + 3339,3910,2520,3933,862,5106,3887,3864,5133,5139, + 5112,5115,5127,5124,5130,5121,5118,5109,5136,3979, + 3956,237,5394,5417,5239,3449,668,771,5419,715, + 621,761,5420,5418,626,5413,5415,5416,5414,5394, + 5045,5042,1325,5435,5394,343,42,42,3504,5435, + 5394,980,2091,5722,39,5309,5306,287,42,42, + 505,42,5045,5042,4779,721,3339,3910,2520,3933, + 5402,561,3887,3864,5659,5657,5666,5665,5661,5662, + 5660,5663,5664,5667,5658,3979,3956,4117,3666,5417, + 5394,3449,668,771,5419,715,621,761,5420,5418, + 626,5413,5415,5416,5414,799,42,5394,1325,3052, + 5435,3294,980,416,5722,3720,3666,1,5146,5142, + 2722,5150,1078,1054,2520,5394,5251,5248,5394,5394, + 5411,5412,5401,42,5045,5042,4779,721,3339,3910, + 2520,3933,5402,561,3887,3864,5659,5657,5666,5665, + 5661,5662,5660,5663,5664,5667,5658,3979,3956,1, + 5394,5417,4885,3449,668,771,5419,715,621,761, + 5420,5418,626,5413,5415,5416,5414,799,53,4181, + 1325,104,5412,3294,1,5146,5142,2722,5150,1078, + 138,2520,4002,828,225,145,5045,5042,4779,721, + 3339,3910,2520,3933,5401,561,3887,3864,5659,5657, + 5666,5665,5661,5662,5660,5663,5664,5667,5658,3979, + 3956,5651,5412,5417,115,3449,668,771,5419,715, + 621,761,5420,5418,626,5413,5415,5416,5414,5654, + 5729,4571,1325,5730,799,5648,5655,5627,5653,5652, + 5394,5649,5650,5628,5394,5236,5233,5394,42,42, + 1,5146,5142,4779,5150,3339,3910,2520,3933,5394, + 5106,3887,3864,5133,5139,5112,5115,5127,5124,5130, + 5121,5118,5109,5136,3979,3956,5394,5394,5417,2349, + 3449,668,771,5419,715,621,761,5420,5418,626, + 5413,5415,5416,5414,390,5411,5412,1325,1,5146, + 5142,5324,5150,5330,4025,5327,5394,4002,828,3812, + 4048,5394,3053,42,42,42,5045,5042,4779,721, + 3339,3910,2520,3933,5398,561,3887,3864,5659,5657, + 5666,5665,5661,5662,5660,5663,5664,5667,5658,3979, + 3956,33,5894,5417,5394,3449,668,771,5419,715, + 621,761,5420,5418,626,5413,5415,5416,5414,42, + 5045,5042,4779,721,3339,3910,2520,3933,522,561, + 3887,3864,5659,5657,5666,5665,5661,5662,5660,5663, + 5664,5667,5658,3979,3956,5048,118,5417,551,3449, + 668,771,5419,715,621,761,5420,5418,626,5413, + 5415,5416,5414,5394,5411,5412,1325,442,1,3294, + 1,5272,5272,5394,5269,3620,980,360,5722,360, + 143,40,5275,5275,42,5045,5042,4779,721,3339, + 3910,2520,3933,5397,561,3887,3864,5659,5657,5666, + 5665,5661,5662,5660,5663,5664,5667,5658,3979,3956, + 1071,5051,5417,2571,3449,668,771,5419,715,621, + 761,5420,5418,626,5413,5415,5416,5414,319,1, + 1,1325,532,3504,5851,5845,4025,5849,5837,5394, + 5843,5844,4048,1,5366,5366,228,5366,228,228, + 228,228,228,5874,5875,360,226,360,355,5852, + 433,42,42,360,5435,360,5266,42,5263,228, + 8714,5435,5363,5854,5394,5045,5042,5394,721,5103, + 42,2520,2240,5651,5435,3682,5394,3670,799,714, + 799,1127,2145,2239,5855,5876,5853,3775,1,2493, + 121,5654,5729,878,3626,5730,3412,5648,5655,5627, + 5653,5652,1749,5649,5650,5628,52,5865,5864,5877, + 5846,5847,5870,5871,5882,1264,5868,5869,5848,5850, + 5872,5873,5878,5858,5859,5860,5856,5857,5866,5867, + 5862,5861,5863,5394,136,1020,532,5394,5851,5845, + 4119,5849,583,5748,5843,5844,44,1,5366,5366, + 228,5366,228,228,228,228,5385,5874,5875,5394, + 96,1,1,5852,1,5394,5278,5394,5278,345, + 4120,53,1491,228,8714,5411,5363,5854,5394,8052, + 7599,3388,3364,5750,5819,5820,5821,5394,5045,5042, + 5078,721,1078,714,2520,1127,2145,2239,5855,5876, + 5853,117,5394,2493,120,99,42,42,3626,5435, + 3412,5342,382,5339,317,5411,5394,5336,220,4388, + 5394,5865,5864,5877,5846,5847,5870,5871,5882,799, + 5868,5869,5848,5850,5872,5873,5878,5858,5859,5860, + 5856,5857,5866,5867,5862,5861,5863,42,5045,5042, + 4779,721,3339,3910,2520,3933,5084,561,3887,3864, + 5659,5657,5666,5665,5661,5662,5660,5663,5664,5667, + 5658,3979,3956,5394,799,5417,3664,3449,668,771, + 5419,715,621,761,5420,5418,626,5413,5415,5416, + 5414,4025,5394,8052,7599,3388,3364,4048,42,5045, + 5042,4779,721,3339,3910,2520,3933,1505,561,3887, + 3864,5659,5657,5666,5665,5661,5662,5660,5663,5664, + 5667,5658,3979,3956,5394,1,5417,3683,3449,668, + 771,5419,715,621,761,5420,5418,626,5413,5415, + 5416,5414,5394,5394,5394,1325,42,5045,5042,4821, + 721,3339,3910,2520,3933,1,561,3887,3864,5659, + 5657,5666,5665,5661,5662,5660,5663,5664,5667,5658, + 3979,3956,3529,5394,5417,2772,3449,668,771,5419, + 715,621,761,5420,5418,626,5413,5415,5416,5414, + 42,5045,5042,4779,721,3339,3910,2520,3933,501, + 561,3887,3864,5659,5657,5666,5665,5661,5662,5660, + 5663,5664,5667,5658,3979,3956,107,2002,5417,3684, + 3449,668,771,5419,715,621,761,5420,5418,626, + 5413,5415,5416,5414,42,5045,5042,4779,721,3339, + 3910,2520,3933,1,561,3887,3864,5659,5657,5666, + 5665,5661,5662,5660,5663,5664,5667,5658,3979,3956, + 437,3699,5417,227,3449,668,771,5419,715,621, + 761,5420,5418,626,5413,5415,5416,5414,5394,5069, + 5066,1,5435,116,130,383,311,134,975,3260, + 5651,5659,5657,5666,5665,5661,5662,5660,5663,5664, + 5667,5658,5394,5394,289,5651,2681,719,5654,5729, + 1,5394,5730,3504,5648,5655,5627,5653,5652,339, + 5649,5650,5628,5654,5729,1,3128,5730,2616,5648, + 5655,5627,5653,5652,5400,5649,5650,5628,3124,132, + 5785,241,5226,5222,5394,5230,944,5786,5787,5060, + 5394,975,5394,1280,5213,5219,5192,5195,5207,5204, + 5210,5201,5198,5189,5216,5394,103,5394,5177,372, + 799,1973,2690,4025,5404,339,339,2496,2465,4048, + 398,511,367,2616,2411,2382,5168,5162,2527,5318, + 5159,5403,5186,5165,5156,5171,5174,339,5183,5180, + 5153,223,3132,5785,5254,79,5321,5394,3071,944, + 5786,5787,5399,5394,5659,5657,5666,5665,5661,5662, + 5660,5663,5664,5667,5658,1,2012,5394,5651,5461, + 5462,4344,2496,2465,167,1,5366,5366,228,5366, + 228,228,228,228,5385,131,5654,5729,1,1190, + 5730,167,5648,5655,5627,5653,5652,518,5649,5650, + 5628,228,8714,3190,5363,3774,1,5366,5366,228, + 5366,228,228,228,228,5388,390,5069,5066,5394, + 5435,5394,1911,1127,40,5275,5275,5394,3699,2616, + 1696,2493,228,8714,1,5363,3626,5394,5411,5412, + 3699,5394,1078,5404,2520,42,220,5394,570,365, + 5257,1927,167,5433,1127,5394,5882,5394,5295,5292, + 5403,279,2493,410,5351,648,496,3626,494,40, + 5275,5275,5394,5394,5275,518,3756,219,2496,2465, + 5394,5302,5298,50,5315,5315,5433,5882,1,5366, + 5366,228,5366,228,228,228,228,5385,1130,1, + 5366,5366,228,5366,228,228,228,228,5385,5433, + 5394,5394,5312,1,228,8714,1235,5363,5394,40, + 5275,5275,5394,5354,5394,228,8714,2101,5363,5394, + 2151,5394,4822,4891,3680,4894,1127,5394,2570,5394, + 5394,5394,3593,4857,2493,38,2753,1127,5433,3626, + 5394,5394,5394,4858,4864,2493,5394,5394,5394,220, + 3626,4884,5394,5394,309,2548,4916,5394,498,5882, + 220,2,5394,1,5394,5357,4244,5394,5394,5394, + 5882,1,5366,5366,228,5366,228,228,228,228, + 228,1,5366,5366,228,5366,228,228,228,228, + 228,3625,5394,5394,5394,5394,5394,228,8714,5576, + 5363,3511,2868,5575,5394,40,5394,228,8714,3017, + 5363,5394,5394,2868,5394,5394,5394,3725,5394,1127, + 3199,5394,5394,5394,1930,846,5394,2493,5394,1127, + 5394,5394,3626,5394,5394,5394,5394,2493,5394,5394, + 5394,5394,3626,5394,5394,5394,5394,5394,5394,5394, + 5394,5394,5882,5394,5394,5394,5394,5394,5394,5394, + 5394,5394,5882,1,5366,5366,228,5366,228,228, + 228,228,228,5394,5394,5394,5394,5394,5394,5394, + 5394,5394,5394,5394,5394,5394,5394,5394,5394,228, + 8714,5394,5363,5394,5394,5394,5394,5394,5394,5394, + 5394,5394,5394,5394,5394,5394,5394,5394,5394,5394, + 5394,1127,5394,5394,5394,5394,5394,5394,5394,2493, + 5394,5394,5394,5394,3626,5394,5394,5394,5394,5394, + 5394,5394,5394,5394,5394,5394,5394,5394,5394,5394, + 5394,5394,5394,5394,5882 }; }; public final static char termAction[] = TermAction.termAction; @@ -1904,59 +1713,59 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Asb { public final static char asb[] = {0, - 976,63,1099,422,61,65,927,785,785,785, - 785,57,927,547,785,601,547,1013,405,1015, - 423,423,423,423,423,423,423,423,423,1055, - 1061,1066,1063,1070,1068,1075,1073,1077,1076,1078, - 216,1079,422,405,29,29,29,29,462,223, - 1,544,29,113,159,547,547,1,632,547, - 159,159,150,406,840,28,724,59,1036,405, - 1038,1038,967,967,223,976,423,423,423,423, - 423,423,423,423,423,423,423,423,423,423, - 423,423,423,423,423,422,422,422,422,422, - 422,422,422,422,422,422,976,423,159,159, - 671,671,671,671,212,159,1,832,1025,1036, - 683,1036,678,1036,680,1036,1020,57,462,113, - 113,1,423,832,72,498,473,472,337,57, - 1015,113,28,422,460,723,159,459,462,461, - 459,159,113,1063,1063,1061,1061,1061,1068,1068, - 1068,1068,1066,1066,1073,1070,1070,1076,1075,1077, - 1120,1078,927,927,927,927,462,462,671,556, - 670,544,462,540,168,462,598,212,268,596, - 683,305,462,462,462,212,671,150,113,1093, - 159,500,502,462,724,423,29,1059,116,159, - 59,462,462,461,724,422,976,976,976,976, - 927,927,406,836,540,168,598,597,598,212, - 598,305,305,462,212,462,159,477,465,476, - 502,212,460,159,1059,832,723,59,462,460, - 159,159,159,159,223,223,540,539,675,462, - 168,1120,214,261,1110,168,598,598,1102,462, - 305,675,673,674,462,310,422,474,474,324, - 324,462,496,832,272,159,462,1059,1060,1059, - 976,116,266,59,159,159,540,724,785,459, - 320,1112,456,927,775,56,1103,462,675,423, - 462,310,422,422,502,462,724,159,500,465, - 310,348,1059,223,423,113,266,460,183,460, - 598,598,456,1098,832,462,778,423,1120,332, - 1102,462,57,57,462,488,502,310,1060,159, - 113,1099,183,460,598,683,57,1112,456,723, - 423,423,462,462,462,488,159,488,670,785, - 162,162,1099,683,386,775,462,927,462,462, - 927,481,488,183,731,183,669,669,537,387, - 57,462,223,503,481,787,929,918,927,373, - 767,183,29,29,537,386,1120,423,1120,1099, - 927,927,927,387,927,462,883,1099,1099,462, - 683,385,159,158,483,685,671,918,787,730, - 683,683,789,57,670,378,927,378,1120,387, - 405,405,403,838,405,1099,1099,594,537,29, - 483,731,730,731,1099,331,1098,159,730,730, - 730,57,462,535,272,159,456,159,883,1099, - 918,927,159,537,730,422,794,456,1099,675, - 730,730,730,462,462,162,159,159,361,387, - 594,387,1099,883,918,976,387,384,675,159, - 792,675,675,462,1099,669,683,683,873,422, - 385,974,1099,159,792,1099,459,387,159,974, - 1099,674,387,159,792,387 + 801,61,1100,373,63,974,926,926,926,926, + 57,974,707,926,421,707,794,357,796,374, + 374,374,374,374,374,374,374,374,1056,1062, + 1067,1064,1071,1069,1076,1074,1078,1077,1079,208, + 1080,373,357,29,29,29,29,413,756,1, + 704,29,111,157,707,707,1,452,707,157, + 157,148,357,933,28,549,59,1037,357,1039, + 1039,1014,1014,756,373,374,374,374,374,374, + 374,374,374,374,374,374,374,374,374,374, + 374,374,374,374,373,373,373,373,373,373, + 373,373,373,373,373,373,374,157,157,491, + 491,491,491,204,157,1,254,1026,1037,850, + 1037,845,1037,847,1037,1021,57,413,111,111, + 1,374,254,70,654,644,643,600,57,796, + 111,28,373,411,548,157,410,413,412,410, + 157,111,1064,1064,1062,1062,1062,1069,1069,1069, + 1069,1067,1067,1074,1071,1071,1077,1076,1078,1113, + 1079,974,974,974,974,413,413,491,716,490, + 704,413,700,160,413,854,204,260,852,850, + 264,413,413,413,204,491,148,111,1094,157, + 656,658,413,549,374,29,1060,114,157,59, + 413,413,412,549,373,373,373,373,373,974, + 974,357,258,700,160,854,853,854,204,854, + 264,264,413,204,413,157,648,636,647,658, + 204,411,157,1060,254,548,59,413,411,157, + 157,157,157,756,756,700,699,905,413,160, + 1113,206,896,1103,160,854,854,908,413,264, + 905,903,904,413,302,373,645,645,312,312, + 413,652,254,269,157,413,1060,1061,1060,373, + 114,901,59,157,157,700,549,926,410,325, + 1105,407,974,916,56,909,413,905,374,413, + 302,373,373,658,413,549,157,656,636,302, + 611,1060,756,374,111,901,411,175,411,854, + 854,407,1099,254,413,919,374,1113,320,908, + 413,57,57,413,500,658,302,1061,157,111, + 1100,175,411,854,850,57,1105,407,548,374, + 374,413,413,413,500,157,500,490,926,693, + 693,1100,850,337,916,413,974,413,413,974, + 493,500,175,556,175,489,489,508,338,57, + 413,756,659,493,843,976,249,974,416,592, + 175,29,29,508,337,1113,374,1113,1100,974, + 974,974,338,974,413,215,1100,1100,413,850, + 157,156,495,510,491,249,843,555,850,850, + 928,57,490,329,974,329,1113,338,357,357, + 355,931,357,1100,1100,754,508,29,495,556, + 555,556,1100,319,1099,157,555,555,555,57, + 413,691,269,157,407,157,215,1100,249,974, + 157,508,555,373,859,407,1100,905,555,555, + 555,413,413,693,157,157,624,338,754,338, + 1100,215,249,373,338,335,905,157,857,905, + 905,413,1100,489,850,850,966,373,336,756, + 1100,1100,157,857,1100,410,338,157,756,1100, + 904,338,157,857,338 }; }; public final static char asb[] = Asb.asb; @@ -1964,119 +1773,118 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Asr { public final static byte asr[] = {0, - 28,42,29,30,43,7,31,32,33,34, - 41,35,36,37,38,39,26,24,25,8, - 6,10,11,5,27,69,40,3,50,12, - 13,59,48,14,61,51,44,15,52,53, - 16,17,54,55,18,19,56,62,58,9, - 63,20,21,49,22,47,1,2,4,0, - 23,45,121,0,23,73,118,76,45,70, - 0,42,43,3,9,29,33,31,28,36, - 13,22,12,18,16,17,19,20,15,14, - 21,37,40,38,39,26,35,30,34,5, - 7,4,24,25,8,6,10,11,27,32, - 1,2,118,23,0,96,90,10,11,91, - 92,88,89,60,93,94,97,98,99,100, - 101,102,117,73,95,71,104,105,106,107, - 108,109,110,111,112,113,118,72,45,69, - 1,2,8,6,4,3,67,70,76,23, - 0,69,71,70,1,2,0,82,7,114, - 115,116,64,23,3,8,6,5,73,72, - 45,46,50,12,13,59,48,14,61,51, - 44,15,52,53,16,17,54,55,18,19, - 56,62,58,9,63,20,47,21,49,22, - 4,1,2,57,0,69,73,95,70,118, - 72,45,23,76,12,13,28,42,14,29, - 30,15,16,17,43,31,18,19,32,33, - 34,41,35,36,20,21,22,37,38,39, - 26,3,24,25,8,6,10,11,27,40, - 7,1,2,4,9,5,0,4,65,73, - 0,50,12,13,59,48,14,61,51,44, - 15,52,53,16,17,54,55,18,19,56, - 62,58,9,63,20,47,21,49,22,1, - 2,4,95,0,1,2,23,72,0,48, - 41,49,23,69,95,71,70,76,0,65, - 73,74,0,74,65,69,73,95,76,67, - 3,23,70,45,71,0,12,13,14,15, - 16,17,18,19,20,21,22,50,48,51, - 44,52,53,54,55,56,58,47,49,45, - 23,76,7,1,2,67,3,8,6,5, - 4,0,1,2,123,65,0,82,114,115, - 116,57,73,119,122,72,74,64,66,68, - 77,79,86,84,75,81,83,85,87,65, - 78,80,23,45,46,61,59,62,63,50, - 55,56,44,54,53,47,51,48,49,52, - 58,41,42,43,9,29,33,31,28,36, - 13,22,12,18,16,17,19,20,15,14, - 21,37,40,38,39,26,35,30,34,24, - 25,10,11,27,32,8,6,3,4,7, - 5,1,2,0,8,6,7,5,4,1, - 2,3,67,69,71,70,23,76,95,0, - 48,49,74,3,65,73,45,41,23,69, - 95,71,70,76,0,5,7,3,67,6, - 8,95,50,12,13,48,14,61,51,44, - 15,52,53,16,17,54,55,18,19,56, - 62,58,9,63,20,47,21,49,22,1, - 2,4,76,23,59,0,119,0,41,48, - 7,49,5,1,2,4,74,23,65,73, - 95,118,76,72,45,67,3,120,96,103, - 90,24,25,8,6,10,11,91,92,88, - 89,60,93,94,97,98,99,100,101,102, - 117,104,105,106,107,108,109,110,111,112, - 113,69,70,71,0,4,60,65,73,0, - 50,12,13,59,48,14,61,51,44,15, - 52,53,16,17,54,55,18,19,56,62, - 58,9,63,20,47,21,49,22,1,2, - 4,43,42,10,11,6,91,92,99,8, - 100,5,27,60,107,108,104,105,106,112, + 31,63,32,33,64,7,34,35,36,37, + 47,38,39,40,41,42,28,24,25,8, + 6,11,12,5,30,65,43,3,51,13, + 14,62,46,15,68,52,27,16,53,54, + 17,18,55,57,19,20,58,69,59,10, + 70,21,22,49,23,45,1,2,4,0, + 123,0,9,72,118,87,26,66,0,63, + 64,3,10,32,36,34,31,39,14,23, + 13,19,17,18,20,21,16,15,22,40, + 43,41,42,28,38,33,37,5,7,4, + 24,25,8,6,11,12,30,35,1,2, + 118,9,0,96,90,11,12,91,92,88, + 89,44,93,94,97,98,99,100,101,102, + 117,72,95,67,104,105,106,107,108,109, + 110,111,112,113,118,71,26,65,1,2, + 8,6,4,3,60,66,87,9,0,81, + 7,114,115,116,48,9,3,8,6,5, + 72,71,26,73,51,13,14,62,46,15, + 68,52,27,16,53,54,17,18,55,57, + 19,20,58,69,59,10,70,21,45,22, + 49,23,4,1,2,29,0,65,72,95, + 66,118,87,71,13,14,31,63,15,32, + 33,16,17,18,64,34,19,20,35,36, + 37,47,38,39,10,21,22,23,40,41, + 42,28,24,25,11,12,30,43,9,26, + 5,7,3,1,2,8,4,6,0,4, + 50,72,0,1,2,9,71,0,51,13, + 14,62,46,15,68,52,27,16,53,54, + 17,18,55,57,19,20,58,69,59,10, + 70,21,45,22,49,23,1,2,4,95, + 0,46,47,49,9,65,95,67,66,87, + 0,74,50,65,72,95,87,60,3,9, + 66,26,67,0,50,72,74,0,81,114, + 115,116,29,72,119,121,71,73,74,48, + 56,61,76,78,85,83,75,80,82,84, + 86,50,77,79,9,26,51,62,46,68, + 52,27,53,54,55,57,58,69,59,70, + 45,49,47,63,64,10,32,36,34,31, + 39,14,23,13,19,17,18,20,21,16, + 15,22,40,43,41,42,28,38,33,37, + 24,25,11,12,30,35,8,6,3,4, + 7,5,1,2,0,1,2,122,50,0, + 51,13,14,62,46,15,68,52,27,16, + 53,54,17,18,55,57,19,20,58,69, + 59,10,70,21,45,22,49,23,1,2, + 4,64,63,11,12,6,91,92,99,8, + 100,5,30,44,107,108,104,105,106,112, 111,113,89,88,109,110,97,98,93,94, - 101,102,24,25,90,103,3,67,71,70, - 69,0,71,70,72,23,0,57,73,4, - 1,2,65,0,68,50,12,13,59,48, - 14,61,51,82,44,15,52,53,16,17, - 54,66,55,18,19,56,62,58,9,63, - 20,64,47,21,49,22,23,3,8,4, - 45,65,6,7,1,2,5,57,0,72, - 59,48,14,61,51,15,52,53,16,17, - 54,55,18,19,56,62,58,63,20,47, - 21,49,22,13,12,50,23,3,8,6, - 45,64,68,82,44,57,7,1,2,5, - 4,9,66,0,65,70,0,73,23,67, - 3,71,70,45,60,0,26,0,65,71, - 0,23,72,42,43,41,24,25,10,11, - 5,27,32,3,7,37,40,38,39,26, - 35,30,34,13,22,12,18,16,17,19, - 20,15,14,21,9,29,33,31,28,36, - 65,1,2,8,4,6,0,75,0,42, - 43,24,25,10,11,27,32,37,40,38, - 39,26,35,30,34,13,22,12,18,16, - 17,19,20,15,14,21,9,29,33,31, - 28,36,8,6,3,67,5,7,1,2, - 4,0,12,13,28,42,14,29,30,15, - 16,17,43,31,18,19,32,33,34,41, - 35,36,9,20,21,22,37,38,39,26, - 24,25,10,11,27,40,46,23,8,6, - 45,5,7,1,2,4,3,0,59,48, - 14,61,51,15,52,53,16,17,54,55, - 18,19,56,62,58,9,63,20,47,21, - 49,22,13,12,50,23,3,8,6,45, - 64,66,68,82,44,60,7,4,57,5, - 1,2,0,23,76,12,13,28,14,29, - 30,15,16,17,31,18,19,32,33,34, - 41,35,36,9,20,21,22,37,38,39, - 26,3,24,25,8,6,10,11,27,4, - 40,46,5,7,1,2,43,42,0,9, - 61,59,62,63,13,22,12,18,16,17, - 19,20,15,14,21,74,65,5,4,2, - 1,49,47,58,56,55,7,54,53,52, - 44,51,48,50,120,103,24,25,67,3, - 96,90,6,91,92,10,11,89,88,60, - 93,94,97,98,8,99,100,101,69,95, - 76,71,104,105,106,107,108,109,110,111, - 112,113,73,118,72,102,117,70,45,23, - 0,47,1,2,4,114,115,116,0,45, - 23,5,7,3,1,2,4,6,8,73, - 0 + 101,102,24,25,90,103,3,60,67,66, + 65,0,46,49,74,3,50,72,26,47, + 9,65,95,67,66,87,0,119,0,61, + 51,13,14,62,46,15,68,52,81,27, + 16,53,54,17,18,55,56,57,19,20, + 58,69,59,10,70,21,48,45,22,49, + 23,9,3,8,4,26,50,6,7,1, + 2,5,29,0,71,62,46,15,68,52, + 16,53,54,17,18,55,57,19,20,58, + 69,59,70,21,45,22,49,23,14,13, + 51,9,3,8,6,26,48,61,81,27, + 29,7,1,2,5,4,10,56,0,13, + 14,15,16,17,18,19,20,21,22,23, + 51,46,52,27,53,54,55,57,58,59, + 45,49,26,9,87,7,1,2,60,3, + 8,6,5,4,0,8,6,7,5,4, + 1,2,3,60,65,67,66,9,87,95, + 0,5,7,3,60,6,8,95,51,13, + 14,46,15,68,52,27,16,53,54,17, + 18,55,57,19,20,58,69,59,10,70, + 21,45,22,49,23,1,2,4,87,9, + 62,0,65,67,66,1,2,0,47,46, + 7,49,5,1,2,4,74,9,50,72, + 95,118,87,71,26,60,3,120,96,103, + 90,24,25,8,6,11,12,91,92,88, + 89,44,93,94,97,98,99,100,101,102, + 117,104,105,106,107,108,109,110,111,112, + 113,65,66,67,0,9,87,13,14,31, + 15,32,33,16,17,18,34,19,20,35, + 36,37,47,38,39,10,21,22,23,40, + 41,42,28,3,24,25,8,6,11,12, + 30,4,43,5,7,1,2,64,63,0, + 13,14,31,63,15,32,33,16,17,18, + 64,7,34,19,20,35,36,37,47,38, + 39,10,21,22,23,40,41,42,1,2, + 3,24,25,8,6,11,12,5,30,4, + 43,73,28,0,29,72,4,1,2,50, + 0,4,44,50,72,0,9,71,63,64, + 47,24,25,8,6,11,12,30,35,3, + 40,43,41,42,28,38,33,37,14,23, + 13,19,17,18,20,21,16,15,22,32, + 36,34,31,39,50,7,1,2,4,10, + 5,0,67,66,71,9,0,45,1,2, + 4,114,115,116,0,50,66,0,72,9, + 60,3,67,66,26,44,0,50,67,0, + 75,0,63,64,24,25,11,12,30,35, + 40,43,41,42,28,38,33,37,14,23, + 13,19,17,18,20,21,16,15,22,10, + 32,36,34,31,39,8,6,60,5,7, + 1,2,4,3,0,62,46,15,68,52, + 16,53,54,17,18,55,57,19,20,58, + 69,59,10,70,21,45,22,49,23,14, + 13,51,9,3,8,6,26,48,56,61, + 81,27,44,7,4,29,5,1,2,0, + 10,68,62,69,70,14,23,13,19,17, + 18,20,21,16,15,22,74,50,5,4, + 2,1,49,45,59,58,57,7,55,54, + 53,27,52,46,51,120,103,24,25,60, + 3,96,90,6,91,92,11,12,89,88, + 44,93,94,97,98,8,99,100,101,65, + 95,87,67,104,105,106,107,108,109,110, + 111,112,113,72,118,71,102,117,66,26, + 9,0,26,9,5,7,3,1,2,4, + 6,8,72,0 }; }; public final static byte asr[] = Asr.asr; @@ -2084,59 +1892,59 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Nasb { public final static char nasb[] = {0, - 112,11,203,27,11,11,11,11,11,11, - 11,126,11,11,11,149,11,177,94,163, - 27,27,175,27,27,27,27,27,27,11, - 11,11,11,11,11,11,11,11,11,11, - 27,11,27,94,240,240,240,240,163,140, - 110,32,4,45,168,11,11,110,151,11, - 168,168,153,1,27,35,207,11,11,94, - 11,11,12,12,140,146,27,27,27,27, - 27,27,27,27,27,27,27,27,27,27, - 27,27,27,27,27,27,27,27,27,27, - 27,27,27,27,27,27,146,27,168,168, - 11,11,11,11,56,168,25,125,215,216, - 11,216,161,216,17,216,209,126,163,45, - 45,25,27,125,41,153,74,74,11,126, - 163,45,240,47,186,50,168,185,10,163, - 185,168,45,11,11,11,11,11,11,11, + 140,11,189,25,11,11,11,11,11,11, + 123,11,11,11,96,11,171,226,152,25, + 25,169,25,25,25,25,25,25,11,11, + 11,11,11,11,11,11,11,11,11,25, + 11,25,226,235,235,235,235,152,137,112, + 17,4,44,232,11,11,112,98,11,232, + 232,160,1,25,46,67,11,11,226,11, + 11,12,12,137,147,25,25,25,25,25, + 25,25,25,25,25,25,25,25,25,25, + 25,25,25,25,25,25,25,25,25,25, + 25,25,25,25,25,147,25,232,232,11, + 11,11,11,30,232,23,122,206,207,11, + 207,150,207,54,207,200,123,152,44,44, + 23,25,122,40,160,75,75,11,123,152, + 44,235,48,180,81,232,179,10,152,179, + 232,44,11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11, - 11,11,11,11,11,11,20,10,11,11, - 11,172,163,110,110,178,110,218,110,11, - 11,110,218,163,10,11,11,170,45,11, - 168,116,110,163,207,27,240,110,59,168, - 11,10,163,91,207,27,146,146,146,146, - 11,11,25,11,39,232,110,110,23,206, - 23,110,18,10,206,20,168,11,104,11, - 118,205,20,168,70,172,50,11,10,20, - 168,168,168,168,140,140,110,39,68,163, - 203,11,11,87,225,232,23,23,221,20, - 18,68,11,11,20,110,27,11,11,74, - 74,163,104,125,118,168,20,110,72,11, - 146,172,92,11,168,168,39,207,11,126, - 110,121,106,11,11,126,54,218,68,27, - 18,39,27,27,110,10,207,168,116,181, - 110,11,70,140,27,45,92,186,110,218, - 110,79,183,203,125,163,11,27,11,85, - 157,218,126,126,10,110,118,39,72,168, - 45,203,118,186,79,138,98,106,183,207, - 27,27,10,218,218,89,168,110,11,11, - 62,62,203,138,76,11,218,11,10,10, - 11,110,89,118,196,110,11,11,110,128, - 98,10,140,166,39,11,196,226,11,18, - 87,118,240,240,83,143,11,27,11,203, - 11,11,11,144,11,18,201,203,203,18, - 37,11,168,168,110,110,11,121,11,110, - 11,11,11,126,11,102,11,11,11,144, - 239,239,189,11,239,203,203,11,110,240, - 89,196,110,196,203,81,11,168,133,110, - 110,126,218,11,240,168,106,168,191,203, - 110,11,168,83,133,47,27,106,203,68, - 196,133,133,218,194,62,168,168,110,144, - 11,144,203,191,106,146,144,102,68,168, - 110,68,68,194,203,11,37,37,104,27, - 11,191,203,168,64,203,185,144,168,191, - 203,68,144,168,64,144 + 11,11,11,11,11,20,10,11,11,11, + 166,152,112,112,172,112,223,112,11,11, + 112,223,152,10,11,11,164,44,11,232, + 155,112,152,67,25,235,112,51,232,11, + 10,152,91,67,25,147,147,147,147,11, + 11,23,11,38,216,112,112,73,66,73, + 112,55,10,66,20,232,11,106,11,157, + 65,20,232,63,166,81,11,10,20,232, + 232,232,232,137,137,112,38,61,152,189, + 11,11,71,209,216,73,73,183,20,55, + 61,11,11,20,112,25,11,11,75,75, + 152,106,122,157,232,20,112,77,11,147, + 166,92,11,232,232,38,67,11,123,112, + 118,108,11,11,123,79,223,61,25,55, + 38,25,25,112,10,67,232,155,175,112, + 11,63,137,25,44,92,180,112,223,112, + 114,177,189,122,152,11,25,11,87,196, + 223,123,123,10,112,157,38,77,232,44, + 189,157,180,114,125,102,108,177,67,25, + 25,10,223,223,69,232,112,11,11,116, + 116,189,125,35,11,223,11,10,10,11, + 112,69,157,191,112,11,11,112,127,102, + 10,137,230,38,11,191,210,11,55,71, + 157,235,235,85,144,11,25,11,189,11, + 11,11,145,11,55,187,189,189,55,33, + 232,232,112,112,11,118,11,112,11,11, + 11,123,11,89,11,11,11,145,234,234, + 238,11,234,189,189,11,112,235,69,191, + 112,191,189,94,11,232,132,112,112,123, + 223,11,235,232,108,232,240,189,112,11, + 232,85,132,48,25,108,189,61,191,132, + 132,223,100,116,232,232,112,145,11,145, + 189,240,108,147,145,89,61,232,112,61, + 61,100,189,11,33,33,106,25,11,240, + 189,189,232,57,189,179,145,232,240,189, + 61,145,232,57,145 }; }; public final static char nasb[] = Nasb.nasb; @@ -2145,30 +1953,30 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface Nasr { public final static char nasr[] = {0, 3,13,8,6,147,145,120,144,143,2, - 0,6,2,8,134,0,6,1,0,4, - 3,0,111,0,46,5,6,8,2,13, - 0,5,185,0,171,0,57,0,61,0, - 13,2,8,6,78,0,5,29,0,65, - 133,132,0,183,0,131,65,0,5,173, - 0,110,0,13,2,8,6,64,0,138, - 0,136,0,67,0,5,64,0,154,0, - 175,0,156,0,181,0,151,0,123,0, - 2,114,0,5,46,39,0,165,6,164, - 0,113,0,97,96,63,6,2,8,5, - 0,5,39,170,0,6,91,24,5,0, - 2,63,8,5,91,6,0,5,45,39, - 174,0,105,5,45,68,0,155,0,5, - 99,0,64,45,69,5,39,0,5,46, - 167,0,96,97,5,0,6,104,161,0, - 3,6,2,44,0,46,5,34,0,97, - 96,6,56,0,6,13,8,2,3,0, - 97,96,63,56,6,8,2,0,45,49, - 5,102,0,150,0,5,45,68,79,0, - 5,39,40,0,131,2,65,0,2,6, - 120,116,117,118,13,88,0,2,54,0, - 6,104,182,0,40,6,2,8,5,153, - 0,5,45,68,104,47,6,0,115,5, - 46,0 + 0,6,2,8,134,0,5,186,0,4, + 3,0,45,5,6,8,2,13,0,131, + 65,0,57,0,5,64,0,61,0,13, + 2,8,6,78,0,171,0,5,29,0, + 5,173,0,6,1,0,13,2,8,6, + 64,0,138,0,131,2,65,0,123,0, + 151,0,111,0,67,0,136,0,184,0, + 65,133,132,0,156,0,182,0,113,0, + 2,114,0,176,0,5,45,167,0,150, + 0,165,6,164,0,97,96,63,6,2, + 8,5,0,154,0,110,0,2,63,8, + 5,91,6,0,155,0,5,48,40,174, + 0,105,5,48,68,0,5,99,0,5, + 40,170,0,64,48,69,5,40,0,3, + 6,2,44,0,6,91,24,5,0,96, + 97,5,0,97,96,6,56,0,6,13, + 8,2,3,0,97,96,63,56,6,8, + 2,0,6,104,183,0,5,40,39,0, + 5,48,68,79,0,6,104,161,0,2, + 6,120,116,117,118,13,88,0,39,6, + 2,8,5,153,0,5,48,68,104,46, + 6,0,2,54,0,5,45,40,0,45, + 5,34,0,115,5,45,0,24,175,5, + 102,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2176,19 +1984,19 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface TerminalIndex { public final static char terminalIndex[] = {0, - 115,116,2,32,14,11,81,10,102,12, - 13,50,54,62,70,76,77,88,89,104, - 107,109,117,8,9,114,15,57,63,69, - 86,90,92,96,99,101,111,112,113,46, - 97,60,80,68,122,123,106,56,108,49, - 66,72,75,78,85,91,95,100,55,20, - 65,93,103,105,3,79,1,48,21,45, - 34,121,31,98,110,120,51,52,58,59, - 61,67,71,73,74,87,94,18,19,7, + 115,116,2,32,14,11,81,10,117,102, + 12,13,50,54,62,70,76,77,88,89, + 104,107,109,8,9,122,68,114,95,15, + 57,63,69,86,90,92,96,99,101,111, + 112,113,46,20,106,56,97,105,108,3, + 49,66,72,75,78,79,85,91,100,1, + 48,55,60,80,21,45,34,65,93,103, + 121,31,123,98,110,51,52,58,59,61, + 67,71,73,74,87,94,120,18,19,7, 16,17,22,23,33,5,24,25,26,27, 28,29,6,35,36,37,38,39,40,41, 42,43,44,82,83,84,30,119,53,4, - 125,64,124,118 + 64,124,125,118 }; }; public final static char terminalIndex[] = TerminalIndex.terminalIndex; @@ -2199,8 +2007,8 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 132,137,139,239,0,0,138,235,136,0, 135,0,146,0,134,0,0,145,151,0, 0,152,161,182,162,163,164,165,154,140, - 166,167,168,128,169,170,171,0,133,130, - 172,0,142,141,0,155,180,0,179,0, + 166,167,168,128,169,170,171,0,130,133, + 172,0,142,141,155,180,0,0,0,0, 0,0,0,0,148,158,175,0,205,0, 189,202,206,129,0,0,207,0,174,0, 0,0,0,0,0,0,178,127,131,0, @@ -2213,9 +2021,9 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse 0,183,184,185,186,187,190,0,196,198, 0,199,204,0,216,217,0,222,225,227, 229,0,232,233,234,0,236,237,240,126, - 0,153,156,176,201,214,219,0,223,224, - 226,228,0,230,231,243,244,0,0,0, - 0,0,0 + 0,153,156,176,179,201,214,219,0,223, + 224,226,228,0,230,231,243,244,0,0, + 0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2223,18 +2031,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopePrefix { public final static char scopePrefix[] = { - 146,588,607,367,539,555,566,577,347,252, - 266,288,294,300,42,277,392,430,154,596, - 375,482,20,51,75,80,85,122,182,283, - 306,317,328,258,272,510,27,357,328,615, + 146,592,611,371,543,559,570,581,351,252, + 266,288,294,300,42,277,396,434,154,600, + 379,486,20,51,75,80,85,122,182,283, + 306,317,328,258,272,514,27,361,328,619, 27,204,231,1,14,61,71,101,136,311, - 324,333,340,448,475,504,531,535,625,629, - 633,92,7,92,136,410,426,439,459,523, - 439,546,562,573,584,194,381,493,56,56, - 143,209,212,56,226,247,212,212,56,344, - 454,472,479,143,56,648,105,219,414,466, - 111,111,219,56,219,401,164,99,452,637, - 644,637,644,65,420,129,99,99,236 + 324,333,340,344,452,479,508,535,539,629, + 633,637,92,7,92,136,414,430,443,463, + 527,443,550,566,577,588,194,385,497,56, + 56,143,209,212,56,226,247,212,212,56, + 348,458,476,483,143,56,652,105,219,418, + 470,111,111,219,56,219,405,164,99,456, + 641,648,641,648,65,424,129,99,99,236 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2242,18 +2050,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,354,5,5,5,5,354,127, - 90,127,127,127,48,263,398,436,160,67, - 362,488,25,25,59,59,90,127,187,127, - 127,322,322,263,96,515,38,362,602,620, + 18,5,5,358,5,5,5,5,358,127, + 90,127,127,127,48,263,402,440,160,67, + 366,492,25,25,59,59,90,127,187,127, + 127,322,322,263,96,519,38,366,606,624, 32,198,198,5,18,5,59,90,127,315, - 315,315,90,127,229,5,5,5,5,5, - 229,646,11,96,140,354,354,354,463,515, - 443,550,550,550,550,198,385,497,59,59, - 5,5,215,217,229,5,250,250,217,90, - 457,5,229,5,508,5,108,337,417,469, - 114,118,222,527,518,404,167,90,90,639, - 639,641,641,67,422,131,189,174,238 + 315,315,90,90,127,229,5,5,5,5, + 5,229,650,11,96,140,358,358,358,467, + 519,447,554,554,554,554,198,389,501,59, + 59,5,5,215,217,229,5,250,250,217, + 90,461,5,229,5,512,5,108,337,421, + 473,114,118,222,531,522,408,167,90,90, + 643,643,645,645,67,426,131,189,174,238 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2261,18 +2069,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeLhs { public final static char scopeLhs[] = { - 47,18,18,73,18,18,18,18,73,82, - 48,87,86,118,66,52,73,72,47,18, - 73,20,3,7,161,161,158,116,47,85, - 118,117,119,53,48,134,128,73,18,18, + 46,18,18,73,18,18,18,18,73,82, + 47,87,86,118,66,52,73,72,46,18, + 73,20,3,7,161,161,158,116,46,85, + 118,117,119,53,47,134,128,73,18,18, 128,98,58,130,76,164,161,158,125,117, - 117,119,49,57,138,19,18,18,18,18, - 18,12,113,158,125,73,72,72,38,134, - 72,18,18,18,18,98,73,20,165,161, - 175,96,103,60,67,59,153,77,119,74, - 70,139,138,171,134,17,158,119,115,22, - 126,126,56,134,134,73,47,158,71,132, - 44,132,44,164,115,116,47,47,58 + 117,119,175,50,57,138,19,18,18,18, + 18,18,12,113,158,125,73,72,72,38, + 134,72,18,18,18,18,98,73,20,165, + 161,176,96,103,60,67,59,153,77,119, + 74,70,139,138,171,134,17,158,119,115, + 22,126,126,56,134,134,73,46,158,71, + 132,44,132,44,164,115,116,46,46,58 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2280,18 +2088,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeLa { public final static byte scopeLa[] = { - 119,76,76,76,76,76,76,76,76,72, - 45,72,72,72,69,1,76,122,65,3, - 45,76,69,69,1,1,45,72,65,72, - 72,1,1,1,1,4,69,45,1,1, - 69,76,76,76,119,76,1,45,72,1, - 1,1,45,72,118,76,76,76,76,76, - 118,1,76,1,70,76,76,76,73,4, - 76,69,69,69,69,76,45,3,1,1, - 76,76,3,1,118,76,1,1,1,45, - 73,76,118,76,5,76,1,57,71,76, - 1,1,6,1,57,75,74,45,45,4, - 4,4,4,3,1,65,1,1,3 + 119,87,87,87,87,87,87,87,87,71, + 26,71,71,71,65,1,87,121,50,3, + 26,87,65,65,1,1,26,71,50,71, + 71,1,1,1,1,4,65,26,1,1, + 65,87,87,87,119,87,1,26,71,1, + 1,1,26,26,71,118,87,87,87,87, + 87,118,1,87,1,66,87,87,87,72, + 4,87,65,65,65,65,87,26,3,1, + 1,87,87,3,1,118,87,1,1,1, + 26,72,87,118,87,5,87,1,29,67, + 87,1,1,6,1,29,75,74,26,26, + 4,4,4,4,3,1,50,1,1,3 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2299,18 +2107,18 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeStateSet { public final static char scopeStateSet[] = { - 88,254,254,99,254,254,254,254,99,23, - 88,23,23,158,110,90,99,99,88,254, - 99,254,186,230,63,63,119,158,88,23, - 158,158,158,90,88,141,56,99,254,254, - 56,150,72,33,99,37,63,119,316,158, - 158,158,12,40,69,254,254,254,254,254, - 254,234,7,119,316,99,99,99,286,141, - 99,254,254,254,254,150,99,254,37,63, - 1,150,152,72,146,72,66,77,158,99, - 99,60,69,144,141,254,119,158,3,255, - 158,158,125,141,141,99,88,119,99,122, - 162,122,162,37,3,158,88,88,72 + 72,238,238,83,238,238,238,238,83,96, + 72,96,96,142,94,74,83,83,72,238, + 83,238,170,214,44,44,69,142,72,96, + 142,142,142,74,72,125,37,83,238,238, + 37,134,53,14,83,18,44,69,300,142, + 142,142,3,74,21,50,238,238,238,238, + 238,238,218,9,69,300,83,83,83,270, + 125,83,238,238,238,238,134,83,238,18, + 44,1,134,136,53,130,53,47,58,142, + 83,83,41,50,128,125,238,69,142,5, + 239,142,142,109,125,125,83,72,69,83, + 106,146,106,146,18,5,142,72,72,53 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2318,71 +2126,72 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeRhs { public final static char scopeRhs[] = {0, - 311,3,41,0,128,0,310,3,119,0, + 312,3,47,0,128,0,311,3,119,0, 128,175,0,129,181,74,0,217,0,290, - 129,60,128,0,21,0,292,129,60,57, + 129,44,128,0,21,0,292,129,44,29, 0,21,55,0,34,134,0,21,55,0, - 0,292,129,60,57,192,0,21,131,0, - 290,129,60,132,0,178,130,0,140,0, + 0,292,129,44,29,192,0,21,131,0, + 290,129,44,132,0,178,130,0,140,0, 223,3,289,0,289,0,2,0,128,0, - 178,130,228,0,178,130,47,228,0,178, - 130,307,47,0,133,189,168,130,0,130, - 0,189,168,130,0,136,130,0,169,0, - 303,129,169,0,129,169,0,223,130,0, + 178,130,228,0,178,130,45,228,0,178, + 130,308,45,0,133,189,168,130,0,130, + 0,189,168,130,0,136,130,0,172,0, + 304,129,172,0,129,172,0,223,130,0, 168,244,0,139,0,0,0,137,0,0, - 0,302,129,65,250,0,129,0,250,0, - 3,0,0,129,0,301,129,65,0,45, + 0,303,129,50,250,0,129,0,250,0, + 3,0,0,129,0,302,129,50,0,45, 129,0,153,3,0,129,279,278,129,74, - 277,169,0,278,129,74,277,169,0,216, - 0,217,0,277,169,0,98,0,0,216, + 277,172,0,278,129,74,277,172,0,216, + 0,217,0,277,172,0,98,0,0,216, 0,217,0,204,98,0,0,216,0,217, - 0,278,129,277,169,0,216,0,204,0, + 0,278,129,277,172,0,216,0,204,0, 0,216,0,231,129,3,0,128,0,0, 0,0,0,231,129,3,220,0,227,3, 0,215,129,0,209,0,149,0,168,130, - 0,11,0,0,0,218,67,0,127,0, + 0,11,0,0,0,218,60,0,127,0, 231,129,3,183,0,183,0,2,0,0, 128,0,0,0,0,0,201,3,0,202, - 0,230,129,65,26,44,0,178,130,66, - 64,0,198,130,0,133,178,130,275,64, - 0,178,130,275,64,0,178,130,71,125, - 66,0,230,129,65,66,0,230,129,65, - 123,66,0,230,129,65,126,66,0,272, - 129,65,125,61,0,272,129,65,61,0, - 178,130,61,0,137,0,189,178,130,244, + 0,230,129,50,28,27,0,178,130,56, + 48,0,198,130,0,133,178,130,275,48, + 0,178,130,275,48,0,178,130,67,125, + 56,0,230,129,50,56,0,230,129,50, + 122,56,0,230,129,50,126,56,0,272, + 129,50,125,68,0,272,129,50,68,0, + 178,130,68,0,137,0,189,178,130,244, 0,139,0,178,130,244,0,189,168,130, - 9,0,168,130,9,0,95,139,0,265, - 129,169,0,163,86,0,226,164,226,173, - 3,83,0,128,174,0,226,173,3,83, - 0,130,0,128,174,0,226,164,226,164, - 226,3,83,0,226,164,226,3,83,0, - 226,3,83,0,130,0,130,0,128,174, - 0,163,3,75,193,81,0,128,130,0, - 193,81,0,110,2,133,128,130,0,239, - 3,75,0,201,170,0,34,172,0,170, - 0,178,34,172,0,239,3,87,0,193, - 158,239,3,85,0,64,174,0,239,3, - 85,0,128,174,64,174,0,298,129,65, - 0,163,0,218,78,0,31,0,163,117, - 161,0,31,172,0,179,3,0,128,152, - 0,223,3,0,218,67,262,0,163,67, - 0,179,3,295,43,130,0,128,0,0, - 0,0,295,43,130,0,2,148,128,0, - 0,0,0,179,3,32,0,150,0,127, - 57,168,130,0,32,150,0,95,139,32, - 150,0,217,178,130,0,149,32,150,0, - 179,3,36,0,163,3,36,0,163,3, - 69,179,60,28,0,179,60,28,0,21, - 2,133,128,0,163,3,69,179,60,31, - 0,179,60,31,0,163,3,69,179,60, - 33,0,179,60,33,0,163,3,69,179, - 60,29,0,179,60,29,0,223,3,127, - 189,168,130,9,0,127,189,168,130,9, - 0,139,2,0,128,0,223,3,126,255, - 168,130,9,0,255,168,130,9,0,137, - 2,0,128,0,223,3,137,0,223,3, - 142,0,163,67,142,0,257,0,32,0, - 32,143,0,167,0,136,0,163,3,0 + 10,0,168,130,10,0,95,139,0,265, + 129,148,0,265,129,172,0,164,85,0, + 226,163,226,299,3,82,0,128,174,0, + 226,299,3,82,0,130,0,128,174,0, + 226,163,226,163,226,3,82,0,226,163, + 226,3,82,0,226,3,82,0,130,0, + 130,0,128,174,0,164,3,75,193,80, + 0,128,130,0,193,80,0,110,2,133, + 128,130,0,239,3,75,0,201,169,0, + 34,172,0,169,0,178,34,172,0,239, + 3,86,0,193,158,239,3,84,0,64, + 174,0,239,3,84,0,128,174,64,174, + 0,298,129,50,0,164,0,218,77,0, + 31,0,164,117,161,0,31,172,0,179, + 3,0,128,152,0,223,3,0,218,60, + 262,0,164,60,0,179,3,295,64,130, + 0,128,0,0,0,0,295,64,130,0, + 2,148,128,0,0,0,0,179,3,35, + 0,150,0,127,29,168,130,0,32,150, + 0,95,139,32,150,0,217,178,130,0, + 149,32,150,0,179,3,39,0,164,3, + 39,0,164,3,65,179,44,31,0,179, + 44,31,0,21,2,133,128,0,164,3, + 65,179,44,34,0,179,44,34,0,164, + 3,65,179,44,36,0,179,44,36,0, + 164,3,65,179,44,32,0,179,44,32, + 0,223,3,127,189,168,130,10,0,127, + 189,168,130,10,0,139,2,0,128,0, + 223,3,126,255,168,130,10,0,255,168, + 130,10,0,137,2,0,128,0,223,3, + 137,0,223,3,142,0,164,60,142,0, + 257,0,32,0,32,143,0,167,0,136, + 0,164,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2390,38 +2199,37 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface ScopeState { public final static char scopeState[] = {0, - 1365,0,4923,4919,4879,0,2743,1497,2612,1411, - 0,3795,3757,3703,3665,3611,3573,3628,3519,3481, - 3015,2932,3240,3175,4262,3111,2943,4252,4198,4134, - 4125,0,2775,2562,2445,0,3334,2545,0,3795, - 3757,3703,2964,1960,3665,3611,3573,3519,785,3481, - 3015,2932,3636,2955,0,2700,2946,2690,0,1184, - 1049,0,3077,4496,0,4564,4538,0,1140,1006, - 0,4564,4551,1071,3444,4538,2804,4229,4382,4524, - 3092,4352,4460,2882,2726,2644,0,4615,4588,3240, - 3175,4262,3111,2943,4252,4198,4134,4125,3795,3757, - 3703,3665,3611,3573,3519,3481,3015,2932,0,3240, - 3175,4262,3111,2943,4252,4198,4134,4125,4615,4588, - 0,1354,875,0,3092,4551,3209,1071,3444,3207, - 2882,4826,2962,4680,2688,3246,935,2954,839,0, - 648,570,0,760,0,2339,2320,1591,1065,3444, - 3246,2804,2726,2644,3070,3046,0,4365,527,2440, - 0,4798,4793,4786,4781,4726,4721,4709,4704,4646, - 4641,4868,4863,4853,4818,4625,4446,3266,4373,3492, - 3274,3127,2534,2234,0,4798,4793,3695,3604,3579, - 4786,4781,4726,3487,2716,4721,4709,4704,3117,4646, - 3329,4641,2447,2229,4868,2140,2873,2051,1020,2459, - 4863,4803,4853,2056,4818,4625,4446,722,3266,661, - 4373,2539,3492,3274,4365,3127,2440,2534,2234,1009, - 994,787,1135,846,2804,4229,4382,4524,3092,4564, - 4551,4352,1071,3444,4460,2882,2726,4538,2644,878, - 862,648,570,621,4102,4079,2240,2279,2349,2315, - 2411,2382,583,2748,2657,2616,2588,2496,2465,3420, - 3396,3372,2908,2830,4056,4033,4010,3987,3964,3941, - 3918,3895,3872,3347,3457,1930,2190,2151,2101,2062, - 2012,1235,1190,1973,1145,901,1887,799,731,675, - 1844,1801,1758,1715,1672,1629,1586,1543,1500,1457, - 1414,527,1371,1325,1084,1025,951,1280,0 + 2464,0,4864,0,4884,4858,4857,0,2956,1497, + 2344,1411,0,3141,2816,1014,0,3128,2549,0, + 3787,3749,3695,3336,2524,3657,3603,3565,3511,718, + 3473,3015,2928,3135,2894,0,4783,3666,3663,0, + 2309,1184,0,4181,3484,0,4558,4484,0,2320, + 1000,0,4558,4545,4524,3436,4484,2800,4221,3199, + 4452,3103,4344,4374,2878,2722,2644,0,4585,4573, + 0,4585,4573,3232,3167,4254,3070,2942,4244,4190, + 4126,4117,3787,3749,3695,3657,3603,3565,3511,3473, + 3015,2928,0,4585,4573,3232,3167,4254,3070,2942, + 4244,4190,4126,4117,0,2681,1354,0,3103,4545, + 4410,4524,3436,3483,2878,4128,3485,3171,3077,3230, + 935,3183,839,0,648,570,0,828,0,1806, + 1782,1481,1128,3436,3230,2800,2722,2644,3504,3126, + 0,4357,527,2440,0,4774,4762,4755,4737,4717, + 4692,4680,4672,4660,4655,4829,4810,4793,4478,4624, + 4592,4396,4365,3266,3144,3030,2534,2234,0,4774, + 4762,3095,2794,2715,4755,4737,4717,2539,1139,4692, + 4680,4672,2869,4660,2229,4655,2140,2051,4829,1130, + 2690,1071,1020,2459,4810,3301,4793,2056,4478,4624, + 4592,777,4396,661,4365,1078,3266,3144,4357,3030, + 2440,2534,2234,1009,994,787,721,846,2800,4221, + 3199,4452,3103,4558,4545,4344,4524,3436,4374,2878, + 2722,4484,2644,878,862,648,570,621,4094,4071, + 2240,2279,2349,2315,2411,2382,583,2748,2657,2616, + 2588,2496,2465,3412,3388,3364,2904,2826,4048,4025, + 4002,3979,3956,3933,3910,3887,3864,3339,3449,1930, + 2190,2151,2101,2062,2012,1235,1190,1973,1145,901, + 1887,799,731,675,1844,1801,1758,1715,1672,1629, + 1586,1543,1500,1457,1414,527,1371,1325,1084,1025, + 951,1280,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2429,59 +2237,59 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public interface InSymb { public final static char inSymb[] = {0, - 0,294,163,129,46,264,36,28,31,33, - 29,9,137,126,128,7,132,4,3,130, - 32,27,5,11,10,6,8,25,24,142, - 147,150,149,152,151,156,155,159,157,160, - 41,161,70,3,60,60,60,60,130,3, - 60,170,129,67,3,42,43,60,7,126, - 179,163,170,129,42,43,168,167,126,3, - 127,126,103,120,3,67,90,96,11,10, - 92,91,6,94,93,69,60,88,89,8, - 98,97,100,99,101,113,112,111,110,109, - 108,107,106,105,104,71,117,102,179,163, - 179,179,179,179,168,223,129,129,266,267, - 250,268,244,269,61,270,271,9,130,67, - 67,129,158,129,67,3,221,220,137,9, - 130,67,295,3,189,4,179,57,5,130, - 57,223,163,149,149,147,147,147,151,151, - 151,151,150,150,155,152,152,157,156,159, - 163,160,69,69,69,69,189,255,290,135, - 293,215,130,6,65,168,234,130,127,126, - 125,65,130,130,178,168,290,215,218,161, - 227,129,3,130,168,202,3,296,170,153, - 257,189,130,178,168,73,3,3,3,3, - 127,126,70,168,129,129,127,126,129,178, - 129,65,129,178,168,57,231,232,148,233, - 129,168,57,179,129,129,4,217,5,57, - 163,163,163,163,3,3,6,185,302,130, - 171,228,192,64,169,304,129,129,73,189, - 129,272,125,273,189,158,71,227,201,187, - 183,130,3,129,70,231,189,158,259,262, - 67,180,4,127,223,223,129,168,57,275, - 277,129,3,183,306,228,47,130,272,71, - 70,129,71,71,3,178,168,201,129,215, - 158,127,129,3,67,163,4,189,60,130, - 74,129,215,303,129,130,126,73,284,201, - 70,130,47,307,178,224,129,129,259,223, - 218,133,129,178,129,278,73,70,215,168, - 73,71,178,130,130,129,231,224,292,57, - 9,59,133,278,65,288,130,289,178,178, - 41,158,129,70,69,60,234,234,279,129, - 70,178,3,3,129,44,57,169,68,66, - 64,129,71,71,129,298,80,78,1,163, - 87,85,83,81,75,84,86,79,77,66, - 74,46,223,311,224,26,60,129,3,65, - 123,126,125,66,292,280,119,23,218,73, - 3,3,3,193,3,125,163,125,181,70, - 129,129,65,69,265,201,276,26,129,65, - 65,71,130,69,3,239,170,239,173,226, - 169,75,239,129,129,3,71,70,158,230, - 229,129,129,130,178,59,95,310,170,158, - 201,158,226,164,129,3,158,280,230,153, - 65,230,230,178,274,234,158,158,129,71, - 193,164,226,163,129,274,71,122,226,164, - 158,301,158,226,70,158 + 0,294,164,129,264,39,31,34,36,32, + 10,137,126,128,7,132,4,3,130,35, + 30,5,12,11,6,8,25,24,142,147, + 150,149,152,151,156,155,159,157,160,47, + 161,66,3,44,44,44,44,130,3,44, + 169,129,60,3,63,64,44,7,126,179, + 164,169,129,63,64,168,167,126,3,127, + 126,103,120,3,60,90,96,12,11,92, + 91,6,94,93,65,44,88,89,8,98, + 97,100,99,101,113,112,111,110,109,108, + 107,106,105,104,67,117,102,179,164,179, + 179,179,179,168,223,129,129,266,267,250, + 268,244,269,68,270,271,10,130,60,60, + 129,158,129,60,3,221,220,137,10,130, + 60,295,3,189,4,179,29,5,130,29, + 223,164,149,149,147,147,147,151,151,151, + 151,150,150,155,152,152,157,156,159,164, + 160,65,65,65,65,189,255,290,135,293, + 215,130,6,50,168,234,130,127,126,125, + 50,130,130,178,168,290,215,218,161,227, + 129,3,130,168,202,3,296,169,153,257, + 189,130,178,168,72,3,3,3,3,127, + 126,66,168,129,129,127,126,129,178,129, + 50,129,178,168,29,231,232,148,233,129, + 168,29,179,129,129,4,217,5,29,164, + 164,164,164,3,3,6,185,303,130,170, + 228,192,48,172,305,129,129,72,189,129, + 272,125,273,189,158,67,227,201,187,183, + 130,3,129,66,231,189,158,259,262,60, + 180,4,127,223,223,129,168,29,275,277, + 129,3,183,307,228,45,130,272,67,66, + 129,67,67,3,178,168,201,129,215,158, + 127,129,3,60,164,4,189,44,130,74, + 129,215,304,129,130,126,72,284,201,66, + 130,45,308,178,224,129,129,259,223,218, + 133,129,178,129,278,72,66,215,168,72, + 67,178,130,130,129,231,224,292,29,10, + 62,133,278,50,288,130,289,178,178,47, + 158,129,66,65,44,234,234,279,129,66, + 178,3,3,129,27,29,172,61,56,48, + 129,67,67,129,298,79,77,1,164,86, + 84,82,80,75,83,85,78,76,56,74, + 223,312,224,28,44,129,3,50,122,126, + 125,56,292,280,119,9,218,72,3,3, + 3,193,3,125,164,125,181,66,129,129, + 50,65,265,201,276,28,129,50,50,67, + 130,65,3,239,169,239,299,226,148,75, + 239,129,129,3,67,66,158,230,229,129, + 129,130,178,62,95,311,169,158,201,158, + 226,163,129,3,158,280,230,153,50,230, + 230,178,274,234,158,158,129,67,193,163, + 226,265,164,129,274,67,121,226,163,158, + 302,158,226,66,158 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2670,7 +2478,8 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse "statement_seq", "condition", "declarator", - "simple_declaration", + "simple_declaration_with_declsp" + + "ec", "function_definition", "declaration_seq", "declaration_specifiers", @@ -2746,9 +2555,9 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 46, - SCOPE_UBOUND = 118, - SCOPE_SIZE = 119, + ERROR_SYMBOL = 73, + SCOPE_UBOUND = 119, + SCOPE_SIZE = 120, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -2757,20 +2566,20 @@ public class CPPExpressionStatementParserprs implements lpg.lpgjavaruntime.Parse public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 526, + NUM_STATES = 525, NT_OFFSET = 124, - LA_STATE_OFFSET = 5925, + LA_STATE_OFFSET = 5920, MAX_LA = 2147483647, NUM_RULES = 526, - NUM_NONTERMINALS = 193, - NUM_SYMBOLS = 317, + NUM_NONTERMINALS = 194, + NUM_SYMBOLS = 318, SEGMENT_SIZE = 8192, - START_STATE = 2684, + START_STATE = 3011, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 121, - EOLT_SYMBOL = 121, - ACCEPT_ACTION = 5040, - ERROR_ACTION = 5399; + EOFT_SYMBOL = 123, + EOLT_SYMBOL = 123, + ACCEPT_ACTION = 5041, + ERROR_ACTION = 5394; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java index 816020b4b9d..4026b868598 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionStatementParsersym.java @@ -15,80 +15,80 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPExpressionStatementParsersym { public final static int - TK_asm = 68, - TK_auto = 50, - TK_bool = 12, - TK_break = 77, - TK_case = 78, + TK_asm = 61, + TK_auto = 51, + TK_bool = 13, + TK_break = 76, + TK_case = 77, TK_catch = 119, - TK_char = 13, - TK_class = 59, - TK_const = 48, - TK_const_cast = 28, - TK_continue = 79, - TK_default = 80, - TK_delete = 42, - TK_do = 81, - TK_double = 14, - TK_dynamic_cast = 29, - TK_else = 122, - TK_enum = 61, - TK_explicit = 51, - TK_export = 82, - TK_extern = 44, - TK_false = 30, - TK_float = 15, - TK_for = 83, - TK_friend = 52, - TK_goto = 84, - TK_if = 85, - TK_inline = 53, - TK_int = 16, - TK_long = 17, - TK_mutable = 54, - TK_namespace = 66, - TK_new = 43, + TK_char = 14, + TK_class = 62, + TK_const = 46, + TK_const_cast = 31, + TK_continue = 78, + TK_default = 79, + TK_delete = 63, + TK_do = 80, + TK_double = 15, + TK_dynamic_cast = 32, + TK_else = 121, + TK_enum = 68, + TK_explicit = 52, + TK_export = 81, + TK_extern = 27, + TK_false = 33, + TK_float = 16, + TK_for = 82, + TK_friend = 53, + TK_goto = 83, + TK_if = 84, + TK_inline = 54, + TK_int = 17, + TK_long = 18, + TK_mutable = 55, + TK_namespace = 56, + TK_new = 64, TK_operator = 7, TK_private = 114, TK_protected = 115, TK_public = 116, - TK_register = 55, - TK_reinterpret_cast = 31, - TK_return = 86, - TK_short = 18, - TK_signed = 19, - TK_sizeof = 32, - TK_static = 56, - TK_static_cast = 33, - TK_struct = 62, - TK_switch = 87, - TK_template = 57, - TK_this = 34, - TK_throw = 41, + TK_register = 57, + TK_reinterpret_cast = 34, + TK_return = 85, + TK_short = 19, + TK_signed = 20, + TK_sizeof = 35, + TK_static = 58, + TK_static_cast = 36, + TK_struct = 69, + TK_switch = 86, + TK_template = 29, + TK_this = 37, + TK_throw = 47, TK_try = 74, - TK_true = 35, - TK_typedef = 58, - TK_typeid = 36, - TK_typename = 9, - TK_union = 63, - TK_unsigned = 20, - TK_using = 64, - TK_virtual = 47, - TK_void = 21, + TK_true = 38, + TK_typedef = 59, + TK_typeid = 39, + TK_typename = 10, + TK_union = 70, + TK_unsigned = 21, + TK_using = 48, + TK_virtual = 45, + TK_void = 22, TK_volatile = 49, - TK_wchar_t = 22, + TK_wchar_t = 23, TK_while = 75, - TK_integer = 37, - TK_floating = 38, - TK_charconst = 39, - TK_stringlit = 26, + TK_integer = 40, + TK_floating = 41, + TK_charconst = 42, + TK_stringlit = 28, TK_identifier = 1, TK_Completion = 2, - TK_EndOfCompletion = 23, + TK_EndOfCompletion = 9, TK_Invalid = 124, - TK_LeftBracket = 67, + TK_LeftBracket = 60, TK_LeftParen = 3, - TK_LeftBrace = 65, + TK_LeftBrace = 50, TK_Dot = 120, TK_DotStar = 96, TK_Arrow = 103, @@ -97,16 +97,16 @@ public interface CPPExpressionStatementParsersym { TK_MinusMinus = 25, TK_And = 8, TK_Star = 6, - TK_Plus = 10, - TK_Minus = 11, + TK_Plus = 11, + TK_Minus = 12, TK_Tilde = 5, - TK_Bang = 27, + TK_Bang = 30, TK_Slash = 91, TK_Percent = 92, TK_RightShift = 88, TK_LeftShift = 89, - TK_LT = 60, - TK_GT = 69, + TK_LT = 44, + TK_GT = 65, TK_LE = 93, TK_GE = 94, TK_EQ = 97, @@ -116,10 +116,10 @@ public interface CPPExpressionStatementParsersym { TK_AndAnd = 101, TK_OrOr = 102, TK_Question = 117, - TK_Colon = 73, + TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 95, - TK_Assign = 71, + TK_Assign = 67, TK_StarAssign = 104, TK_SlashAssign = 105, TK_PercentAssign = 106, @@ -130,15 +130,15 @@ public interface CPPExpressionStatementParsersym { TK_AndAssign = 111, TK_CaretAssign = 112, TK_OrAssign = 113, - TK_Comma = 70, - TK_zero = 40, + TK_Comma = 66, + TK_zero = 43, TK_RightBracket = 118, - TK_RightParen = 76, - TK_RightBrace = 72, - TK_SemiColon = 45, - TK_ERROR_TOKEN = 46, - TK_original_namespace_name = 123, - TK_EOF_TOKEN = 121; + TK_RightParen = 87, + TK_RightBrace = 71, + TK_SemiColon = 26, + TK_ERROR_TOKEN = 73, + TK_original_namespace_name = 122, + TK_EOF_TOKEN = 123; public final static String orderedTerminalSymbols[] = { "", @@ -150,6 +150,7 @@ public interface CPPExpressionStatementParsersym { "Star", "operator", "And", + "EndOfCompletion", "typename", "Plus", "Minus", @@ -164,10 +165,12 @@ public interface CPPExpressionStatementParsersym { "unsigned", "void", "wchar_t", - "EndOfCompletion", "PlusPlus", "MinusMinus", + "SemiColon", + "extern", "stringlit", + "template", "Bang", "const_cast", "dynamic_cast", @@ -182,42 +185,38 @@ public interface CPPExpressionStatementParsersym { "floating", "charconst", "zero", - "throw", - "delete", - "new", - "extern", - "SemiColon", - "ERROR_TOKEN", + "LT", "virtual", "const", + "throw", + "using", "volatile", + "LeftBrace", "auto", "explicit", "friend", "inline", "mutable", + "namespace", "register", "static", - "template", "typedef", - "class", - "LT", - "enum", - "struct", - "union", - "using", - "LeftBrace", - "namespace", "LeftBracket", "asm", + "class", + "delete", + "new", "GT", "Comma", "Assign", + "enum", + "struct", + "union", "RightBrace", "Colon", + "ERROR_TOKEN", "try", "while", - "RightParen", "break", "case", "continue", @@ -229,6 +228,7 @@ public interface CPPExpressionStatementParsersym { "if", "return", "switch", + "RightParen", "RightShift", "LeftShift", "ArrowStar", @@ -262,9 +262,9 @@ public interface CPPExpressionStatementParsersym { "RightBracket", "catch", "Dot", - "EOF_TOKEN", "else", "original_namespace_name", + "EOF_TOKEN", "Invalid" }; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java index 1c69c9e5294..d5cb5f89fb9 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParser.java @@ -239,6 +239,15 @@ public IASTNode getSecondaryParseResult() { return action.builder.getSecondaryParseResult(); } +public String[] getOrderedTerminalSymbols() { + return CPPNoCastExpressionParsersym.orderedTerminalSymbols; +} + +public String getName() { + return "CPPNoCastExpressionParser"; //$NON-NLS-1$ +} + + private ITokenMap tokenMap = null; @@ -1013,203 +1022,203 @@ public CPPNoCastExpressionParser(String[] mapFrom) { // constructor } // - // Rule 160: expression ::= ERROR_TOKEN + // Rule 160: expression_list ::= <openscope-ast> expression_list_actual // case 160: { action.builder. - consumeExpressionProblem(); break; - } - - // - // Rule 161: expression_list ::= <openscope-ast> expression_list_actual - // - case 161: { action.builder. consumeExpressionList(); break; } // - // Rule 165: expression_list_opt ::= $Empty + // Rule 164: expression_list_opt ::= $Empty // - case 165: { action.builder. + case 164: { action.builder. consumeEmpty(); break; } // - // Rule 167: expression_opt ::= $Empty + // Rule 166: expression_opt ::= $Empty // - case 167: { action.builder. + case 166: { action.builder. consumeEmpty(); break; } // - // Rule 170: constant_expression_opt ::= $Empty + // Rule 169: constant_expression_opt ::= $Empty // - case 170: { action.builder. + case 169: { action.builder. consumeEmpty(); break; } // - // Rule 179: statement ::= ERROR_TOKEN + // Rule 178: statement ::= ERROR_TOKEN // - case 179: { action.builder. + case 178: { action.builder. consumeStatementProblem(); break; } // - // Rule 180: labeled_statement ::= identifier : statement + // Rule 179: labeled_statement ::= identifier : statement // - case 180: { action.builder. + case 179: { action.builder. consumeStatementLabeled(); break; } // - // Rule 181: labeled_statement ::= case constant_expression : + // Rule 180: labeled_statement ::= case constant_expression : // - case 181: { action.builder. + case 180: { action.builder. consumeStatementCase(); break; } // - // Rule 182: labeled_statement ::= default : + // Rule 181: labeled_statement ::= default : // - case 182: { action.builder. + case 181: { action.builder. consumeStatementDefault(); break; } // - // Rule 183: expression_statement ::= expression ; + // Rule 182: expression_statement ::= expression ; // - case 183: { action.builder. + case 182: { action.builder. consumeStatementExpression(); break; } // - // Rule 184: expression_statement ::= ; + // Rule 183: expression_statement ::= ; // - case 184: { action.builder. + case 183: { action.builder. consumeStatementNull(); break; } // - // Rule 185: compound_statement ::= { <openscope-ast> statement_seq } + // Rule 184: compound_statement ::= { <openscope-ast> statement_seq } // - case 185: { action.builder. + case 184: { action.builder. consumeStatementCompoundStatement(true); break; } // - // Rule 186: compound_statement ::= { } + // Rule 185: compound_statement ::= { } // - case 186: { action.builder. + case 185: { action.builder. consumeStatementCompoundStatement(false); break; } // - // Rule 189: selection_statement ::= if ( condition ) statement + // Rule 188: selection_statement ::= if ( condition ) statement // - case 189: { action.builder. + case 188: { action.builder. consumeStatementIf(false); break; } // - // Rule 190: selection_statement ::= if ( condition ) statement else statement + // Rule 189: selection_statement ::= if ( condition ) statement else statement // - case 190: { action.builder. + case 189: { action.builder. consumeStatementIf(true); break; } // - // Rule 191: selection_statement ::= switch ( condition ) statement + // Rule 190: selection_statement ::= switch ( condition ) statement // - case 191: { action.builder. + case 190: { action.builder. consumeStatementSwitch(); break; } // - // Rule 193: condition ::= type_specifier_seq declarator = assignment_expression + // Rule 192: condition ::= type_specifier_seq declarator = assignment_expression // - case 193: { action.builder. + case 192: { action.builder. consumeConditionDeclaration(); break; } // - // Rule 194: iteration_statement ::= while ( condition ) statement + // Rule 193: iteration_statement ::= while ( condition ) statement // - case 194: { action.builder. + case 193: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 195: iteration_statement ::= do statement while ( expression ) ; + // Rule 194: iteration_statement ::= do statement while ( expression ) ; // - case 195: { action.builder. + case 194: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 196: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 195: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // + case 195: { action.builder. + consumeStatementForLoop(); break; + } + + // + // Rule 196: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement // case 196: { action.builder. consumeStatementForLoop(); break; } // - // Rule 197: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement + // Rule 197: jump_statement ::= break ; // case 197: { action.builder. - consumeStatementForLoop(); break; + consumeStatementBreak(); break; } // - // Rule 198: jump_statement ::= break ; + // Rule 198: jump_statement ::= continue ; // case 198: { action.builder. - consumeStatementBreak(); break; + consumeStatementContinue(); break; } // - // Rule 199: jump_statement ::= continue ; + // Rule 199: jump_statement ::= return expression ; // case 199: { action.builder. - consumeStatementContinue(); break; + consumeStatementReturn(true); break; } // - // Rule 200: jump_statement ::= return expression ; + // Rule 200: jump_statement ::= return ; // case 200: { action.builder. - consumeStatementReturn(true); break; + consumeStatementReturn(false); break; } // - // Rule 201: jump_statement ::= return ; + // Rule 201: jump_statement ::= goto identifier_token ; // case 201: { action.builder. - consumeStatementReturn(false); break; + consumeStatementGoto(); break; } // - // Rule 202: jump_statement ::= goto identifier_token ; + // Rule 202: declaration_statement ::= block_declaration // case 202: { action.builder. - consumeStatementGoto(); break; + consumeStatementDeclaration(); break; } // - // Rule 203: declaration_statement ::= block_declaration + // Rule 203: declaration_statement ::= function_definition // case 203: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 204: declaration_statement ::= function_definition + // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // - case 204: { action.builder. - consumeStatementDeclaration(); break; + case 220: { action.builder. + consumeDeclarationSimple(true); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // case 221: { action.builder. consumeDeclarationSimple(true); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java index f1df8b04a26..ec836af0177 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParserprs.java @@ -52,13 +52,13 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,3,3,1,3,3,3,3,1,3, 3,1,3,1,3,1,3,1,3,1, 3,1,5,1,2,1,1,3,3,3, - 3,3,3,3,3,3,3,3,1,1, - 2,1,3,1,0,1,0,1,1,0, - 1,1,1,1,1,1,1,1,1,3, - 3,2,2,1,4,2,1,2,5,7, - 5,1,4,5,7,9,8,2,2,3, - 2,3,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,2,1,0, + 3,3,3,3,3,3,3,3,1,2, + 1,3,1,0,1,0,1,1,0,1, + 1,1,1,1,1,1,1,1,3,3, + 2,2,1,4,2,1,2,5,7,5, + 1,4,5,7,9,8,2,2,3,2, + 3,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2,1,0,4, 4,2,2,2,2,2,0,1,1,1, 1,1,1,1,2,1,2,2,2,1, 1,2,2,1,2,2,1,2,2,1, @@ -89,336 +89,338 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,1,2,4,2,4,7,9,5,1, 1,3,1,0,1,1,1,2,4,4, 1,2,5,5,3,3,1,4,3,1, - 0,1,3,1,1,-108,0,0,0,0, - -2,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-50, + 0,1,3,1,1,-107,0,0,0,0, + -336,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-49, 0,0,0,0,0,0,0,0,0,0, - -372,0,0,0,-4,0,0,0,-69,0, - 0,0,0,-5,0,0,0,0,0,0, - 0,-86,0,0,0,0,0,0,0,0, + -371,0,0,0,-2,0,0,0,-68,0, + 0,0,0,-4,0,0,0,0,0,0, + 0,-85,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-57,0,0,0,0, - 0,-51,0,0,0,0,0,-6,0,-20, + 0,0,0,0,0,-5,0,0,0,0, + -122,0,0,0,0,0,0,-431,0,-19, 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,-70,0,0,0, - 0,0,0,0,0,0,0,0,0,-174, - 0,0,0,0,-113,0,-256,0,0,0, - 0,0,0,-115,0,0,0,0,0,0, + 0,0,0,0,0,0,-69,0,0,0, + 0,0,0,0,0,0,0,0,0,-173, + 0,0,0,0,-112,0,-362,0,0,0, + 0,0,0,-114,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,-53,0,0,0,0,-135,0, - 0,0,-413,0,0,0,-514,0,0,0, + 0,0,0,-52,0,0,0,0,-134,0, + 0,0,0,-6,0,0,-513,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-58,0,-130,0,0,0,0,0, + 0,0,-57,0,-129,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,-62,-245,0,0,0,0,0, - 0,0,0,0,-7,0,0,-368,0,0, - 0,0,0,-134,0,0,0,0,0,-8, - 0,0,0,0,0,0,0,-163,0,0, + 0,0,0,-7,-244,0,0,0,0,0, + 0,0,0,0,-8,0,0,-367,0,0, + 0,0,0,-133,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-162,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-9,0,0,0,0,-123,0,0,0, - 0,0,0,0,0,0,-175,0,0,0, - 0,0,0,-137,0,0,0,0,-261,0, - 0,0,0,0,0,0,0,-54,-140,0, + 0,-10,0,0,0,0,-178,0,0,0, + 0,0,0,0,0,0,-174,0,0,0, + 0,0,0,-136,0,0,0,0,-260,0, + 0,0,0,0,0,0,0,-53,-139,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-10,0,-325,0,0,0, - 0,-417,0,0,0,0,0,0,-246,0, - 0,0,0,-237,-17,0,0,0,0,0, - 0,0,0,0,-220,0,0,0,0,0, + 0,0,0,0,-9,0,-324,0,0,0, + 0,0,-11,0,0,0,0,0,-245,0, + 0,0,0,-236,-16,0,0,0,0,0, + 0,0,0,0,-219,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,-11,0,0,0,0,0,0, - 0,0,0,-12,-13,0,0,-351,0,0, - 0,0,0,0,0,0,0,0,0,-512, + 0,0,0,-62,-56,0,0,0,0,0, + 0,0,0,-277,-12,0,0,-350,0,0, + 0,0,0,0,0,0,0,0,0,-511, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-466,0,0,0,0,0,-381, - 0,0,0,0,0,0,0,0,-433,0, - 0,0,-183,0,0,0,0,-233,0,0, - 0,0,0,0,-240,0,0,0,0,0, - -14,-63,0,0,-16,0,0,-258,-522,0, + 0,0,0,-464,0,0,0,0,0,-380, 0,0,0,0,0,0,0,0,0,0, + 0,0,-182,0,0,0,0,-232,0,0, + 0,0,0,0,-239,0,0,0,0,0, + -307,0,0,0,-13,0,0,-225,-521,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-274,0,0,0,0,-128,-198,0, - 0,0,0,0,0,0,0,0,-29,0, - 0,-247,0,0,0,0,-267,0,0,0, - 0,0,-204,-304,0,0,0,-3,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-273,0,0,0,0,0,-197,0, + 0,0,0,0,0,0,0,-412,0,0, + 0,-246,0,0,0,0,-266,0,0,0, + 0,0,-203,-303,0,0,-257,-3,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-353,0,0,0,-30,-31,0,0, - -272,0,0,0,0,0,0,-291,0,0, - 0,0,-192,0,0,0,0,0,-281,0, + 0,-15,0,0,0,0,0,0,0,0, + 0,0,-352,0,0,0,0,-28,0,0, + -271,0,0,0,0,-50,-29,0,0,0, + 0,0,-191,0,0,0,0,0,-280,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,-179,0,0, + 0,0,0,0,0,0,0,-125,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-315,0,0,0,0,-269,0,0, + 0,0,-314,0,0,0,0,-59,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-126,0,0,0, - 0,-32,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-168,-316,0,0, + 0,0,0,0,0,0,-167,0,0,0, + 0,-212,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-296,-315,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-33,0,0, - 0,0,0,0,0,0,-60,0,0,0, - -34,-474,0,0,0,0,-105,0,0,0, + 0,-180,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-104,0,0,0, + -30,-472,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-181,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -106,0,0,0,-278,-35,-40,0,0,0, - 0,-402,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -297,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-182,-114,0,0,-36, - 0,-42,0,0,0,0,-129,0,0,0, + -105,0,0,0,-312,-61,-39,0,0,0, + 0,-401,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-132,0,0,0,0, + -302,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-183,-113,0,0,-31, + 0,-41,0,0,0,0,-127,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -37,-38,0,0,-92,0,0,0,0,0, + 0,0,0,0,0,-131,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -416,0,0,0,-91,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-39, - 0,0,0,-41,0,0,0,-93,0,0, - 0,0,-131,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-289,0,0,0,0,0,0,0,0, - 0,0,-55,0,0,0,-56,-471,0,0, - -94,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-184,0,0,0,0,0, - -186,0,0,0,0,0,0,0,0,-59, - 0,0,0,-95,0,0,0,0,-136,0, + 0,0,0,0,0,0,0,0,0,-451, + 0,0,0,-32,0,0,0,-92,0,0, + 0,0,-135,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-460,0,0,0,0,0,0,0,0, + 0,0,-33,0,0,0,0,0,0,0, + -93,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-303,0,0,0,0,0,0,0, - 0,0,-64,0,0,0,-96,0,0,0, - 0,-141,0,0,0,0,0,0,0,0, + 0,0,0,0,-34,0,0,0,0,0, + -185,0,0,0,0,0,0,0,0,-35, + -469,0,0,-94,0,0,0,0,-128,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-65,-189,0,0,0, - 0,0,0,0,0,-313,0,0,0,-97, - 0,0,0,0,-142,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-67,-197, - 0,0,0,0,0,0,0,0,-337,-68, - 0,0,-98,0,0,0,0,-165,0,0, + 0,0,-36,-188,0,0,0,0,0,0, + 0,0,-37,-38,0,0,-95,0,0,0, + 0,-130,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-166,0,0,0, - 0,-109,-211,0,0,0,0,0,0,0, - 0,-110,0,0,0,-99,0,0,0,0, - -199,0,0,0,0,0,0,0,0,0, + -288,0,0,0,0,0,-196,0,0,0, + 0,0,0,0,0,0,0,0,0,-96, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-224,0,0,0,0, - 0,0,0,0,-111,0,0,0,-100,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-40,-210, 0,0,0,0,0,0,0,0,0,0, - 0,0,-225,0,0,0,0,0,-229,0, - 0,0,0,0,0,0,0,-112,-119,0, - 0,-101,0,0,0,0,-207,0,0,0, + 0,0,-97,0,0,0,0,-140,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-254,0,0,0,0, - 0,-273,0,0,0,0,0,0,0,0, - -143,-144,0,0,-102,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-462,0, - 0,0,0,0,-280,0,0,0,0,0, - 0,0,0,-145,0,0,0,-205,0,0, + 0,-339,0,0,0,0,0,0,0,0, + 0,-54,0,0,0,-98,0,0,0,0, + -141,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-164, + 0,0,0,0,-55,-223,0,0,0,0, + 0,0,0,0,-58,-63,0,0,-99,0, + 0,0,0,-165,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-224,0,0,0,0,0,-228,0, + 0,0,0,0,0,0,0,-64,0,0, + 0,-100,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-284,0,0,0,0,0,-298,0,0, - 0,0,0,0,0,0,-308,0,0,0, - -507,0,0,0,0,-209,0,0,0,0, + 0,0,0,0,0,-66,0,0,0,0, + 0,-253,0,0,0,0,0,0,0,0, + -67,-108,0,0,-101,0,0,0,0,-198, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-317,0,0,0,0,0, - -323,0,0,0,0,0,0,0,0,-146, - 0,0,0,-307,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-272,0, + 0,0,0,0,-279,0,0,0,0,0, + 0,0,0,-109,0,0,0,-204,0,0, + 0,0,-206,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-306,0,0, - 0,0,-331,-147,0,0,0,0,-235,0, - 0,0,-311,0,0,0,0,-148,0,0, + 0,-297,0,0,0,0,0,-316,0,0, + 0,0,0,0,0,0,-110,-111,0,0, + -505,0,0,0,0,-283,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-226,0,0,0, - 0,-149,0,0,0,0,0,0,0,0, - 0,-231,0,0,0,-453,-239,0,0,0, - 0,0,-335,0,0,0,0,0,0,0, + 0,0,0,0,-322,0,0,0,0,0, + -325,0,0,0,0,0,0,0,0,-311, + 0,0,0,-306,0,0,0,0,-255,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-268,0,0, + 0,0,0,-118,0,0,0,0,-234,0, + 0,0,-310,0,0,0,0,-142,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-150,-151,0,0,0,0,-312,0,0, - 0,-358,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-227,0,0,0, + 0,-143,0,0,0,0,0,0,0,0, + 0,-290,0,0,0,0,-238,0,0,0, + 0,0,-334,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-326,0,0,0,0, - 0,-328,0,0,0,0,0,0,0,0, - -397,0,0,0,-340,-234,0,0,0,0, - 0,-359,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-330,-327,0,0,0,0,0,0,0, + 0,-357,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-346,0,0,0,0,0,0,0,0, - -405,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-144,0,0,0,0, + -340,0,0,0,0,0,0,0,0,0, + -230,0,0,0,-145,-208,0,0,0,0, + -305,-358,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-341,0,0,0,0,-152, - 0,0,0,0,0,-345,0,0,0,-349, - 0,-153,-228,-431,-19,0,0,0,0,0, - -104,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-146,0,0,0,0, + 0,-345,0,0,0,0,0,0,0,0, + -404,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,-147, + -148,0,0,0,0,-344,0,0,0,-396, + 0,0,-263,-429,-18,0,0,0,0,0, + -103,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -365,0,0,0,0,0,0,0,0,-91, + 0,0,0,0,0,0,0,0,0,-149, + -364,0,0,0,0,0,0,0,0,-90, 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,-154,-309, - 0,0,0,0,-89,0,0,0,0,-155, + 0,0,0,0,0,0,0,0,-150,-308, + 0,0,0,0,-88,0,0,0,0,-284, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,-264,0, - 0,0,0,0,0,0,0,0,-90,0, - 0,0,0,-156,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-89,0, + 0,0,0,-151,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-379,0,0,0,0,0,-418,0, - 0,-87,0,0,0,0,-213,0,0,0, + 0,0,-378,0,0,0,0,0,-417,0, + 0,-86,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-157,0,0,0,0, - -88,0,0,0,0,-370,0,0,0,0, + 0,0,0,0,0,-152,0,0,0,0, + -87,0,0,0,0,-348,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-51, + 0,0,0,0,0,0,-382,0,-153,0, + 0,0,0,0,-369,0,-154,-233,-202,0, + 0,0,0,-155,-79,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,-156,0,-80,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-43, + 0,0,0,-157,0,-1,-240,0,0,0, + 0,-247,0,-47,0,0,0,0,-137,0, + 0,0,0,0,-353,0,0,-480,0,0, + 0,0,-406,-397,0,0,0,0,0,0, + -158,0,-159,0,0,0,0,0,0,-499, + 0,0,0,-379,-294,-160,0,0,-493,0, + -328,0,0,0,0,0,0,-81,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-166,0,0,0,-82,0,0,0,0, + -351,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-242,0,0,0,0,0,0, + 0,0,0,0,0,0,-83,0,0,0, + 0,-169,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -318,0,0,-317,0,0,0,0,-387,0, + 0,0,-446,-337,0,0,0,0,-170,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-171,-172,0,-341,0,0,0,0,0, + 0,-286,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-414,-248,-457,0,0, + 0,0,0,0,0,0,0,-84,0,0, + 0,0,-249,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-250,0,0, + 0,-385,0,0,0,-132,0,0,0,-175, + 0,-359,0,0,0,0,-176,0,0,-504, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-177,0,0,0,0,0,0, + 0,0,0,-186,0,-74,0,0,0,0, + -289,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-187, + 0,0,0,0,0,-192,0,0,0,-420, + -415,0,0,-106,0,0,0,-475,0,-375, + 0,0,0,0,-193,-199,0,-298,0,0, + 0,0,0,0,0,0,0,0,0,0, + -226,0,0,-370,0,0,0,0,-356,0, + 0,-494,0,-75,0,0,0,0,-291,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-441,0,-221, + 0,0,0,-386,0,0,0,-421,0,0, + 0,-115,0,0,-207,-471,-262,0,-17,0, + 0,0,0,0,0,0,-217,0,0,0, + 0,0,0,0,-346,0,0,0,0,0, + 0,-402,0,0,0,-442,0,0,0,0, + 0,-218,0,0,0,0,0,0,0,0, + 0,0,0,0,-220,0,0,-237,-229,0, + 0,-241,0,0,0,0,0,0,0,0, + 0,0,0,-243,0,0,0,0,0,-161, + 0,0,0,0,0,0,-425,0,-235,0, + 0,0,0,-444,0,0,0,0,0,-258, + 0,0,0,0,0,0,0,0,0,-259, + 0,-126,0,0,0,0,0,0,-423,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-502,-269,-454,-497,-71, + -342,0,0,0,0,-48,-448,-470,-455,-117, + 0,0,0,0,0,0,-287,-270,-368,0, + 0,0,0,0,0,0,-292,0,0,-319, + 0,0,-450,0,0,0,0,0,0,0, + 0,0,0,0,0,-274,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-278,0, + 0,0,0,0,-343,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-281,-477,0,0,0, + 0,0,0,0,0,-478,-456,0,-116,0, + 0,0,0,0,-376,0,0,0,0,0, + 0,0,0,-179,0,0,0,0,0,0, + 0,-200,0,0,0,0,0,-363,-282,0, + -295,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-418, + -419,0,0,-466,0,-453,0,0,0,0, + -300,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,-52, - 0,0,0,0,0,0,-158,0,-159,0, - 0,0,0,0,-407,0,-285,-241,-203,0, - 0,0,0,-265,-80,0,0,0,0,0, + 0,0,0,-301,0,0,0,0,0,-323, + 0,0,0,-267,0,-388,0,0,0,0, + 0,0,-21,0,0,0,0,-333,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-335,-76,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-160,0,-81,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-15, - 0,0,0,0,0,-1,-161,0,0,0, - 0,-248,0,-48,0,0,0,0,-138,0, - 0,0,0,0,-354,0,0,-482,0,0, - 0,0,-167,-170,0,0,0,0,0,0, - -343,-363,-171,0,0,0,0,0,0,-501, - 0,0,0,-383,0,0,0,0,0,-172, - -173,0,0,0,0,0,0,-82,0,0, - 0,0,-398,0,0,0,0,0,0,0, + 0,-77,0,0,0,0,-365,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-176,0,0,0,-83,0,0,0,0, - -295,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-319, - 0,0,0,-243,0,0,0,0,0,0, - 0,0,0,0,0,0,-84,0,0,0, - 0,-495,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -177,0,0,-414,0,0,0,-210,0,-350, - -178,0,0,0,0,0,0,0,-187,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-342,0,0,0,0,0, - 0,-357,0,0,-222,-287,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-249,0,-85,0,0, - 0,0,-188,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-386,0,0,0,-193,0,-194,0,0, - 0,0,0,0,0,0,0,0,0,-200, - -208,-329,0,-218,0,0,0,-360,0,0, - 0,0,0,-506,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-250,0, - 0,0,0,0,0,0,-219,0,0,-75, - 0,0,0,0,-251,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-380,-221,0,-238,-422, - 0,0,0,-415,0,0,0,-107,-133,0, - 0,-242,0,0,-318,0,0,0,0,-244, - 0,-299,0,0,0,0,0,0,0,0, - 0,0,0,0,-227,0,0,0,0,0, - 0,0,-259,0,0,-477,0,-76,0,0, - 0,0,-118,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-416,0,-290,0,-459,0,-387,0,0, - 0,0,0,0,0,0,-369,0,0,-504, - -263,-260,-18,0,-338,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-403,0,0,0,-443, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-444,0,-120,0,0,0,-122,0, - 0,0,0,-270,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-271,0,0, - 0,0,0,-275,0,0,0,0,0,-44, - -423,0,0,-279,0,0,-388,0,0,0, - 0,0,0,-292,0,0,0,0,0,0, - 0,0,-440,0,0,0,0,0,0,0, - 0,-425,0,0,0,0,0,0,0,0, - 0,0,0,0,-43,-293,0,0,0,0, - -456,0,0,0,0,0,0,0,0,0, - -472,0,-117,-320,-266,0,-116,0,0,-282, - 0,0,0,0,0,0,0,0,0,-283, - 0,0,-344,0,0,0,0,-452,0,0, - 0,-296,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-45,-427,0,0,0,0, - 0,0,0,0,0,-496,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-499,-479, - 0,0,0,0,0,0,0,0,-480,-446, - -124,-162,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-301,-180,0,0,0, - 0,-302,0,0,-201,0,0,0,0,0, - -324,-232,0,0,0,0,0,-334,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-336,0,0,0,0,-72,0, - 0,0,-366,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,-367,0,-352,0,0,0,0,-376,0, - 0,0,0,0,0,-22,0,0,0,0, - -373,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-375, - -77,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-78,0,0,0,0, + -461,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-321, + 0,0,0,0,-463,0,0,0,0,0, + 0,0,-254,-465,0,0,-468,-481,0,0, + -120,0,0,0,0,-474,0,-231,0,0, + -484,-410,-366,-372,-503,0,0,-482,-70,0, + -374,0,0,0,-377,-138,0,0,0,0, + 0,0,-383,0,0,0,0,0,0,-384, + 0,0,0,0,0,0,0,0,-119,-435, + 0,0,0,0,0,0,0,0,0,-276, + 0,0,0,0,0,0,-163,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-78,0,0,0,0,-378, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-79,0, - 0,0,0,-384,0,0,0,0,0,0, + -392,-483,0,0,0,0,0,-395,0,0, + 0,0,0,-485,-488,0,-438,0,0,0, + 0,0,-495,-403,0,-405,-510,0,0,0, + 0,0,0,0,0,0,0,0,-500,-407, + 0,-508,0,0,-205,0,0,0,0,-408, + 0,-487,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-498,-409,0, + -411,0,0,0,0,0,-121,-422,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-322,0,0,0,0,-385,0,0, - 0,0,0,0,0,-377,0,0,0,0, - -393,-364,-467,-121,0,0,0,0,-476,0, - -450,-448,-230,0,-411,0,-420,-505,-396,0, - -389,0,0,0,0,0,-404,0,-127,0, - 0,0,0,0,-406,0,0,0,0,0, + 0,0,-509,-515,-424,-426,0,0,0,0, + 0,0,0,0,0,-492,0,0,-496,-512, + 0,0,-14,0,-427,-428,-430,0,0,-432, 0,0,0,0,0,0,0,0,0,0, - 0,0,-437,0,0,-408,-490,0,0,0, - 0,0,-236,0,0,0,0,0,0,-164, - 0,0,0,0,0,-371,0,0,0,0, + -413,0,0,-251,0,0,0,0,0,0, + 0,0,0,-514,0,0,-517,-433,0,0, + 0,0,0,-434,0,0,0,0,0,0, + 0,0,0,-44,0,0,0,0,0,0, + 0,-439,0,-443,0,0,0,0,0,0, + 0,0,0,0,-452,-520,0,0,0,0, + 0,0,0,0,0,0,0,-519,-518,0, + -489,-252,0,-45,-123,0,0,-459,0,-467, + -486,0,0,0,0,0,0,0,0,0, + 0,0,-501,0,-506,0,0,0,0,0, + 0,0,0,0,0,-522,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-409,-421,-457,0,0,0,0, - 0,0,0,0,0,0,-487,-458,0,-491, - -49,0,0,0,0,0,-410,0,-412,-455, - -419,0,0,0,0,0,0,0,0,0, - 0,0,-424,0,0,0,0,-206,0,0, - -426,0,-473,0,-489,0,0,0,0,0, - -463,0,0,0,0,0,0,0,0,0, - 0,0,0,-255,0,0,0,0,0,-468, - -502,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-465,-428,-429,0, - 0,0,0,0,0,0,0,0,-494,0, - 0,-268,0,0,0,-483,0,0,-430,0, - 0,0,-432,0,0,0,0,0,0,0, - 0,0,0,-509,0,-434,-435,0,0,-436, - 0,-470,0,0,0,0,-515,0,0,-441, - -445,0,-454,0,0,0,-461,0,0,0, - 0,0,0,-46,0,-469,-47,-488,0,-503, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-510,-347, 0,0,0,0,0,0,0,0,0,0, - -520,-71,0,-486,-252,0,0,-253,0,0, - -508,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-484,0,0,0,0,0,-498,-523,0, - 0,-500,0,0,-485,0,0,0,0,0, - 0,0,0,0,0,-513,0,0,-497,0, - 0,-518,0,-103,-511,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-20,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-21,0,0,0,0, + 0,0,0,0,0,-22,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,-23,0, 0,0,0,0,0,0,0,0,0,0, @@ -432,103 +434,101 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,0,0,0,0,0,0,0,0,0, -27,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-28,0,0,0,0,0,0, + 0,0,0,-60,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-61,0,0,0, + 0,0,0,0,0,0,-72,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,-73, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-74,0,0,0,0,-519,0,0, + 0,0,-194,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-195,0,0,0,0, + 0,0,0,0,0,-381,0,0,0,-293, + 0,0,-309,-389,-393,0,-313,0,0,0, + 0,-46,-349,0,0,0,0,0,0,0, + 0,-265,-190,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,-382,-516, - -521,-517,0,0,-294,0,0,-394,0,-314, - 0,0,0,-310,-196,-399,0,0,0,0, - 0,0,0,0,0,-191,0,0,0,0, - 0,0,-390,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-214,0,0, + 0,0,0,0,-507,0,0,0,-447,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-201,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-347,0, 0,-449,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-391,0,-168, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-202,0,0, - 0,0,0,0,0,0,0,0,-348,0, - 0,-392,0,0,-451,0,0,0,0,0, + 0,-211,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-139,0,0,0,0,0,0,0, - 0,0,0,0,-212,0,0,0,0,0, + 0,0,0,0,0,-476,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-478,0, - 0,-277,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,-256, 0,0,0,0,0,0,0,0,0,0, - 0,0,-257,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,-288, - 0,0,0,0,0,0,0,0,-332,0, + 0,0,0,0,0,0,-331,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-492,0,0,0, - 0,0,0,0,0,0,0,0,0,-355, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-125,0,0,0, - 0,0,0,0,-169,0,0,0,0,0, - 0,-438,0,0,0,-215,0,0,0,0, - 0,0,-216,0,0,0,0,0,0,0, + 0,0,0,-490,0,0,0,0,0,0, + 0,0,0,0,0,0,-354,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-124,0,0,0,0,0,0, + 0,-184,0,0,0,0,0,0,-436,0, + 0,0,-516,0,0,0,0,0,0,-102, 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,-475,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-66,0,0,0,0,0,0,0, - -300,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-217,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-473,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-42, + 0,0,0,0,0,0,0,-299,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-213,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,-464,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-262,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-330,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -276,0,0,0,0,0,0,0,0,0, + 0,-462,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-261,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-223,0, + -329,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-214,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-356,0,0, 0,0,0,0,0,0,0,0,0,0, - -395,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-222,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-321,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-185,0,0, + 0,0,0,0,-355,0,0,0,0,0, + 0,0,0,0,0,0,0,-394,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-190,0,0,0,0,0,0,0, - 0,0,0,0,-400,-439,0,0,0,0, - 0,0,0,-286,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-305,0, - 0,0,0,0,0,0,0,-327,0,0, - 0,0,0,0,0,0,0,0,0,-333, + -209,0,0,0,-320,0,0,0,0,0, + 0,0,0,0,-189,0,0,0,0,0, + 0,0,0,0,0,-215,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-285, + 0,0,0,0,0,0,-390,0,-216,0, 0,0,0,0,0,0,0,0,0,0, + -275,-491,-195,0,0,0,0,0,0,0, + 0,-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,0,-339,0,0,0,0,0, - 0,0,0,0,0,0,-361,0,0,0, - 0,0,0,0,-362,0,0,0,0,0, - 0,0,0,0,0,0,-374,0,0,0, - 0,-460,0,0,0,0,0,0,0,0, - 0,-391,-401,0,0,0,0,0,0,0, - 0,-481,0,0,0,0,0,0,0,-442, - 0,0,-447,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-493,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-326,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-332,0,0,0,0,-338,0,0,0, + 0,0,0,0,0,0,0,0,-360,0, + 0,0,0,-361,0,0,0,0,0,0, + 0,0,-398,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-65,0,0,0,0,0,0,-373,0, + 0,0,0,-458,0,0,0,0,0,0, + -479,0,0,0,0,0,0,0,0,0, + 0,-437,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-440,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-399,0, + 0,-400,0,0,0,-445,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -537,7 +537,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -548,7 +548,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { 170,5,131,78,78,35,35,64,64,40, - 40,189,189,190,190,191,191,1,1,16, + 40,190,190,191,191,192,192,1,1,16, 16,16,16,16,16,16,16,17,17,17, 15,11,11,9,9,9,9,9,2,65, 65,6,6,12,12,12,12,44,44,132, @@ -563,34 +563,34 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 31,31,32,32,33,33,34,34,36,36, 37,37,38,38,42,42,41,41,41,41, 41,41,41,41,41,41,41,41,41,39, - 39,29,140,140,99,99,102,102,94,192, - 192,69,69,69,69,69,69,69,69,69, - 70,70,70,71,71,56,56,174,174,72, - 72,72,115,115,73,73,73,73,74,74, - 74,74,74,75,75,79,79,79,79,79, - 79,79,50,50,50,50,50,105,105,106, - 106,49,24,24,24,24,24,45,45,88, + 29,140,140,99,99,102,102,94,193,193, + 69,69,69,69,69,69,69,69,69,70, + 70,70,71,71,56,56,174,174,72,72, + 72,115,115,73,73,73,73,74,74,74, + 74,74,75,75,79,79,79,79,79,79, + 79,49,49,49,49,49,105,105,106,106, + 50,175,24,24,24,24,24,47,47,88, 88,88,88,88,147,147,142,142,142,142, 142,143,143,143,144,144,144,145,145,145, 146,146,146,89,89,89,89,89,90,90, 90,13,14,14,14,14,14,14,14,14, 14,14,14,93,119,119,119,119,119,117, 117,117,118,118,149,149,148,148,121,121, - 150,83,83,84,84,86,87,85,52,47, + 150,83,83,84,84,86,87,85,52,46, 151,151,53,51,82,82,152,152,141,141, 122,122,77,77,153,153,62,62,62,58, 58,57,63,63,67,67,55,55,55,91, 91,101,100,100,61,61,59,59,60,60, 48,103,103,103,95,95,95,96,97,97, 97,98,98,107,107,107,109,109,108,108, - 193,193,92,92,176,176,176,176,176,124, - 46,46,155,175,175,125,125,125,125,177, - 177,30,30,116,126,126,126,126,110,110, + 194,194,92,92,177,177,177,177,177,124, + 45,45,155,176,176,125,125,125,125,178, + 178,30,30,116,126,126,126,126,110,110, 120,120,120,157,158,158,158,158,158,158, - 158,158,158,180,180,178,178,179,179,159, - 159,159,159,160,181,112,111,111,182,182, - 161,161,161,161,104,104,104,183,183,10, - 184,184,185,162,154,154,163,163,164,165, + 158,158,158,181,181,179,179,180,180,159, + 159,159,159,160,182,112,111,111,183,183, + 161,161,161,161,104,104,104,184,184,10, + 185,185,186,162,154,154,163,163,164,165, 165,7,7,8,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167, @@ -598,493 +598,491 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 167,167,167,167,167,167,66,68,68,168, 168,127,127,128,128,128,128,128,128,3, 4,169,169,166,166,129,129,129,80,81, - 76,156,156,113,113,186,186,186,130,130, - 123,123,187,187,170,170,1353,38,1670,1659, - 1021,963,4365,34,1025,31,35,30,32,2553, - 261,29,27,55,1069,110,80,81,111,1127, - 61,1222,1128,1281,1268,674,273,1370,1326,1412, - 1411,3723,1450,1454,146,1651,2938,162,147,1497, - 38,945,36,1021,332,4203,34,1025,31,35, - 62,32,3396,38,945,36,1021,231,2235,34, - 1025,31,35,30,32,944,261,29,27,55, - 1069,110,80,81,111,1127,61,1222,1128,1281, - 1268,735,1846,2309,234,229,230,3097,778,274, - 3355,38,945,36,1021,186,2235,34,1025,31, - 35,30,32,944,261,29,27,55,1069,90, - 80,81,241,244,247,250,3414,1733,38,945, - 36,1021,1799,4203,34,1025,31,35,61,32, - 774,38,500,2794,1021,2073,574,3696,3093,2913, - 2995,2999,3191,4357,2318,38,945,36,1021,2440, - 2235,34,1025,31,35,2681,32,944,261,29, - 27,55,1069,110,80,81,111,1127,340,1222, - 1128,1281,1268,66,1785,1370,1326,1412,1411,2125, - 1450,1454,146,774,2980,505,147,2987,38,945, - 36,1021,2868,4168,34,1025,31,35,30,32, - 660,383,498,3155,506,2318,38,945,36,1021, - 2440,2235,34,1025,31,35,2681,32,944,261, - 29,27,55,1069,110,80,81,111,1127,340, - 1222,1128,1281,1268,1615,3216,1370,1326,1412,1411, - 2440,1450,1454,146,3215,1018,505,147,3199,38, - 388,65,485,2868,1458,38,945,36,1021,2644, - 1146,34,1025,43,35,506,837,430,2880,38, - 945,36,1021,501,2235,34,1025,31,35,30, - 32,944,261,29,27,55,1069,110,80,81, - 111,1127,1210,1222,1128,1281,1268,2713,2753,1370, - 1326,1412,1411,4673,1450,2791,168,774,38,2827, - 2612,47,2790,2691,2063,38,945,36,1021,860, - 4168,34,1025,31,35,64,32,356,2048,2063, - 38,945,36,1021,501,4168,34,1025,31,35, - 63,32,2934,2872,2880,1274,325,1458,38,945, - 36,1021,774,3651,34,1025,2230,35,3374,3579, - 38,277,1807,484,3501,70,38,1540,46,1021, - 443,2778,45,1025,2691,2836,38,945,36,1021, - 2440,2235,34,1025,31,35,2681,32,944,261, - 29,27,55,1069,110,80,81,111,1127,340, - 1222,1128,1281,1268,513,1396,1370,1326,1412,1411, - 2534,1450,1454,146,954,1338,505,147,1458,38, - 945,36,1021,2868,1138,34,1025,2416,35,3215, - 2646,38,945,36,1021,506,2235,34,1025,31, - 35,30,32,944,261,29,27,55,1069,110, - 80,81,111,1127,1906,1222,1128,1281,1268,1088, - 3627,1370,1326,1412,1411,2440,1450,1454,146,3510, - 1351,375,147,774,38,1783,1746,1021,774,38, - 500,276,1021,159,2644,2966,38,500,3034,1021, - 837,1559,1093,166,378,1752,49,2790,3196,2719, - 38,945,36,1021,502,2235,34,1025,31,35, - 30,32,944,261,29,27,55,1069,110,80, - 81,111,1127,3674,1222,1128,1281,1268,1785,2771, - 1370,1326,1412,1411,3473,1450,1454,146,396,3481, - 375,147,2966,38,500,276,1021,774,38,500, - 280,1021,492,3071,2990,379,3467,784,2999,38, - 945,36,1021,376,2235,34,1025,31,35,30, - 32,944,261,29,27,55,1069,110,80,81, - 111,1127,512,1222,1128,1281,1268,490,491,1370, - 1326,1412,1411,3613,1450,1454,146,1349,677,162, - 147,774,38,500,278,1021,447,4028,774,38, - 500,3221,1021,774,38,1616,382,1021,784,2999, - 38,945,36,1021,380,2235,34,1025,31,35, - 30,32,944,261,29,27,55,1069,110,80, - 81,111,1127,273,1222,1128,1281,1268,2761,372, - 1370,1326,1412,1411,3207,1450,1454,146,427,92, - 369,147,106,2999,38,945,36,1021,3696,2235, - 34,1025,31,35,30,32,944,261,29,27, - 55,1069,110,80,81,111,1127,513,1222,1128, - 1281,1268,68,4096,1370,1326,1412,1411,574,1450, - 1454,146,97,330,369,147,275,513,2999,38, - 945,36,1021,4215,2235,34,1025,31,35,30, - 32,944,261,29,27,55,1069,110,80,81, - 111,1127,282,1222,1128,1281,1268,2215,3514,1370, - 1326,1412,1411,368,1450,1454,146,2048,370,369, - 147,249,2921,38,945,36,1021,2048,2235,34, - 1025,31,35,30,32,944,261,29,27,55, - 1069,110,80,81,111,1127,61,1222,1128,1281, - 1268,2725,28,1370,1326,1412,1411,367,1450,1454, - 146,2048,74,375,147,2964,1413,2792,38,945, - 36,1021,3109,2235,34,1025,31,35,30,32, - 944,261,29,27,55,1069,110,80,81,111, - 1127,513,1222,1128,1281,1268,73,4728,1370,1326, - 1412,1411,365,1450,1454,146,61,2048,145,147, - 325,4589,2999,38,945,36,1021,1785,2235,34, - 1025,31,35,30,32,944,261,29,27,55, - 1069,110,80,81,111,1127,1727,1222,1128,1281, - 1268,2440,58,1370,1326,1412,1411,373,1450,1454, - 146,853,50,163,147,2999,38,945,36,1021, - 340,2235,34,1025,31,35,30,32,944,261, - 29,27,55,1069,110,80,81,111,1127,75, - 1222,1128,1281,1268,1059,511,1370,1326,1412,1411, - 158,1450,1454,146,1461,446,158,147,2999,38, - 945,36,1021,1785,2235,34,1025,31,35,30, - 32,944,261,29,27,55,1069,110,80,81, - 111,1127,1855,1222,1128,1281,1268,2440,999,1370, - 1326,1412,1411,2341,1450,1454,146,2622,3109,157, - 147,2999,38,945,36,1021,2644,2235,34,1025, - 31,35,30,32,944,261,29,27,55,1069, - 110,80,81,111,1127,61,1222,1128,1281,1268, - 2037,1575,1370,1326,1412,1411,2233,1450,1454,146, - 1753,4046,156,147,2999,38,945,36,1021,2048, - 2235,34,1025,31,35,30,32,944,261,29, - 27,55,1069,110,80,81,111,1127,1660,1222, - 1128,1281,1268,1780,357,1370,1326,1412,1411,4775, - 1450,1454,146,1444,91,155,147,2999,38,945, - 36,1021,2048,2235,34,1025,31,35,30,32, - 944,261,29,27,55,1069,110,80,81,111, - 1127,511,1222,1128,1281,1268,3102,61,1370,1326, - 1412,1411,3423,1450,1454,146,2964,57,154,147, - 2999,38,945,36,1021,1785,2235,34,1025,31, - 35,30,32,944,261,29,27,55,1069,110, - 80,81,111,1127,2662,1222,1128,1281,1268,1417, - 61,1370,1326,1412,1411,2009,1450,1454,146,3727, - 1537,153,147,2999,38,945,36,1021,3156,2235, - 34,1025,31,35,30,32,944,261,29,27, - 55,1069,110,80,81,111,1127,1699,1222,1128, - 1281,1268,1395,61,1370,1326,1412,1411,765,1450, - 1454,146,1475,56,152,147,2999,38,945,36, - 1021,2048,2235,34,1025,31,35,30,32,944, - 261,29,27,55,1069,110,80,81,111,1127, - 76,1222,1128,1281,1268,349,61,1370,1326,1412, - 1411,2339,1450,1454,146,2200,94,151,147,2999, - 38,945,36,1021,350,2235,34,1025,31,35, - 30,32,944,261,29,27,55,1069,110,80, - 81,111,1127,3517,1222,1128,1281,1268,2464,61, - 1370,1326,1412,1411,3612,1450,1454,146,2247,1438, - 150,147,2999,38,945,36,1021,1785,2235,34, - 1025,31,35,30,32,944,261,29,27,55, - 1069,110,80,81,111,1127,61,1222,1128,1281, - 1268,4075,61,1370,1326,1412,1411,2310,1450,1454, - 146,156,244,149,147,2999,38,945,36,1021, - 410,2235,34,1025,31,35,30,32,944,261, - 29,27,55,1069,110,80,81,111,1127,3716, - 1222,1128,1281,1268,2440,61,1370,1326,1412,1411, - 4080,1450,1454,146,2690,324,148,147,2999,38, - 945,36,1021,340,2235,34,1025,31,35,30, - 32,944,261,29,27,55,1069,110,80,81, - 111,1127,3675,1222,1128,1281,1268,3704,2716,1370, - 1326,1412,1411,2792,1450,1454,146,774,3004,143, - 147,3313,38,945,36,1021,2048,2235,34,1025, - 31,35,30,32,944,261,29,27,55,1069, - 110,80,81,111,1127,61,1222,1128,1281,1268, - 3690,61,1370,1326,1412,1411,4179,1450,1454,146, - 3087,347,193,147,3396,38,945,36,1021,322, - 2235,34,1025,31,35,30,32,944,261,29, - 27,55,1069,110,80,81,111,1127,3696,1222, - 1128,1281,1268,3640,3088,1370,1326,1412,1411,3164, - 1450,2791,168,3396,38,945,36,1021,601,2235, - 34,1025,31,35,30,32,944,261,29,27, - 55,1069,110,80,81,111,1127,523,1222,1128, - 1281,1268,777,394,1370,1326,1412,1411,285,1450, - 2791,168,774,38,281,3745,1736,774,38,1616, - 382,1021,283,3396,38,945,36,1021,289,2235, - 34,1025,31,35,30,32,944,261,29,27, - 55,1069,110,80,81,111,1127,273,1222,1128, - 1281,1268,3122,3419,1370,1326,1412,1411,1785,1450, - 2791,168,3396,38,945,36,1021,2226,2235,34, - 1025,31,35,30,32,944,261,29,27,55, - 1069,110,80,81,111,1127,61,1222,1128,1281, - 1268,2690,61,1370,1326,1412,1411,3284,1450,2791, - 168,3511,3619,3599,1053,513,2048,3024,384,416, - 78,4787,3396,38,945,36,1021,412,2235,34, - 1025,31,35,30,32,944,261,29,27,55, - 1069,110,80,81,111,1127,101,1222,1128,1281, - 1268,1832,61,1370,1326,1412,1411,2562,1450,2791, - 168,3437,38,945,36,1021,411,2235,34,1025, - 31,35,30,32,944,261,29,27,55,1069, - 110,80,81,111,1127,513,1222,1128,1281,1268, - 1531,4795,1370,1326,1412,1411,1785,1450,2791,168, - 3504,311,1601,523,513,1683,38,1616,382,1021, - 4812,3396,38,945,36,1021,414,2235,34,1025, - 31,35,30,32,944,261,29,27,55,1069, - 110,80,81,111,1127,54,1222,1128,1281,1268, - 398,61,1370,1326,1412,1411,2856,2527,1583,1022, - 3396,38,945,36,1021,3640,2235,34,1025,31, - 35,30,32,944,261,29,27,55,1069,110, - 80,81,111,1127,102,1222,1128,1281,1268,1495, - 3164,1370,1326,1412,2449,3396,38,945,36,1021, - 3518,2235,34,1025,31,35,30,32,944,261, - 29,27,55,1069,110,80,81,111,1127,523, - 1222,1128,1281,1268,385,416,1370,1326,2406,3396, - 38,945,36,1021,3575,2235,34,1025,31,35, - 30,32,944,261,29,27,55,1069,110,80, - 81,111,1127,61,1222,1128,1281,1268,4182,3613, - 1370,2447,3396,38,945,36,1021,3193,2235,34, - 1025,31,35,30,32,944,261,29,27,55, - 1069,110,80,81,111,1127,138,1222,1128,1281, - 2320,3396,38,945,36,1021,3504,2235,34,1025, - 31,35,30,32,944,261,29,27,55,1069, - 110,80,81,111,1127,3190,1222,1128,1281,2354, - 3478,38,1616,382,1021,2561,3439,2044,3024,1376, - 387,416,784,236,261,3504,299,2709,2048,424, - 38,1616,382,1021,523,3396,38,945,36,1021, - 273,2235,34,1025,31,35,30,32,944,261, - 29,27,55,1069,110,80,81,111,1127,273, - 1222,1128,2018,1875,347,183,3396,38,945,36, - 1021,231,2235,34,1025,31,35,30,32,944, - 261,29,27,55,1069,110,80,81,111,1127, - 3041,1222,1128,2042,323,2440,2130,334,234,229, - 230,1088,2048,274,774,38,1616,382,1021,774, - 38,1616,382,1021,340,510,38,440,774,38, - 290,4807,2859,2066,3074,159,241,244,247,250, - 3414,3674,1564,3075,54,524,1799,72,612,37, - 774,38,290,77,61,386,416,1583,665,4086, - 3218,3235,3093,2913,2995,2999,3191,4357,3396,38, - 945,36,1021,3658,2235,34,1025,31,35,30, - 32,944,261,29,27,55,1069,110,80,81, - 111,1127,2294,1222,1128,2092,3396,38,945,36, - 1021,1093,2235,34,1025,31,35,30,32,944, - 261,29,27,55,1069,110,80,81,111,1127, - 3624,1222,1128,2093,1429,38,945,36,1021,4300, - 4694,34,1025,31,35,336,32,3396,38,945, - 36,1021,3808,2235,34,1025,31,35,30,32, - 944,261,29,27,55,1069,110,80,81,111, - 1127,2059,1222,2220,1859,352,877,443,1594,1088, - 3627,508,520,2440,3207,2440,531,93,3581,2993, - 106,317,2457,319,429,784,312,1912,433,3301, - 3320,348,2644,159,2644,774,38,1616,382,1021, - 3756,3110,3079,2993,201,1997,2703,38,945,36, - 1021,4644,4694,34,1025,31,35,336,32,341, - 1697,1678,346,329,1351,420,2048,3100,3396,38, - 945,36,1021,3048,2235,34,1025,31,35,30, - 32,944,261,29,27,55,1069,110,80,81, - 111,1127,61,1222,2232,512,2766,1332,2434,3548, - 356,71,492,317,2457,319,3574,784,312,1912, - 1772,2965,875,348,3582,2458,2872,2880,774,38, - 1616,382,1021,3094,2978,38,945,36,1021,4300, - 4694,34,1025,31,35,336,32,489,491,2048, - 362,341,1697,1678,346,326,332,3643,423,1936, - 3396,38,945,36,1021,2048,2235,34,1025,31, - 35,30,32,944,261,29,27,55,1069,110, - 80,81,111,1127,70,1841,1564,165,3253,2764, - 61,317,2457,319,3504,3422,312,1912,3642,61, - 69,348,246,3192,1088,774,38,1616,382,1021, - 684,515,1466,38,3228,36,1021,4309,4740,34, - 1025,31,35,336,32,3202,38,279,1721,341, - 1697,1678,346,699,199,273,3696,516,3396,38, - 945,36,1021,1399,2235,34,1025,31,35,30, - 32,944,261,29,27,55,1069,110,80,81, - 111,1127,3504,1842,2048,348,513,329,177,317, - 2457,319,4832,526,312,1912,1123,3199,38,388, - 3613,1742,3460,2177,434,1653,2440,4273,1088,1669, - 1077,4719,228,341,1697,1678,346,159,337,1961, - 297,339,198,4544,231,228,1,2455,184,351, - 3504,526,159,4621,204,215,520,212,203,213, - 214,216,1277,3504,173,1533,4529,1028,399,1778, - 228,243,229,230,2788,159,514,187,171,172, - 174,175,176,177,178,2455,184,400,1783,2952, - 202,4621,204,215,3641,212,203,213,214,216, - 61,3780,173,200,3103,2440,4142,598,38,440, - 185,407,3244,4807,2048,188,171,172,174,175, - 176,177,178,969,340,2903,231,3398,526,1573, - 231,2003,1837,38,945,36,1021,4309,4740,34, - 1025,31,35,336,32,1033,2048,228,2868,60, - 526,3565,159,246,229,230,2440,249,229,230, - 1702,3615,166,3042,2048,1653,2440,1418,3580,340, - 3661,4719,984,3207,159,228,238,261,401,404, - 3682,59,2976,2048,1321,228,419,329,3504,317, - 2457,319,3606,2868,312,1912,4621,206,215,320, - 212,205,213,214,216,1287,4621,206,215,2056, - 212,205,213,214,216,61,61,207,105,2952, - 2440,3081,329,4544,231,3413,3696,207,221,2952, - 217,208,209,210,211,291,292,293,294,340, - 217,208,209,210,211,291,292,293,294,3696, - 3699,239,229,230,306,2440,4239,2906,1178,3733, - 61,2644,1418,2868,2440,1498,4239,3156,3207,1573, - 437,3301,3320,3118,228,1712,3725,774,38,1616, - 382,1021,3692,228,3653,774,38,1616,382,1021, - 304,3747,3202,38,277,4621,206,215,3167,212, - 205,213,214,216,4621,206,215,54,212,205, - 213,214,216,296,1419,54,207,329,2952,2224, - 1583,2857,231,3136,1088,207,418,2952,51,217, - 208,209,210,211,291,292,293,294,217,208, - 209,210,211,291,292,293,294,3212,159,252, - 229,230,3714,3548,875,4239,3179,1131,1635,774, - 38,1616,382,1021,4239,3742,3396,38,1670,1659, - 1021,3759,2235,34,1025,31,35,30,32,944, - 261,29,27,55,1069,110,80,81,88,422, - 3752,3396,38,945,36,1021,37,2235,34,1025, - 31,35,30,32,944,261,29,27,55,1069, - 110,80,81,111,1884,3396,38,945,36,1021, - 3754,2235,34,1025,31,35,30,32,944,261, - 29,27,55,1069,110,80,81,111,1970,3396, - 38,945,36,1021,3729,2235,34,1025,31,35, - 30,32,944,261,29,27,55,1069,110,80, - 81,111,2004,1549,38,945,36,1021,3745,4740, - 34,1025,31,35,336,32,774,38,1616,382, - 1021,2455,2048,3504,1620,38,2699,1531,1021,3504, - 4658,61,1564,2049,3004,265,3091,2048,3613,3758, - 526,774,38,1616,382,1021,421,2502,3486,862, - 38,1616,382,1021,54,2996,434,2373,330,228, - 317,2457,319,3520,159,313,1912,1583,1003,303, - 348,439,438,353,2455,184,3766,3504,526,54, - 4621,204,215,1418,212,203,213,214,216,3207, - 1491,173,1583,2776,513,2688,3613,228,343,1697, - 1678,346,159,1143,3650,171,172,174,175,176, - 177,178,2455,184,3770,1701,61,3634,4621,204, - 215,3180,212,203,213,214,216,441,61,173, - 1953,1576,526,3189,1525,1088,1088,3772,4242,3776, - 2048,3639,180,171,172,174,175,176,177,178, - 518,228,372,2528,284,321,159,348,2054,159, - 164,3181,520,61,3207,529,2455,184,1088,166, - 526,2048,4621,204,215,3419,212,203,213,214, - 216,1198,3018,173,1997,341,1697,1678,346,228, - 61,3504,3759,1936,159,4327,191,171,172,174, - 175,176,177,178,2455,184,3517,2048,3803,3804, - 4621,204,215,330,212,203,213,214,216,617, - 98,173,2049,3004,526,348,3199,38,388,3760, - 1367,302,3689,3483,3711,171,172,174,175,176, - 177,178,3555,228,2000,3574,3793,89,159,1088, - 3237,2772,2048,343,1697,1678,346,705,2455,184, - 611,3764,526,3794,4621,204,215,2963,212,203, - 213,214,216,159,61,173,3807,61,3792,2440, - 3809,228,2440,166,331,332,159,3609,194,171, - 172,174,175,176,177,178,2455,184,340,3504, - 3216,340,4621,204,215,2440,212,203,213,214, - 216,793,1576,173,3726,1576,526,1088,1576,2804, - 1088,2053,2868,1088,2644,2868,190,171,172,174, - 175,176,177,178,1755,228,3670,1798,5373,4072, - 159,164,2048,284,164,5373,4070,164,61,881, - 2455,184,3696,960,526,2048,4621,204,215,5373, - 212,203,213,214,216,5373,3504,173,5373,2048, - 1998,3018,3504,228,2271,2048,5373,2950,159,1088, - 197,171,172,174,175,176,177,178,2455,184, - 3428,5373,356,5373,4621,204,215,5373,212,203, - 213,214,216,159,374,173,298,3412,2872,2880, - 3762,1592,195,2494,3044,5373,295,3076,196,171, - 172,174,175,176,177,178,3396,38,945,36, - 1021,5373,2235,34,1025,31,35,30,32,944, - 261,29,27,55,1069,110,80,81,89,3396, - 38,945,36,1021,5373,2235,34,1025,31,35, - 30,32,944,261,29,27,55,1069,110,80, - 81,87,3396,38,945,36,1021,5373,2235,34, - 1025,31,35,30,32,944,261,29,27,55, - 1069,110,80,81,86,3396,38,945,36,1021, - 5373,2235,34,1025,31,35,30,32,944,261, - 29,27,55,1069,110,80,81,85,3396,38, - 945,36,1021,5373,2235,34,1025,31,35,30, - 32,944,261,29,27,55,1069,110,80,81, - 84,3396,38,945,36,1021,5373,2235,34,1025, - 31,35,30,32,944,261,29,27,55,1069, - 110,80,81,83,3396,38,945,36,1021,5373, - 2235,34,1025,31,35,30,32,944,261,29, - 27,55,1069,110,80,81,82,3269,38,945, - 36,1021,5373,2235,34,1025,31,35,30,32, - 944,261,29,27,55,1069,110,80,81,108, - 3396,38,945,36,1021,5373,2235,34,1025,31, - 35,30,32,944,261,29,27,55,1069,110, - 80,81,113,3396,38,945,36,1021,1779,2235, - 34,1025,31,35,30,32,944,261,29,27, - 55,1069,110,80,81,112,3396,38,945,36, - 1021,5373,2235,34,1025,31,35,30,32,944, - 261,29,27,55,1069,110,80,81,109,3783, - 2048,2048,2077,5373,2440,1997,5373,1088,3168,5373, - 1997,5373,5373,2440,1576,61,3671,5373,5373,1088, - 2440,2440,377,228,5373,5373,774,38,1616,382, - 1021,159,228,1576,5373,3701,3739,5373,1088,340, - 2644,166,5373,164,4621,206,215,5373,212,205, - 213,214,216,4621,206,215,54,212,205,213, - 214,216,164,2868,5373,207,3574,2952,2364,1583, - 3222,3574,3817,1088,207,2146,2952,2440,486,208, - 209,210,211,291,292,293,294,508,208,209, - 210,211,291,292,293,294,228,159,774,38, - 1616,382,1021,5373,4071,328,332,2532,492,1997, - 2182,332,1997,3113,5373,3852,5373,4621,206,215, - 2440,212,205,213,214,216,5373,5373,54,5373, - 5373,5373,3427,950,38,1616,382,1021,207,228, - 2952,1583,1022,489,491,774,38,1616,382,1021, - 5373,305,208,209,210,211,291,292,293,294, - 4621,206,215,54,212,205,213,214,216,3649, - 3574,5373,2781,3574,2440,54,1583,1083,3207,5373, - 5373,207,5373,2952,3623,5373,5373,2459,1583,889, - 5373,5373,5373,228,509,208,209,210,211,291, - 292,293,294,774,38,1616,382,1021,5373,2271, - 332,5373,2860,332,4621,206,215,5373,212,205, - 213,214,216,5373,5373,5373,5373,4242,5373,5373, - 1418,5373,5373,54,5373,207,3207,2952,5373,1418, - 5373,5373,5373,5373,5373,3207,1583,2621,218,208, - 209,210,211,291,292,293,294,3185,38,945, - 36,1021,4309,4694,34,1025,31,35,336,32, - 2970,38,3228,36,1021,4309,4694,34,1025,31, - 35,336,32,5373,5373,329,5373,3542,38,1616, - 382,1021,5373,3439,329,1686,38,1616,382,1021, - 237,261,1161,5373,5373,5373,2411,526,5373,100, - 5373,1088,5373,2458,317,2457,319,273,1088,312, - 1912,3393,5373,5373,5373,54,340,317,2457,319, - 4608,159,312,1912,2056,159,5373,5373,1583,2387, - 5373,192,159,5373,5373,2746,5373,1669,231,1143, - 4515,5373,2819,5373,5373,5373,5373,1478,38,945, - 36,1021,4309,4694,34,1025,31,35,336,32, - 5373,5373,5373,1097,5373,235,229,230,526,306, - 274,1478,38,945,36,1021,4309,4694,34,1025, - 31,35,336,32,5373,5373,2505,340,3118,5373, - 5373,1088,159,242,245,248,251,3414,5373,3653, - 5373,5373,1277,1799,317,2457,319,3561,5373,312, - 1912,2868,5373,5373,5373,159,5373,5373,5373,408, - 3244,5373,5373,1549,2056,2835,5373,5373,317,2457, - 319,5373,5373,312,1912,1478,38,945,36,1021, - 4309,4694,34,1025,31,35,336,32,3094,3114, - 38,945,36,1021,2882,4694,34,1025,31,35, - 336,32,5373,5373,1690,38,945,36,1021,307, - 4740,34,1025,31,35,336,32,5373,5373,5373, - 5373,2552,5373,5373,5373,5373,1088,5373,5373,395, - 5373,5373,317,2457,319,5373,5373,312,1912,5373, - 5373,5373,5373,5373,5373,5373,314,3206,319,1659, - 159,5373,3668,5373,2440,4273,5373,5373,5373,330, - 2098,317,2457,319,5373,5373,315,1912,1690,38, - 945,36,1021,228,4740,34,1025,31,35,336, - 32,1816,38,945,36,1021,3062,4694,34,1025, - 31,35,336,32,4529,1028,399,5373,5373,5373, - 5373,5373,5373,5373,1594,5373,5373,5373,5373,2440, - 3207,5373,5373,5373,5373,400,5373,2952,1809,38, - 1616,382,1021,330,5373,317,2457,319,2644,5373, - 313,1912,5373,862,38,1616,382,1021,314,3206, - 319,5373,1918,5373,5373,61,1225,5373,54,5373, - 2440,526,5373,2903,3123,38,1616,382,1021,329, - 5373,1583,52,54,5373,5373,5373,5373,5373,340, - 340,5373,2895,5373,5373,159,1583,52,5373,3123, - 38,1616,382,1021,54,192,5373,2052,950,38, - 1616,382,1021,2868,4515,3393,356,1583,2640,5373, - 3123,38,1616,382,1021,496,401,403,2875,54, - 5373,2458,2872,2880,5373,5373,5373,5373,54,5373, - 5373,5373,1583,52,5373,5373,5373,667,5373,2951, - 54,1583,52,2715,1918,3123,38,1616,382,1021, - 5373,5373,948,1583,2722,5373,5373,3123,38,1616, - 382,1021,5373,5373,2875,3123,38,1616,382,1021, - 5373,3597,5373,5373,5373,54,5373,3123,38,1616, - 382,1021,3519,38,1616,382,1021,54,1583,52, - 5373,5373,3515,61,5373,54,5373,2440,2440,2798, - 1583,52,3688,38,1616,382,1021,54,1583,52, - 1289,3289,54,61,5373,526,340,340,2440,3406, - 1583,52,5373,5373,5373,1583,52,519,2599,5373, - 5373,3431,54,1088,340,5373,2548,340,5373,159, - 2868,2868,5373,5373,5373,1583,52,5373,5373,192, - 5373,5373,522,494,5373,5373,2570,159,4515,5373, - 5373,2868,5373,5373,5373,5373,5373,3765,5373,5373, - 5373,5373,5373,523,5373,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,3642,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,5373,5373,5373,5373,3505, - 5373,0,5391,42,0,5390,42,0,160,525, - 0,500,33,0,441,606,0,41,5391,0, - 41,5390,0,129,2588,0,1,431,0,42, - 5391,0,42,5390,0,445,1058,0,444,1377, - 0,500,44,0,2869,95,0,500,381,0, - 36,382,0,382,36,0,33,381,0,381, - 33,0,500,33,381,0,2539,42,0,1, - 934,0,1,5645,0,1,5644,0,1,5643, - 0,1,5642,0,1,5641,0,1,5640,0, - 1,5639,0,1,5638,0,1,5637,0,1, - 5636,0,1,5635,0,1,5391,42,0,1, - 5390,42,0,1,895,0,5606,240,0,5605, - 240,0,5708,240,0,5707,240,0,5633,240, - 0,5632,240,0,5631,240,0,5630,240,0, + 76,156,156,113,113,187,187,187,130,130, + 123,123,188,188,170,170,958,38,1841,1826, + 1025,2572,4200,34,1112,31,35,30,32,2612, + 261,29,27,55,1128,110,80,81,111,1137, + 30,1370,1281,1493,1454,674,273,1540,1525,1583, + 1573,1663,1584,1659,146,915,2934,161,147,2056, + 38,945,36,1025,82,3436,34,1112,31,35, + 62,32,2395,38,945,36,1025,231,2235,34, + 1112,31,35,30,32,883,261,29,27,55, + 1128,110,80,81,111,1137,984,1370,1281,1493, + 1454,1330,2850,2449,234,229,230,4655,2692,274, + 2351,38,945,36,1025,185,2235,34,1112,31, + 35,30,32,883,261,29,27,55,1128,90, + 80,81,241,244,247,250,3411,2165,38,945, + 36,1025,2004,3436,34,1112,31,35,61,32, + 327,38,500,2957,1025,1344,574,2466,3189,3090, + 3459,3577,3705,4354,1540,38,945,36,1025,2440, + 2235,34,1112,31,35,2797,32,883,261,29, + 27,55,1128,110,80,81,111,1137,340,1370, + 1281,1493,1454,66,1209,1540,1525,1583,1573,2300, + 1584,1659,146,410,160,505,147,1856,38,945, + 36,1025,2864,4165,34,1112,31,35,30,32, + 660,512,498,2138,506,1540,38,945,36,1025, + 2440,2235,34,1112,31,35,2797,32,883,261, + 29,27,55,1128,110,80,81,111,1137,340, + 1370,1281,1493,1454,856,1425,1540,1525,1583,1573, + 2440,1584,1659,146,3212,1008,505,147,1972,38, + 388,65,485,2864,1097,38,945,36,1025,2644, + 352,34,1112,43,35,506,837,520,1870,38, + 945,36,1025,501,2235,34,1112,31,35,30, + 32,883,261,29,27,55,1128,110,80,81, + 111,1137,590,1370,1281,1493,1454,1658,2534,1540, + 1525,1583,1573,3204,1584,2945,167,327,38,2982, + 2790,47,2876,2814,1650,38,945,36,1025,855, + 4165,34,1112,31,35,64,32,356,508,1650, + 38,945,36,1025,501,4165,34,1112,31,35, + 63,32,2831,3002,3014,1071,325,1097,38,945, + 36,1025,330,1031,34,1112,2416,35,3443,2582, + 38,277,1893,484,2525,66,38,1755,46,1025, + 443,2875,45,1112,2814,1805,38,945,36,1025, + 2440,2235,34,1112,31,35,2797,32,883,261, + 29,27,55,1128,110,80,81,111,1137,340, + 1370,1281,1493,1454,1707,30,1540,1525,1583,1573, + 735,1584,1659,146,1379,1853,505,147,1097,38, + 945,36,1025,2864,2052,34,1112,2455,35,3212, + 1606,38,945,36,1025,506,2235,34,1112,31, + 35,30,32,883,261,29,27,55,1128,110, + 80,81,111,1137,2507,1370,1281,1493,1454,1088, + 1399,1540,1525,1583,1573,2440,1584,1659,146,784, + 1237,375,147,327,38,1783,1746,1025,327,38, + 500,276,1025,159,2644,1588,38,500,3149,1025, + 837,327,3077,165,378,1899,49,2876,1206,1678, + 38,945,36,1025,502,2235,34,1112,31,35, + 30,32,883,261,29,27,55,1128,110,80, + 81,111,1137,2196,1370,1281,1493,1454,75,1667, + 1540,1525,1583,1573,3029,1584,1659,146,327,2928, + 375,147,1588,38,500,276,1025,327,38,500, + 280,1025,492,2183,1114,379,3515,2171,1979,38, + 945,36,1025,376,2235,34,1112,31,35,30, + 32,883,261,29,27,55,1128,110,80,81, + 111,1137,2008,1370,1281,1493,1454,490,491,1540, + 1525,1583,1573,2618,1584,1659,146,396,2610,161, + 147,327,38,500,278,1025,1182,943,3699,384, + 416,2942,285,327,38,1798,382,1025,784,1979, + 38,945,36,1025,380,2235,34,1112,31,35, + 30,32,883,261,29,27,55,1128,110,80, + 81,111,1137,273,1370,1281,1493,1454,590,372, + 1540,1525,1583,1573,4093,1584,1659,146,427,92, + 369,147,106,1979,38,945,36,1025,508,2235, + 34,1112,31,35,30,32,883,261,29,27, + 55,1128,110,80,81,111,1137,590,1370,1281, + 1493,1454,2490,4212,1540,1525,1583,1573,574,1584, + 1659,146,97,28,369,147,275,590,1979,38, + 945,36,1025,4757,2235,34,1112,31,35,30, + 32,883,261,29,27,55,1128,110,80,81, + 111,1137,30,1370,1281,1493,1454,2930,2131,1540, + 1525,1583,1573,368,1584,1659,146,508,370,369, + 147,235,1914,38,945,36,1025,784,2235,34, + 1112,31,35,30,32,883,261,29,27,55, + 1128,110,80,81,111,1137,30,1370,1281,1493, + 1454,4586,74,1540,1525,1583,1573,367,1584,1659, + 146,508,430,375,147,1379,1374,1740,38,945, + 36,1025,2631,2235,34,1112,31,35,30,32, + 883,261,29,27,55,1128,110,80,81,111, + 1137,2066,1370,1281,1493,1454,73,4777,1540,1525, + 1583,1573,365,1584,1659,146,30,508,145,147, + 1207,1028,1979,38,945,36,1025,1209,2235,34, + 1112,31,35,30,32,883,261,29,27,55, + 1128,110,80,81,111,1137,1492,1370,1281,1493, + 1454,2440,58,1540,1525,1583,1573,373,1584,1659, + 146,327,3674,162,147,1979,38,945,36,1025, + 340,2235,34,1112,31,35,30,32,883,261, + 29,27,55,1128,110,80,81,111,1137,76, + 1370,1281,1493,1454,1059,511,1540,1525,1583,1573, + 1566,1584,1659,146,2421,447,158,147,1979,38, + 945,36,1025,508,2235,34,1112,31,35,30, + 32,883,261,29,27,55,1128,110,80,81, + 111,1137,2724,1370,1281,1493,1454,2440,618,1540, + 1525,1583,1573,153,1584,1659,146,1396,91,157, + 147,1979,38,945,36,1025,340,2235,34,1112, + 31,35,30,32,883,261,29,27,55,1128, + 110,80,81,111,1137,1006,1370,1281,1493,1454, + 3421,2147,1540,1525,1583,1573,2037,1584,1659,146, + 1295,2631,156,147,1979,38,945,36,1025,1209, + 2235,34,1112,31,35,30,32,883,261,29, + 27,55,1128,110,80,81,111,1137,1617,1370, + 1281,1493,1454,1092,30,1540,1525,1583,1573,2999, + 1584,1659,146,931,155,155,147,1979,38,945, + 36,1025,1209,2235,34,1112,31,35,30,32, + 883,261,29,27,55,1128,110,80,81,111, + 1137,1976,1370,1281,1493,1454,2440,30,1540,1525, + 1583,1573,2009,1584,1659,146,311,446,154,147, + 1979,38,945,36,1025,2644,2235,34,1112,31, + 35,30,32,883,261,29,27,55,1128,110, + 80,81,111,1137,511,1370,1281,1493,1454,1091, + 30,1540,1525,1583,1573,765,1584,1659,146,3502, + 4043,153,147,1979,38,945,36,1025,508,2235, + 34,1112,31,35,30,32,883,261,29,27, + 55,1128,110,80,81,111,1137,2579,1370,1281, + 1493,1454,590,357,1540,1525,1583,1573,4789,1584, + 1659,146,333,57,152,147,1979,38,945,36, + 1025,1209,2235,34,1112,31,35,30,32,883, + 261,29,27,55,1128,110,80,81,111,1137, + 507,1370,1281,1493,1454,420,30,1540,1525,1583, + 1573,2233,1584,1659,146,2025,1795,151,147,1979, + 38,945,36,1025,1433,2235,34,1112,31,35, + 30,32,883,261,29,27,55,1128,110,80, + 81,111,1137,2360,1370,1281,1493,1454,2339,30, + 1540,1525,1583,1573,3284,1584,1659,146,2148,56, + 150,147,1979,38,945,36,1025,349,2235,34, + 1112,31,35,30,32,883,261,29,27,55, + 1128,110,80,81,111,1137,1029,1370,1281,1493, + 1454,350,30,1540,1525,1583,1573,4070,1584,1659, + 146,1145,154,149,147,1979,38,945,36,1025, + 508,2235,34,1112,31,35,30,32,883,261, + 29,27,55,1128,110,80,81,111,1137,30, + 1370,1281,1493,1454,2310,30,1540,1525,1583,1573, + 4077,1584,1659,146,589,94,148,147,1979,38, + 945,36,1025,1209,2235,34,1112,31,35,30, + 32,883,261,29,27,55,1128,110,80,81, + 111,1137,1475,1370,1281,1493,1454,2581,30,1540, + 1525,1583,1573,2965,1584,1659,146,1214,1347,143, + 147,2303,38,945,36,1025,2495,2235,34,1112, + 31,35,30,32,883,261,29,27,55,1128, + 110,80,81,111,1137,30,1370,1281,1493,1454, + 4179,30,1540,1525,1583,1573,4083,1584,1659,146, + 1209,324,192,147,2395,38,945,36,1025,1314, + 2235,34,1112,31,35,30,32,883,261,29, + 27,55,1128,110,80,81,111,1137,1314,1370, + 1281,1493,1454,322,691,1540,1525,1583,1573,1155, + 1584,2945,167,2395,38,945,36,1025,2095,2235, + 34,1112,31,35,30,32,883,261,29,27, + 55,1128,110,80,81,111,1137,1206,1370,1281, + 1493,1454,2488,383,1540,1525,1583,1573,101,1584, + 2945,167,327,38,500,3280,1025,327,38,1798, + 382,1025,282,2395,38,945,36,1025,289,2235, + 34,1112,31,35,30,32,883,261,29,27, + 55,1128,110,80,81,111,1137,273,1370,1281, + 1493,1454,2708,30,1540,1525,1583,1573,2621,1584, + 2945,167,2395,38,945,36,1025,2226,2235,34, + 1112,31,35,30,32,883,261,29,27,55, + 1128,110,80,81,111,1137,952,1370,1281,1493, + 1454,590,394,1540,1525,1583,1573,4794,1584,2945, + 167,327,38,281,1053,1333,508,3126,385,416, + 78,1314,2395,38,945,36,1025,412,2235,34, + 1112,31,35,30,32,883,261,29,27,55, + 1128,110,80,81,111,1137,1769,1370,1281,1493, + 1454,347,30,1540,1525,1583,1573,667,1584,2945, + 167,2439,38,945,36,1025,411,2235,34,1112, + 31,35,30,32,883,261,29,27,55,1128, + 110,80,81,111,1137,283,1370,1281,1493,1454, + 588,675,1540,1525,1583,1573,1209,1584,2945,167, + 1800,3616,3615,1206,590,1522,38,1798,382,1025, + 4854,2395,38,945,36,1025,414,2235,34,1112, + 31,35,30,32,883,261,29,27,55,1128, + 110,80,81,111,1137,54,1370,1281,1493,1454, + 762,30,1540,1525,1583,1573,2574,2576,1756,934, + 2395,38,945,36,1025,3654,2235,34,1112,31, + 35,30,32,883,261,29,27,55,1128,110, + 80,81,111,1137,102,1370,1281,1493,1454,849, + 1155,1540,1525,1583,2561,2395,38,945,36,1025, + 2080,2235,34,1112,31,35,30,32,883,261, + 29,27,55,1128,110,80,81,111,1137,1206, + 1370,1281,1493,1454,387,416,1540,1525,2494,2395, + 38,945,36,1025,670,2235,34,1112,31,35, + 30,32,883,261,29,27,55,1128,110,80, + 81,111,1137,30,1370,1281,1493,1454,4198,2618, + 1540,2524,2395,38,945,36,1025,323,2235,34, + 1112,31,35,30,32,883,261,29,27,55, + 1128,110,80,81,111,1137,757,1370,1281,1493, + 2457,2395,38,945,36,1025,2576,2235,34,1112, + 31,35,30,32,883,261,29,27,55,1128, + 110,80,81,111,1137,3034,1370,1281,1493,2464, + 2483,38,1798,382,1025,3081,3052,30,3126,1317, + 386,416,4803,236,261,2576,398,2424,508,1259, + 38,1798,382,1025,2544,2395,38,945,36,1025, + 273,2235,34,1112,31,35,30,32,883,261, + 29,27,55,1128,110,80,81,111,1137,273, + 1370,1281,2220,1869,1297,299,2395,38,945,36, + 1025,231,2235,34,1112,31,35,30,32,883, + 261,29,27,55,1128,110,80,81,111,1137, + 30,1370,1281,2221,1854,2440,1466,508,234,229, + 230,1088,508,274,327,38,1798,382,1025,327, + 38,1798,382,1025,340,1722,38,440,327,38, + 290,4849,2998,2576,2164,159,241,244,247,250, + 3411,1410,1875,45,54,524,2004,72,2864,37, + 327,38,290,77,2466,1707,1093,1756,665,2749, + 1842,2558,3189,3090,3459,3577,3705,4354,2395,38, + 945,36,1025,182,2235,34,1112,31,35,30, + 32,883,261,29,27,55,1128,110,80,81, + 111,1137,1525,1370,1281,2270,2395,38,945,36, + 1025,2558,2235,34,1112,31,35,30,32,883, + 261,29,27,55,1128,110,80,81,111,1137, + 877,1370,1281,2309,1105,38,945,36,1025,3097, + 4680,34,1112,31,35,336,32,2395,38,945, + 36,1025,1786,2235,34,1112,31,35,30,32, + 883,261,29,27,55,1128,110,80,81,111, + 1137,2681,1370,2354,327,38,1798,382,1025,1958, + 38,440,512,2466,1851,4849,565,351,3539,1831, + 4712,317,2320,319,520,1237,312,1936,433,3424, + 3431,348,1864,1975,273,327,38,1798,382,1025, + 3610,3219,1083,38,945,36,1025,4645,4680,34, + 1112,31,35,336,32,1123,2576,508,590,341, + 1764,1740,346,434,4861,420,784,3176,2395,38, + 945,36,1025,508,2235,34,1112,31,35,30, + 32,883,261,29,27,55,1128,110,80,81, + 111,1137,71,1370,2406,2894,198,337,508,317, + 2320,319,30,434,312,1936,30,1332,70,348, + 1767,1088,327,38,1798,382,1025,1361,1351,3110, + 1531,38,945,36,1025,3097,4680,34,1112,31, + 35,336,32,69,240,1850,321,341,1764,1740, + 346,362,423,520,1187,2146,2395,38,945,36, + 1025,508,2235,34,1112,31,35,30,32,883, + 261,29,27,55,1128,110,80,81,111,1137, + 778,2018,437,3424,3431,419,1941,317,2320,319, + 30,2576,312,1936,1968,2693,1955,348,1314,3020, + 327,38,1798,382,1025,2142,2221,515,1219,38, + 3298,36,1025,4297,4772,34,1112,31,35,336, + 32,2520,38,279,2618,341,1764,1740,346,2189, + 422,197,1314,516,2395,38,945,36,1025,508, + 2235,34,1112,31,35,30,32,883,261,29, + 27,55,1128,110,80,81,111,1137,2576,2042, + 1021,348,297,329,175,317,2320,319,2733,526, + 312,1936,1056,4139,60,2107,30,1349,3204,30, + 372,1088,2440,4270,1088,531,1077,2050,228,341, + 1764,1740,346,159,784,1425,304,339,201,4541, + 2440,228,1,2553,183,3523,2576,526,159,203, + 214,4618,2059,202,211,212,213,215,1198,2644, + 172,3403,1087,399,4526,936,228,329,2508,1341, + 3077,159,1442,186,170,171,173,174,175,176, + 177,2553,183,400,430,3050,199,203,214,4618, + 1056,202,211,212,213,215,3204,30,172,1056, + 326,332,3078,827,30,3204,184,407,3317,1541, + 1526,187,170,171,173,174,175,176,177,2782, + 2193,3040,414,38,1798,382,1025,356,2092,1446, + 38,945,36,1025,4297,4772,34,1112,31,35, + 336,32,3218,3002,3014,329,2618,2139,2152,1314, + 30,2196,54,2440,3470,1088,334,30,2640,30, + 1023,1088,3088,2440,3177,1756,2856,1056,2145,1972, + 38,388,228,3204,401,404,1143,508,2972,159, + 508,3545,228,2576,329,163,317,2320,319,1721, + 284,312,1936,205,214,4618,1963,204,211,212, + 213,215,514,205,214,4618,1450,204,211,212, + 213,215,59,296,206,320,3050,1998,3098,2589, + 4541,231,329,220,206,508,3050,216,207,208, + 209,210,291,292,293,294,98,216,207,208, + 209,210,291,292,293,294,2214,2753,243,229, + 230,306,2440,4236,2868,1367,2764,30,3390,2606, + 105,2440,3186,4236,2902,327,38,1798,382,1025, + 3113,228,238,261,327,38,1798,382,1025,3450, + 228,3685,327,38,1798,382,1025,93,508,2511, + 106,2378,205,214,4618,421,204,211,212,213, + 215,205,214,4618,54,204,211,212,213,215, + 508,2530,54,206,30,3050,508,1756,2995,4324, + 231,2296,206,2373,3050,51,216,207,208,209, + 210,291,292,293,294,216,207,208,209,210, + 291,292,293,294,2570,438,518,239,229,230, + 2377,3416,4236,3079,1341,3077,327,38,1798,382, + 1025,4236,3568,2395,38,1841,1826,1025,1632,2235, + 34,1112,31,35,30,32,883,261,29,27, + 55,1128,110,80,81,88,439,2612,2395,38, + 945,36,1025,37,2235,34,1112,31,35,30, + 32,883,261,29,27,55,1128,110,80,81, + 111,2126,2395,38,945,36,1025,1940,2235,34, + 1112,31,35,30,32,883,261,29,27,55, + 1128,110,80,81,111,2145,2395,38,945,36, + 1025,508,2235,34,1112,31,35,30,32,883, + 261,29,27,55,1128,110,80,81,111,2176, + 1300,38,945,36,1025,508,4772,34,1112,31, + 35,336,32,1021,2576,284,3514,508,1972,38, + 388,1387,38,2824,1531,1025,2576,4362,2520,38, + 277,2653,262,2543,2656,2618,2800,526,508,334, + 3552,2686,2151,3098,1088,2690,501,38,1798,382, + 1025,54,3606,2632,3701,330,228,317,2320,319, + 2709,159,313,1936,1756,1003,303,348,163,1386, + 349,2553,183,3076,3403,526,54,203,214,4618, + 1729,202,211,212,213,215,3204,1019,172,1756, + 1083,513,4641,1131,228,343,1764,1740,346,159, + 2459,3672,170,171,173,174,175,176,177,2553, + 183,2092,508,331,332,203,214,4618,2702,202, + 211,212,213,215,436,2576,172,2507,3723,526, + 231,1366,526,508,2703,3470,2706,508,1678,179, + 170,171,173,174,175,176,177,3425,228,2576, + 2704,3244,2576,159,348,1043,159,246,229,230, + 2712,3204,523,2553,183,4135,165,526,374,203, + 214,4618,3647,202,211,212,213,215,1314,2720, + 172,2725,341,1764,1740,346,228,1739,2716,302, + 2146,159,4373,190,170,171,173,174,175,176, + 177,2553,183,2576,508,2718,2735,203,214,4618, + 330,202,211,212,213,215,610,100,172,30, + 2576,526,348,2024,960,2736,2729,2509,2440,3404, + 2738,3725,170,171,173,174,175,176,177,3698, + 228,2581,295,221,334,159,1088,340,231,1088, + 343,1764,1740,346,697,2553,183,2576,88,526, + 298,203,214,4618,2726,202,211,212,213,215, + 159,1136,172,163,30,249,229,230,228,2440, + 2976,200,2448,159,2737,193,170,171,173,174, + 175,176,177,2553,183,2739,508,194,340,203, + 214,4618,984,202,211,212,213,215,784,1661, + 172,2507,334,526,30,2051,1088,1088,1328,2440, + 2745,2743,2864,189,170,171,173,174,175,176, + 177,3736,228,2751,1884,169,5359,159,340,5359, + 159,163,5359,2909,5359,5359,871,2553,183,5359, + 165,526,5359,203,214,4618,5359,202,211,212, + 213,215,2864,5359,172,5359,5359,5359,5359,5359, + 228,5359,5359,377,1927,159,231,196,170,171, + 173,174,175,176,177,2553,183,5359,5359,5359, + 443,203,214,4618,5359,202,211,212,213,215, + 5359,5359,172,252,229,230,5359,5359,429,5359, + 5359,3107,5359,3542,5359,195,170,171,173,174, + 175,176,177,2395,38,945,36,1025,5359,2235, + 34,1112,31,35,30,32,883,261,29,27, + 55,1128,110,80,81,89,2395,38,945,36, + 1025,5359,2235,34,1112,31,35,30,32,883, + 261,29,27,55,1128,110,80,81,87,2395, + 38,945,36,1025,5359,2235,34,1112,31,35, + 30,32,883,261,29,27,55,1128,110,80, + 81,86,2395,38,945,36,1025,5359,2235,34, + 1112,31,35,30,32,883,261,29,27,55, + 1128,110,80,81,85,2395,38,945,36,1025, + 5359,2235,34,1112,31,35,30,32,883,261, + 29,27,55,1128,110,80,81,84,2395,38, + 945,36,1025,5359,2235,34,1112,31,35,30, + 32,883,261,29,27,55,1128,110,80,81, + 83,2395,38,945,36,1025,5359,2235,34,1112, + 31,35,30,32,883,261,29,27,55,1128, + 110,80,81,82,2252,38,945,36,1025,5359, + 2235,34,1112,31,35,30,32,883,261,29, + 27,55,1128,110,80,81,108,2395,38,945, + 36,1025,5359,2235,34,1112,31,35,30,32, + 883,261,29,27,55,1128,110,80,81,113, + 2395,38,945,36,1025,5359,2235,34,1112,31, + 35,30,32,883,261,29,27,55,1128,110, + 80,81,112,2395,38,945,36,1025,5359,2235, + 34,1112,31,35,30,32,883,261,29,27, + 55,1128,110,80,81,109,2846,5359,5359,5359, + 1021,2440,5359,334,334,2038,5359,1021,1088,1088, + 2440,5359,30,1399,5359,5359,5359,2440,2440,5359, + 228,5359,1851,327,38,1798,382,1025,4712,228, + 5359,5359,163,163,5359,5359,340,2644,5359,5359, + 5359,205,214,4618,5359,204,211,212,213,215, + 205,214,4618,54,204,211,212,213,215,5359, + 2864,3403,206,5359,3050,2507,1756,3418,3403,2856, + 1088,206,1928,3050,2440,486,207,208,209,210, + 291,292,293,294,508,207,208,209,210,291, + 292,293,294,228,159,327,38,1798,382,1025, + 328,332,3155,3240,165,492,5359,2182,332,1021, + 5359,5359,2938,5359,205,214,4618,2440,204,211, + 212,213,215,5359,5359,54,1351,5359,1021,5359, + 2215,38,1798,382,1025,206,228,3050,1756,934, + 489,491,327,38,1798,382,1025,5359,305,207, + 208,209,210,291,292,293,294,205,214,4618, + 54,204,211,212,213,215,2671,3594,5359,5359, + 3403,2440,54,1756,1222,5359,5359,5359,206,5359, + 3050,3347,5359,418,1143,1756,889,5359,5359,3403, + 228,509,207,208,209,210,291,292,293,294, + 327,38,1798,382,1025,3274,5359,5359,5359,2271, + 332,205,214,4618,5359,204,211,212,213,215, + 5359,5359,5359,5359,5359,5359,5359,1056,2860,332, + 54,5359,206,3204,3050,5359,5359,5359,5359,5359, + 5359,5359,5359,1756,2575,217,207,208,209,210, + 291,292,293,294,2072,38,945,36,1025,4297, + 4680,34,1112,31,35,336,32,1455,38,3298, + 36,1025,4297,4680,34,1112,31,35,336,32, + 5359,5359,329,5359,2546,38,1798,382,1025,5359, + 3052,5359,1309,38,1798,382,1025,237,261,30, + 5359,5359,5359,2507,526,5359,5359,5359,1088,5359, + 30,317,2320,319,273,1088,312,1936,4605,5359, + 5359,5359,54,340,317,2320,319,5359,159,312, + 1936,1450,159,5359,5359,1756,52,5359,191,159, + 5359,5359,165,5359,531,231,2891,4512,5359,2563, + 5359,5359,5359,5359,1514,38,945,36,1025,4297, + 4680,34,1112,31,35,336,32,5359,5359,5359, + 30,5359,235,229,230,526,306,274,1514,38, + 945,36,1025,4297,4680,34,1112,31,35,336, + 32,5359,5359,30,340,3593,5359,5359,1088,159, + 242,245,248,251,3411,3686,3685,5359,5359,1321, + 2004,317,2320,319,3371,5359,312,1936,2864,5359, + 5359,5359,159,5359,5359,5359,408,3317,5359,5359, + 1277,1450,2532,5359,5359,317,2320,319,5359,5359, + 312,1936,1514,38,945,36,1025,4297,4680,34, + 1112,31,35,336,32,3110,1159,38,945,36, + 1025,2878,4680,34,1112,31,35,336,32,5359, + 5359,1173,38,945,36,1025,307,4772,34,1112, + 31,35,336,32,5359,5359,5359,5359,30,5359, + 5359,5359,5359,1088,5359,5359,395,5359,5359,317, + 2320,319,5359,5359,312,1936,5359,5359,5359,5359, + 5359,5359,5359,314,3251,319,1267,159,5359,3711, + 5359,2440,4270,5359,5359,5359,330,2737,317,2320, + 319,5359,5359,315,1936,1173,38,945,36,1025, + 228,4772,34,1112,31,35,336,32,1592,38, + 945,36,1025,3059,4680,34,1112,31,35,336, + 32,1087,399,4526,5359,5359,5359,5359,5359,5359, + 5359,1057,5359,5359,5359,1057,2440,3204,5359,5359, + 2440,3204,400,5359,3050,414,38,1798,382,1025, + 330,5359,317,2320,319,2644,30,313,1936,2644, + 5359,1088,5359,5359,5359,314,3251,319,5359,1912, + 1600,38,1798,382,1025,54,5359,2210,5359,30, + 3040,5359,2440,5359,1088,159,329,5359,1756,52, + 329,30,30,30,5359,2753,1088,1088,2440,2141, + 54,340,1600,38,1798,382,1025,5359,159,5359, + 5359,5359,519,1756,2681,5359,5359,340,2778,5359, + 159,159,3545,356,2684,2864,3390,356,5359,5359, + 1970,3527,54,401,403,5359,5359,522,2527,3002, + 3014,2864,2527,3002,3014,1756,52,501,38,1798, + 382,1025,5359,2458,5359,1979,2715,2947,5359,5359, + 5359,1912,1600,38,1798,382,1025,1600,38,1798, + 382,1025,5359,5359,5359,5359,5359,54,5359,1600, + 38,1798,382,1025,1600,38,1798,382,1025,5359, + 1756,52,54,2685,5359,5359,5359,54,2440,5359, + 5359,948,5359,5359,5359,1756,2899,5359,5359,54, + 1756,52,5359,5359,54,5359,2684,2644,5359,5359, + 5359,2792,1756,52,5359,5359,5359,1756,52,5359, + 5359,5359,30,2870,5359,5359,5359,526,3195,1600, + 38,1798,382,1025,2175,38,1798,382,1025,5359, + 5359,2347,38,1798,382,1025,340,5359,5359,5359, + 5359,159,30,5359,5359,3241,5359,526,5359,54, + 5359,1198,5359,5359,54,5359,5359,5359,5359,30, + 2864,54,1756,52,526,492,340,1756,52,5359, + 5359,159,1463,3286,1756,52,5359,5359,2548,30, + 5359,191,30,340,2440,2570,30,2440,159,5359, + 4512,2440,5359,5359,5359,5359,5359,5359,191,5359, + 489,491,5359,340,5359,5359,340,4512,5359,5359, + 340,5359,5359,5359,5359,5359,5359,5359,5359,5359, + 5359,5359,5359,5359,5359,5359,5359,2864,5359,5359, + 2864,5359,5359,5359,2864,5359,5359,5359,5359,496, + 5359,3617,494,5359,5359,5359,523,5359,5359,5359, + 5359,5359,5359,5359,5359,5359,5359,3395,5359,5359, + 5359,5359,5359,5359,5359,5359,5359,5359,5359,5359, + 5359,5359,5359,5359,3407,5359,0,5377,42,0, + 5376,42,0,500,33,0,441,935,0,41, + 5377,0,41,5376,0,129,2588,0,1,431, + 0,42,5377,0,42,5376,0,445,1377,0, + 444,1549,0,500,44,0,2786,95,0,500, + 381,0,36,382,0,382,36,0,33,381, + 0,381,33,0,500,33,381,0,2539,42, + 0,1,822,0,1,5631,0,1,5630,0, + 1,5629,0,1,5628,0,1,5627,0,1, + 5626,0,1,5625,0,1,5624,0,1,5623, + 0,1,5622,0,1,5621,0,1,5377,42, + 0,1,5376,42,0,1,895,0,5592,240, + 0,5591,240,0,5694,240,0,5693,240,0, + 5619,240,0,5618,240,0,5617,240,0,5616, + 240,0,5615,240,0,5614,240,0,5613,240, + 0,5612,240,0,5631,240,0,5630,240,0, 5629,240,0,5628,240,0,5627,240,0,5626, - 240,0,5645,240,0,5644,240,0,5643,240, - 0,5642,240,0,5641,240,0,5640,240,0, - 5639,240,0,5638,240,0,5637,240,0,5636, - 240,0,5635,240,0,42,240,5391,0,42, - 240,5390,0,240,5414,0,53,5391,0,53, - 5390,0,48,5412,0,48,40,0,5391,53, - 0,5390,53,0,131,2588,0,130,2588,0, - 236,3521,0,30,507,0,5700,432,0,1306, - 432,0,1,96,0,52,40,0,1,5414, - 0,1,42,0,227,1,5414,0,227,1, - 42,0,227,406,0,40,5391,0,40,5390, - 0,5412,50,0,50,40,0,5391,39,0, - 5390,39,0,40,5391,2,0,40,5390,2, - 0,5383,397,0,5382,397,0,1,4451,0, - 1,2520,0,1,2539,0,227,405,0,5700, - 99,0,1306,99,0,1955,316,0,1,5700, - 0,1,1306,0,278,3705,0,1,778,0, - 1,2947,0,5381,1,0,488,4078,0,227, - 1,0,227,1,3445,0,5383,227,0,5382, - 227,0,3637,227,0,160,179,0,8,10, - 0,227,167,0,227,220,0,227,219,0, - 189,3647,0 + 240,0,5625,240,0,5624,240,0,5623,240, + 0,5622,240,0,5621,240,0,42,240,5377, + 0,42,240,5376,0,240,5400,0,53,5377, + 0,53,5376,0,48,5398,0,48,40,0, + 5377,53,0,5376,53,0,131,2588,0,130, + 2588,0,236,3086,0,30,507,0,5686,432, + 0,1262,432,0,1,96,0,52,40,0, + 1,5400,0,1,42,0,227,1,5400,0, + 227,1,42,0,227,406,0,40,5377,0, + 40,5376,0,5398,50,0,50,40,0,5377, + 39,0,5376,39,0,40,5377,2,0,40, + 5376,2,0,5369,397,0,5368,397,0,1, + 4448,0,1,3613,0,1,2539,0,227,405, + 0,5686,99,0,1262,99,0,1918,316,0, + 1,5686,0,1,1262,0,278,3634,0,1, + 778,0,1,3099,0,5367,1,0,488,4075, + 0,227,1,0,227,1,3526,0,5369,227, + 0,5368,227,0,3648,227,0,8,10,0, + 227,219,0,227,218,0,188,3644,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1096,402 +1094,311 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static byte termCheck[] = {0, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, + 20,21,22,23,24,25,26,27,28,0, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,0, + 40,41,42,43,0,45,46,47,48,49, 50,51,52,53,54,55,56,57,58,59, - 0,61,62,63,64,65,66,0,68,0, - 1,2,72,6,74,75,7,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,0,50,51, - 52,53,54,55,56,57,58,59,99,61, - 62,63,64,65,66,0,68,0,91,92, - 72,6,74,75,0,77,78,79,80,81, - 6,83,84,85,86,87,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,45,46,47,48,0,50,51,52,53, - 54,55,56,57,58,59,99,61,62,63, - 64,65,66,0,68,0,91,92,0,6, - 74,75,0,77,78,79,80,81,101,83, - 84,85,86,87,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,45, - 46,47,48,0,50,51,52,53,54,55, - 56,57,58,59,0,61,62,63,64,65, - 66,0,68,0,91,92,88,89,74,75, - 95,77,78,79,80,81,0,83,84,85, - 86,87,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,45,46,47, - 48,70,50,51,52,53,54,55,56,57, - 58,59,0,61,62,63,64,65,66,73, - 68,97,98,0,1,2,74,75,5,77, - 78,79,80,81,101,83,84,85,86,87, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,0, - 50,51,52,53,54,55,56,57,58,59, - 0,61,62,63,64,65,66,0,68,0, - 1,2,0,4,74,75,4,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,70,50,51, - 52,53,54,55,56,57,58,59,0,61, - 62,63,64,65,66,73,68,0,1,2, - 0,4,74,75,0,77,78,79,80,81, - 0,83,84,85,86,87,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,45,46,47,48,0,50,51,52,53, - 54,55,56,57,58,59,0,61,62,63, - 64,65,66,0,68,75,10,11,88,89, - 74,75,0,77,78,79,80,81,0,83, - 84,85,86,87,0,1,2,3,4,5, + 0,61,62,63,64,0,1,2,68,69, + 70,71,7,73,74,75,76,77,78,79, + 80,0,82,83,84,85,86,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,72,30,31,32, + 33,34,35,36,37,38,39,40,41,42, + 43,0,45,46,47,48,49,50,51,52, + 53,54,55,56,57,58,59,66,61,62, + 63,64,0,0,0,68,69,70,71,0, + 73,74,75,76,77,78,79,80,0,82, + 83,84,85,86,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,45, - 46,47,48,70,50,51,52,53,54,55, - 56,57,58,59,0,61,62,63,64,65, - 66,73,68,0,1,2,0,0,74,75, - 3,77,78,79,80,81,0,83,84,85, - 86,87,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,45,46,47, - 48,0,50,51,52,53,54,55,56,57, - 58,59,0,61,62,63,64,65,66,0, - 68,0,1,2,88,89,74,75,9,77, - 78,79,80,81,0,83,84,85,86,87, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,0, - 50,51,52,53,54,55,56,57,58,59, - 0,61,62,63,64,65,66,73,68,0, - 1,2,100,0,74,75,3,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,0,50,51, - 52,53,54,55,56,57,58,59,0,61, - 62,63,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,0,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,60,46,47, - 48,119,50,51,52,53,54,55,56,57, - 58,59,0,61,62,63,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,0, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,49,46,47,48,0,50,51,52,53, - 54,55,56,57,58,59,0,61,62,63, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,0,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,60,46,47,48,0, - 50,51,52,53,54,55,56,57,58,59, - 0,61,62,63,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,0,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,60, - 46,47,48,0,50,51,52,53,54,55, - 56,57,58,59,0,61,62,63,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,0,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,60,46,47,48,0,50,51, - 52,53,54,55,56,57,58,59,0,61, - 62,63,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,0,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,0,0,44,60,0,47, - 48,0,50,51,52,53,54,55,56,57, - 58,59,0,61,62,63,0,0,0,3, - 8,4,6,6,8,8,10,11,0,1, - 2,3,4,5,6,7,8,0,90,23, - 24,25,44,0,96,47,48,4,50,51, - 52,53,54,55,56,57,58,0,1,2, - 0,45,5,69,7,0,1,2,3,4, - 5,6,7,8,0,100,60,0,1,2, - 3,4,5,67,7,69,70,71,72,73, - 0,73,76,3,0,67,0,1,2,71, - 4,5,65,7,88,89,90,91,92,93, - 94,95,96,97,98,99,100,101,102,103, - 104,105,106,107,108,109,110,111,112,113, - 0,71,0,117,118,119,0,121,73,3, - 10,11,6,69,8,49,10,11,0,1, - 2,3,4,5,6,7,8,67,0,23, - 24,25,102,0,104,105,106,107,108,109, - 110,111,112,113,0,0,44,117,4,47, - 48,45,50,51,52,53,54,55,56,57, - 58,97,98,0,1,2,60,4,23,6, - 0,8,0,67,41,69,70,71,72,73, - 10,11,76,0,0,67,23,3,60,0, - 1,2,0,4,88,89,90,91,92,93, - 94,95,96,97,98,99,100,101,102,103, - 104,105,106,107,108,109,110,111,112,113, - 0,76,0,117,118,119,4,121,0,1, - 2,3,4,5,6,7,8,9,49,76, - 12,13,14,15,16,17,18,19,20,21, - 22,23,0,1,2,0,1,2,95,0, - 1,2,3,4,5,6,7,8,0,47, - 0,3,44,45,46,47,48,49,50,51, - 52,53,54,55,56,57,58,59,0,61, - 62,63,64,23,42,43,0,42,43,3, - 72,73,0,1,2,0,4,5,3,7, - 82,0,1,2,3,4,5,6,7,8, - 9,0,0,12,13,14,15,16,17,18, - 19,20,21,22,23,67,114,115,116,119, - 70,0,114,115,116,4,76,0,0,0, - 0,49,0,4,0,44,45,46,47,48, + 26,27,28,44,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,65,45, + 46,47,48,49,50,51,52,53,54,55, + 56,57,58,59,0,61,62,63,64,0, + 88,89,68,69,70,11,12,73,74,75, + 76,77,78,79,80,101,82,83,84,85, + 86,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 122,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,66,45,46,47,48, 49,50,51,52,53,54,55,56,57,58, - 59,23,61,62,63,64,71,23,0,1, - 2,60,60,72,73,0,1,2,3,4, - 5,44,7,82,47,48,47,50,51,52, - 53,54,55,56,57,58,0,1,2,3, - 4,5,6,7,8,0,1,2,70,4, - 72,6,70,8,0,114,115,116,0,1, + 59,0,61,62,63,64,0,1,2,68, + 69,70,0,0,73,74,75,76,77,78, + 79,80,9,82,83,84,85,86,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, + 22,23,24,25,26,27,28,0,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,118,45,46,0,1,2,3,4, + 42,43,60,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,0,61, + 62,63,64,0,1,2,68,69,70,0, + 87,73,74,75,76,77,78,79,80,0, + 82,83,84,85,86,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,42,43,95, - 45,46,0,1,2,3,4,5,6,7, + 25,26,27,28,0,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,60, + 45,46,47,48,49,50,51,52,53,54, + 55,56,57,58,59,66,61,62,63,64, + 0,1,2,68,69,70,0,0,73,74, + 75,76,77,78,79,80,9,82,83,84, + 85,86,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,0,45,46,0, + 28,0,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,60,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,0,61,62,63,64,0,0,0, + 68,69,70,4,87,73,74,75,76,77, + 78,79,80,0,82,83,84,85,86,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, + 21,22,23,24,25,26,27,28,0,30, 31,32,33,34,35,36,37,38,39,40, - 41,42,43,0,48,46,50,0,0,1, - 2,8,0,0,1,2,3,4,0,6, - 0,8,0,1,2,0,4,5,3,7, - 23,0,0,1,2,76,0,1,2,3, + 41,42,43,65,45,46,47,48,49,50, + 51,52,53,54,55,56,57,58,59,0, + 61,62,63,64,0,88,89,68,69,70, + 11,12,73,74,75,76,77,78,79,80, + 0,82,83,84,85,86,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, + 24,25,26,27,28,0,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 67,49,46,76,0,1,2,69,70,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,76,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,42,43,49,122,46,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,0, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 0,0,46,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,0,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,43,0,69,46, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,0,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,0,69,46,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 0,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,41,42, - 43,0,69,0,1,2,3,4,5,6, + 50,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,0,61,62,63, + 64,0,88,89,68,69,70,11,12,73, + 74,75,76,77,78,79,80,0,82,83, + 84,85,86,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,69,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,43,67,0,46, + 17,18,19,20,21,22,23,24,25,26, + 27,28,0,30,31,32,33,34,35,36, + 37,38,39,40,41,42,43,50,45,46, + 47,48,49,50,51,52,53,54,55,56, + 57,58,59,0,61,62,63,64,0,88, + 89,68,69,70,0,0,73,74,75,76, + 77,78,79,80,10,82,83,84,85,86, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,0,24,25,26,27,28,29, + 20,21,22,23,24,25,26,27,28,44, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,0,0,46,0,1,2, - 3,4,5,6,7,8,9,10,11,12, + 40,41,42,43,0,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,61,62,63,64,0,88,89,68,69, + 70,6,0,73,74,75,76,77,78,79, + 80,0,82,83,84,85,86,0,1,2, + 3,4,5,6,7,8,0,10,11,12, 13,14,15,16,17,18,19,20,21,22, - 26,24,25,26,27,28,29,30,31,32, + 23,24,25,0,27,28,3,30,31,32, 33,34,35,36,37,38,39,40,41,42, - 43,0,69,46,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,0,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,0,0, - 46,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,73,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,42,43,0,69,46,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,0,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,0,0,46,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, + 43,0,45,46,47,0,49,0,51,52, + 53,54,55,8,57,58,59,0,0,62, + 0,3,0,0,0,68,69,70,0,99, + 0,3,90,3,6,121,8,9,96,11, + 12,90,0,1,2,3,4,96,6,27, + 8,44,24,25,26,0,0,1,2,4, + 4,6,6,8,8,9,46,45,46,49, + 0,49,44,51,52,53,54,55,60,57, + 58,59,0,1,2,3,4,5,60,7, + 0,0,0,65,66,67,0,1,2,71, + 72,5,60,7,0,1,2,3,4,5, + 6,7,8,0,44,87,88,89,90,91, + 92,93,94,95,96,97,98,99,100,101, + 102,103,104,105,106,107,108,109,110,111, + 112,113,60,87,0,117,118,3,120,121, + 6,95,8,9,0,11,12,67,0,1, + 2,3,4,5,60,7,0,9,24,25, + 26,67,0,1,2,3,4,5,6,7, + 8,0,1,2,26,4,0,6,44,8, + 4,100,102,101,104,105,106,107,108,109, + 110,111,112,113,60,0,0,117,0,65, + 66,67,6,0,60,71,72,9,0,1, + 2,3,4,5,6,7,8,114,115,116, + 44,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,102,103,104,105, + 106,107,108,109,110,111,112,113,0,1, + 2,117,118,5,120,121,0,1,2,3, + 4,5,6,7,8,9,10,72,65,13, + 14,15,16,17,18,19,20,21,22,23, + 72,0,26,27,0,29,0,91,92,0, + 1,2,3,4,5,6,7,8,0,1, + 2,45,46,0,48,49,0,51,52,53, + 54,55,9,57,58,59,118,0,62,0, + 1,2,0,4,68,69,70,71,72,73, + 0,1,2,0,1,2,0,81,0,1, + 2,3,4,5,6,7,8,9,10,60, + 0,13,14,15,16,17,18,19,20,21, + 22,23,29,0,26,27,3,29,0,50, + 114,115,116,5,71,0,0,1,2,62, + 4,97,98,45,46,99,48,49,0,51, + 52,53,54,55,0,57,58,59,10,0, + 62,65,27,97,98,29,68,69,70,71, + 72,73,90,0,0,65,66,29,96,81, + 45,46,0,9,49,3,51,52,53,54, + 55,0,57,58,59,0,1,2,3,4, + 5,6,7,8,0,1,2,3,4,5, + 62,7,114,115,116,0,1,2,3,4, + 5,6,7,8,0,10,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,44,67,0, - 47,48,0,50,51,52,53,54,55,56, - 57,58,0,1,2,3,4,5,0,7, - 65,3,0,1,2,0,4,72,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 0,1,2,0,4,0,6,4,8,67, - 0,1,2,0,4,67,6,65,8,90, - 0,1,2,65,4,96,6,0,8,74, - 72,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,49,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,42,43,0,1,2,3,4, + 25,0,60,28,3,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,100, + 0,87,47,0,1,2,3,4,5,95, + 7,0,1,2,0,0,72,3,63,64, + 0,1,2,3,4,5,95,7,73,0, + 1,2,3,4,5,6,7,8,74,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,0,0,28,3,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,43,0,63,64,47,0,1,2, + 60,0,1,2,3,4,5,72,7,0, + 1,2,63,64,65,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,71,24, - 25,26,27,28,29,30,31,32,33,34, + 15,16,17,18,19,20,21,22,23,24, + 25,0,67,28,0,30,31,32,33,34, 35,36,37,38,39,40,41,42,43,0, + 1,2,47,4,5,50,7,0,1,2, + 0,4,0,6,0,8,0,1,2,9, + 4,9,6,0,8,44,71,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,72,0,28,0,30,31,32, + 33,34,35,36,37,38,39,40,41,42, + 43,0,1,2,47,4,66,50,0,1, + 2,71,4,71,6,29,8,0,0,0, + 1,2,3,4,5,6,7,8,71,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,27,0,28,0,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,43,45,46,0,47,49,3,51, + 52,53,54,55,0,57,58,59,4,0, + 1,2,63,64,0,1,2,3,4,5, + 6,7,8,0,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 0,65,28,3,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,0,50, + 0,47,0,0,4,0,1,2,90,4, + 5,8,7,0,96,0,3,63,64,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, + 21,22,23,24,25,45,44,28,0,30, 31,32,33,34,35,36,37,38,39,40, - 0,1,2,3,4,5,6,7,8,9, + 41,42,43,0,1,2,3,4,5,6, + 7,8,123,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,0, + 0,28,44,30,31,32,33,34,35,36, + 37,38,39,40,41,42,43,0,1,2, + 47,4,0,50,114,115,116,0,0,29, + 3,0,1,2,0,0,9,3,0,1, + 2,3,4,5,6,7,8,118,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,65,66,28,0,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,60,0,0,47,3,60,5,6, + 0,8,65,66,11,12,0,0,1,2, + 3,4,5,6,7,8,9,24,25,0, + 0,44,3,30,87,0,1,2,0,4, + 5,3,7,26,27,0,29,44,44,4, + 95,0,1,2,3,4,5,27,7,0, + 9,44,3,60,29,48,63,64,65,66, + 67,0,0,56,0,45,46,26,61,49, + 6,51,52,53,54,55,0,57,58,59, + 45,88,89,90,91,92,93,94,81,28, + 97,98,99,100,101,102,103,104,105,106, + 107,108,109,110,111,112,113,0,0,60, + 3,0,5,6,0,8,0,0,11,12, + 4,0,1,2,3,4,5,6,7,8, + 9,24,25,0,0,1,2,30,4,5, + 0,7,0,10,0,1,2,26,27,9, + 29,44,0,1,2,91,92,5,0,1, + 2,44,0,29,6,0,26,60,3,48, + 63,64,65,66,67,67,65,56,102,0, + 66,29,61,0,0,1,2,29,9,56, + 0,29,71,117,4,88,89,90,91,92, + 93,94,81,0,97,98,99,100,101,102, + 103,104,105,106,107,108,109,110,111,112, + 113,0,1,2,3,4,5,6,7,8, + 0,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,63,64,28, + 67,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,0,87,0,3,0, + 1,2,0,1,2,3,4,5,6,7, + 8,60,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,29,0, + 28,0,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,0,1,2,47, + 0,1,2,3,4,5,6,7,8,0, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,0,24,25,26,27,28,29, + 20,21,22,23,24,25,0,0,28,3, 30,31,32,33,34,35,36,37,38,39, - 40,41,0,0,0,0,1,2,5,0, - 1,2,3,4,5,0,7,0,1,2, - 3,4,5,0,7,65,0,1,2,0, - 4,5,0,7,0,0,4,118,0,1, - 2,3,4,5,6,7,8,9,10,11, + 40,41,42,43,0,1,2,3,4,5, + 6,7,8,44,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 0,44,28,0,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,0,1, + 2,3,4,5,6,7,8,0,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,59,24,25,26,27,28,29,30,31, + 22,23,24,25,44,0,28,44,30,31, 32,33,34,35,36,37,38,39,40,41, - 0,0,73,3,67,5,6,0,8,0, - 10,11,60,12,13,14,15,16,17,18, - 19,20,21,22,24,25,102,27,73,0, - 0,1,2,0,0,5,3,3,0,1, - 2,117,42,43,6,44,0,0,47,48, - 0,50,51,52,53,54,55,56,57,58, - 60,0,0,114,115,116,4,67,0,69, - 70,71,65,0,1,2,3,4,5,49, - 7,0,0,1,2,0,0,49,88,89, - 90,91,92,93,94,0,23,97,98,99, - 100,101,102,103,104,105,106,107,108,109, - 110,111,112,113,0,0,0,3,45,5, - 6,60,8,0,10,11,0,0,1,2, - 3,4,5,6,7,8,90,90,24,25, - 0,27,96,96,0,1,2,3,4,5, - 23,7,0,1,2,0,42,43,0,1, - 2,0,1,2,69,70,26,23,0,88, - 89,44,45,0,60,0,49,0,23,0, - 3,67,67,69,70,71,60,60,120,45, - 67,64,0,66,0,68,0,3,23,73, - 45,49,88,89,90,91,92,93,94,82, - 49,97,98,99,100,101,102,103,104,105, - 106,107,108,109,110,111,112,113,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,76,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,73, - 95,0,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,67,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,0,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,0,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,0, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,0,1,2, - 0,4,0,3,0,0,9,0,4,12, - 13,14,15,16,17,18,19,20,21,22, - 0,1,2,0,24,25,88,89,49,0, - 0,1,2,0,0,0,0,0,0,1, - 2,44,0,0,47,48,23,50,51,52, - 53,54,55,56,57,58,59,23,61,62, - 63,0,1,2,60,4,0,67,45,49, - 9,69,70,12,13,14,15,16,17,18, - 19,20,21,22,0,1,2,3,4,5, - 6,7,8,60,0,65,60,60,0,1, - 2,0,69,103,3,44,69,23,47,48, - 76,50,51,52,53,54,55,56,57,58, - 59,121,61,62,63,0,93,94,44,45, - 93,94,0,49,0,1,2,3,4,5, - 6,7,8,0,1,2,0,49,64,120, - 66,0,68,123,60,9,72,23,0,0, - 0,0,0,69,3,3,82,0,0,1, - 2,3,4,5,6,7,8,0,44,45, - 0,23,23,49,23,60,9,93,94,0, - 0,23,49,0,0,49,3,65,64,9, - 66,0,68,45,45,59,72,0,1,2, - 0,0,44,45,4,0,82,49,0,1, - 2,3,4,5,6,7,8,67,67,70, - 69,70,64,0,66,0,68,76,23,49, - 72,23,0,66,0,0,0,3,0,59, - 82,71,0,1,2,3,4,5,6,7, - 8,67,44,45,0,23,0,49,23,3, - 60,0,71,0,3,23,3,0,0,0, - 3,70,64,0,66,0,68,72,3,0, - 72,0,3,60,3,0,44,45,3,0, - 82,49,0,1,2,3,4,5,6,7, - 8,0,0,0,72,3,64,71,66,71, - 68,76,0,0,72,23,0,0,0,3, - 95,0,0,0,82,71,0,1,2,3, - 4,5,6,7,8,0,44,45,70,0, - 71,49,0,0,71,0,0,0,26,23, - 0,0,0,0,65,0,64,0,66,0, - 68,0,1,2,3,4,5,6,7,8, - 44,45,71,70,82,49,0,65,65,0, - 0,60,0,0,23,0,0,0,0,71, - 64,0,66,0,68,0,0,0,0,0, - 0,0,0,0,0,44,45,0,82,0, - 49,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,64,0,66,0,68, - 0,0,0,0,0,0,0,120,0,0, - 0,0,0,82,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0 + 42,43,0,1,2,65,4,0,65,0, + 1,2,10,6,0,13,14,15,16,17, + 18,19,20,21,22,23,0,0,0,27, + 0,4,47,93,94,9,93,94,29,0, + 1,2,75,0,0,1,2,45,46,0, + 0,49,26,51,52,53,54,55,9,57, + 58,59,0,0,62,0,1,2,29,4, + 68,69,70,29,60,10,0,0,13,14, + 15,16,17,18,19,20,21,22,23,0, + 0,0,27,65,66,0,0,67,91,92, + 0,0,1,2,9,0,44,44,0,9, + 45,46,4,87,49,66,51,52,53,54, + 55,26,57,58,59,0,26,62,65,0, + 29,0,3,68,69,70,87,0,13,14, + 15,16,17,18,19,20,21,22,23,72, + 0,0,27,24,25,66,93,94,67,0, + 1,2,3,4,5,6,7,8,9,0, + 45,46,0,4,49,0,51,52,53,54, + 55,9,57,58,59,26,27,50,29,60, + 0,1,2,3,4,5,6,7,8,9, + 0,1,2,72,0,0,0,48,3,0, + 4,0,3,44,10,56,26,27,67,29, + 61,0,0,0,3,0,3,0,0,29, + 71,0,103,29,3,0,9,0,48,0, + 81,66,3,0,0,0,56,3,0,120, + 44,61,0,26,0,0,0,0,0,87, + 3,71,0,0,0,28,62,3,0,119, + 0,81,0,1,2,3,4,5,6,7, + 8,9,0,0,1,2,3,4,5,6, + 7,8,9,66,72,67,0,72,26,27, + 65,29,50,0,50,50,0,44,0,26, + 27,0,29,0,0,67,0,72,0,0, + 48,0,0,67,66,0,0,0,56,67, + 119,48,0,61,28,0,0,67,95,56, + 0,0,0,71,61,0,0,0,0,0, + 0,0,0,81,71,0,0,0,0,0, + 0,0,0,0,81,0,1,2,3,4, + 5,6,7,8,9,0,1,2,3,4, + 5,6,7,8,9,0,0,119,0,0, + 0,26,27,0,29,0,0,0,0,0, + 0,26,27,0,29,0,0,0,0,0, + 0,0,0,48,0,0,0,0,0,0, + 0,56,0,48,0,0,61,0,0,0, + 0,56,0,0,0,0,61,0,0,0, + 0,0,0,0,0,0,81,0,0,0, + 0,0,0,0,0,0,81,0,1,2, + 3,4,5,6,7,8,9,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,26,27,0,29,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,48,0,0,0,0, + 0,0,0,56,0,0,0,0,61,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,81,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1499,400 +1406,308 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5373,5342,5339,5339,5339,5339,5339,5339,5339,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5352,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5349,3531,1,1,136, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,2593,561,882,118,3429,41, - 5030,5027,5380,3369,2379,3529,733,2932,2191,2864, - 3437,3425,5373,3527,713,3504,2684,3466,8,5358, - 5358,5358,5358,5358,5358,5358,5358,5358,5358,5358, - 5358,5358,5358,5358,5358,5358,5358,5358,5358,5358, - 5358,5358,5358,5358,5358,5358,5358,5358,5358,5358, - 5358,5358,5358,5358,5358,5358,5358,5358,5358,5358, - 5358,5358,5358,5358,5358,5358,5358,137,5358,5358, - 5358,5358,5358,5358,5358,5358,5358,5358,2349,5358, - 5358,5358,5358,5358,5358,120,5358,140,3345,3321, - 5358,3369,5358,5358,5373,5358,5358,5358,5358,5358, - 1826,5358,5358,5358,5358,5358,5373,5342,5339,5339, - 5339,5339,5339,5339,5339,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5346, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5349,3531,1,1,5373,1,1,1,1, - 1,1,1,1,1,1,2349,1,1,1, - 2593,561,882,119,3429,354,3345,3321,124,3369, - 2379,3529,5373,2932,2191,2864,3437,3425,2280,3527, - 713,3504,2684,3466,5373,5342,5339,5339,5339,5339, - 5339,5339,5339,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5346,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5349, - 3531,1,1,5373,1,1,1,1,1,1, - 1,1,1,1,132,1,1,1,2593,561, - 882,161,3429,141,3345,3321,2657,2748,2379,3529, - 5726,2932,2191,2864,3437,3425,5373,3527,713,3504, - 2684,3466,5373,5342,5339,5339,5339,5339,5339,5339, - 5339,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5346,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5349,3531,1, - 1,1372,1,1,1,1,1,1,1,1, - 1,1,5373,1,1,1,2593,561,882,1888, - 3429,2411,2382,5373,5390,5391,2379,3529,2057,2932, - 2191,2864,3437,3425,2280,3527,713,3504,2684,3466, - 5373,5342,5339,5339,5339,5339,5339,5339,5339,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5346,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5349,3531,1,1,5373, - 1,1,1,1,1,1,1,1,1,1, - 5373,1,1,1,2593,561,882,503,3429,5373, - 5015,5012,42,5414,2379,3529,5414,2932,2191,2864, - 3437,3425,417,3527,713,3504,2684,3466,5373,5342, - 5339,5339,5339,5339,5339,5339,5339,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5346,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5349,3531,1,1,905,1,1, - 1,1,1,1,1,1,1,1,5373,1, - 1,1,2593,561,882,3095,3429,5373,5015,5012, - 128,5414,2379,3529,5373,2932,2191,2864,3437,3425, - 5373,3527,713,3504,2684,3466,5373,5342,5339,5339, - 5339,5339,5339,5339,5339,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5346, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5349,3531,1,1,5373,1,1,1,1, - 1,1,1,1,1,1,121,1,1,1, - 2593,561,882,358,3429,3666,2908,2830,2657,2748, - 2379,3529,5373,2932,2191,2864,3437,3425,5373,3527, - 713,3504,2684,3466,5373,5342,5339,5339,5339,5339, - 5339,5339,5339,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5346,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5349, - 3531,1,1,1482,1,1,1,1,1,1, - 1,1,1,1,5373,1,1,1,2593,561, - 882,5766,3429,5373,5390,5391,127,5373,2379,3529, - 3075,2932,2191,2864,3437,3425,5373,3527,713,3504, - 2684,3466,5373,5342,5339,5339,5339,5339,5339,5339, - 5339,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5346,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5349,3531,1, - 1,5373,1,1,1,1,1,1,1,1, - 1,1,138,1,1,1,2593,561,882,301, - 3429,5373,5209,5206,2657,2748,2379,3529,5673,2932, - 2191,2864,3437,3425,435,3527,713,3504,2684,3466, - 5373,3445,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5383,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5382,3531,1,1,5373, - 1,1,1,1,1,1,1,1,1,1, - 5373,1,1,1,2593,561,882,2545,3429,53, - 5221,5218,2315,5373,2379,3529,3521,2932,2191,2864, - 3437,3425,5373,3527,713,3504,2684,3466,5373,5339, - 5339,5339,5339,5339,5339,5339,5339,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5361,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5361,5533,1,1,5373,1,1, - 1,1,1,1,1,1,1,1,5373,1, - 1,1,5373,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5373,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3030,5533,1, - 1,5011,1,1,1,1,1,1,1,1, - 1,1,40,1,1,1,5373,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5373, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5412,5533,1,1,5373,1,1,1,1, - 1,1,1,1,1,1,5373,1,1,1, - 5373,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5373,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3145,5533,1,1,5373, - 1,1,1,1,1,1,1,1,1,1, - 5373,1,1,1,5373,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5373,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3664, - 5533,1,1,5373,1,1,1,1,1,1, - 1,1,1,1,5373,1,1,1,5373,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5373,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3667,5533,1,1,33,1,1, - 1,1,1,1,1,1,1,1,114,1, - 1,1,42,5042,5039,2953,895,3296,3885,2520, - 3908,1237,3862,3839,5637,5635,5644,5643,5639,5640, - 5638,5641,5642,5645,5636,139,3954,3931,5396,3816, - 775,875,5398,790,620,822,5399,5397,618,5392, - 5394,5395,5393,1327,5373,5373,5629,5021,223,5632, - 5707,5373,5708,5626,5633,5605,5631,5630,5627,5628, - 5606,5763,134,827,5764,5765,382,42,5373,5063, - 582,5414,5063,1306,5063,5700,5060,5060,363,5119, - 5115,2726,5123,2539,1,2520,1,5373,4000,5060, - 5060,5060,5629,5373,4023,5632,5707,709,5708,5626, - 5633,5605,5631,5630,5627,5628,5606,5373,5390,5391, - 142,5063,2539,2554,2520,5373,5119,5115,4451,5123, - 2539,5321,2520,5318,5373,2315,5060,1,5119,5115, - 4451,5123,2539,5060,2520,5060,5060,5060,5060,5060, - 1,2102,5060,3480,133,798,5373,5015,5012,1149, - 895,5076,1366,2520,5060,5060,5060,5060,5060,5060, - 5060,5060,5060,5060,5060,5060,5060,5060,5060,5060, - 5060,5060,5060,5060,5060,5060,5060,5060,5060,5060, - 123,1845,224,5060,5060,5060,381,5060,2063,5069, - 2908,2830,5069,2563,5069,844,5066,5066,342,5015, - 5012,2726,895,2539,1306,2520,5700,798,5373,5066, - 5066,5066,2241,521,1802,1759,1716,1673,1630,1587, - 1544,1501,1458,1415,1,1,5629,3764,382,5632, - 5707,5069,5708,5626,5633,5605,5631,5630,5627,5628, - 5606,2411,2382,1,5251,5251,5072,5248,165,1306, - 122,5700,5373,5066,3350,5066,5066,5066,5066,5066, - 2908,2830,5066,5373,95,798,359,5054,550,389, - 5042,5039,5373,5414,5066,5066,5066,5066,5066,5066, - 5066,5066,5066,5066,5066,5066,5066,5066,5066,5066, - 5066,5066,5066,5066,5066,5066,5066,5066,5066,5066, - 5373,165,42,5066,5066,5066,5414,5066,5373,5258, - 5258,227,5254,227,227,227,227,1,42,359, - 1,1,1,1,1,1,1,1,1,1, - 1,5262,5373,5390,5391,5373,5209,5206,359,5373, - 5015,5012,4451,895,2539,1306,2520,5700,344,1084, - 5373,1703,1,227,5775,1,1,488,1,1, - 1,1,1,1,1,1,1,1,5373,1, - 1,1,849,5379,3977,764,1,3977,764,4085, - 406,227,5373,5015,5012,310,895,5076,3553,2520, - 5860,5373,5258,5258,227,5254,227,227,227,227, - 1,441,44,1,1,1,1,1,1,1, - 1,1,1,1,5306,798,5797,5798,5799,5018, - 4843,5373,5797,5798,5799,894,5378,225,5373,42, - 5373,859,286,5414,5373,1,227,5775,1,1, - 488,1,1,1,1,1,1,1,1,1, - 1,5381,1,1,1,849,1282,5377,53,5209, - 5206,5024,5051,405,227,1,5119,5115,5297,5123, - 5303,5629,5300,5860,5632,5707,2145,5708,5626,5633, - 5605,5631,5630,5627,5628,5606,309,5119,5115,4451, - 5123,2539,5321,2520,5318,431,1,1,1029,1, - 5380,5036,1927,5036,1,5797,5798,5799,5373,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5383,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,5376,5382,5533,5373,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,167,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5728, - 167,5533,5373,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,167,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,333,167,5533,5373, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,167,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,135,5707,5533,5708,5373,287,5390, - 5391,582,189,342,42,42,3480,5414,30,1306, - 5373,5700,5373,5015,5012,236,895,2539,5230,2520, - 5379,5373,5373,9710,9710,167,5373,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,167, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 798,5412,5533,5378,48,5215,5215,5233,5233,5373, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,167,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5212,5370,565,5373,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5373, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 5373,5373,5533,5373,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5373,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5373,2580,5533, - 5373,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5373,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5373,2581,5533,1,5119,5115, - 2953,5123,3296,3885,2520,3908,5079,3862,3839,5106, - 5112,5085,5088,5100,5097,5103,5094,5091,5082,5109, - 445,3954,3931,5396,3816,775,875,5398,790,620, - 822,5399,5397,618,5392,5394,5395,5393,1327,42, - 42,5373,5872,5373,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,504,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5045,5373,5533, - 5373,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5373,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5373,5373,5533,5373,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 3031,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5373,5815,5533,5373,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5373,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5373,5373, - 5533,5373,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5555,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5373,4185,5533,5373,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,444,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,5373,226,5533,42,5015,5012,2953,895, - 3296,3885,2520,3908,934,3862,3839,5637,5635,5644, - 5643,5639,5640,5638,5641,5642,5645,5636,5381,3954, - 3931,5396,3816,775,875,5398,790,620,822,5399, - 5397,618,5392,5394,5395,5393,1327,5629,5048,117, - 5632,5707,5373,5708,5626,5633,5605,5631,5630,5627, - 5628,5606,1,5119,5115,2726,5123,2539,316,2520, - 3738,5315,5373,5042,5039,1,5414,5380,42,5015, - 5012,2953,895,3296,3885,2520,3908,934,3862,3839, - 5637,5635,5644,5643,5639,5640,5638,5641,5642,5645, - 5636,5381,3954,3931,5396,3816,775,875,5398,790, - 620,822,5399,5397,618,5392,5394,5395,5393,1327, - 432,42,42,5373,5414,52,5239,1325,5236,798, - 96,1,1,5373,1,798,5242,1617,5242,4000, - 99,42,42,3738,5414,4023,5312,288,5309,2132, - 5380,144,5015,5012,2953,895,3296,3885,2520,3908, - 934,3862,3839,5637,5635,5644,5643,5639,5640,5638, - 5641,5642,5645,5636,1008,3954,3931,5396,3816,775, - 875,5398,790,620,822,5399,5397,618,5392,5394, - 5395,5393,1327,42,42,1,5119,5115,2953,5123, - 3296,3885,2520,3908,5079,3862,3839,5106,5112,5085, - 5088,5100,5097,5103,5094,5091,5082,5109,1974,3954, - 3931,5396,3816,775,875,5398,790,620,822,5399, - 5397,618,5392,5394,5395,5393,1327,42,42,42, - 5015,5012,2953,895,3296,3885,2520,3908,934,3862, - 3839,5637,5635,5644,5643,5639,5640,5638,5641,5642, - 5645,5636,5377,3954,3931,5396,3816,775,875,5398, - 790,620,822,5399,5397,618,5392,5394,5395,5393, - 42,5015,5012,2953,895,3296,3885,2520,3908,934, - 3862,3839,5637,5635,5644,5643,5639,5640,5638,5641, - 5642,5645,5636,5373,3954,3931,5396,3816,775,875, - 5398,790,620,822,5399,5397,618,5392,5394,5395, - 5393,1327,5373,5373,142,39,5280,5277,2057,1, - 5119,5115,4451,5123,2539,5373,2520,1,5119,5115, - 2726,5123,2539,5373,2520,3738,5373,5015,5012,428, - 895,2539,388,2520,5373,5373,381,5376,42,5015, - 5012,2953,895,3296,3885,2520,3908,934,3862,3839, - 5637,5635,5644,5643,5639,5640,5638,5641,5642,5645, - 5636,3616,3954,3931,5396,3816,775,875,5398,790, - 620,822,5399,5397,618,5392,5394,5395,5393,1327, - 1,222,2063,858,798,5829,5823,5373,5827,5373, - 5821,5822,500,5637,5635,5644,5643,5639,5640,5638, - 5641,5642,5645,5636,5852,5853,2241,5830,3463,5373, - 40,5245,5245,5373,5373,5245,4138,4376,40,5245, - 5245,3764,1493,1497,1826,5629,116,115,5632,5707, - 5373,5708,5626,5633,5605,5631,5630,5627,5628,5606, - 5832,381,5373,5797,5798,5799,1626,704,5373,5833, - 5854,5831,1789,1,5119,5115,5297,5123,5303,1015, - 5300,126,5373,5221,5218,5373,5373,5412,5843,5842, - 5855,5824,5825,5848,5849,5373,5383,5846,5847,5826, - 5828,5850,5851,5856,5836,5837,5838,5834,5835,5844, - 5845,5840,5839,5841,5373,345,5373,858,5382,5829, - 5823,5057,5827,104,5821,5822,33,1,5339,5339, - 227,5339,227,227,227,227,4000,4000,5852,5853, - 5373,5830,4023,4023,1,5119,5115,4451,5123,2539, - 227,2520,40,5245,5245,397,1493,1497,389,5390, - 5391,5373,5268,5265,4069,990,3530,309,5373,2657, - 2748,9711,227,5373,5832,1,5336,5373,5291,5373, - 4383,704,798,5833,5854,5831,500,3543,3636,309, - 4561,2593,5373,2141,5373,3429,5373,4466,359,413, - 5294,1072,5843,5842,5855,5824,5825,5848,5849,5860, - 5412,5846,5847,5826,5828,5850,5851,5856,5836,5837, - 5838,5834,5835,5844,5845,5840,5839,5841,42,5015, - 5012,2953,895,3296,3885,2520,3908,934,3862,3839, - 5637,5635,5644,5643,5639,5640,5638,5641,5642,5645, - 5636,359,3954,3931,5396,3816,775,875,5398,790, - 620,822,5399,5397,618,5392,5394,5395,5393,5554, - 359,5373,42,5015,5012,2953,895,3296,3885,2520, - 3908,934,3862,3839,5637,5635,5644,5643,5639,5640, - 5638,5641,5642,5645,5636,1463,3954,3931,5396,3816, - 775,875,5398,790,620,822,5399,5397,618,5392, - 5394,5395,5393,1327,42,5015,5012,4443,895,3296, - 3885,2520,3908,934,3862,3839,5637,5635,5644,5643, - 5639,5640,5638,5641,5642,5645,5636,5373,3954,3931, - 5396,3816,775,875,5398,790,620,822,5399,5397, - 618,5392,5394,5395,5393,42,5015,5012,2953,895, - 3296,3885,2520,3908,934,3862,3839,5637,5635,5644, - 5643,5639,5640,5638,5641,5642,5645,5636,125,3954, - 3931,5396,3816,775,875,5398,790,620,822,5399, - 5397,618,5392,5394,5395,5393,42,5015,5012,2953, - 895,3296,3885,2520,3908,934,3862,3839,5637,5635, - 5644,5643,5639,5640,5638,5641,5642,5645,5636,5373, - 3954,3931,5396,3816,775,875,5398,790,620,822, - 5399,5397,618,5392,5394,5395,5393,5373,5042,5039, - 79,5414,5373,3702,53,5373,1217,5373,5391,5637, - 5635,5644,5643,5639,5640,5638,5641,5642,5645,5636, - 50,5274,5274,5373,5440,5441,2657,2748,3122,371, - 5373,5390,5391,129,1,5373,1,131,5373,9589, - 9383,5629,5373,5373,5632,5707,5383,5708,5626,5633, - 5605,5631,5630,5627,5628,5606,5763,5379,827,5764, - 5765,240,5199,5195,5391,5203,5373,3249,5382,5271, - 1217,3657,990,5186,5192,5165,5168,5180,5177,5183, - 5174,5171,5162,5189,1,5339,5339,227,5339,227, - 227,227,227,2616,130,3146,500,2616,5373,5287, - 5283,5373,5033,569,3705,5150,5224,5364,5141,5135, - 5378,5132,5159,5138,5129,5144,5147,5156,5153,5126, - 5763,647,827,5764,5765,5373,2496,2465,9711,227, - 2496,2465,5373,5336,1,5339,5339,227,5339,227, - 227,227,227,40,5245,5245,1,5412,2593,3636, - 2141,5373,3429,3598,2616,5327,220,5364,179,5373, - 103,1,5373,5227,3480,3708,5860,5373,1,5339, - 5339,227,5339,227,227,227,227,301,9711,227, - 366,5355,5383,5336,338,2126,5673,2496,2465,5373, - 1,5367,5412,107,318,3282,4084,561,2593,5327, - 2141,364,3429,5355,5382,5330,220,5373,9589,9383, - 53,415,9711,227,5390,5373,5860,5336,1,5339, - 5339,227,5339,227,227,227,227,2013,798,4340, - 338,338,2593,5373,2141,1,3429,338,5381,3282, - 219,5364,1,2234,5373,1,409,1955,495,5330, - 5860,1193,1,5339,5339,227,5339,227,227,227, - 227,798,9711,227,493,5333,278,5336,517,5324, - 5390,5373,1238,5373,4103,5364,4822,5373,436,38, - 3551,2955,2593,5373,2141,5373,3429,5380,4372,5373, - 220,5373,4686,2574,3053,5373,9711,227,4840,1, - 5860,5336,1,5339,5339,227,5339,227,227,227, - 227,5373,5373,308,5380,1869,2593,2152,2141,4685, - 3429,517,5373,5373,220,227,5373,510,497,4858, - 3732,2,1,5373,5860,4823,1,5339,5339,227, - 5339,227,227,227,227,5373,9711,227,3037,5373, - 2936,5336,5373,5373,2936,5373,5373,5373,3411,227, - 5373,5373,5373,5373,3421,5373,2593,5373,2141,5373, - 3429,1,5339,5339,227,5339,227,227,227,227, - 9711,227,1931,4427,5860,5336,5373,3506,3518,5373, - 5373,40,5373,5373,227,5373,5373,5373,5373,717, - 2593,5373,2141,5373,3429,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,9711,227,5373,5860,5373, - 5336,5373,5373,5373,5373,5373,5373,5373,5373,5373, - 5373,5373,5373,5373,5373,2593,5373,2141,5373,3429, - 5373,5373,5373,5373,5373,5373,5373,3636,5373,5373, - 5373,5373,5373,5860 + 5359,5334,5331,5331,5331,5331,5331,5331,5331,5344, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5341,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5359,1,1,1,2554,1, + 561,1,1,1,1,1,1411,1,1,1, + 5359,3508,1,1,1,41,5022,5019,1,1, + 1,5366,733,5537,2379,3571,2861,2191,2736,3524, + 3422,160,3569,1068,3550,3631,3540,8,5347,5347, + 5347,5347,5347,5347,5347,5347,5347,5347,5347,5347, + 5347,5347,5347,5347,5347,5347,5347,5347,5347,5347, + 5347,5347,5347,5347,5347,5347,1888,5347,5347,5347, + 5347,5347,5347,5347,5347,5347,5347,5347,5347,5347, + 5347,5359,5347,5347,5347,5347,5347,5347,5347,5347, + 5347,5347,5347,5347,5347,5347,5347,1372,5347,5347, + 5347,5347,124,5359,140,5347,5347,5347,5347,5359, + 5347,5347,5347,5347,5347,5347,5347,5347,188,5347, + 5347,5347,5347,5347,5359,5334,5331,5331,5331,5331, + 5331,5331,5331,5338,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 5341,1,1,2520,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2662,1, + 1,1,2554,1,561,1,1,1,1,1, + 1411,1,1,1,121,3508,1,1,1,503, + 2657,2748,1,1,1,2904,2826,5537,2379,3571, + 2861,2191,2736,3524,3422,2280,3569,1068,3550,3631, + 3540,5359,5334,5331,5331,5331,5331,5331,5331,5331, + 5338,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5341,1,1, + 5356,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,905,1,1,1,2554, + 1,561,1,1,1,1,1,1411,1,1, + 1,5359,3508,1,1,1,5359,5376,5377,1, + 1,1,445,1,5537,2379,3571,2861,2191,2736, + 3524,3422,164,3569,1068,3550,3631,3540,5359,5334, + 5331,5331,5331,5331,5331,5331,5331,5338,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5341,1,1,5359,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,5037,1,1,1,2554,1,561,1, + 1,1,1,1,1411,1,1,1,5359,3508, + 1,1,1,5359,5201,5198,1,1,1,444, + 164,5537,2379,3571,2861,2191,2736,3524,3422,358, + 3569,1068,3550,3631,3540,5359,5334,5331,5331,5331, + 5331,5331,5331,5331,5338,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,5341,1,1,5359,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5040, + 1,1,1,2554,1,561,1,1,1,1, + 1,1411,1,1,1,1611,3508,1,1,1, + 53,5213,5210,1,1,1,345,5359,5537,2379, + 3571,2861,2191,2736,3524,3422,5365,3569,1068,3550, + 3631,3540,5359,5334,5331,5331,5331,5331,5331,5331, + 5331,5338,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5341,1, + 1,5359,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,798,1,1,1, + 2554,1,561,1,1,1,1,1,1411,1, + 1,1,5359,3508,1,1,1,128,5359,42, + 1,1,1,5400,5364,5537,2379,3571,2861,2191, + 2736,3524,3422,5359,3569,1068,3550,3631,3540,5359, + 5334,5331,5331,5331,5331,5331,5331,5331,5338,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5341,1,1,5359,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,2699,1,1,1,2554,1,561, + 1,1,1,1,1,1411,1,1,1,123, + 3508,1,1,1,127,2657,2748,1,1,1, + 2904,2826,5537,2379,3571,2861,2191,2736,3524,3422, + 5359,3569,1068,3550,3631,3540,5359,5334,5331,5331, + 5331,5331,5331,5331,5331,5338,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,5341,1,1,5359,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1306,1,1,1,2554,1,561,1,1,1, + 1,1,1411,1,1,1,122,3508,1,1, + 1,126,2657,2748,1,1,1,2904,2826,5537, + 2379,3571,2861,2191,2736,3524,3422,5359,3569,1068, + 3550,3631,3540,5359,5334,5331,5331,5331,5331,5331, + 5331,5331,5338,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5341, + 1,1,5359,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1789,1,1, + 1,2554,1,561,1,1,1,1,1,1411, + 1,1,1,5359,3508,1,1,1,125,2657, + 2748,1,1,1,301,5359,5537,2379,3571,2861, + 2191,2736,3524,3422,5659,3569,1068,3550,3631,3540, + 5359,3526,1,1,1,1,1,1,1,5369, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5368,1,1,3664, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5359,1,1,1,2554,1, + 561,1,1,1,1,1,1411,1,1,1, + 136,3508,1,1,1,5359,2657,2748,1,1, + 1,1832,114,5537,2379,3571,2861,2191,2736,3524, + 3422,117,3569,1068,3550,3631,3540,42,5034,5031, + 2949,895,3293,3882,3613,3905,5359,1217,3859,3836, + 5623,5621,5630,5629,5625,5626,5624,5627,5628,5631, + 5622,3951,3928,5359,5615,5382,4440,3813,714,875, + 5384,764,620,775,5385,5383,606,5378,5380,5381, + 5379,5359,5618,5693,1327,134,5694,5359,5612,5619, + 5591,5617,5616,582,5613,5614,5592,5359,1,5749, + 333,3477,223,5359,5359,611,5750,5751,382,2349, + 5359,5055,3997,3086,5055,5006,5055,5052,4020,5052, + 5052,3997,342,42,42,3477,5400,4020,1262,5615, + 5686,3704,5052,5052,5055,42,1,5243,5243,5400, + 5240,1262,1262,5686,5686,359,5693,5618,5693,5694, + 5359,5694,5052,5612,5619,5591,5617,5616,798,5613, + 5614,5592,1,5111,5107,2722,5115,2539,5052,3613, + 142,138,141,5052,5052,5052,5359,5376,5377,5052, + 5052,2539,798,3613,363,5111,5107,2722,5115,2539, + 1,3613,1,428,4082,5052,5052,5052,5052,5052, + 5052,5052,5052,5052,5052,5052,5052,5052,5052,5052, + 5052,5052,5052,5052,5052,5052,5052,5052,5052,5052, + 5052,5052,798,359,381,5052,5052,5061,5052,5052, + 5061,359,5061,5058,104,5058,5058,1845,1,5111, + 5107,5289,5115,5295,798,5292,5359,5369,5058,5058, + 5061,1149,5359,5010,5007,4448,895,2539,1262,3613, + 5686,431,1,1,5368,1,388,5028,5064,5028, + 381,2315,2241,2280,1802,1759,1716,1673,1630,1587, + 1544,1501,1458,1415,5058,417,118,4380,5359,5058, + 5058,5058,3366,5359,4701,5058,5058,5363,5359,5111, + 5107,4448,5115,2539,5313,3613,5310,5783,5784,5785, + 500,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5058,5058, + 5058,5058,5058,5058,5058,5058,5058,5058,5359,5376, + 5377,5058,5058,2057,5058,5058,5359,5250,5250,227, + 5246,227,227,227,227,5254,1,4092,2712,1, + 1,1,1,1,1,1,1,1,1,1, + 2063,5359,227,1,132,488,137,3342,3318,342, + 5010,5007,2722,895,2539,1262,3613,5686,53,5201, + 5198,1,1,5359,849,1,133,1,1,1, + 1,1,5367,1,1,1,5362,5359,1,5359, + 5034,5031,116,5400,1,1,1,406,227,5761, + 287,5376,5377,5359,8628,8628,5359,5846,5359,5250, + 5250,227,5246,227,227,227,227,5298,1,798, + 30,1,1,1,1,1,1,1,1,1, + 1,1,5398,95,227,1,5046,488,5359,1574, + 5783,5784,5785,2057,5366,224,389,5034,5031,3408, + 5400,2411,2382,1,1,2349,849,1,1,1, + 1,1,1,1,5359,1,1,1,5319,139, + 1,2713,5615,2411,2382,42,1,1,1,405, + 227,5761,3997,5359,1,5225,5225,3423,4020,5846, + 5618,5693,344,359,5694,1660,5612,5619,5591,5617, + 5616,354,5613,5614,5592,309,5111,5107,4448,5115, + 2539,5313,3613,5310,1,5111,5107,4448,5115,2539, + 5322,3613,5783,5784,5785,5359,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,798,1,4703,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2315, + 5359,359,1,1,5111,5107,4448,5115,2539,359, + 3613,5359,5376,5377,236,5359,2063,5222,1,1, + 1,5111,5107,2722,5115,2539,5712,3613,5884,1, + 5111,5107,2949,5115,3293,3882,3613,3905,2093,5071, + 3859,3836,5098,5104,5077,5080,5092,5089,5095,5086, + 5083,5074,5101,3951,3928,310,5359,5382,2946,3813, + 714,875,5384,764,620,775,5385,5383,606,5378, + 5380,5381,5379,5359,3974,1326,1327,39,5272,5269, + 798,1,5111,5107,5289,5115,5295,5752,5292,5359, + 5213,5210,42,42,504,42,5010,5007,2949,895, + 3293,3882,3613,3905,5367,822,3859,3836,5623,5621, + 5630,5629,5625,5626,5624,5627,5628,5631,5622,3951, + 3928,33,1282,5382,5359,3813,714,875,5384,764, + 620,775,5385,5383,606,5378,5380,5381,5379,5359, + 5010,5007,1327,895,2539,3609,3613,432,42,42, + 5359,5400,1,5231,5359,5228,96,1,1,5367, + 1,5325,5234,5359,5234,500,5366,42,5010,5007, + 2949,895,3293,3882,3613,3905,5367,822,3859,3836, + 5623,5621,5630,5629,5625,5626,5624,5627,5628,5631, + 5622,3951,3928,413,5359,5382,40,3813,714,875, + 5384,764,620,775,5385,5383,606,5378,5380,5381, + 5379,5359,5010,5007,1327,5400,1029,3609,99,42, + 42,5366,5400,5366,5304,5398,5301,5359,225,144, + 5010,5007,2949,895,3293,3882,3613,3905,5366,822, + 3859,3836,5623,5621,5630,5629,5625,5626,5624,5627, + 5628,5631,5622,3951,3928,5615,5359,5382,115,3813, + 714,875,5384,764,620,775,5385,5383,606,5378, + 5380,5381,5379,5618,5693,5359,1327,5694,4463,5612, + 5619,5591,5617,5616,5359,5613,5614,5592,709,5359, + 5376,5377,42,42,1,5111,5107,2949,5115,3293, + 3882,3613,3905,5359,5071,3859,3836,5098,5104,5077, + 5080,5092,5089,5095,5086,5083,5074,5101,3951,3928, + 5359,5858,5382,4558,3813,714,875,5384,764,620, + 775,5385,5383,606,5378,5380,5381,5379,5359,3027, + 42,1327,33,135,5400,5359,5010,5007,3997,895, + 2539,582,3613,5359,4020,5359,4666,42,42,42, + 5010,5007,2949,895,3293,3882,3613,3905,5363,822, + 3859,3836,5623,5621,5630,5629,5625,5626,5624,5627, + 5628,5631,5622,3951,3928,1084,5013,5382,5359,3813, + 714,875,5384,764,620,775,5385,5383,606,5378, + 5380,5381,5379,42,5010,5007,2949,895,3293,3882, + 3613,3905,3596,822,3859,3836,5623,5621,5630,5629, + 5625,5626,5624,5627,5628,5631,5622,3951,3928,5359, + 52,5382,550,3813,714,875,5384,764,620,775, + 5385,5383,606,5378,5380,5381,5379,5359,5010,5007, + 1327,5400,103,3609,5783,5784,5785,1,5359,1008, + 3477,389,5376,5377,5359,1,338,4689,42,5010, + 5007,2949,895,3293,3882,3613,3905,5362,822,3859, + 3836,5623,5621,5630,5629,5625,5626,5624,5627,5628, + 5631,5622,3951,3928,4066,990,5382,441,3813,714, + 875,5384,764,620,775,5385,5383,606,5378,5380, + 5381,5379,2013,1,44,1327,858,798,5815,5809, + 5359,5813,338,338,5807,5808,5359,1,5331,5331, + 227,5331,227,227,227,227,227,5838,5839,5359, + 226,5016,3634,5816,338,5359,5010,5007,5359,895, + 5068,3702,3613,227,8671,42,5328,5818,5043,5400, + 5714,1,5111,5107,4448,5115,2539,5615,3613,316, + 309,3578,5307,704,844,2554,1712,1745,5819,5840, + 5817,5359,5359,2230,120,5618,5693,309,3508,5694, + 3366,5612,5619,5591,5617,5616,142,5613,5614,5592, + 1702,5829,5828,5841,5810,5811,5834,5835,5846,2938, + 5832,5833,5812,5814,5836,5837,5842,5822,5823,5824, + 5820,5821,5830,5831,5826,5825,5827,5359,288,798, + 858,5359,5815,5809,286,5813,1,381,5807,5808, + 382,1,5331,5331,227,5331,227,227,227,227, + 5350,5838,5839,301,5359,5010,5007,5816,895,5068, + 397,3613,5359,5659,5359,8571,8534,227,8671,5283, + 5328,5818,40,5237,5237,3342,3318,5237,40,5237, + 5237,5049,5359,859,1832,107,5286,704,4073,2554, + 1712,1745,5819,5840,5817,1974,5801,2230,2241,1, + 1021,1015,3508,366,5359,5201,5198,5398,5365,2234, + 5359,3221,219,4380,894,5829,5828,5841,5810,5811, + 5834,5835,5846,5359,5832,5833,5812,5814,5836,5837, + 5842,5822,5823,5824,5820,5821,5830,5831,5826,5825, + 5827,42,5010,5007,2949,895,3293,3882,3613,3905, + 5359,822,3859,3836,5623,5621,5630,5629,5625,5626, + 5624,5627,5628,5631,5622,3951,3928,3974,1326,5382, + 1193,3813,714,875,5384,764,620,775,5385,5383, + 606,5378,5380,5381,5379,5359,5364,5359,1918,48, + 5207,5207,42,5010,5007,2949,895,3293,3882,3613, + 3905,1592,822,3859,3836,5623,5621,5630,5629,5625, + 5626,5624,5627,5628,5631,5622,3951,3928,5204,5359, + 5382,5359,3813,714,875,5384,764,620,775,5385, + 5383,606,5378,5380,5381,5379,5359,8571,8534,1327, + 42,5010,5007,4842,895,3293,3882,3613,3905,1, + 822,3859,3836,5623,5621,5630,5629,5625,5626,5624, + 5627,5628,5631,5622,3951,3928,278,5359,5382,5316, + 3813,714,875,5384,764,620,775,5385,5383,606, + 5378,5380,5381,5379,42,5010,5007,2949,895,3293, + 3882,3613,3905,500,822,3859,3836,5623,5621,5630, + 5629,5625,5626,5624,5627,5628,5631,5622,3951,3928, + 129,1961,5382,131,3813,714,875,5384,764,620, + 775,5385,5383,606,5378,5380,5381,5379,42,5010, + 5007,2949,895,3293,3882,3613,3905,5359,822,3859, + 3836,5623,5621,5630,5629,5625,5626,5624,5627,5628, + 5631,5622,3951,3928,2616,521,5382,2616,3813,714, + 875,5384,764,620,775,5385,5383,606,5378,5380, + 5381,5379,5359,5034,5031,5025,5400,119,5216,40, + 5237,5237,1178,3366,318,5623,5621,5630,5629,5625, + 5626,5624,5627,5628,5631,5622,1,5359,5359,5615, + 364,944,3435,2496,2465,166,2496,2465,1072,5359, + 5260,5257,3710,5359,50,5266,5266,5618,5693,5359, + 5359,5694,166,5612,5619,5591,5617,5616,5365,5613, + 5614,5592,5359,130,5749,240,5191,5187,5398,5195, + 611,5750,5751,5263,798,1178,5359,435,5178,5184, + 5157,5160,5172,5169,5175,5166,5163,5154,5181,415, + 5359,409,5142,3708,990,5359,5359,1238,3342,3318, + 1,5359,5279,5275,5369,5359,2447,2616,5359,5369, + 5133,5127,1325,166,5124,4916,5151,5130,5121,5136, + 5139,5368,5148,5145,5118,222,5368,5749,5219,79, + 5398,5359,3429,611,5750,5751,5364,5359,5623,5621, + 5630,5629,5625,5626,5624,5627,5628,5631,5622,2545, + 5359,495,5615,5426,5427,2694,2496,2465,2152,1, + 5331,5331,227,5331,227,227,227,227,5350,53, + 5618,5693,1,5377,5694,436,5612,5619,5591,5617, + 5616,517,5613,5614,5592,227,8671,561,5328,3080, + 1,5331,5331,227,5331,227,227,227,227,5353, + 40,5237,5237,2102,1,5359,53,2554,4074,5359, + 5376,371,4687,5377,5319,2230,227,8671,4909,5328, + 3508,5359,5359,5359,3595,5359,4369,5359,493,5398, + 219,5359,569,3423,4872,5359,5369,5359,2554,5359, + 5846,2689,3517,1,5359,5359,2230,4889,38,647, + 5376,3508,1,5368,5359,5359,5359,5359,308,517, + 1482,218,5359,2,5359,3246,5322,4702,510,3620, + 497,5846,1,5331,5331,227,5331,227,227,227, + 227,5350,5359,1,5331,5331,227,5331,227,227, + 227,227,5350,4337,5540,4912,5359,3460,227,8671, + 4182,5328,3087,5359,3089,3187,1,40,5359,227, + 8671,5359,5328,5359,5359,2738,5359,5539,5359,5359, + 2554,5359,5359,2738,4424,5359,5359,5359,2230,1931, + 3620,2554,5359,3508,3501,5359,5359,717,3428,2230, + 5359,5359,5359,219,3508,5359,5359,5359,5359,5359, + 5359,5359,5359,5846,219,5359,5359,5359,5359,5359, + 5359,5359,5359,5359,5846,1,5331,5331,227,5331, + 227,227,227,227,227,1,5331,5331,227,5331, + 227,227,227,227,227,5359,5359,3620,5359,5359, + 5359,227,8671,5359,5328,5359,5359,5359,5359,5359, + 5359,227,8671,5359,5328,5359,5359,5359,5359,5359, + 5359,5359,5359,2554,5359,5359,5359,5359,5359,5359, + 5359,2230,5359,2554,5359,5359,3508,5359,5359,5359, + 5359,2230,5359,5359,5359,5359,3508,5359,5359,5359, + 5359,5359,5359,5359,5359,5359,5846,5359,5359,5359, + 5359,5359,5359,5359,5359,5359,5846,1,5331,5331, + 227,5331,227,227,227,227,227,5359,5359,5359, + 5359,5359,5359,5359,5359,5359,5359,5359,5359,5359, + 5359,5359,5359,227,8671,5359,5328,5359,5359,5359, + 5359,5359,5359,5359,5359,5359,5359,5359,5359,5359, + 5359,5359,5359,5359,5359,2554,5359,5359,5359,5359, + 5359,5359,5359,2230,5359,5359,5359,5359,3508,5359, + 5359,5359,5359,5359,5359,5359,5359,5359,5359,5359, + 5359,5359,5359,5359,5359,5359,5359,5359,5846 }; }; public final static char termAction[] = TermAction.termAction; @@ -1900,59 +1715,59 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 844,67,163,67,61,607,770,770,770,770, - 57,607,789,770,439,789,881,844,883,164, - 164,164,164,164,164,164,164,164,1059,1065, - 1070,1067,1074,1072,1079,1077,1081,1080,1082,253, - 1083,163,146,29,29,29,29,203,261,1, - 786,29,116,652,789,789,1,470,789,652, - 936,28,701,59,1040,146,1042,1042,1017,1017, - 261,844,164,164,164,164,164,164,164,164, - 164,164,164,164,164,164,164,164,164,164, - 164,163,163,163,163,163,163,163,163,163, - 163,163,844,164,652,652,241,147,509,509, - 509,509,350,652,1,247,1029,1040,934,1040, - 774,1040,931,1040,1024,57,203,116,116,1, - 116,28,163,201,700,652,200,203,202,200, - 652,116,1067,1067,1065,1065,1065,1072,1072,1072, - 1072,1070,1070,1077,1074,1074,1080,1079,1081,1117, - 1082,247,75,616,555,554,511,57,883,607, - 607,607,607,203,203,509,799,508,786,203, - 782,306,203,778,350,777,609,934,387,203, - 203,203,350,509,164,29,1063,206,652,59, - 203,203,202,701,163,241,116,1098,652,618, - 620,203,701,844,844,844,844,607,607,147, - 251,782,306,778,610,778,350,778,387,387, - 203,350,203,652,1063,247,700,59,203,201, - 652,435,547,558,620,350,201,652,652,652, - 652,261,261,782,781,659,203,306,1117,352, - 299,1107,306,778,778,707,203,387,659,657, - 658,203,1063,1064,1063,844,206,304,59,392, - 163,556,556,402,402,203,614,247,354,652, - 203,652,652,782,701,770,200,415,1109,197, - 607,760,56,708,203,659,164,203,1063,261, - 164,116,304,392,163,163,620,203,701,652, - 618,547,392,522,201,321,201,778,778,197, - 1103,247,203,763,164,1117,410,707,203,57, - 57,203,1064,652,116,431,620,392,1104,321, - 201,778,934,57,1109,197,700,164,164,203, - 203,203,431,652,431,508,770,69,69,1104, - 934,127,760,203,607,203,203,607,424,431, - 321,716,321,507,507,655,128,57,203,261, - 621,424,772,979,598,607,419,752,321,29, - 29,655,127,1117,164,1117,1104,607,607,607, - 128,607,203,563,1104,1104,203,934,126,652, - 559,426,662,509,598,772,715,934,934,839, - 57,508,119,607,119,1117,128,146,146,144, - 888,146,1104,1104,837,655,29,426,716,715, - 716,1104,409,1103,652,715,715,715,57,203, - 385,354,652,197,652,563,1104,598,607,652, - 655,715,163,892,197,1104,659,715,715,715, - 203,203,69,652,652,535,128,837,128,1104, - 563,598,844,128,125,659,652,890,659,659, - 203,1104,507,934,934,969,163,126,842,1104, - 652,890,1104,200,128,652,842,1104,658,128, - 652,890,128 + 443,67,113,61,968,737,737,737,737,57, + 968,747,737,850,747,720,113,722,114,114, + 114,114,114,114,114,114,114,1058,1064,1069, + 1066,1073,1071,1078,1076,1080,1079,1081,301,1082, + 113,97,29,29,29,29,153,682,1,744, + 29,203,250,747,747,1,881,747,250,927, + 28,626,59,1039,97,1041,1041,1008,1008,682, + 113,114,114,114,114,114,114,114,114,114, + 114,114,114,114,114,114,114,114,114,114, + 113,113,113,113,113,113,113,113,113,113, + 113,113,114,250,250,241,97,920,920,920, + 920,297,250,1,348,1028,1039,802,1039,797, + 1039,799,1039,1023,57,153,203,203,1,203, + 28,113,151,625,250,150,153,152,150,250, + 203,1066,1066,1064,1064,1064,1071,1071,1071,1071, + 1069,1069,1076,1073,1073,1079,1078,1080,1116,1081, + 348,162,541,531,530,487,57,722,968,968, + 968,968,153,153,920,757,919,744,153,740, + 253,153,584,297,354,582,802,358,153,153, + 153,297,920,114,29,1062,206,250,59,153, + 153,152,626,113,241,203,1097,250,543,545, + 153,626,113,113,113,113,968,968,97,352, + 740,253,584,583,584,297,584,358,358,153, + 297,153,250,1062,348,625,59,153,151,250, + 535,523,534,545,297,151,250,250,250,250, + 682,682,740,739,679,153,253,1116,299,843, + 1106,253,584,584,1015,153,358,679,677,678, + 153,1062,1063,1062,113,206,848,59,396,113, + 532,532,410,410,153,539,348,363,250,153, + 250,250,740,626,737,150,406,1108,147,968, + 727,56,1016,153,679,114,153,1062,682,114, + 203,848,396,113,113,545,153,626,250,543, + 523,396,498,151,268,151,584,584,147,1102, + 348,153,730,114,1116,418,1015,153,57,57, + 153,1063,250,203,435,545,396,1103,268,151, + 584,802,57,1108,147,625,114,114,153,153, + 153,435,250,435,919,737,156,156,1103,802, + 77,727,153,968,153,153,968,428,435,268, + 633,268,918,918,580,78,57,153,682,546, + 428,485,970,343,968,423,669,268,29,29, + 580,77,1116,114,1116,1103,968,968,968,78, + 968,153,309,1103,1103,153,802,250,249,430, + 587,920,343,485,632,802,802,922,57,919, + 69,968,69,1116,78,97,97,95,925,97, + 1103,1103,795,580,29,430,633,632,633,1103, + 417,1102,250,632,632,632,57,153,578,363, + 250,147,250,309,1103,343,968,250,580,632, + 113,806,147,1103,679,632,632,632,153,153, + 156,250,250,511,78,795,78,1103,309,343, + 113,78,75,679,250,804,679,679,153,1103, + 918,802,802,960,113,76,682,1103,1103,250, + 804,1103,150,78,250,682,1103,678,78,250, + 804,78 }; }; public final static char asb[] = Asb.asb; @@ -1960,118 +1775,118 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 28,42,29,30,43,7,31,32,33,34, - 41,35,36,37,38,39,26,24,25,8, - 6,10,11,5,27,69,40,3,51,12, - 13,59,48,14,61,52,44,15,53,54, - 16,17,55,56,18,19,57,62,58,9, - 63,20,21,50,22,47,1,2,4,0, - 23,73,118,76,45,70,119,0,69,71, - 70,1,2,0,42,43,9,29,33,31, - 28,36,13,22,12,18,16,17,19,20, - 15,14,21,37,40,38,39,26,35,30, - 34,5,7,4,3,24,25,8,6,10, - 11,27,32,1,2,118,23,0,82,114, - 115,116,49,73,120,122,72,74,64,66, - 68,77,79,86,84,75,81,83,85,87, - 65,78,80,23,45,46,61,59,62,63, - 51,56,57,44,55,54,47,52,48,50, - 53,58,41,42,43,9,29,33,31,28, - 36,13,22,12,18,16,17,19,20,15, - 14,21,37,40,38,39,26,35,30,34, - 24,25,10,11,27,32,8,6,3,4, - 7,5,1,2,0,96,90,10,11,91, - 92,88,89,60,93,94,97,98,99,100, - 101,102,117,73,95,71,104,105,106,107, - 108,109,110,111,112,113,118,72,45,119, - 23,69,70,76,3,67,1,2,8,4, - 6,0,69,73,95,70,118,72,45,119, - 23,76,12,13,28,42,14,29,30,15, - 16,17,43,31,18,19,32,33,34,41, - 35,36,20,21,22,37,38,39,26,3, - 24,25,8,6,10,11,27,40,7,1, - 2,4,9,5,0,82,7,114,115,116, - 64,23,3,8,6,5,73,72,45,46, - 51,12,13,59,48,14,61,52,44,15, - 53,54,16,17,55,56,18,19,57,62, - 58,9,63,20,47,21,50,22,4,1, - 2,49,0,51,12,13,48,14,61,52, - 44,15,53,54,16,17,55,56,18,19, - 57,62,58,9,63,20,47,21,50,22, - 1,2,4,95,59,0,1,2,23,72, - 0,48,41,50,23,69,95,71,70,76, - 0,74,65,69,73,95,76,67,3,23, - 70,45,71,0,65,73,74,0,1,2, - 123,65,0,48,50,74,3,65,73,45, - 41,69,71,70,23,76,95,0,51,12, - 13,59,48,14,61,52,44,15,53,54, - 16,17,55,56,18,19,57,62,58,9, - 63,20,47,21,50,22,1,2,4,43, - 42,10,11,6,91,92,99,8,100,5, - 27,60,107,108,104,105,106,112,111,113, - 89,88,109,110,97,98,93,94,101,102, - 24,25,90,103,3,67,71,70,69,0, - 12,13,14,15,16,17,18,19,20,21, - 22,51,48,52,44,53,54,55,56,57, - 58,47,50,45,23,76,7,1,2,67, - 3,8,6,5,4,0,8,6,7,5, - 4,1,2,3,67,69,71,95,76,23, - 70,0,12,13,28,42,14,29,30,15, - 16,17,43,31,18,19,32,33,34,41, - 35,36,9,20,21,22,37,38,39,26, - 24,25,10,11,27,40,46,23,8,6, - 45,5,7,1,2,4,3,0,4,60, - 65,73,0,5,7,3,67,6,8,95, - 51,12,13,59,48,14,61,52,44,15, - 53,54,16,17,55,56,18,19,57,62, - 58,9,63,20,47,21,50,22,1,2, - 4,76,23,0,120,0,71,70,72,23, - 0,68,51,12,13,59,48,14,61,52, - 82,44,15,53,54,16,17,55,66,56, - 18,19,57,62,58,9,63,20,64,47, - 21,50,22,23,3,8,4,45,65,6, - 7,1,2,5,49,0,47,1,2,4, - 114,115,116,0,72,59,48,14,61,52, - 15,53,54,16,17,55,56,18,19,57, - 62,58,63,20,47,21,50,22,13,12, - 51,23,3,8,6,45,64,68,82,44, - 49,7,1,2,5,4,9,66,0,65, - 70,0,73,23,67,3,71,70,45,60, - 0,26,0,49,1,2,4,65,73,0, - 41,48,7,50,5,1,2,4,74,23, - 65,73,95,118,76,72,45,119,67,3, - 121,96,103,90,24,25,8,6,10,11, - 91,92,88,89,60,93,94,97,98,99, - 100,101,102,117,104,105,106,107,108,109, - 110,111,112,113,69,70,71,0,65,71, - 0,23,76,12,13,28,14,29,30,15, - 16,17,31,18,19,32,33,34,41,35, - 36,9,20,21,22,37,38,39,26,3, - 24,25,8,6,10,11,27,4,40,46, - 5,7,1,2,43,42,0,75,0,23, - 72,42,43,41,24,25,8,6,10,11, - 5,27,32,3,7,37,40,38,39,26, - 35,30,34,13,22,12,18,16,17,19, - 20,15,14,21,9,29,33,31,28,36, - 4,1,2,65,0,42,43,24,25,10, - 11,27,32,37,40,38,39,26,35,30, - 34,13,22,12,18,16,17,19,20,15, - 14,21,9,29,33,31,28,36,8,6, - 3,67,5,7,1,2,4,0,59,48, - 14,61,52,15,53,54,16,17,55,56, - 18,19,57,62,58,9,63,20,47,21, - 50,22,13,12,51,23,3,8,6,45, - 64,66,68,82,44,60,7,4,49,5, - 1,2,0,9,61,59,62,63,13,22, - 12,18,16,17,19,20,15,14,21,74, - 65,4,5,2,1,50,47,58,57,56, - 7,55,54,53,44,52,48,51,121,103, - 24,25,67,3,96,90,6,91,92,10, - 11,89,88,60,93,94,97,98,8,99, - 100,101,69,95,76,119,71,104,105,106, - 107,108,109,110,111,112,113,73,118,72, - 102,117,70,45,23,0,45,23,5,7, - 3,1,2,4,6,8,73,0 + 31,63,32,33,64,7,34,35,36,37, + 47,38,39,40,41,42,28,24,25,8, + 6,11,12,5,30,65,43,3,51,13, + 14,62,46,15,68,52,27,16,53,54, + 17,18,55,57,19,20,58,69,59,10, + 70,21,22,49,23,45,1,2,4,0, + 9,72,118,87,26,66,121,0,81,114, + 115,116,29,72,119,122,71,73,74,48, + 56,61,76,78,85,83,75,80,82,84, + 86,50,77,79,9,26,51,62,46,68, + 52,27,53,54,55,57,58,69,59,70, + 45,49,47,63,64,10,32,36,34,31, + 39,14,23,13,19,17,18,20,21,16, + 15,22,40,43,41,42,28,38,33,37, + 24,25,11,12,30,35,8,6,3,4, + 7,5,1,2,0,65,67,66,1,2, + 0,63,64,10,32,36,34,31,39,14, + 23,13,19,17,18,20,21,16,15,22, + 40,43,41,42,28,38,33,37,5,7, + 4,3,24,25,8,6,11,12,30,35, + 1,2,118,9,0,96,90,11,12,91, + 92,88,89,44,93,94,97,98,99,100, + 101,102,117,72,95,67,104,105,106,107, + 108,109,110,111,112,113,118,71,26,121, + 65,1,2,8,6,4,3,60,66,87, + 9,0,81,7,114,115,116,48,9,3, + 8,6,5,72,71,26,73,51,13,14, + 62,46,15,68,52,27,16,53,54,17, + 18,55,57,19,20,58,69,59,10,70, + 21,45,22,49,23,4,1,2,29,0, + 65,72,95,66,118,87,71,121,13,14, + 31,63,15,32,33,16,17,18,64,34, + 19,20,35,36,37,47,38,39,10,21, + 22,23,40,41,42,28,24,25,11,12, + 30,43,9,26,5,7,3,1,2,8, + 4,6,0,4,50,72,0,1,2,9, + 71,0,51,13,14,62,46,15,68,52, + 27,16,53,54,17,18,55,57,19,20, + 58,69,59,10,70,21,45,22,49,23, + 1,2,4,95,0,46,47,49,9,65, + 95,67,66,87,0,50,72,74,0,74, + 50,65,72,95,87,60,3,9,66,26, + 67,0,1,2,123,50,0,46,49,74, + 3,50,72,26,47,9,65,95,67,66, + 87,0,13,14,31,63,15,32,33,16, + 17,18,64,7,34,19,20,35,36,37, + 47,38,39,10,21,22,23,40,41,42, + 1,2,3,24,25,8,6,11,12,5, + 30,4,43,73,28,0,13,14,15,16, + 17,18,19,20,21,22,23,51,46,52, + 27,53,54,55,57,58,59,45,49,26, + 9,87,7,1,2,60,3,8,6,5, + 4,0,8,6,7,5,4,1,2,3, + 60,65,67,66,9,87,95,0,5,7, + 3,60,6,8,95,51,13,14,46,15, + 68,52,27,16,53,54,17,18,55,57, + 19,20,58,69,59,10,70,21,45,22, + 49,23,1,2,4,87,9,62,0,119, + 0,4,44,50,72,0,61,51,13,14, + 62,46,15,68,52,81,27,16,53,54, + 17,18,55,56,57,19,20,58,69,59, + 10,70,21,48,45,22,49,23,9,3, + 8,4,26,50,6,7,1,2,5,29, + 0,71,62,46,15,68,52,16,53,54, + 17,18,55,57,19,20,58,69,59,70, + 21,45,22,49,23,14,13,51,9,3, + 8,6,26,48,61,81,27,29,7,1, + 2,5,4,10,56,0,67,66,71,9, + 0,9,87,13,14,31,15,32,33,16, + 17,18,34,19,20,35,36,37,47,38, + 39,10,21,22,23,40,41,42,28,3, + 24,25,8,6,11,12,30,4,43,5, + 7,1,2,64,63,0,50,66,0,72, + 9,60,3,67,66,26,44,0,47,46, + 7,49,5,1,2,4,74,9,50,72, + 95,118,87,71,26,121,60,3,120,96, + 103,90,24,25,8,6,11,12,91,92, + 88,89,44,93,94,97,98,99,100,101, + 102,117,104,105,106,107,108,109,110,111, + 112,113,65,66,67,0,29,72,4,1, + 2,50,0,9,71,63,64,47,24,25, + 8,6,11,12,30,35,3,40,43,41, + 42,28,38,33,37,14,23,13,19,17, + 18,20,21,16,15,22,32,36,34,31, + 39,50,7,1,2,4,10,5,0,51, + 13,14,62,46,15,68,52,27,16,53, + 54,17,18,55,57,19,20,58,69,59, + 10,70,21,45,22,49,23,1,2,4, + 64,63,11,12,6,91,92,99,8,100, + 5,30,44,107,108,104,105,106,112,111, + 113,89,88,109,110,97,98,93,94,101, + 102,24,25,90,103,3,60,67,66,65, + 0,50,67,0,75,0,63,64,24,25, + 11,12,30,35,40,43,41,42,28,38, + 33,37,14,23,13,19,17,18,20,21, + 16,15,22,10,32,36,34,31,39,8, + 6,60,5,7,1,2,4,3,0,62, + 46,15,68,52,16,53,54,17,18,55, + 57,19,20,58,69,59,10,70,21,45, + 22,49,23,14,13,51,9,3,8,6, + 26,48,56,61,81,27,44,7,4,29, + 5,1,2,0,45,1,2,4,114,115, + 116,0,10,68,62,69,70,14,23,13, + 19,17,18,20,21,16,15,22,74,50, + 4,5,2,1,49,45,59,58,57,7, + 55,54,53,27,52,46,51,120,103,24, + 25,60,3,96,90,6,91,92,11,12, + 89,88,44,93,94,97,98,8,99,100, + 101,65,95,87,121,67,104,105,106,107, + 108,109,110,111,112,113,72,118,71,102, + 117,66,26,9,0,26,9,5,7,3, + 1,2,4,6,8,72,0 }; }; public final static byte asr[] = Asr.asr; @@ -2079,59 +1894,59 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 97,11,31,11,11,11,11,11,11,11, - 141,11,11,11,93,11,178,155,192,31, - 31,176,31,31,31,31,31,31,11,11, - 11,11,11,11,11,11,11,11,11,31, - 11,31,163,218,218,218,218,192,195,114, - 20,4,48,240,11,11,114,95,11,240, - 31,40,57,11,11,163,11,11,15,15, - 195,155,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31, - 31,31,155,31,240,240,129,1,11,11, - 11,11,26,240,29,140,214,215,11,215, - 190,215,50,215,208,141,192,48,48,29, - 48,218,133,187,36,240,186,10,192,186, - 240,48,11,11,11,11,11,11,11,11, + 95,11,37,11,11,11,11,11,11,130, + 11,11,11,182,11,155,142,169,37,37, + 153,37,37,37,37,37,37,11,11,11, + 11,11,11,11,11,11,11,11,37,11, + 37,215,212,212,212,212,169,150,112,77, + 4,52,240,11,11,112,184,11,240,37, + 80,58,11,11,215,11,11,17,17,150, + 142,37,37,37,37,37,37,37,37,37, + 37,37,37,37,37,37,37,37,37,37, + 37,37,37,37,37,37,37,37,37,37, + 37,142,37,240,240,121,1,11,11,11, + 11,30,240,35,129,205,206,11,206,167, + 206,22,206,199,130,169,52,52,35,52, + 212,118,164,42,240,163,10,169,163,240, + 52,11,11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11, - 11,140,44,129,80,80,11,141,192,11, - 11,11,11,23,10,11,11,11,200,192, - 114,114,179,114,235,114,11,11,114,235, - 192,10,11,11,31,218,114,69,240,11, - 10,192,90,57,31,198,48,11,240,120, - 114,192,57,155,155,155,155,11,11,29, - 11,125,228,114,114,84,56,84,114,51, - 10,56,23,240,82,200,36,11,10,23, - 240,11,108,11,122,55,23,240,240,240, - 240,195,195,114,125,63,192,118,11,11, - 53,221,228,84,84,172,23,51,63,11, - 11,23,114,67,11,155,200,91,11,114, - 31,11,11,80,80,192,108,140,122,240, - 23,240,240,125,57,11,141,114,136,110, - 11,11,141,72,235,63,31,51,82,195, - 31,48,91,125,31,31,114,10,57,240, - 120,182,114,11,187,114,235,114,127,184, - 118,140,192,11,31,11,78,148,235,141, - 141,10,67,240,48,114,122,125,118,122, - 187,127,74,100,110,184,57,31,31,10, - 235,235,106,240,114,11,11,42,42,118, - 74,12,11,235,11,10,10,11,114,106, - 122,203,114,11,11,114,143,100,10,195, - 238,125,11,203,222,11,51,53,122,218, - 218,76,152,11,31,11,118,11,11,11, - 153,11,51,116,118,118,51,88,11,240, - 240,114,114,11,136,11,114,11,11,11, - 141,11,65,11,11,11,153,217,217,158, - 11,217,118,118,11,114,218,106,203,114, - 203,118,86,11,240,167,114,114,141,235, - 11,218,240,110,240,160,118,114,11,240, - 76,167,133,31,110,118,63,203,167,167, - 235,104,42,240,240,114,153,11,153,118, - 160,110,155,153,65,63,240,114,63,63, - 104,118,11,88,88,108,31,11,160,118, - 240,59,118,186,153,240,160,118,63,153, - 240,59,153 + 129,48,121,86,86,11,130,169,11,11, + 11,11,27,10,11,11,11,179,169,112, + 112,156,112,208,112,11,11,112,208,169, + 10,11,11,37,212,112,70,240,11,10, + 169,92,58,37,177,52,11,240,233,112, + 169,58,142,142,142,142,11,11,35,11, + 132,226,112,112,66,57,66,112,23,10, + 57,27,240,88,179,42,11,10,27,240, + 11,106,11,235,56,27,240,240,240,240, + 150,150,112,132,64,169,188,11,11,54, + 219,226,66,66,195,27,23,64,11,11, + 27,112,68,11,142,179,93,11,112,37, + 11,11,86,86,169,106,129,235,240,27, + 240,240,132,58,11,130,112,125,108,11, + 11,130,73,208,64,37,23,88,150,37, + 52,93,132,37,37,112,10,58,240,233, + 159,112,11,164,112,208,112,104,161,188, + 129,169,11,37,11,12,114,208,130,130, + 10,68,240,52,112,235,132,188,235,164, + 104,75,98,108,161,58,37,37,10,208, + 208,33,240,112,11,11,46,46,188,75, + 14,11,208,11,10,10,11,112,33,235, + 190,112,11,11,112,134,98,10,150,238, + 132,11,190,220,11,23,54,235,212,212, + 82,139,11,37,11,188,11,11,11,140, + 11,23,186,188,188,23,90,240,240,112, + 112,11,125,11,112,11,11,11,130,11, + 25,11,11,11,140,211,211,172,11,211, + 188,188,11,112,212,33,190,112,190,188, + 84,11,240,145,112,112,130,208,11,212, + 240,108,240,174,188,112,11,240,82,145, + 118,37,108,188,64,190,145,145,208,102, + 46,240,240,112,140,11,140,188,174,108, + 142,140,25,64,240,112,64,64,102,188, + 11,90,90,106,37,11,174,188,188,240, + 60,188,163,140,240,174,188,64,140,240, + 60,140 }; }; public final static char nasb[] = Nasb.nasb; @@ -2140,29 +1955,29 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, 3,13,8,6,147,145,120,144,143,2, - 0,5,64,0,6,2,8,134,0,5, - 185,0,4,3,0,131,65,0,48,5, - 6,8,2,13,0,65,133,132,0,171, - 0,110,0,13,2,8,6,78,0,6, - 1,0,151,0,131,2,65,0,13,2, - 8,6,64,0,113,0,136,0,5,173, - 0,183,0,155,0,156,0,181,0,67, - 0,138,0,111,0,175,0,56,0,2, - 114,0,5,48,167,0,5,170,0,165, - 6,164,0,150,0,123,0,97,96,63, - 6,2,8,5,0,5,39,40,0,6, - 91,24,5,0,61,0,154,0,96,97, - 5,0,5,29,0,2,63,8,5,91, - 6,0,5,45,39,174,0,6,104,161, - 0,64,45,69,5,39,0,45,49,5, - 102,0,5,48,39,0,105,5,45,68, - 0,6,104,182,0,6,13,8,2,3, - 0,97,96,63,55,6,8,2,0,3, - 6,2,44,0,5,99,0,97,96,6, - 55,0,5,45,68,79,0,2,6,120, - 116,117,118,13,88,0,115,5,48,0, - 40,6,2,8,5,153,0,5,45,68, - 104,46,6,0,2,54,0,48,5,35, + 0,182,0,5,64,0,6,2,8,134, + 0,6,1,0,113,0,4,3,0,131, + 65,0,123,0,48,5,6,8,2,13, + 0,65,133,132,0,110,0,13,2,8, + 6,78,0,151,0,131,2,65,0,13, + 2,8,6,64,0,111,0,136,0,5, + 173,0,184,0,155,0,5,186,0,171, + 0,156,0,176,0,67,0,138,0,56, + 0,2,114,0,5,170,0,165,6,164, + 0,150,0,154,0,97,96,63,6,2, + 8,5,0,6,104,161,0,5,29,0, + 96,97,5,0,2,63,8,5,91,6, + 0,61,0,5,47,39,174,0,64,47, + 69,5,39,0,105,5,47,68,0,5, + 99,0,6,13,8,2,3,0,97,96, + 63,55,6,8,2,0,3,6,2,44, + 0,24,175,5,102,0,97,96,6,55, + 0,5,48,167,0,5,39,40,0,5, + 47,68,79,0,6,104,183,0,2,6, + 120,116,117,118,13,88,0,2,54,0, + 115,5,48,0,5,48,39,0,40,6, + 2,8,5,153,0,5,47,68,104,45, + 6,0,6,91,24,5,0,48,5,35, 0 }; }; @@ -2171,19 +1986,19 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TerminalIndex { public final static char terminalIndex[] = {0, - 115,116,2,32,14,11,81,10,102,12, - 13,50,54,62,70,76,77,88,89,104, - 107,109,117,8,9,114,15,57,63,69, - 86,90,92,96,99,101,111,112,113,46, - 97,60,80,68,122,123,106,56,95,108, - 49,66,72,75,78,85,91,100,55,20, - 65,93,103,105,3,79,1,48,21,45, - 34,121,31,98,110,120,51,52,58,59, - 61,67,71,73,74,87,94,18,19,7, + 115,116,2,32,14,11,81,10,117,102, + 12,13,50,54,62,70,76,77,88,89, + 104,107,109,8,9,122,68,114,95,15, + 57,63,69,86,90,92,96,99,101,111, + 112,113,46,20,106,56,97,105,108,3, + 49,66,72,75,78,79,85,91,100,1, + 48,55,60,80,21,45,34,65,93,103, + 121,31,123,98,110,51,52,58,59,61, + 67,71,73,74,87,94,120,18,19,7, 16,17,22,23,33,5,24,25,26,27, 28,29,6,35,36,37,38,39,40,41, - 42,43,44,82,83,84,30,119,125,53, - 4,64,124,118 + 42,43,44,82,83,84,30,119,53,4, + 125,64,124,118 }; }; public final static char terminalIndex[] = TerminalIndex.terminalIndex; @@ -2195,7 +2010,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 135,0,146,0,134,0,0,145,151,0, 0,152,161,182,162,163,164,165,154,140, 166,167,168,169,128,170,171,0,133,130, - 172,0,142,141,0,180,0,155,179,0, + 172,0,142,141,180,0,0,155,0,0, 0,0,0,0,158,175,0,205,0,148, 189,202,206,129,0,0,207,0,174,0, 0,0,0,0,0,0,178,127,131,0, @@ -2208,9 +2023,9 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,183,184,185,186,187,190,0,196,198, 0,199,204,0,216,217,0,222,225,227, 229,0,232,233,234,0,236,237,240,126, - 0,153,156,176,201,214,219,0,223,224, - 226,228,0,230,231,243,244,0,0,0, - 0,0,0 + 0,153,156,176,179,201,214,219,0,223, + 224,226,228,0,230,231,243,244,0,0, + 0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2218,18 +2033,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 146,582,601,367,533,549,560,571,347,252, - 266,288,294,300,42,277,392,430,154,590, - 375,476,20,51,75,80,85,122,182,283, - 306,317,328,258,272,504,27,357,328,609, + 146,586,605,371,537,553,564,575,351,252, + 266,288,294,300,42,277,396,434,154,594, + 379,480,20,51,75,80,85,122,182,283, + 306,317,328,258,272,508,27,361,328,613, 27,204,231,1,14,61,71,101,136,311, - 324,333,340,448,469,498,525,529,619,623, - 627,92,7,92,136,410,426,439,459,517, - 439,540,556,567,578,194,381,487,56,56, - 143,209,212,56,226,247,212,212,56,344, - 454,466,473,143,56,642,105,219,414,111, - 111,219,56,219,401,164,99,452,631,638, - 631,638,65,420,129,99,99,236 + 324,333,340,344,452,473,502,529,533,623, + 627,631,92,7,92,136,414,430,443,463, + 521,443,544,560,571,582,194,385,491,56, + 56,143,209,212,56,226,247,212,212,56, + 348,458,470,477,143,56,646,105,219,418, + 111,111,219,56,219,405,164,99,456,635, + 642,635,642,65,424,129,99,99,236 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2237,18 +2052,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,354,5,5,5,5,354,127, - 90,127,127,127,48,263,398,436,160,67, - 362,482,25,25,59,59,90,127,187,127, - 127,322,322,263,96,509,38,362,596,614, + 18,5,5,358,5,5,5,5,358,127, + 90,127,127,127,48,263,402,440,160,67, + 366,486,25,25,59,59,90,127,187,127, + 127,322,322,263,96,513,38,366,600,618, 32,198,198,5,18,5,59,90,127,315, - 315,315,90,127,229,5,5,5,5,5, - 229,640,11,96,140,354,354,354,463,509, - 443,544,544,544,544,198,385,491,59,59, - 5,5,215,217,229,5,250,250,217,90, - 457,5,229,5,502,5,108,337,417,114, - 118,222,521,512,404,167,90,90,633,633, - 635,635,67,422,131,189,174,238 + 315,315,90,90,127,229,5,5,5,5, + 5,229,644,11,96,140,358,358,358,467, + 513,447,548,548,548,548,198,389,495,59, + 59,5,5,215,217,229,5,250,250,217, + 90,461,5,229,5,506,5,108,337,421, + 114,118,222,525,516,408,167,90,90,637, + 637,639,639,67,426,131,189,174,238 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2256,18 +2071,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 46,18,18,73,18,18,18,18,73,82, - 47,87,86,118,66,52,73,72,46,18, - 73,20,3,7,161,161,158,116,46,85, - 118,117,119,53,47,134,128,73,18,18, + 45,18,18,73,18,18,18,18,73,82, + 46,87,86,118,66,52,73,72,45,18, + 73,20,3,7,161,161,158,116,45,85, + 118,117,119,53,46,134,128,73,18,18, 128,98,57,130,76,164,161,158,125,117, - 117,119,49,56,138,19,18,18,18,18, - 18,12,113,158,125,73,72,72,38,134, - 72,18,18,18,18,98,73,20,165,161, - 175,96,103,59,67,58,153,77,119,74, - 70,139,138,171,134,17,158,119,115,126, - 126,55,134,134,73,46,158,71,132,44, - 132,44,164,115,116,46,46,57 + 117,119,175,50,56,138,19,18,18,18, + 18,18,12,113,158,125,73,72,72,38, + 134,72,18,18,18,18,98,73,20,165, + 161,176,96,103,59,67,58,153,77,119, + 74,70,139,138,171,134,17,158,119,115, + 126,126,55,134,134,73,45,158,71,132, + 44,132,44,164,115,116,45,45,57 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2275,18 +2090,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 120,76,76,76,76,76,76,76,76,72, - 45,72,72,72,69,1,76,122,65,3, - 45,76,69,69,1,1,45,72,65,72, - 72,1,1,1,1,4,69,45,1,1, - 69,76,76,76,120,76,1,45,72,1, - 1,1,45,72,118,76,76,76,76,76, - 118,1,76,1,70,76,76,76,73,4, - 76,69,69,69,69,76,45,3,1,1, - 76,76,3,1,118,76,1,1,1,45, - 73,76,118,76,5,76,1,49,71,1, - 1,6,1,49,75,74,45,45,4,4, - 4,4,3,1,65,1,1,3 + 119,87,87,87,87,87,87,87,87,71, + 26,71,71,71,65,1,87,122,50,3, + 26,87,65,65,1,1,26,71,50,71, + 71,1,1,1,1,4,65,26,1,1, + 65,87,87,87,119,87,1,26,71,1, + 1,1,26,26,71,118,87,87,87,87, + 87,118,1,87,1,66,87,87,87,72, + 4,87,65,65,65,65,87,26,3,1, + 1,87,87,3,1,118,87,1,1,1, + 26,72,87,118,87,5,87,1,29,67, + 1,1,6,1,29,75,74,26,26,4, + 4,4,4,3,1,50,1,1,3 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2294,18 +2109,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 88,254,254,99,254,254,254,254,99,23, - 88,23,23,158,110,90,99,99,88,254, - 99,254,186,230,63,63,119,158,88,23, - 158,158,158,90,88,153,56,99,254,254, - 56,145,69,33,99,37,63,119,315,158, - 158,158,12,40,85,254,254,254,254,254, - 254,234,7,119,315,99,99,99,285,153, - 99,254,254,254,254,145,99,254,37,63, - 1,145,147,69,141,69,66,74,158,99, - 99,60,85,156,153,254,119,158,3,158, - 158,125,153,153,99,88,119,99,122,162, - 122,162,37,3,158,88,88,69 + 72,238,238,83,238,238,238,238,83,96, + 72,96,96,142,94,74,83,83,72,238, + 83,238,170,214,44,44,69,142,72,96, + 142,142,142,74,72,137,37,83,238,238, + 37,129,50,14,83,18,44,69,299,142, + 142,142,3,74,21,66,238,238,238,238, + 238,238,218,9,69,299,83,83,83,269, + 137,83,238,238,238,238,129,83,238,18, + 44,1,129,131,50,125,50,47,55,142, + 83,83,41,66,140,137,238,69,142,5, + 142,142,109,137,137,83,72,69,83,106, + 146,106,146,18,5,142,72,72,50 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2313,71 +2128,71 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 311,3,41,0,128,0,310,3,120,0, + 312,3,47,0,128,0,311,3,119,0, 128,175,0,129,180,74,0,217,0,290, - 129,60,128,0,21,0,292,129,60,49, + 129,44,128,0,21,0,292,129,44,29, 0,21,55,0,34,134,0,21,55,0, - 0,292,129,60,49,192,0,21,131,0, - 290,129,60,132,0,178,130,0,140,0, + 0,292,129,44,29,192,0,21,131,0, + 290,129,44,132,0,178,130,0,140,0, 223,3,289,0,289,0,2,0,128,0, - 178,130,228,0,178,130,47,228,0,178, - 130,307,47,0,133,189,168,130,0,130, - 0,189,168,130,0,136,130,0,169,0, - 303,129,169,0,129,169,0,223,130,0, + 178,130,228,0,178,130,45,228,0,178, + 130,308,45,0,133,189,168,130,0,130, + 0,189,168,130,0,136,130,0,171,0, + 304,129,171,0,129,171,0,223,130,0, 168,244,0,139,0,0,0,137,0,0, - 0,302,129,65,250,0,129,0,250,0, - 3,0,0,129,0,301,129,65,0,45, + 0,303,129,50,250,0,129,0,250,0, + 3,0,0,129,0,302,129,50,0,45, 129,0,153,3,0,129,279,278,129,74, - 277,169,0,278,129,74,277,169,0,216, - 0,217,0,277,169,0,98,0,0,216, + 277,171,0,278,129,74,277,171,0,216, + 0,217,0,277,171,0,98,0,0,216, 0,217,0,204,98,0,0,216,0,217, - 0,278,129,277,169,0,216,0,204,0, + 0,278,129,277,171,0,216,0,204,0, 0,216,0,231,129,3,0,128,0,0, 0,0,0,231,129,3,220,0,227,3, 0,215,129,0,209,0,149,0,168,130, - 0,11,0,0,0,218,67,0,127,0, + 0,11,0,0,0,218,60,0,127,0, 231,129,3,182,0,182,0,2,0,0, 128,0,0,0,0,0,201,3,0,202, - 0,230,129,65,26,44,0,178,130,66, - 64,0,198,130,0,133,178,130,275,64, - 0,178,130,275,64,0,178,130,71,125, - 66,0,230,129,65,66,0,230,129,65, - 123,66,0,230,129,65,126,66,0,272, - 129,65,125,61,0,272,129,65,61,0, - 178,130,61,0,137,0,189,178,130,244, + 0,230,129,50,28,27,0,178,130,56, + 48,0,198,130,0,133,178,130,275,48, + 0,178,130,275,48,0,178,130,67,125, + 56,0,230,129,50,56,0,230,129,50, + 123,56,0,230,129,50,126,56,0,272, + 129,50,125,68,0,272,129,50,68,0, + 178,130,68,0,137,0,189,178,130,244, 0,139,0,178,130,244,0,189,168,130, - 9,0,168,130,9,0,95,139,0,265, - 129,169,0,163,86,0,226,164,226,173, - 3,83,0,128,174,0,226,173,3,83, - 0,130,0,128,174,0,226,164,226,164, - 226,3,83,0,226,164,226,3,83,0, - 226,3,83,0,130,0,130,0,128,174, - 0,163,3,75,193,81,0,128,130,0, - 193,81,0,110,2,133,128,130,0,239, - 3,75,0,201,172,0,34,172,0,172, - 0,178,34,172,0,239,3,87,0,193, - 159,239,3,85,0,64,174,0,239,3, - 85,0,128,174,64,174,0,298,129,65, - 0,163,0,218,78,0,31,0,163,117, - 161,0,31,172,0,223,3,0,218,67, - 262,0,163,67,0,184,3,295,43,130, - 0,128,0,0,0,0,295,43,130,0, - 2,148,128,0,0,0,0,184,3,32, - 0,150,0,127,49,168,130,0,32,150, - 0,95,139,32,150,0,217,178,130,0, - 149,32,150,0,184,3,36,0,163,3, - 36,0,163,3,69,184,60,28,0,184, - 60,28,0,21,2,133,128,0,163,3, - 69,184,60,31,0,184,60,31,0,163, - 3,69,184,60,33,0,184,60,33,0, - 163,3,69,184,60,29,0,184,60,29, - 0,223,3,127,189,168,130,9,0,127, - 189,168,130,9,0,139,2,0,128,0, - 223,3,126,255,168,130,9,0,255,168, - 130,9,0,137,2,0,128,0,223,3, - 137,0,223,3,142,0,163,67,142,0, - 257,0,32,0,32,143,0,167,0,136, - 0,163,3,0 + 10,0,168,130,10,0,95,139,0,265, + 129,148,0,265,129,171,0,163,85,0, + 226,164,226,299,3,82,0,128,174,0, + 226,299,3,82,0,130,0,128,174,0, + 226,164,226,164,226,3,82,0,226,164, + 226,3,82,0,226,3,82,0,130,0, + 130,0,128,174,0,163,3,75,193,80, + 0,128,130,0,193,80,0,110,2,133, + 128,130,0,239,3,75,0,201,172,0, + 34,172,0,172,0,178,34,172,0,239, + 3,86,0,193,159,239,3,84,0,64, + 174,0,239,3,84,0,128,174,64,174, + 0,298,129,50,0,163,0,218,77,0, + 31,0,163,117,161,0,31,172,0,223, + 3,0,218,60,262,0,163,60,0,184, + 3,295,64,130,0,128,0,0,0,0, + 295,64,130,0,2,148,128,0,0,0, + 0,184,3,35,0,150,0,127,29,168, + 130,0,32,150,0,95,139,32,150,0, + 217,178,130,0,149,32,150,0,184,3, + 39,0,163,3,39,0,163,3,65,184, + 44,31,0,184,44,31,0,21,2,133, + 128,0,163,3,65,184,44,34,0,184, + 44,34,0,163,3,65,184,44,36,0, + 184,44,36,0,163,3,65,184,44,32, + 0,184,44,32,0,223,3,127,189,168, + 130,10,0,127,189,168,130,10,0,139, + 2,0,128,0,223,3,126,255,168,130, + 10,0,255,168,130,10,0,137,2,0, + 128,0,223,3,137,0,223,3,142,0, + 163,60,142,0,257,0,32,0,32,143, + 0,167,0,136,0,163,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2385,38 +2200,37 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 2056,0,4840,4686,4372,0,2662,1498,999,1332, - 0,3739,3701,3647,3609,3555,3517,3053,3463,3425, - 2976,2938,3189,3180,4239,3091,3081,4185,4142,4078, - 4069,0,3422,2856,2562,0,3037,2545,0,3739, - 3701,3647,3428,2950,3609,3555,3517,3463,2379,3425, - 2976,2938,3486,1123,0,4086,990,2690,0,2561, - 1053,0,2955,3095,0,4621,4529,0,4621,4608, - 4544,3393,4529,2804,4327,4427,4515,3062,4340,4451, - 2882,2726,2644,0,2310,2009,0,2951,4589,3189, - 3180,4239,3091,3081,4185,4142,4078,4069,3739,3701, - 3647,3609,3555,3517,3463,3425,2976,2938,0,3189, - 3180,4239,3091,3081,4185,4142,4078,4069,2951,4589, - 0,894,709,0,3062,4608,4309,4544,3393,4644, - 2882,4300,4242,3473,2688,3548,1178,3192,3097,0, - 2457,1912,1697,1678,3393,3548,2804,2726,2644,3480, - 2868,0,647,569,0,764,0,4357,526,2440, - 0,4832,4812,4807,4795,4787,4775,4740,4728,4719, - 4694,4273,4215,4168,4096,4673,4658,3207,4365,4203, - 3439,3414,2534,2235,0,4832,4812,3431,3406,3289, - 4807,4795,4787,2798,2715,4775,4740,4728,2875,4719, - 1138,4694,1131,1077,4273,1072,1015,2057,1008,4215, - 2459,4168,3215,1143,4096,4673,4658,1003,3207,660, - 4365,4203,2539,3439,4357,3414,2440,2534,2235,948, - 877,784,895,717,2804,4327,4427,4515,3062,4621, - 4608,4340,4544,3393,4451,2882,2726,4529,2644,859, - 844,647,569,4046,2241,2280,2349,2315,2411,2382, - 582,2748,2657,2616,2588,2496,2465,3369,3345,3321, - 2908,2830,4023,4000,3977,3954,3931,3908,3885,3862, - 3839,3296,3816,620,1931,2191,2152,2102,2063,1238, - 1193,2013,1974,1149,905,1888,798,735,674,526, - 1845,1802,1759,1716,1673,1630,1587,1544,1501,1458, - 1415,1372,1327,1088,1029,960,1282,0 + 1450,0,3517,0,4889,4872,4369,0,2579,1541, + 618,1332,0,2693,2574,667,0,2689,2545,0, + 3736,3698,3644,3425,3076,3606,3552,3514,3460,2379, + 3422,2972,2934,2894,1123,0,4803,990,4083,0, + 3081,1053,0,2694,4092,0,4618,4526,0,4618, + 4605,4541,3390,4526,2800,4324,4424,4512,3059,4337, + 4448,2878,2722,2644,0,2310,2009,0,2947,4586, + 0,2947,4586,3186,3177,4236,3088,3078,4182,4139, + 4075,4066,3736,3698,3644,3606,3552,3514,3460,3422, + 2972,2934,0,2947,4586,3186,3177,4236,3088,3078, + 4182,4139,4075,4066,0,894,709,0,3059,4605, + 4297,4541,3390,4645,2878,3097,3470,3029,4641,3545, + 827,3020,2942,0,2320,1936,1764,1740,3390,3545, + 2800,2722,2644,3477,2864,0,647,569,0,1326, + 0,4354,526,2440,0,4861,4854,4849,4794,4789, + 4777,4772,4757,4712,4680,4270,4212,4165,4093,4655, + 4362,3204,4200,3436,3052,3411,2534,2235,0,4861, + 4854,3286,3195,2870,4849,4794,4789,2792,2715,4777, + 4772,4757,2684,4712,2052,4680,1131,1077,4270,1072, + 1015,2057,1008,4212,2459,4165,3212,1143,4093,4655, + 4362,1003,3204,660,4200,3436,2539,3052,4354,3411, + 2440,2534,2235,948,877,784,895,717,2800,4324, + 4424,4512,3059,4618,4605,4337,4541,3390,4448,2878, + 2722,4526,2644,859,844,647,569,4043,2241,2280, + 2349,2315,2411,2382,582,2748,2657,2616,2588,2496, + 2465,3366,3342,3318,2904,2826,4020,3997,3974,3951, + 3928,3905,3882,3859,3836,3293,3813,620,1931,2191, + 2152,2102,2063,1238,1193,2013,1974,1149,905,1888, + 798,735,674,526,1845,1802,1759,1716,1673,1630, + 1587,1544,1501,1458,1415,1372,1327,1088,1029,960, + 1282,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2424,59 +2238,59 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,294,129,46,264,36,28,31,33,29, - 9,137,126,128,7,132,4,3,130,32, - 27,5,11,10,6,8,25,24,142,147, - 150,149,152,151,156,155,158,157,160,41, - 161,70,3,60,60,60,60,130,3,60, - 172,129,67,3,42,43,60,7,126,163, - 42,43,168,167,126,3,127,126,103,121, - 3,67,90,96,11,10,92,91,6,94, - 93,69,60,88,89,8,98,97,100,99, - 101,113,112,111,110,109,108,107,106,105, - 104,71,117,102,184,163,172,129,184,184, - 184,184,168,223,129,129,266,267,250,268, - 244,269,61,270,271,9,130,67,67,129, - 67,295,3,189,4,184,49,5,130,49, - 223,163,149,149,147,147,147,151,151,151, - 151,150,150,155,152,152,157,156,158,163, - 160,129,67,3,221,220,137,9,130,69, - 69,69,69,189,255,290,135,293,215,130, - 6,65,168,234,130,127,126,125,65,130, - 130,178,168,290,202,3,296,172,153,257, - 189,130,178,168,73,215,218,161,227,129, - 3,130,168,3,3,3,3,127,126,70, - 168,129,129,127,126,129,178,129,65,129, - 178,168,49,184,129,129,4,217,5,49, - 231,232,148,233,129,168,49,163,163,163, - 163,3,3,6,185,302,130,170,228,192, - 64,169,304,129,129,73,189,129,272,125, - 273,189,159,259,262,67,179,4,127,159, - 71,227,201,187,182,130,3,129,70,231, - 189,223,223,129,168,49,275,277,129,3, - 182,306,228,47,130,272,71,70,129,3, - 67,163,4,129,71,71,3,178,168,201, - 129,215,159,127,189,60,130,74,129,215, - 303,129,130,126,73,284,201,70,130,47, - 307,178,259,223,218,224,129,129,133,129, - 178,129,278,73,70,215,168,73,71,178, - 130,130,129,231,224,292,49,9,59,133, - 278,65,288,130,289,178,178,41,159,129, - 70,69,60,234,234,279,129,70,178,3, - 3,129,44,49,169,68,66,64,129,71, - 71,129,298,80,78,1,163,87,85,83, - 81,75,84,86,79,77,66,74,46,223, - 311,224,26,60,129,3,65,123,126,125, - 66,292,280,120,23,218,73,3,3,3, - 193,3,125,163,125,180,70,129,129,65, - 69,265,201,276,26,129,65,65,71,130, - 69,3,239,172,239,173,226,169,75,239, - 129,129,3,71,70,159,230,229,129,129, - 130,178,59,95,310,172,159,201,159,226, - 164,129,3,159,280,230,153,65,230,230, - 178,274,234,159,159,129,71,193,164,226, - 163,129,274,71,122,226,164,159,301,159, - 226,70,159 + 0,294,129,264,39,31,34,36,32,10, + 137,126,128,7,132,4,3,130,35,30, + 5,12,11,6,8,25,24,142,147,150, + 149,152,151,156,155,158,157,160,47,161, + 66,3,44,44,44,44,130,3,44,172, + 129,60,3,63,64,44,7,126,163,63, + 64,168,167,126,3,127,126,103,120,3, + 60,90,96,12,11,92,91,6,94,93, + 65,44,88,89,8,98,97,100,99,101, + 113,112,111,110,109,108,107,106,105,104, + 67,117,102,184,163,172,129,184,184,184, + 184,168,223,129,129,266,267,250,268,244, + 269,68,270,271,10,130,60,60,129,60, + 295,3,189,4,184,29,5,130,29,223, + 163,149,149,147,147,147,151,151,151,151, + 150,150,155,152,152,157,156,158,163,160, + 129,60,3,221,220,137,10,130,65,65, + 65,65,189,255,290,135,293,215,130,6, + 50,168,234,130,127,126,125,50,130,130, + 178,168,290,202,3,296,172,153,257,189, + 130,178,168,72,215,218,161,227,129,3, + 130,168,3,3,3,3,127,126,66,168, + 129,129,127,126,129,178,129,50,129,178, + 168,29,184,129,129,4,217,5,29,231, + 232,148,233,129,168,29,163,163,163,163, + 3,3,6,185,303,130,169,228,192,48, + 171,305,129,129,72,189,129,272,125,273, + 189,159,259,262,60,179,4,127,159,67, + 227,201,187,182,130,3,129,66,231,189, + 223,223,129,168,29,275,277,129,3,182, + 307,228,45,130,272,67,66,129,3,60, + 163,4,129,67,67,3,178,168,201,129, + 215,159,127,189,44,130,74,129,215,304, + 129,130,126,72,284,201,66,130,45,308, + 178,259,223,218,224,129,129,133,129,178, + 129,278,72,66,215,168,72,67,178,130, + 130,129,231,224,292,29,10,62,133,278, + 50,288,130,289,178,178,47,159,129,66, + 65,44,234,234,279,129,66,178,3,3, + 129,27,29,171,61,56,48,129,67,67, + 129,298,79,77,1,163,86,84,82,80, + 75,83,85,78,76,56,74,223,312,224, + 28,44,129,3,50,123,126,125,56,292, + 280,119,9,218,72,3,3,3,193,3, + 125,163,125,180,66,129,129,50,65,265, + 201,276,28,129,50,50,67,130,65,3, + 239,172,239,299,226,148,75,239,129,129, + 3,67,66,159,230,229,129,129,130,178, + 62,95,311,172,159,201,159,226,164,129, + 3,159,280,230,153,50,230,230,178,274, + 234,159,159,129,67,193,164,226,265,163, + 129,274,67,122,226,164,159,302,159,226, + 66,159 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2665,7 +2479,8 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "statement_seq", "condition", "declarator", - "simple_declaration", + "simple_declaration_with_declsp" + + "ec", "function_definition", "declaration_seq", "declaration_specifiers", @@ -2741,9 +2556,9 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 46, - SCOPE_UBOUND = 117, - SCOPE_SIZE = 118, + ERROR_SYMBOL = 73, + SCOPE_UBOUND = 118, + SCOPE_SIZE = 119, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -2752,20 +2567,20 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 523, + NUM_STATES = 522, NT_OFFSET = 124, - LA_STATE_OFFSET = 5898, + LA_STATE_OFFSET = 5884, MAX_LA = 2147483647, NUM_RULES = 525, - NUM_NONTERMINALS = 193, - NUM_SYMBOLS = 317, + NUM_NONTERMINALS = 194, + NUM_SYMBOLS = 318, SEGMENT_SIZE = 8192, START_STATE = 2526, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 119, - EOLT_SYMBOL = 119, - ACCEPT_ACTION = 5011, - ERROR_ACTION = 5373; + EOFT_SYMBOL = 121, + EOLT_SYMBOL = 121, + ACCEPT_ACTION = 5006, + ERROR_ACTION = 5359; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java index f5c1a1c1a53..e3d925c1b76 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoCastExpressionParsersym.java @@ -15,81 +15,81 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPNoCastExpressionParsersym { public final static int - TK_asm = 68, + TK_asm = 61, TK_auto = 51, - TK_bool = 12, - TK_break = 77, - TK_case = 78, - TK_catch = 120, - TK_char = 13, - TK_class = 59, - TK_const = 48, - TK_const_cast = 28, - TK_continue = 79, - TK_default = 80, - TK_delete = 42, - TK_do = 81, - TK_double = 14, - TK_dynamic_cast = 29, + TK_bool = 13, + TK_break = 76, + TK_case = 77, + TK_catch = 119, + TK_char = 14, + TK_class = 62, + TK_const = 46, + TK_const_cast = 31, + TK_continue = 78, + TK_default = 79, + TK_delete = 63, + TK_do = 80, + TK_double = 15, + TK_dynamic_cast = 32, TK_else = 122, - TK_enum = 61, + TK_enum = 68, TK_explicit = 52, - TK_export = 82, - TK_extern = 44, - TK_false = 30, - TK_float = 15, - TK_for = 83, + TK_export = 81, + TK_extern = 27, + TK_false = 33, + TK_float = 16, + TK_for = 82, TK_friend = 53, - TK_goto = 84, - TK_if = 85, + TK_goto = 83, + TK_if = 84, TK_inline = 54, - TK_int = 16, - TK_long = 17, + TK_int = 17, + TK_long = 18, TK_mutable = 55, - TK_namespace = 66, - TK_new = 43, + TK_namespace = 56, + TK_new = 64, TK_operator = 7, TK_private = 114, TK_protected = 115, TK_public = 116, - TK_register = 56, - TK_reinterpret_cast = 31, - TK_return = 86, - TK_short = 18, - TK_signed = 19, - TK_sizeof = 32, - TK_static = 57, - TK_static_cast = 33, - TK_struct = 62, - TK_switch = 87, - TK_template = 49, - TK_this = 34, - TK_throw = 41, + TK_register = 57, + TK_reinterpret_cast = 34, + TK_return = 85, + TK_short = 19, + TK_signed = 20, + TK_sizeof = 35, + TK_static = 58, + TK_static_cast = 36, + TK_struct = 69, + TK_switch = 86, + TK_template = 29, + TK_this = 37, + TK_throw = 47, TK_try = 74, - TK_true = 35, - TK_typedef = 58, - TK_typeid = 36, - TK_typename = 9, - TK_union = 63, - TK_unsigned = 20, - TK_using = 64, - TK_virtual = 47, - TK_void = 21, - TK_volatile = 50, - TK_wchar_t = 22, + TK_true = 38, + TK_typedef = 59, + TK_typeid = 39, + TK_typename = 10, + TK_union = 70, + TK_unsigned = 21, + TK_using = 48, + TK_virtual = 45, + TK_void = 22, + TK_volatile = 49, + TK_wchar_t = 23, TK_while = 75, - TK_integer = 37, - TK_floating = 38, - TK_charconst = 39, - TK_stringlit = 26, + TK_integer = 40, + TK_floating = 41, + TK_charconst = 42, + TK_stringlit = 28, TK_identifier = 1, TK_Completion = 2, - TK_EndOfCompletion = 23, + TK_EndOfCompletion = 9, TK_Invalid = 124, - TK_LeftBracket = 67, + TK_LeftBracket = 60, TK_LeftParen = 3, - TK_LeftBrace = 65, - TK_Dot = 121, + TK_LeftBrace = 50, + TK_Dot = 120, TK_DotStar = 96, TK_Arrow = 103, TK_ArrowStar = 90, @@ -97,16 +97,16 @@ public interface CPPNoCastExpressionParsersym { TK_MinusMinus = 25, TK_And = 8, TK_Star = 6, - TK_Plus = 10, - TK_Minus = 11, + TK_Plus = 11, + TK_Minus = 12, TK_Tilde = 5, - TK_Bang = 27, + TK_Bang = 30, TK_Slash = 91, TK_Percent = 92, TK_RightShift = 88, TK_LeftShift = 89, - TK_LT = 60, - TK_GT = 69, + TK_LT = 44, + TK_GT = 65, TK_LE = 93, TK_GE = 94, TK_EQ = 97, @@ -116,10 +116,10 @@ public interface CPPNoCastExpressionParsersym { TK_AndAnd = 101, TK_OrOr = 102, TK_Question = 117, - TK_Colon = 73, + TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 95, - TK_Assign = 71, + TK_Assign = 67, TK_StarAssign = 104, TK_SlashAssign = 105, TK_PercentAssign = 106, @@ -130,15 +130,15 @@ public interface CPPNoCastExpressionParsersym { TK_AndAssign = 111, TK_CaretAssign = 112, TK_OrAssign = 113, - TK_Comma = 70, - TK_zero = 40, + TK_Comma = 66, + TK_zero = 43, TK_RightBracket = 118, - TK_RightParen = 76, - TK_RightBrace = 72, - TK_SemiColon = 45, - TK_ERROR_TOKEN = 46, + TK_RightParen = 87, + TK_RightBrace = 71, + TK_SemiColon = 26, + TK_ERROR_TOKEN = 73, TK_original_namespace_name = 123, - TK_EOF_TOKEN = 119; + TK_EOF_TOKEN = 121; public final static String orderedTerminalSymbols[] = { "", @@ -150,6 +150,7 @@ public interface CPPNoCastExpressionParsersym { "Star", "operator", "And", + "EndOfCompletion", "typename", "Plus", "Minus", @@ -164,10 +165,12 @@ public interface CPPNoCastExpressionParsersym { "unsigned", "void", "wchar_t", - "EndOfCompletion", "PlusPlus", "MinusMinus", + "SemiColon", + "extern", "stringlit", + "template", "Bang", "const_cast", "dynamic_cast", @@ -182,42 +185,38 @@ public interface CPPNoCastExpressionParsersym { "floating", "charconst", "zero", - "throw", - "delete", - "new", - "extern", - "SemiColon", - "ERROR_TOKEN", + "LT", "virtual", "const", - "template", + "throw", + "using", "volatile", + "LeftBrace", "auto", "explicit", "friend", "inline", "mutable", + "namespace", "register", "static", "typedef", - "class", - "LT", - "enum", - "struct", - "union", - "using", - "LeftBrace", - "namespace", "LeftBracket", "asm", + "class", + "delete", + "new", "GT", "Comma", "Assign", + "enum", + "struct", + "union", "RightBrace", "Colon", + "ERROR_TOKEN", "try", "while", - "RightParen", "break", "case", "continue", @@ -229,6 +228,7 @@ public interface CPPNoCastExpressionParsersym { "if", "return", "switch", + "RightParen", "RightShift", "LeftShift", "ArrowStar", @@ -260,9 +260,9 @@ public interface CPPNoCastExpressionParsersym { "public", "Question", "RightBracket", - "EOF_TOKEN", "catch", "Dot", + "EOF_TOKEN", "else", "original_namespace_name", "Invalid" diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java index 5b8c9c8f439..5c839d7952e 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParser.java @@ -239,6 +239,15 @@ public IASTNode getSecondaryParseResult() { return action.builder.getSecondaryParseResult(); } +public String[] getOrderedTerminalSymbols() { + return CPPParsersym.orderedTerminalSymbols; +} + +public String getName() { + return "CPPParser"; //$NON-NLS-1$ +} + + private ITokenMap tokenMap = null; @@ -1020,203 +1029,203 @@ public CPPParser(String[] mapFrom) { // constructor } // - // Rule 161: expression ::= ERROR_TOKEN + // Rule 161: expression_list ::= <openscope-ast> expression_list_actual // case 161: { action.builder. - consumeExpressionProblem(); break; - } - - // - // Rule 162: expression_list ::= <openscope-ast> expression_list_actual - // - case 162: { action.builder. consumeExpressionList(); break; } // - // Rule 166: expression_list_opt ::= $Empty + // Rule 165: expression_list_opt ::= $Empty // - case 166: { action.builder. + case 165: { action.builder. consumeEmpty(); break; } // - // Rule 168: expression_opt ::= $Empty + // Rule 167: expression_opt ::= $Empty // - case 168: { action.builder. + case 167: { action.builder. consumeEmpty(); break; } // - // Rule 171: constant_expression_opt ::= $Empty + // Rule 170: constant_expression_opt ::= $Empty // - case 171: { action.builder. + case 170: { action.builder. consumeEmpty(); break; } // - // Rule 180: statement ::= ERROR_TOKEN + // Rule 179: statement ::= ERROR_TOKEN // - case 180: { action.builder. + case 179: { action.builder. consumeStatementProblem(); break; } // - // Rule 181: labeled_statement ::= identifier : statement + // Rule 180: labeled_statement ::= identifier : statement // - case 181: { action.builder. + case 180: { action.builder. consumeStatementLabeled(); break; } // - // Rule 182: labeled_statement ::= case constant_expression : + // Rule 181: labeled_statement ::= case constant_expression : // - case 182: { action.builder. + case 181: { action.builder. consumeStatementCase(); break; } // - // Rule 183: labeled_statement ::= default : + // Rule 182: labeled_statement ::= default : // - case 183: { action.builder. + case 182: { action.builder. consumeStatementDefault(); break; } // - // Rule 184: expression_statement ::= expression ; + // Rule 183: expression_statement ::= expression ; // - case 184: { action.builder. + case 183: { action.builder. consumeStatementExpression(); break; } // - // Rule 185: expression_statement ::= ; + // Rule 184: expression_statement ::= ; // - case 185: { action.builder. + case 184: { action.builder. consumeStatementNull(); break; } // - // Rule 186: compound_statement ::= { <openscope-ast> statement_seq } + // Rule 185: compound_statement ::= { <openscope-ast> statement_seq } // - case 186: { action.builder. + case 185: { action.builder. consumeStatementCompoundStatement(true); break; } // - // Rule 187: compound_statement ::= { } + // Rule 186: compound_statement ::= { } // - case 187: { action.builder. + case 186: { action.builder. consumeStatementCompoundStatement(false); break; } // - // Rule 190: selection_statement ::= if ( condition ) statement + // Rule 189: selection_statement ::= if ( condition ) statement // - case 190: { action.builder. + case 189: { action.builder. consumeStatementIf(false); break; } // - // Rule 191: selection_statement ::= if ( condition ) statement else statement + // Rule 190: selection_statement ::= if ( condition ) statement else statement // - case 191: { action.builder. + case 190: { action.builder. consumeStatementIf(true); break; } // - // Rule 192: selection_statement ::= switch ( condition ) statement + // Rule 191: selection_statement ::= switch ( condition ) statement // - case 192: { action.builder. + case 191: { action.builder. consumeStatementSwitch(); break; } // - // Rule 194: condition ::= type_specifier_seq declarator = assignment_expression + // Rule 193: condition ::= type_specifier_seq declarator = assignment_expression // - case 194: { action.builder. + case 193: { action.builder. consumeConditionDeclaration(); break; } // - // Rule 195: iteration_statement ::= while ( condition ) statement + // Rule 194: iteration_statement ::= while ( condition ) statement // - case 195: { action.builder. + case 194: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 196: iteration_statement ::= do statement while ( expression ) ; + // Rule 195: iteration_statement ::= do statement while ( expression ) ; // - case 196: { action.builder. + case 195: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 197: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 196: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // + case 196: { action.builder. + consumeStatementForLoop(); break; + } + + // + // Rule 197: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement // case 197: { action.builder. consumeStatementForLoop(); break; } // - // Rule 198: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement + // Rule 198: jump_statement ::= break ; // case 198: { action.builder. - consumeStatementForLoop(); break; + consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= break ; + // Rule 199: jump_statement ::= continue ; // case 199: { action.builder. - consumeStatementBreak(); break; + consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= continue ; + // Rule 200: jump_statement ::= return expression ; // case 200: { action.builder. - consumeStatementContinue(); break; + consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= return expression ; + // Rule 201: jump_statement ::= return ; // case 201: { action.builder. - consumeStatementReturn(true); break; + consumeStatementReturn(false); break; } // - // Rule 202: jump_statement ::= return ; + // Rule 202: jump_statement ::= goto identifier_token ; // case 202: { action.builder. - consumeStatementReturn(false); break; + consumeStatementGoto(); break; } // - // Rule 203: jump_statement ::= goto identifier_token ; + // Rule 203: declaration_statement ::= block_declaration // case 203: { action.builder. - consumeStatementGoto(); break; + consumeStatementDeclaration(); break; } // - // Rule 204: declaration_statement ::= block_declaration + // Rule 204: declaration_statement ::= function_definition // case 204: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 205: declaration_statement ::= function_definition + // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // - case 205: { action.builder. - consumeStatementDeclaration(); break; + case 221: { action.builder. + consumeDeclarationSimple(true); break; } // - // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // case 222: { action.builder. consumeDeclarationSimple(true); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java index 06f700d0f63..7ae9e1e234c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParserprs.java @@ -53,13 +53,13 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 3,3,1,3,1,3,1,3,1,3, 1,3,1,5,1,2,1,1,3,3, 3,3,3,3,3,3,3,3,3,1, - 1,2,1,3,1,0,1,0,1,1, - 0,1,1,1,1,1,1,1,1,1, - 3,3,2,2,1,4,2,1,2,5, - 7,5,1,4,5,7,9,8,2,2, - 3,2,3,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2,1, - 0,4,2,2,2,2,2,0,1,1, + 2,1,3,1,0,1,0,1,1,0, + 1,1,1,1,1,1,1,1,1,3, + 3,2,2,1,4,2,1,2,5,7, + 5,1,4,5,7,9,8,2,2,3, + 2,3,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2,1,0, + 4,4,2,2,2,2,2,0,1,1, 1,1,1,1,1,2,1,2,2,2, 1,1,2,2,1,2,2,1,2,2, 1,2,2,1,1,1,1,1,1,1, @@ -92,448 +92,454 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 1,0,1,3,-238,0,0,0,0,-47, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,-99,0,0, - 0,0,0,0,-2,0,0,0,-63,0, - 0,0,0,0,-4,0,0,-245,0,0, - 0,0,-7,0,0,0,0,0,0,0, + 0,0,0,0,-74,0,0,0,-12,0, + 0,0,0,0,0,0,0,-245,0,0, + 0,0,-2,0,0,0,0,0,0,0, -262,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-9,0,0,0,0,0,-21, + 0,0,0,-4,0,0,0,0,0,-21, 0,0,0,0,0,0,-3,0,-164,0, - 0,0,0,-14,0,0,0,0,0,0, + 0,0,0,-219,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-520,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-189,-93,0,0,0,0,0,0,0, + 0,-77,-93,0,0,0,0,0,0,0, 0,0,0,-106,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,-17,0,0,0,-102,0,0, - 0,0,-24,0,0,0,-94,0,0,0, + 0,0,0,-7,0,0,0,-102,0,0, + 0,0,-128,-308,0,0,-94,0,0,0, 0,0,0,0,0,0,0,0,0,-120, 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,-369,0, - 0,0,0,-12,0,0,0,0,0,0, - 0,0,-49,0,0,0,0,-25,0,-184, + 0,0,0,-13,0,0,0,0,0,0, + 0,0,-49,0,0,0,0,0,0,-184, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-224,0, + 0,0,0,0,0,0,0,0,-73,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-334,0,0,0,0,-240,0,0, + 0,0,-334,0,0,0,0,-9,0,0, 0,0,0,0,0,-108,0,0,0,0, - 0,-32,-64,0,-31,0,0,0,0,-73, - -35,0,0,-194,0,0,0,0,0,0, + 0,-14,0,0,-31,0,0,0,0,0, + -457,0,0,-194,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-101,0,0,0, - 0,0,0,0,0,0,0,-77,0,0, - 0,0,0,-407,0,0,0,-37,0,0, + 0,0,0,0,0,0,-26,0,0,0, + 0,0,0,-135,0,0,0,-28,0,0, + 0,0,0,-40,0,0,0,0,0,0, -281,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, - -38,0,0,0,-202,0,0,0,0,-474, - 0,0,0,0,-34,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-17, + -65,0,0,0,-101,0,0,0,0,-373, + 0,0,0,-145,0,0,0,0,0,0, -288,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,-28, - -78,0,0,0,0,0,0,0,0,-443, - 0,0,0,-16,0,-246,0,0,0,0, - 0,0,0,0,0,0,0,0,-39,0, - 0,-336,0,0,0,0,0,0,0,0, - 0,0,0,0,-427,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-112, + 0,0,0,0,0,0,0,0,0,-442, + -41,0,0,-16,0,0,-246,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-324,0,0, - 0,0,0,0,0,0,0,0,-13,0, - 0,0,0,-42,0,0,0,0,0,-124, + -24,-336,0,0,0,0,0,0,0,0, + 0,0,0,0,-426,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -65,0,0,0,-95,-113,0,0,0,0, + 0,0,0,0,0,0,0,-324,0,0, + 0,0,0,-25,0,0,0,0,-189,0, + 0,0,0,0,-32,0,0,0,0,-124, + 0,0,0,0,-35,0,0,0,0,0, + -78,0,0,0,-37,-113,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-128,0, - 0,0,0,0,0,-43,0,0,0,-142, 0,0,0,0,0,0,0,0,0,0, - 0,-303,0,0,0,0,-68,-26,0,0, + 0,0,0,0,0,-66,0,0,0,-142, + 0,0,0,0,0,0,0,0,0,-38, + 0,0,-303,0,0,0,0,-39,-48,0, 0,0,0,0,-291,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-92,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-79,-44,0,0,-380,0,0, + 0,0,0,-42,-43,0,0,0,0,0, + 0,0,0,-79,-44,0,0,-379,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,-40,0,0,0, - 0,0,0,0,0,0,-121,0,0,0, - 0,0,0,-83,-381,0,0,0,0,-358, + 0,0,0,0,0,0,-447,0,0,0, + 0,0,0,0,0,0,-68,-52,0,0, + 0,0,0,-83,-380,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-92,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-52,-66,0,0,0,0,0, - 0,0,0,-373,0,0,0,-114,0,0, + 0,0,0,-193,-118,0,0,-114,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,-54,-74,0,0, + 0,0,0,0,0,0,-54,0,0,0, 0,0,0,0,0,0,-55,0,-268,0, - 0,0,0,-135,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-118,-139,0, - 0,0,0,0,0,0,0,-61,0,0, - 0,-10,0,0,0,-215,-269,0,0,0, + 0,0,0,-67,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-215,-139,0, + 0,0,-510,0,0,0,0,-64,0,0, + 0,-10,0,0,0,-241,-269,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-458,0,0,0,0, - -41,0,0,0,0,0,-69,0,0,-270, + 0,0,0,0,0,0,0,0,0,-61, + 0,0,0,0,0,-521,0,0,0,0, + 0,0,0,0,0,0,-69,0,0,-270, 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,-510,-75, - 0,0,0,-48,0,0,0,0,0,-80, - 0,0,-271,0,0,0,0,-67,0,0, + 0,0,0,0,0,0,0,0,-50,-75, + 0,0,0,0,0,0,0,0,-122,-80, + 0,0,-271,0,0,0,0,-81,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-521,-81,0,0,0,-50,0,0,0, - 0,0,-138,0,0,-272,0,0,0,0, + 0,-53,0,0,0,0,0,0,0,0, + 0,-123,-138,0,0,-272,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,-53,0,0,0,0,0, - 0,0,0,0,0,-146,0,0,-273,0, - 0,0,0,-150,0,0,0,0,0,0, + 0,0,0,0,-56,0,0,0,0,0, + 0,0,0,0,-196,0,0,0,-273,0, + 0,0,0,-203,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-56,0,0, - 0,0,0,0,0,0,0,-122,-151,0, - 0,-274,0,0,0,0,-152,0,0,0, + 0,-146,0,0,0,0,0,-58,-150,0, 0,0,0,0,0,0,0,0,0,0, + 0,-274,0,0,0,0,-227,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -58,0,0,0,0,0,0,0,0,0, - -123,-154,0,0,-275,0,0,0,0,-193, + 0,0,0,0,-151,0,0,0,0,0, + -62,-152,0,0,0,0,0,0,0,0, + -228,0,0,0,-275,0,0,0,0,-154, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,-155,0,0, - 0,0,0,-62,-156,0,0,0,0,0, - 0,0,0,0,0,0,0,-276,0,0, - 0,0,-157,0,0,0,0,0,0,0, + 0,0,0,-72,-156,0,0,0,0,0, + 0,0,0,0,-157,0,0,-276,0,0, + 0,0,-236,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -158,0,0,0,0,0,-72,-160,0,0, - 0,0,0,0,0,0,-196,0,0,0, - -277,0,0,0,0,-203,0,0,0,0, + -158,0,0,0,0,0,-76,0,0,0, + 0,0,0,0,0,0,0,-160,0,0, + -277,0,0,0,0,-237,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-161,0,0,0,0,0,-76, + 0,0,0,-161,0,0,0,0,0,-84, -173,0,0,0,0,0,0,0,0,0, - -174,0,0,-278,0,0,0,0,-227,0, + -174,0,0,-278,0,0,0,0,-315,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,-175,0,0,0, - 0,0,-84,-176,0,0,0,0,0,0, - 0,0,-228,0,0,0,-377,0,0,0, - 0,-177,0,0,0,0,0,0,0,0, + 0,0,-85,-176,0,0,0,0,0,0, + 0,0,0,-177,0,0,-376,0,0,0, + 0,-318,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,-178, - 0,0,0,0,0,-85,-179,0,0,0, - 0,0,0,0,0,0,-180,0,0,-412, - 0,0,0,0,-236,0,0,0,0,0, + 0,0,0,0,0,-88,-179,0,0,0, + 0,0,0,0,0,0,-180,0,0,-411, + 0,0,0,0,-181,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-181,0,0,0,0,0,-88,0, - 0,0,0,0,0,0,0,0,0,-182, - 0,0,-503,0,0,0,0,-183,0,0, + 0,0,-159,0,0,0,0,0,0,-182, + 0,0,0,-406,0,0,0,0,0,-183, + 0,0,-502,0,0,0,0,-319,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-185,0,0,0,0, 0,-90,-186,0,0,0,0,0,0,0, - 0,-149,-190,0,0,-223,0,0,0,0, - -499,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-192,0, - 0,0,0,0,-91,-197,0,0,0,0, - 0,0,0,0,-306,0,0,0,0,-457, + 0,0,-190,0,0,-223,0,0,0,0, + -192,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-197,0, + 0,0,0,0,-91,-95,0,0,0,0, + 0,0,0,0,-306,0,0,0,0,-358, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-202,0,0, + 0,0,0,0,0,0,0,0,-240,0, + 0,0,0,-187,0,0,0,0,-60,0, + 0,0,0,-198,-361,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-97,-198,0,0,0,0,0, - 0,0,0,-145,0,0,0,0,-60,0, - 0,0,0,-201,-361,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-133,0,0,0,0,0, + 0,0,0,-388,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-98,0,0,0,0,0,0, + 0,0,0,0,0,0,-201,0,0,0, + 0,0,0,0,0,0,0,-204,0,0, + 0,0,-399,0,0,0,0,-97,-100,0, 0,0,0,-389,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-374,0,0,0, - 0,0,0,-204,0,0,0,-219,0,0, - 0,0,-187,0,0,0,0,-103,-100,0, - 0,0,0,-390,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,-133,0,0,0,0,-237,0,0, - 0,0,-497,0,0,0,0,0,0,0, + 0,0,-98,-134,0,0,0,0,0,0, + 0,0,-496,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-109,0,0,0, - 0,-400,0,0,0,0,-147,0,0,0, - 0,0,-280,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-63,0,0,0, + 0,-440,0,0,0,0,-59,0,0,0, + 0,-206,-280,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,-134,-206,0,0,0,-207,0,0,0, - -211,-267,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-208,0,0,0,0,0, - -112,0,0,0,0,0,0,-265,0,0, + 0,-103,-137,0,0,0,0,0,0,0, + 0,-267,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-207,0,0,0,0,0, + -332,0,0,0,0,0,0,-265,0,0, + 0,0,-325,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-217,0,0, - 0,-266,0,0,0,0,-413,0,0,0, + 0,0,0,0,0,0,-208,-473,0,0, + 0,-266,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-159,0,0,0,0,0, + 0,0,0,0,-218,0,0,0,0,0, 0,0,0,0,-263,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,-18,0,0, - 0,0,0,-264,0,0,0,0,-495,0, + 0,0,0,-264,0,0,0,0,-494,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-243,0,0,0, + 0,0,0,0,0,0,-374,0,0,0, 0,0,-5,0,0,0,0,-296,0,-153, - -244,-137,0,-302,0,0,0,-209,0,0, - -15,-287,-292,-410,0,0,0,0,0,0, - 0,0,-293,0,0,-105,0,0,-205,0, + -224,0,0,-217,0,0,0,-209,0,0, + -15,0,-243,-409,0,0,0,0,0,-244, + 0,0,-287,0,0,-105,0,0,-205,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-110,0,0,0,-256,0, + 0,-292,0,0,-302,0,0,0,-256,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,-401,0,0, - 0,0,0,-300,-218,0,0,0,0,0, - 0,0,0,-301,0,0,0,0,0,0, - 0,0,0,-305,0,0,0,0,0,0, - 0,0,0,-311,0,-195,-332,0,0,0, - 0,0,-312,0,0,0,0,0,0,-307, - -315,0,-107,0,0,0,0,0,0,0, - 0,-257,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,-258, - 0,0,0,0,-241,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-199,0,0,0,0,0,-320,0, - 0,-259,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-1,0,0,0,0,0, - -441,0,0,0,0,-308,-27,0,0,0, - 0,0,-251,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,-321, - 0,0,0,-322,0,0,0,0,-143,0, - -323,0,-111,0,0,-212,0,-327,0,0, - 0,-339,0,0,0,0,0,0,0,0, - 0,-260,0,0,0,0,-340,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-341,0,0,0,-261,0, - 0,0,0,-342,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-343,0,-294,0,0, - 0,0,0,0,0,0,0,0,0,0, - -344,-213,-502,0,0,0,0,0,0,0, - 0,0,0,0,0,-284,0,0,-304,0, - 0,0,-345,-222,-346,0,0,-19,0,0, - 0,0,-347,0,-285,0,0,0,0,-313, - 0,0,0,0,-226,0,0,0,0,0, - 0,0,-125,-210,0,0,0,0,0,-348, - 0,0,0,0,0,0,0,0,0,-282, - 0,-330,0,0,0,0,0,0,0,0, - -349,-89,0,0,0,0,0,-20,0,0, - 0,-82,0,0,0,0,-126,0,0,0, - 0,0,-318,-350,0,0,-29,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-440,0,0,0,-188,0,0,0, - -290,0,0,0,0,0,0,0,-363,0, - 0,0,0,0,0,-221,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-127,-395,0, - 0,-470,0,0,-351,0,0,0,0,0, - 0,0,-352,0,0,-487,0,0,0,0, - 0,0,0,-371,-372,-353,-338,0,-216,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-299,0,0,0, - 0,0,-317,0,0,-452,-512,0,0,0, - 0,-387,0,0,0,0,0,0,0,0, - 0,0,0,0,-130,-316,-354,-319,0,0, - 0,0,-325,0,0,0,0,0,0,0, - 0,0,0,-328,0,0,-333,0,0,0, - -423,0,0,0,-378,0,0,0,0,0, - -33,0,0,0,0,0,0,-22,0,0, - 0,0,0,-403,0,0,0,0,0,-141, - 0,0,-162,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-131,0,-355,-356,0,0,0,-337,0, - -104,0,0,-230,-406,-357,0,0,0,0, - 0,0,-426,0,0,0,0,0,0,0, - 0,0,0,0,0,-360,0,0,0,0, + 0,0,0,0,0,0,0,-400,0,0, + 0,0,0,0,-311,0,0,0,0,0, + 0,0,0,-293,0,0,0,0,0,0, + 0,-300,0,-301,0,0,0,0,0,0, + 0,0,0,-312,0,-195,-328,0,0,0, + 0,0,0,0,0,0,0,0,-214,0, + 0,0,-210,0,0,0,0,0,0,0, + 0,-257,0,0,0,0,-305,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -362,0,0,0,0,0,0,0,-364,0, - -148,0,0,0,-365,-411,0,-376,0,0, - 0,0,0,0,0,0,0,0,-252,0, + 0,0,0,0,-307,0,0,0,0,-258, + 0,0,0,0,-320,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-321,0,0,0,0,-446,0,0, + 0,0,-259,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-283,-498,0,0,-394,0, - -388,0,0,0,0,0,0,0,0,0, - 0,0,0,-500,-489,0,0,0,0,-366, - -368,0,0,-375,0,-382,-396,0,0,-225, - 0,0,0,0,0,0,0,-397,0,-398, - 0,0,0,-399,0,0,0,0,0,0, - 0,0,-447,0,0,0,0,-359,0,0, - 0,-408,0,0,0,-391,0,0,0,0, + 0,0,0,0,0,-1,0,0,0,0, + 0,-467,0,0,0,0,-322,-27,0,0, + 0,0,0,-260,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-248,-414,0,0,0,0,-430, - 0,0,0,0,0,0,0,0,-415,0, - 0,0,-416,0,0,0,-11,0,0,0, - 0,0,-501,0,0,-433,0,0,0,-514, - 0,-421,0,0,0,-370,-424,-425,-429,0, - 0,-438,0,0,0,0,0,0,0,0, - 0,0,0,-431,0,0,0,0,-453,0, - 0,-439,0,0,0,0,0,0,0,0, - 0,0,-428,-445,0,0,0,0,0,0, - 0,0,0,-455,0,0,0,0,0,0, - 0,0,0,-166,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-253,0,0, + 0,0,0,-143,0,0,0,0,0,0, + 0,0,-469,-323,-488,0,0,0,-104,0, + 0,0,-327,0,0,0,0,0,0,0, + 0,0,-261,0,0,0,0,-339,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-340,0,0,0,-294, 0,0,0,0,0,0,0,0,0,0, - -459,0,-471,-254,0,0,0,0,0,0, + 0,0,-304,-341,-501,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-251,0, + 0,0,0,-149,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-475,0,-255,0, - 0,0,0,-480,0,0,0,0,0,0, + 0,0,0,0,0,0,-226,0,0,0, + -342,0,0,0,0,-297,0,0,-512,-330, + 0,-343,0,0,0,-370,0,0,0,0, + 0,-316,-107,0,0,0,0,0,0,0, + -110,0,0,-89,0,0,0,0,0,0, + 0,-451,0,-344,0,0,0,0,0,0, + 0,0,0,-498,0,0,0,0,-29,0, 0,0,0,0,0,0,0,0,0,0, - 0,-367,0,-432,-442,-488,0,-494,0,-449, - -383,0,0,0,0,-504,0,0,0,0, - 0,0,0,-508,0,-483,-451,-482,0,-456, - 0,0,-59,0,0,0,0,-454,0,-297, - 0,0,0,0,0,0,0,0,0,0, - -509,0,0,0,0,0,0,0,0,-309, + 0,0,-412,0,-439,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-221,0, + -499,0,0,0,0,0,0,0,0,0, + -109,0,0,0,0,0,0,0,0,0, + -199,-338,0,0,0,0,0,0,0,-127, + -282,0,0,-345,0,0,-486,-346,0,0, + 0,-456,0,0,-111,0,0,-211,0,0, + 0,0,0,0,0,0,-212,0,0,0, + -70,0,0,0,0,0,0,0,0,0, + 0,0,0,-333,0,0,0,0,0,0, + 0,0,0,-19,0,0,0,0,-347,0, + 0,0,-148,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-130,0,0,-188, + 0,0,0,0,-348,0,0,-349,0,0, + 0,0,0,0,0,-119,0,0,-290,0, + -363,0,0,0,0,0,-216,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -350,0,0,0,0,0,0,0,0,0, + -36,0,0,0,0,0,0,-337,0,0, + -351,0,-213,0,0,0,0,0,0,0, + 0,0,0,-131,-222,-299,0,-375,0,0, + 0,-144,0,0,0,0,0,0,0,0, + 0,0,-317,0,0,-393,0,0,0,0, + 0,0,0,0,0,-82,0,0,0,0, + -352,0,0,-353,-354,0,0,0,0,0, + 0,-355,0,0,0,0,0,-377,0,0, + -356,0,0,-497,0,0,-200,-500,0,-407, + 0,0,0,0,0,0,0,0,0,0, + -252,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-283,-235,0,0, + -371,0,0,-402,-357,0,0,0,-45,0, + 0,0,0,0,0,-125,-360,0,0,0, + 0,-445,0,0,0,0,0,0,0,-46, + 0,0,0,0,-410,0,0,0,0,0, + 0,0,0,0,-362,0,0,0,0,0, + 0,0,0,0,-364,-247,0,0,0,-359, + 0,-381,0,0,0,-121,0,0,-514,-432, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-372,-386,0, + -365,-51,0,0,0,0,0,-405,0,0, + -366,0,0,0,0,0,0,0,0,0, + 0,0,0,-11,0,-368,0,0,0,-395, + 0,0,0,0,0,0,0,0,-147,0, + 0,0,0,-441,0,0,0,0,0,0, + 0,0,0,0,0,0,-448,-34,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-450,0,0,0,0,0,0,0,0, + 0,0,0,-396,-422,0,0,-397,0,-398, + 0,0,0,0,0,0,0,0,0,0, + -166,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-253,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-413,0,-414, + -254,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-423,0,-255,0,0,0,0, + -415,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-367,0, + -126,-425,-420,0,-424,0,0,-382,0,0, + 0,0,0,0,0,0,0,0,0,0, + -427,0,-482,0,-504,0,-428,0,0,0, + -309,-57,0,0,0,0,0,0,0,-289, + -284,0,0,0,0,0,0,0,0,0, + 0,0,0,-225,0,0,-286,-437,-438,0, + 0,0,0,0,0,0,0,0,-416,-20, + 0,0,-444,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-454,-458,-455, + -452,0,0,-285,0,0,0,0,0,-470, + 0,-22,0,0,0,0,-431,0,0,0, + -474,0,-479,0,0,0,-487,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-478,-493,-517,0,-503,0,-33,0,0, + 0,-461,0,-509,0,0,0,0,0,0, + 0,0,0,0,0,0,-481,0,0,0, + 0,0,0,0,-71,0,0,0,0,0, + 0,0,0,0,-453,0,0,0,0,0, + 0,0,0,0,0,0,-505,0,0,0, + 0,0,0,0,-480,0,-248,-460,-462,0, + -378,0,0,-463,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-313, + 0,0,0,0,0,0,0,-132,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-468, + -477,0,0,0,0,0,0,-485,-279,-433, + -295,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-390,0,0,0,0,0,0,0, + -191,0,0,0,0,-464,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-443,0,0,0,0,0,0,0, + -515,0,-434,-489,0,0,-459,0,0,0, + -475,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-429,0,0,0,0, + 0,0,0,-220,0,0,0,0,-476,0, + 0,-491,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-472,0,0,0,0, + 0,0,0,-522,-435,-436,-511,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-430,0, + 0,0,0,0,0,0,-310,0,0,0, + 0,-492,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-417,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-461,0, - -479,-462,-463,0,0,0,-468,0,0,0, - 0,0,-214,0,0,0,0,0,0,-229, - 0,0,-464,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-525,-471,-484,-490, + 0,0,0,0,0,0,-507,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-116,0,0,0,0,0,0,0,-329, + 0,0,0,0,-513,0,0,0,0,-8, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-465,-476,0,0,0,0, - 0,0,0,0,0,0,0,-481,0,0, - -469,-477,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-486,-478,0,0, - 0,0,0,-490,0,-492,0,0,0,-116, - 0,0,0,0,-444,0,0,0,0,0, + 0,0,0,0,-506,0,0,0,0,0, + 0,0,0,0,0,0,0,-518,0,-516, 0,0,0,0,0,0,0,0,0,0, - 0,-493,0,-507,0,0,0,-513,0,0, - 0,0,0,0,0,-295,0,0,0,0, - -506,0,0,0,0,0,0,0,0,0, - 0,0,0,-515,-511,0,0,0,0,0, + 0,0,-86,0,0,0,0,0,0,0, + 0,0,0,0,-335,0,0,0,0,0, + 0,0,-519,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-87,0,0,-465, + 0,0,0,0,0,0,-523,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-522,-516,-519,0,0,0,0,-523, - 0,-518,0,0,0,-136,0,0,0,0, - -144,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-473, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-129, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-525, + 0,-391,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,-331,-231, - 0,-232,0,0,0,0,0,-119,0,0, - -163,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-8,0, 0,0,0,0,0,0,0,0,0,0, - -36,0,0,0,0,-200,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-86,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-289,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-87,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-234, - 0,0,0,0,-279,0,0,0,0,0, + 0,0,0,0,0,0,-165,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-129,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-167, 0,0,0,0,0,0,0,0,0,0, - 0,-434,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-168,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-169,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-170,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-165, 0,0,0,0,0,0,0,0,0,0, + 0,-171,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-167,0,0,0,0,0,0,0, + 0,0,0,0,-172,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-168,0,0,0,0, + 0,0,0,0,0,0,0,-239,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-169,0, 0,0,0,0,0,0,0,0,0,0, + -249,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-170,0,0,0,0,0,0,0,0, + 0,0,0,-250,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-171,0,0,0,0,0, + 0,0,0,0,0,0,-298,0,0,0, + 0,0,0,0,0,0,0,0,-392,0, + 0,0,0,0,-326,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-172,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -239,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-249,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-250,0,0,0, + 0,0,0,-403,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,-298, + 0,0,0,0,0,0,-483,0,0,0, + 0,0,0,0,0,0,0,0,0,-387, 0,0,0,0,0,0,0,0,0,0, - 0,-45,0,0,0,0,0,-326,0,0, + 0,0,0,0,-23,0,0,0,0,0, + 0,0,-136,0,0,0,0,0,0,-117, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-163,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-230,0, + 0,0,0,0,0,0,-234,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-466,0,0,0,0,0, + 0,0,0,0,0,0,-394,0,0,0, + 0,0,-495,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-404,0,0,0, + 0,0,0,0,0,0,-115,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-484, + 0,-30,0,0,0,0,0,0,0,0, + 0,0,0,0,-449,0,0,0,0,0, + 0,0,0,0,0,0,0,-401,0,0, + 0,0,0,0,-96,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-23,0,0,0,0,-379,0,-446, - 0,0,0,0,0,0,0,0,-117,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-235,0,-460,0,0,0, - -46,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-51,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -57,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,-314,0,0,0,0,0,0,0, + 0,-140,0,0,0,0,0,0,0,0, + 0,0,0,0,-6,0,0,0,0,0, + 0,0,0,0,0,0,0,-408,0,0, + 0,0,0,0,0,0,0,0,0,-141, + 0,0,-383,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -491,0,-384,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-162,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-30,0,0,0,0,0,0, - 0,0,0,0,0,0,-450,0,0,0, + 0,0,0,0,0,0,0,-229,-242,0, + -417,0,0,0,0,0,0,0,0,-418, 0,0,0,0,0,0,0,0,0,0, - 0,0,-70,0,0,0,0,0,0,0, - 0,0,0,0,0,-115,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-435,0, + 0,0,0,0,0,0,-419,0,0,0, + 0,0,-421,0,0,0,0,0,0,0, + 0,-508,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-231,0,0,0,0,0,-232, + 0,-233,0,0,0,0,0,-331,0,-384, + 0,0,0,0,0,-385,0,0,0,0, + 0,0,0,-404,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-524,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -140,0,0,0,0,0,0,0,0,0, - 0,0,0,-6,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-505,0,0, - -96,0,0,0,0,0,0,-247,0,0, - 0,0,0,0,0,0,-71,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-132,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-191,0, - 0,0,0,-220,0,0,0,0,0,0, - 0,0,0,0,-436,0,0,0,0,0, - 0,0,0,0,0,-286,0,0,-448,0, - 0,0,0,0,0,0,-310,0,0,0, - 0,0,-466,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-314,-329, - 0,0,0,0,0,0,0,-335,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-392,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-393,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-402,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-420, - 0,0,0,-517,0,0,0,0,0,0, - 0,0,0,0,0,-409,0,0,0,0, - 0,0,0,0,0,0,0,-242,0,0, - 0,-418,0,0,-437,0,0,0,0,0, - -233,0,0,0,0,0,0,0,-419,0, - 0,-422,0,0,0,0,0,0,0,0, - 0,0,-385,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-386, - 0,0,0,-405,0,0,0,0,0,0, - 0,-467,0,-524,-472,0,0,0,0,0, - 0,0,0,0,0,0,0,-496,0,0, - -485,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -542,7 +548,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0 + 0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -552,11 +558,11 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface BaseAction { public final static char baseAction[] = { - 171,5,131,87,87,34,34,66,66,40, - 40,171,171,172,172,132,132,1,1,16, + 171,5,131,87,87,34,34,66,66,39, + 39,171,171,172,172,132,132,1,1,16, 16,16,16,16,16,16,16,17,17,17, 15,11,11,9,9,9,9,9,2,67, - 67,6,6,12,12,12,12,45,45,133, + 67,6,6,12,12,12,12,44,44,133, 133,134,54,54,43,18,18,18,18,18, 18,18,18,18,18,18,18,18,18,18, 18,18,18,18,18,135,135,135,114,19, @@ -568,13 +574,13 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 31,31,31,32,32,33,33,35,35,36, 36,37,37,38,38,42,42,41,41,41, 41,41,41,41,41,41,41,41,41,41, - 39,39,30,141,141,99,99,102,102,94, - 191,191,78,78,78,78,78,78,78,78, - 78,79,79,79,80,80,57,57,176,176, - 81,81,81,115,115,82,82,82,82,83, - 83,83,83,83,84,84,68,68,68,68, - 68,68,68,50,50,50,50,50,105,105, - 106,106,48,23,23,23,23,23,44,44, + 40,30,141,141,99,99,102,102,94,192, + 192,78,78,78,78,78,78,78,78,78, + 79,79,79,80,80,57,57,176,176,81, + 81,81,115,115,82,82,82,82,83,83, + 83,83,83,84,84,68,68,68,68,68, + 68,68,49,49,49,49,49,105,105,106, + 106,50,177,23,23,23,23,23,47,47, 88,88,88,88,88,148,148,143,143,143, 143,143,144,144,144,145,145,145,146,146, 146,147,147,147,89,89,89,89,89,90, @@ -582,20 +588,20 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 14,14,14,14,93,119,119,119,119,119, 117,117,117,118,118,150,150,149,149,121, 121,151,72,72,73,73,75,76,74,52, - 47,152,152,53,51,71,71,153,153,142, + 46,152,152,53,51,71,71,153,153,142, 142,122,122,86,86,154,154,63,63,63, 59,59,58,64,64,77,77,56,56,56, 91,91,101,100,100,61,61,60,60,55, - 55,49,103,103,103,95,95,95,96,97, + 55,48,103,103,103,95,95,95,96,97, 97,97,98,98,107,107,107,109,109,108, - 108,192,192,92,92,178,178,178,178,178, - 124,46,46,156,177,177,125,125,125,125, - 179,179,29,29,116,126,126,126,126,110, + 108,193,193,92,92,179,179,179,179,179, + 124,45,45,156,178,178,125,125,125,125, + 180,180,29,29,116,126,126,126,126,110, 110,120,120,120,158,159,159,159,159,159, - 159,159,159,159,182,182,180,180,181,181, - 160,160,160,160,161,183,112,111,111,184, - 184,162,162,162,162,104,104,104,185,185, - 10,186,186,187,163,155,155,164,164,165, + 159,159,159,159,183,183,181,181,182,182, + 160,160,160,160,161,184,112,111,111,185, + 185,162,162,162,162,104,104,104,186,186, + 10,187,187,188,163,155,155,164,164,165, 166,166,7,7,8,168,168,168,168,168, 168,168,168,168,168,168,168,168,168,168, 168,168,168,168,168,168,168,168,168,168, @@ -603,497 +609,502 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 168,168,168,168,168,168,168,62,65,65, 169,169,127,127,128,128,128,128,128,128, 3,4,170,170,167,167,129,129,129,69, - 70,85,157,157,113,113,188,188,188,130, - 130,123,123,189,189,1410,38,2401,2387,713, - 3025,4780,34,842,31,35,30,32,2688,262, - 29,27,55,1741,110,80,81,112,2212,1751, - 1784,1777,1820,1802,274,1392,1837,1827,1880,1927, - 1863,1888,1906,147,1085,163,163,148,2516,38, - 851,36,713,1586,4788,34,842,31,35,62, - 32,3493,38,851,36,713,232,3841,34,842, - 31,35,30,32,1698,262,29,27,55,1741, - 110,80,81,112,1635,1751,1784,1777,1820,1802, - 2507,1317,2874,235,230,231,4461,2510,275,3452, - 38,851,36,713,1684,3841,34,842,31,35, - 30,32,1698,262,29,27,55,1741,90,80, - 81,242,245,248,251,2798,2294,38,851,36, - 713,704,4866,34,842,31,35,30,32,385, - 417,499,3602,600,38,291,2412,3195,2411,994, - 2358,2858,3058,4393,2302,38,851,36,713,2393, - 3841,34,842,31,35,1734,32,1698,262,29, + 70,85,157,157,113,113,189,189,189,130, + 130,123,123,190,190,958,38,2420,2413,1011, + 325,3940,34,1065,31,35,30,32,2693,262, + 29,27,55,1741,110,80,81,112,1377,1751, + 1784,1777,1820,1794,274,2060,1837,1827,1870,158, + 1845,1880,1906,147,1956,3179,162,148,1885,38, + 1075,36,1011,933,4005,34,1065,31,35,62, + 32,2359,38,1075,36,1011,232,4543,34,1065, + 31,35,30,32,1708,262,29,27,55,1741, + 110,80,81,112,1065,1751,1784,1777,1820,1794, + 1243,1317,3031,235,230,231,3492,1174,275,2313, + 38,1075,36,1011,1440,4543,34,1065,31,35, + 30,32,1708,262,29,27,55,1741,90,80, + 81,242,245,248,251,2964,2057,38,1075,36, + 1011,930,4778,34,1065,31,35,30,32,385, + 417,499,1952,853,38,291,2423,3236,2411,994, + 2358,3530,3562,4505,1567,38,1075,36,1011,2393, + 4543,34,1065,31,35,1734,32,1708,262,29, 27,55,1741,110,80,81,112,341,1751,1784, - 1777,1820,1802,66,1618,1837,1827,1880,2212,1863, - 1888,1906,147,1026,2445,506,148,2499,38,851, - 36,713,435,2400,34,842,2222,35,187,507, - 2302,38,851,36,713,2393,3841,34,842,31, - 35,1734,32,1698,262,29,27,55,1741,110, - 80,81,112,341,1751,1784,1777,1820,1802,600, - 3041,1837,1827,1880,338,1863,1888,1906,147,1059, - 4292,506,148,600,38,2044,1994,713,1042,2400, - 2883,38,851,36,713,507,3841,34,842,31, - 35,30,32,1698,262,29,27,55,1741,110, - 80,81,112,502,1751,1784,1777,1820,1802,600, - 1544,1837,1827,1880,2133,1863,1888,1906,147,386, - 417,146,148,1799,38,851,36,713,2199,4866, - 34,842,31,35,64,32,600,38,501,277, - 713,1587,1077,3117,1913,247,38,1440,46,713, - 3025,1152,45,842,3310,38,851,36,713,502, - 3841,34,842,31,35,30,32,1698,262,29, - 27,55,1741,110,80,81,112,3120,1751,1784, - 1777,1820,1802,222,321,1837,1827,1880,1665,1863, - 1888,1906,147,1227,1970,163,148,2014,515,3675, - 1913,2928,38,851,36,713,2393,3841,34,842, - 31,35,1734,32,1698,262,29,27,55,1741, - 110,80,81,112,341,1751,1784,1777,1820,1802, - 286,1168,1837,1827,1880,1775,1863,1888,1906,147, - 64,3670,506,148,2187,600,38,778,383,713, - 2400,2455,38,851,36,713,507,3841,34,842, - 31,35,30,32,1698,262,29,27,55,1741, - 110,80,81,112,37,1751,1784,1777,1820,1802, - 423,3020,1837,1827,1880,559,1863,1888,1906,147, - 1737,331,376,148,1453,2412,2586,38,851,36, - 713,3829,4788,34,842,31,35,61,32,1467, - 47,1536,1799,38,851,36,713,379,4866,34, - 842,31,35,63,32,2528,38,851,36,713, - 503,3841,34,842,31,35,30,32,1698,262, - 29,27,55,1741,110,80,81,112,3234,1751, - 1784,1777,1820,1802,75,232,1837,1827,1880,338, - 1863,1888,1906,147,2515,4431,376,148,486,97, - 2499,38,851,36,713,431,380,34,842,43, - 35,75,244,230,231,3117,2973,38,851,36, - 713,377,3841,34,842,31,35,30,32,1698, - 262,29,27,55,1741,110,80,81,112,3248, - 1751,1784,1777,1820,1802,2182,3019,1837,1827,1880, - 2212,1863,1888,1906,147,304,2942,376,148,3433, - 3045,65,2499,38,851,36,713,1624,338,34, - 842,3002,35,3670,3513,3310,38,851,36,713, - 381,3841,34,842,31,35,30,32,1698,262, - 29,27,55,1741,110,80,81,112,338,1751, - 1784,1777,1820,1802,4702,298,1837,1827,1880,2478, - 1863,1888,1906,147,3025,603,370,148,3310,38, - 851,36,713,330,3841,34,842,31,35,30, - 32,1698,262,29,27,55,1741,110,80,81, - 112,374,1751,1784,1777,1820,1802,2210,485,1837, - 1827,1880,3936,1863,1888,1906,147,1624,4576,370, - 148,388,417,3670,2524,3310,38,851,36,713, - 3024,3841,34,842,31,35,30,32,1698,262, - 29,27,55,1741,110,80,81,112,312,1751, - 1784,1777,1820,1802,422,694,1837,1827,1880,369, - 1863,1888,1906,147,600,3328,370,148,3041,38, - 851,36,713,330,3841,34,842,31,35,30, - 32,1698,262,29,27,55,1741,110,80,81, - 112,1070,1751,1784,1777,1820,1802,1581,3196,1837, - 1827,1880,368,1863,1888,1956,169,3100,935,3310, - 38,851,36,713,3248,3841,34,842,31,35, - 30,32,1698,262,29,27,55,1741,110,80, - 81,112,323,1751,1784,1777,1820,1802,1613,1616, - 1837,1827,1880,512,1863,1888,1906,147,1797,366, - 159,148,3016,1185,1116,326,3544,3310,38,851, - 36,713,1707,3841,34,842,31,35,30,32, - 1698,262,29,27,55,1741,110,80,81,112, - 384,1751,1784,1777,1820,1802,3580,2307,1837,1827, - 1880,152,1863,1888,1906,147,2852,1903,158,148, - 3310,38,851,36,713,1070,3841,34,842,31, - 35,30,32,1698,262,29,27,55,1741,110, - 80,81,112,1132,1751,1784,1777,1820,1802,3580, - 1203,1837,1827,1880,152,1863,1888,1906,147,4671, - 782,157,148,3310,38,851,36,713,1855,3841, - 34,842,31,35,30,32,1698,262,29,27, - 55,1741,110,80,81,112,444,1751,1784,1777, - 1820,1802,3580,870,1837,1827,1880,152,1863,1888, - 1906,147,548,2585,156,148,3310,38,851,36, - 713,1059,3841,34,842,31,35,30,32,1698, - 262,29,27,55,1741,110,80,81,112,322, - 1751,1784,1777,1820,1802,1636,521,1837,1827,1880, - 708,1863,1888,1906,147,324,2005,155,148,3310, - 38,851,36,713,3039,3841,34,842,31,35, - 30,32,1698,262,29,27,55,1741,110,80, - 81,112,353,1751,1784,1777,1820,1802,152,521, - 1837,1827,1880,3101,1863,1888,1906,147,3020,2152, - 154,148,3310,38,851,36,713,1899,3841,34, - 842,31,35,30,32,1698,262,29,27,55, - 1741,110,80,81,112,352,1751,1784,1777,1820, - 1802,152,521,1837,1827,1880,674,1863,1888,1906, - 147,3020,952,153,148,3310,38,851,36,713, - 3025,3841,34,842,31,35,30,32,1698,262, - 29,27,55,1741,110,80,81,112,1294,1751, - 1784,1777,1820,1802,152,2297,1837,1827,1880,2177, - 1863,1888,1906,147,375,448,152,148,3310,38, - 851,36,713,3135,3841,34,842,31,35,30, - 32,1698,262,29,27,55,1741,110,80,81, - 112,3137,1751,1784,1777,1820,1802,152,1496,1837, - 1827,1880,3838,1863,1888,1906,147,3020,447,151, - 148,3310,38,851,36,713,3025,3841,34,842, - 31,35,30,32,1698,262,29,27,55,1741, - 110,80,81,112,1690,1751,1784,1777,1820,1802, - 152,1514,1837,1827,1880,730,1863,1888,1906,147, - 2901,1420,150,148,3310,38,851,36,713,1512, - 3841,34,842,31,35,30,32,1698,262,29, - 27,55,1741,110,80,81,112,3108,1751,1784, - 1777,1820,1802,152,245,1837,1827,1880,2823,1863, - 1888,1906,147,2280,325,149,148,3310,38,851, - 36,713,3161,3841,34,842,31,35,30,32, - 1698,262,29,27,55,1741,110,80,81,112, - 246,1751,1784,1777,1820,1802,152,2589,1837,1827, - 1880,2867,1863,1888,1906,147,350,856,164,148, - 3310,38,851,36,713,3025,3841,34,842,31, - 35,30,32,1698,262,29,27,55,1741,110, - 80,81,112,2938,1751,1784,1777,1820,1802,152, - 351,1837,1827,1880,2938,1863,1888,1906,147,4298, - 58,144,148,3410,38,851,36,713,2349,3841, - 34,842,31,35,30,32,1698,262,29,27, - 55,1741,110,80,81,112,1570,1751,1784,1777, - 1820,1802,152,3292,1837,1827,1880,3015,1863,1888, - 1906,147,3248,3600,194,148,3493,38,851,36, - 713,64,3841,34,842,31,35,30,32,1698, - 262,29,27,55,1741,110,80,81,112,1795, - 1751,1784,1777,1820,1802,152,3129,1837,1827,1880, - 3092,1863,1888,1956,169,3493,38,851,36,713, - 3024,3841,34,842,31,35,30,32,1698,262, - 29,27,55,1741,110,80,81,112,283,1751, - 1784,1777,1820,1802,152,234,1837,1827,1880,1120, - 1863,1888,1956,169,600,38,501,281,713,600, - 38,778,383,713,3134,3493,38,851,36,713, - 290,3841,34,842,31,35,30,32,1698,262, + 1777,1820,1794,66,45,1837,1827,1870,1377,1845, + 1880,1906,147,1812,2579,506,148,1893,38,1075, + 36,1011,2400,444,34,1065,2134,35,428,507, + 1567,38,1075,36,1011,2393,4543,34,1065,31, + 35,1734,32,1708,262,29,27,55,1741,110, + 80,81,112,341,1751,1784,1777,1820,1794,853, + 3345,1837,1827,1870,158,1845,1880,1906,147,764, + 3200,506,148,853,38,2133,2098,1011,2400,298, + 1768,38,1075,36,1011,507,4543,34,1065,31, + 35,30,32,1708,262,29,27,55,1741,110, + 80,81,112,502,1751,1784,1777,1820,1794,325, + 2514,1837,1827,1870,2045,1845,1880,1906,147,386, + 417,146,148,2049,38,1075,36,1011,1052,4778, + 34,1065,31,35,64,32,853,38,501,277, + 1011,1612,1217,321,1913,1478,38,1440,46,1011, + 431,2478,45,1065,2174,38,1075,36,1011,502, + 4543,34,1065,31,35,30,32,1708,262,29, + 27,55,1741,110,80,81,112,158,1751,1784, + 1777,1820,1794,2187,1812,1837,1827,1870,1378,1845, + 1880,1906,147,2177,1086,162,148,2077,411,4027, + 1913,1835,38,1075,36,1011,2393,4543,34,1065, + 31,35,1734,32,1708,262,29,27,55,1741, + 110,80,81,112,341,1751,1784,1777,1820,1794, + 595,1192,1837,1827,1870,2484,1845,1880,1906,147, + 853,3465,506,148,853,38,501,281,1011,2400, + 384,1634,38,1075,36,1011,507,4543,34,1065, + 31,35,30,32,1708,262,29,27,55,1741, + 110,80,81,112,322,1751,1784,1777,1820,1794, + 27,521,1837,1827,1870,854,1845,1880,1906,147, + 2231,27,376,148,1181,2423,2824,2017,38,1075, + 36,1011,3299,4005,34,1065,31,35,61,32, + 1274,70,2049,38,1075,36,1011,379,4778,34, + 1065,31,35,63,32,1706,38,1075,36,1011, + 503,4543,34,1065,31,35,30,32,1708,262, + 29,27,55,1741,110,80,81,112,2548,1751, + 1784,1777,1820,1794,244,232,1837,1827,1870,1875, + 1845,1880,1906,147,3167,418,376,148,47,1562, + 1893,38,1075,36,1011,505,380,34,1065,43, + 35,1527,244,230,231,1066,1902,38,1075,36, + 1011,377,4543,34,1065,31,35,30,32,1708, + 262,29,27,55,1741,110,80,81,112,312, + 1751,1784,1777,1820,1794,2093,331,1837,1827,1870, + 1377,1845,1880,1906,147,186,2683,376,148,3560, + 636,3118,65,1893,38,1075,36,1011,1163,27, + 34,1065,3259,35,4685,2174,38,1075,36,1011, + 381,4543,34,1065,31,35,30,32,1708,262, + 29,27,55,1741,110,80,81,112,486,1751, + 1784,1777,1820,1794,1146,1180,1837,1827,1870,2478, + 1845,1880,1906,147,325,1235,370,148,2174,38, + 1075,36,1011,323,4543,34,1065,31,35,30, + 32,1708,262,29,27,55,1741,110,80,81, + 112,374,1751,1784,1777,1820,1794,2702,485,1837, + 1827,1870,2393,1845,1880,1906,147,1016,332,370, + 148,388,417,3932,1070,2174,38,1075,36,1011, + 341,4543,34,1065,31,35,30,32,1708,262, + 29,27,55,1741,110,80,81,112,158,1751, + 1784,1777,1820,1794,3688,3711,1837,1827,1870,369, + 1845,1880,1906,147,325,2456,370,148,1964,38, + 1075,36,1011,330,4543,34,1065,31,35,30, + 32,1708,262,29,27,55,1741,110,80,81, + 112,1070,1751,1784,1777,1820,1794,1158,375,1837, + 1827,1870,368,1845,1880,1949,168,1458,4637,2174, + 38,1075,36,1011,157,4543,34,1065,31,35, + 30,32,1708,262,29,27,55,1741,110,80, + 81,112,1070,1751,1784,1777,1820,1794,2454,1551, + 1837,1827,1870,2478,1845,1880,1906,147,673,366, + 159,148,1352,1185,1175,326,2454,2174,38,1075, + 36,1011,1535,4543,34,1065,31,35,30,32, + 1708,262,29,27,55,1741,110,80,81,112, + 1168,1751,1784,1777,1820,1794,2478,221,1837,1827, + 1870,324,1845,1880,1906,147,3819,63,158,148, + 2174,38,1075,36,1011,1133,4543,34,1065,31, + 35,30,32,1708,262,29,27,55,1741,110, + 80,81,112,1070,1751,1784,1777,1820,1794,27, + 679,1837,1827,1870,548,1845,1880,1906,147,1527, + 1129,157,148,2174,38,1075,36,1011,1457,4543, + 34,1065,31,35,30,32,1708,262,29,27, + 55,1741,110,80,81,112,353,1751,1784,1777, + 1820,1794,1017,521,1837,1827,1870,708,1845,1880, + 1906,147,1527,1649,156,148,2174,38,1075,36, + 1011,764,4543,34,1065,31,35,30,32,1708, + 262,29,27,55,1741,110,80,81,112,352, + 1751,1784,1777,1820,1794,27,521,1837,1827,1870, + 2689,1845,1880,1906,147,1527,448,155,148,2174, + 38,1075,36,1011,325,4543,34,1065,31,35, + 30,32,1708,262,29,27,55,1741,110,80, + 81,112,1355,1751,1784,1777,1820,1794,27,1690, + 1837,1827,1870,674,1845,1880,1906,147,3009,447, + 154,148,2174,38,1075,36,1011,1717,4543,34, + 1065,31,35,30,32,1708,262,29,27,55, + 1741,110,80,81,112,237,1751,1784,1777,1820, + 1794,27,1530,1837,1827,1870,2891,1845,1880,1906, + 147,2138,325,153,148,2174,38,1075,36,1011, + 1222,4543,34,1065,31,35,30,32,1708,262, + 29,27,55,1741,110,80,81,112,1750,1751, + 1784,1777,1820,1794,27,1764,1837,1827,1870,3006, + 1845,1880,1906,147,350,2047,152,148,2174,38, + 1075,36,1011,325,4543,34,1065,31,35,30, + 32,1708,262,29,27,55,1741,110,80,81, + 112,2103,1751,1784,1777,1820,1794,27,351,1837, + 1827,1870,730,1845,1880,1906,147,4395,1611,151, + 148,2174,38,1075,36,1011,325,4543,34,1065, + 31,35,30,32,1708,262,29,27,55,1741, + 110,80,81,112,1563,1751,1784,1777,1820,1794, + 27,2493,1837,1827,1870,3186,1845,1880,1906,147, + 28,1093,150,148,2174,38,1075,36,1011,325, + 4543,34,1065,31,35,30,32,1708,262,29, + 27,55,1741,110,80,81,112,1240,1751,1784, + 1777,1820,1794,27,2368,1837,1827,1870,3461,1845, + 1880,1906,147,348,1316,149,148,2174,38,1075, + 36,1011,325,4543,34,1065,31,35,30,32, + 1708,262,29,27,55,1741,110,80,81,112, + 2004,1751,1784,1777,1820,1794,27,2012,1837,1827, + 1870,2910,1845,1880,1906,147,74,1005,163,148, + 2174,38,1075,36,1011,1482,4543,34,1065,31, + 35,30,32,1708,262,29,27,55,1741,110, + 80,81,112,158,1751,1784,1777,1820,1794,4567, + 1477,1837,1827,1870,2131,1845,1880,1906,147,3773, + 1085,144,148,2267,38,1075,36,1011,325,4543, + 34,1065,31,35,30,32,1708,262,29,27, + 55,1741,110,80,81,112,1224,1751,1784,1777, + 1820,1794,27,498,1837,1827,1870,2987,1845,1880, + 1906,147,73,846,193,148,2359,38,1075,36, + 1011,1959,4543,34,1065,31,35,30,32,1708, + 262,29,27,55,1741,110,80,81,112,1414, + 1751,1784,1777,1820,1794,27,673,1837,1827,1870, + 3064,1845,1880,1949,168,2359,38,1075,36,1011, + 2095,4543,34,1065,31,35,30,32,1708,262, + 29,27,55,1741,110,80,81,112,2040,1751, + 1784,1777,1820,1794,3932,304,1837,1827,1870,2073, + 1845,1880,1949,168,853,38,501,279,1011,853, + 38,1054,383,1011,1321,2359,38,1075,36,1011, + 290,4543,34,1065,31,35,30,32,1708,262, 29,27,55,1741,110,80,81,112,274,1751, - 1784,1777,1820,1802,1278,76,1837,1827,1880,2679, - 1863,1888,1956,169,3493,38,851,36,713,413, - 3841,34,842,31,35,30,32,1698,262,29, - 27,55,1741,110,80,81,112,3214,1751,1784, - 1777,1820,1802,512,2358,1837,1827,1880,1544,1863, - 1888,1956,169,600,38,501,279,713,152,3112, - 38,280,276,3151,3493,38,851,36,713,3303, - 3841,34,842,31,35,30,32,1698,262,29, - 27,55,1741,110,80,81,112,2956,1751,1784, - 1777,1820,1802,3117,3113,1837,1827,1880,3025,1863, - 1888,1956,169,3534,38,851,36,713,412,3841, - 34,842,31,35,30,32,1698,262,29,27, - 55,1741,110,80,81,112,2004,1751,1784,1777, - 1820,1802,28,303,1837,1827,1880,1927,1863,1888, - 1956,169,600,38,501,3332,713,600,38,778, - 383,713,428,3493,38,851,36,713,415,3841, - 34,842,31,35,30,32,1698,262,29,27, + 1784,1777,1820,1794,331,673,1837,1827,1870,97, + 1845,1880,1949,168,2359,38,1075,36,1011,413, + 4543,34,1065,31,35,30,32,1708,262,29, + 27,55,1741,110,80,81,112,1703,1751,1784, + 1777,1820,1794,512,303,1837,1827,1870,1002,1845, + 1880,1949,168,853,38,501,3518,1011,27,1147, + 38,280,276,1120,2359,38,1075,36,1011,3441, + 4543,34,1065,31,35,30,32,1708,262,29, + 27,55,1741,110,80,81,112,2863,1751,1784, + 1777,1820,1794,1307,673,1837,1827,1870,2674,1845, + 1880,1949,168,2405,38,1075,36,1011,412,4543, + 34,1065,31,35,30,32,1708,262,29,27, + 55,1741,110,80,81,112,944,1751,1784,1777, + 1820,1794,4938,300,1837,1827,1870,897,1845,1880, + 1949,168,2142,38,501,277,1011,853,38,1054, + 383,1011,1762,2359,38,1075,36,1011,415,4543, + 34,1065,31,35,30,32,1708,262,29,27, 55,1741,110,80,81,112,54,1751,1784,1777, - 1820,1802,3117,3682,1837,1827,1880,1744,1863,3106, - 51,3248,3493,38,851,36,713,3320,3841,34, - 842,31,35,30,32,1698,262,29,27,55, - 1741,110,80,81,112,3166,1751,1784,1777,1820, - 1802,152,300,1837,1827,1880,854,3094,3493,38, - 851,36,713,2523,3841,34,842,31,35,30, - 32,1698,262,29,27,55,1741,110,80,81, - 112,1630,1751,1784,1777,1820,1802,305,3705,1837, - 1827,2966,3493,38,851,36,713,3276,3841,34, - 842,31,35,30,32,1698,262,29,27,55, - 1741,110,80,81,112,338,1751,1784,1777,1820, - 1802,3950,2897,1837,3017,3493,38,851,36,713, - 435,3841,34,842,31,35,30,32,1698,262, - 29,27,55,1741,110,80,81,112,1738,1751, - 1784,1777,1820,2945,3493,38,851,36,713,1737, - 3841,34,842,31,35,30,32,1698,262,29, - 27,55,1741,110,80,81,112,1623,1751,1784, - 1777,1820,2953,3575,38,778,383,713,2403,2637, - 2502,1739,3118,2393,3117,3230,237,262,949,38, - 389,3695,3767,3632,509,38,778,383,713,232, - 513,2429,274,3701,239,262,600,38,282,1571, - 38,851,36,713,3706,3871,34,842,31,35, - 337,32,397,274,299,3214,247,230,231,3493, - 38,851,36,713,232,3841,34,842,31,35, - 30,32,1698,262,29,27,55,1741,110,80, - 81,112,232,1751,1784,1777,2771,349,600,38, - 3352,235,230,231,3726,1778,275,318,1458,320, - 358,4757,313,1265,3741,342,1793,1759,347,240, - 230,231,373,340,1904,2997,349,3364,3433,242, - 245,248,251,2798,338,2423,152,152,2484,704, - 4803,951,854,338,342,1793,1759,347,77,4818, - 3684,3025,2413,3112,38,278,2411,994,2358,2858, - 3058,4393,3493,38,851,36,713,3262,3841,34, - 842,31,35,30,32,1698,262,29,27,55, - 1741,110,80,81,112,348,1751,1784,1777,2793, - 3493,38,851,36,713,3544,3841,34,842,31, - 35,30,32,1698,262,29,27,55,1741,110, - 80,81,112,152,1751,1784,1777,2795,3913,3784, - 2093,371,3493,38,851,36,713,363,3841,34, - 842,31,35,30,32,1698,262,29,27,55, - 1741,110,80,81,112,1860,1751,1784,1777,2803, - 2393,2576,38,501,277,713,3776,597,38,778, - 383,713,1070,3493,38,851,36,713,229,3841, - 34,842,31,35,30,32,1698,262,29,27, - 55,1741,110,80,81,112,54,1751,2692,4654, - 3786,207,216,213,3843,206,214,215,217,2212, - 1264,3863,1358,70,38,441,3248,208,2344,4719, - 573,2009,333,15,209,210,211,212,292,293, - 294,295,3493,38,851,36,713,421,3841,34, - 842,31,35,30,32,1698,262,29,27,55, - 1741,110,80,81,112,2925,1751,1784,2830,3493, - 38,851,36,713,3132,3841,34,842,31,35, - 30,32,1698,262,29,27,55,1741,110,80, - 81,112,297,1751,1784,2851,3147,13,2216,38, - 851,36,713,3226,3871,34,842,31,35,337, - 32,3144,3248,2350,38,851,36,713,3706,3871, - 34,842,31,35,337,32,158,38,441,3756, - 387,417,4719,3164,3248,3666,555,3307,3027,38, - 1307,1525,713,3672,4446,600,38,778,383,713, - 600,38,778,383,713,1897,318,1458,320,411, - 3016,313,1265,2503,949,38,389,54,2393,395, - 3251,318,1458,320,440,349,313,1265,296,421, - 152,1264,3020,773,850,1240,2429,434,1923,1949, - 349,3260,3205,342,1793,1759,347,2393,3872,516, - 284,2531,600,38,778,383,713,1689,342,1793, - 1759,347,2393,3025,3119,229,517,1649,38,851, - 36,713,1137,4687,34,842,31,35,337,32, - 2429,274,349,3614,38,278,4654,3214,207,216, - 213,152,206,214,215,217,4398,74,1487,3117, - 342,1793,1759,347,208,357,3140,573,2531,232, - 218,209,210,211,212,292,293,294,295,4357, - 1716,2084,2223,330,2494,318,1458,320,3603,2503, - 313,1265,3643,2393,2393,3702,250,230,231,184, - 438,1923,1949,3788,373,338,3620,3973,1109,493, - 3577,229,2429,1081,3117,3117,592,3020,4563,1701, - 38,2504,36,713,1137,4687,34,842,31,35, - 337,32,4654,2187,207,216,213,152,206,214, - 215,217,4503,152,490,492,2063,3643,2939,307, - 208,854,3117,573,200,199,218,209,210,211, - 212,292,293,294,295,3728,2205,3116,3025,843, - 2393,2393,3670,3025,2478,330,160,318,1458,320, - 1407,357,313,1265,338,167,2227,3025,229,2429, - 4836,3117,399,3973,2231,1627,3316,2084,2223,49, - 1536,3082,73,2840,56,2636,2393,58,3931,4654, - 4563,207,216,213,3405,206,214,215,217,513, - 1548,91,330,1032,341,2393,3756,208,525,92, - 573,203,106,218,209,210,211,212,292,293, - 294,295,3803,229,3023,3823,341,2393,3508,3025, - 888,861,1544,160,152,152,2592,4779,357,2393, - 990,378,2138,152,4641,229,2402,400,1970,232, - 3973,2686,2400,3199,2084,2223,3842,341,1845,408, - 2530,1070,401,57,93,573,4654,106,207,216, - 213,3844,206,214,215,217,253,230,231,2737, - 2789,861,1544,2400,208,2784,3032,573,3025,2599, - 218,209,210,211,212,292,293,294,295,3493, - 38,851,36,713,1493,3841,34,842,31,35, - 30,32,1698,262,29,27,55,1741,110,80, - 81,112,439,1751,2707,177,3020,3973,2772,3025, - 525,2286,38,2504,36,713,1137,3871,34,842, - 31,35,337,32,3214,949,38,389,229,444, - 2831,2878,285,1070,3839,160,2205,3146,402,405, - 1624,2393,3670,3484,2909,185,3670,430,3241,4654, - 3272,205,216,213,3393,204,214,215,217,2429, - 1922,1579,174,2576,38,501,3457,713,1,318, - 1458,320,3025,525,313,1265,600,38,778,383, - 713,515,285,188,172,173,175,176,177,178, - 179,229,330,101,2361,3394,330,2636,160,854, - 600,38,778,383,713,424,94,2909,185,89, - 2794,1579,4654,3861,205,216,213,1937,204,214, - 215,217,2393,3214,160,174,3025,3491,357,423, - 3020,4779,3704,2967,186,3531,2016,3117,3787,2514, - 229,854,3398,3199,2084,2223,189,172,173,175, - 176,177,178,179,600,38,778,383,713,3117, - 3569,4654,3399,207,216,213,160,206,214,215, - 217,409,2530,152,2204,3327,202,201,1396,208, - 514,3258,573,422,3400,15,209,210,211,212, - 292,293,294,295,3493,38,2401,2387,713,3506, - 3841,34,842,31,35,30,32,1698,262,29, - 27,55,1741,110,80,81,88,102,3493,38, - 851,36,713,37,3841,34,842,31,35,30, - 32,1698,262,29,27,55,1741,110,80,81, - 112,2646,2725,3597,3493,38,851,36,713,14, - 3841,34,842,31,35,30,32,1698,262,29, - 27,55,1741,110,80,81,112,2229,2734,3493, - 38,851,36,713,3862,3841,34,842,31,35, - 30,32,1698,262,29,27,55,1741,110,80, - 81,112,265,2756,152,3025,3661,525,3676,4427, - 3025,1750,38,851,36,713,1853,4687,34,842, - 31,35,337,32,3769,229,2110,3025,3117,2393, - 3025,854,160,600,38,778,383,713,152,3641, - 1689,2909,185,4380,3571,2393,4654,341,205,216, - 213,3864,204,214,215,217,160,5418,520,174, - 3111,3638,54,2429,3657,167,4724,331,4668,318, - 1458,320,353,2400,314,1265,1264,525,2533,523, - 3322,172,173,175,176,177,178,179,349,152, - 5418,441,3025,3025,4501,229,525,600,38,501, - 3488,713,160,600,38,291,344,1793,1759,347, - 1095,2909,185,3025,229,525,4654,5418,205,216, - 213,160,204,214,215,217,72,71,3711,174, - 2909,185,493,341,5418,4654,5418,205,216,213, - 160,204,214,215,217,3025,3025,70,174,3018, - 181,172,173,175,176,177,178,179,529,2400, - 5418,152,3025,525,2485,2873,2369,491,492,192, - 172,173,175,176,177,178,179,617,3663,69, - 3214,229,525,2773,152,5418,3025,5418,160,1439, - 600,38,778,383,713,1624,3313,2909,185,5418, - 229,3670,4654,5418,205,216,213,160,204,214, - 215,217,3025,3745,3025,174,2909,185,3025,54, - 60,4654,420,205,216,213,1624,204,214,215, - 217,3117,3670,1264,174,1995,3496,172,173,175, - 176,177,178,179,705,152,59,5418,3752,525, - 1482,3780,105,5418,2404,195,172,173,175,176, - 177,178,179,793,3025,3168,5418,229,525,5418, - 3025,4854,3117,5418,160,5418,600,38,778,383, - 713,3111,330,2909,185,5418,229,4724,4654,5418, - 205,216,213,160,204,214,215,217,3743,519, - 2006,174,2909,185,3810,54,3670,4654,5418,205, - 216,213,196,204,214,215,217,3491,5418,1264, - 174,1366,191,172,173,175,176,177,178,179, - 881,5418,5418,98,5418,525,5418,5418,5418,5418, - 5418,198,172,173,175,176,177,178,179,2596, - 152,5418,152,229,2393,2393,3780,2393,1543,5418, - 160,1454,38,778,383,713,5418,5418,5418,2909, - 185,5418,341,341,4654,341,205,216,213,3091, - 204,214,215,217,2393,2485,5418,174,5418,5418, - 54,685,38,778,383,713,1543,5418,894,2400, - 5418,2400,229,5418,1264,2670,2575,2674,197,172, - 173,175,176,177,178,179,3814,5418,5418,3876, - 54,2393,5418,4654,5418,207,216,213,5418,206, - 214,215,217,1543,1264,5418,1234,5418,100,229, - 5418,208,5418,419,573,2862,5418,509,209,210, - 211,212,292,293,294,295,3828,3876,327,333, - 4654,2393,207,216,213,2298,206,214,215,217, - 600,38,778,383,713,2408,5418,5418,208,229, - 854,573,5418,5418,510,209,210,211,212,292, - 293,294,295,3717,3876,5418,332,333,2393,54, - 4654,5418,207,216,213,160,206,214,215,217, - 5418,5418,2601,1264,3095,1048,229,854,208,5418, - 5418,573,5418,3105,306,209,210,211,212,292, - 293,294,295,329,333,5418,5418,4654,5418,207, - 216,213,160,206,214,215,217,5418,5418,5418, - 5418,3572,5418,5418,5418,208,5418,5418,573,5418, - 5418,219,209,210,211,212,292,293,294,295, - 3493,38,851,36,713,5418,3841,34,842,31, - 35,30,32,1698,262,29,27,55,1741,110, - 80,81,89,3493,38,851,36,713,5418,3841, - 34,842,31,35,30,32,1698,262,29,27, - 55,1741,110,80,81,87,3493,38,851,36, - 713,5418,3841,34,842,31,35,30,32,1698, - 262,29,27,55,1741,110,80,81,86,3493, - 38,851,36,713,5418,3841,34,842,31,35, - 30,32,1698,262,29,27,55,1741,110,80, - 81,85,3493,38,851,36,713,5418,3841,34, - 842,31,35,30,32,1698,262,29,27,55, - 1741,110,80,81,84,3493,38,851,36,713, - 5418,3841,34,842,31,35,30,32,1698,262, - 29,27,55,1741,110,80,81,83,3493,38, - 851,36,713,5418,3841,34,842,31,35,30, - 32,1698,262,29,27,55,1741,110,80,81, - 82,3352,38,851,36,713,5418,3841,34,842, - 31,35,30,32,1698,262,29,27,55,1741, - 110,80,81,108,3493,38,851,36,713,5418, - 3841,34,842,31,35,30,32,1698,262,29, - 27,55,1741,110,80,81,114,3493,38,851, - 36,713,5418,3841,34,842,31,35,30,32, - 1698,262,29,27,55,1741,110,80,81,113, - 3903,5418,5418,5418,5418,2393,5418,5418,5418,5418, - 5418,5418,688,38,778,383,713,5418,3493,38, - 851,36,713,229,3841,34,842,31,35,30, - 32,1698,262,29,27,55,1741,110,80,81, - 111,54,5418,5418,4654,5418,207,216,213,5418, - 206,214,215,217,5418,1264,5418,52,5418,5418, - 5418,5418,208,5418,5418,573,663,5418,487,209, - 210,211,212,292,293,294,295,3493,38,851, - 36,713,5418,3841,34,842,31,35,30,32, - 1698,262,29,27,55,1741,110,80,81,109, - 1959,38,851,36,713,1137,3871,34,842,31, - 35,337,32,3638,38,778,383,713,1543,2637, - 600,38,778,383,713,5418,238,262,5418,1928, - 38,851,36,713,1137,3871,34,842,31,35, - 337,32,274,5418,5418,3026,5418,1543,5418,274, - 854,773,38,778,383,713,5418,5418,318,1458, - 320,5418,5418,313,1265,5418,776,38,778,383, - 713,5418,5418,5418,232,165,5418,5418,5418,3876, - 54,597,38,778,383,713,1081,318,1458,320, - 5418,5418,313,1265,1264,54,52,5418,5418,5418, - 5418,236,230,231,5418,717,275,5418,3876,1264, - 54,52,5418,78,5418,1081,5418,5418,3363,333, - 2099,1543,307,3768,1264,5418,52,5418,2393,243, - 246,249,252,2798,5418,2426,5418,5418,5418,704, - 5418,5418,843,5418,3023,5418,2429,3664,333,5418, - 5418,308,5418,1407,1928,38,851,36,713,1137, - 3871,34,842,31,35,337,32,1928,38,851, - 36,713,1137,3871,34,842,31,35,337,32, - 5418,5418,3876,1765,38,851,36,713,5418,4687, - 34,842,31,35,337,32,1882,38,851,36, - 713,5418,4687,34,842,31,35,337,32,5418, - 5418,5418,318,1458,320,493,5418,313,1265,2648, - 5418,3725,333,5418,854,318,1458,320,5418,5418, - 313,1265,5418,5418,5418,5418,5418,5418,5418,331, - 850,318,1458,320,5418,5418,316,1265,5418,160, - 490,492,331,3464,318,1458,320,5418,3573,314, - 1265,1891,38,851,36,713,2969,3871,34,842, - 31,35,337,32,1819,38,851,36,713,2877, - 3871,34,842,31,35,337,32,5418,2157,5418, - 5418,1473,3329,854,5418,5418,2393,3756,3026,5418, - 5418,396,5418,854,5418,5418,5418,685,38,778, - 383,713,5418,5418,229,5418,5418,5418,160,315, - 898,320,864,38,778,383,713,167,165,5418, - 5418,5418,315,898,320,4641,54,2402,400,685, - 38,778,383,713,685,38,778,383,713,5418, - 1264,54,1348,401,5418,2695,573,5418,5418,5418, - 854,2862,5418,5418,5418,1264,3026,52,54,3408, - 5418,854,5418,54,2393,5418,3583,685,38,778, - 383,713,1264,3026,52,160,5418,1264,854,52, - 3744,5418,341,2805,3593,1493,165,3099,2810,2224, - 1540,38,778,383,713,3670,54,5418,773,38, - 778,383,713,165,5418,980,5418,5418,3658,5418, - 1264,5418,52,685,38,778,383,713,980,54, - 5418,3266,5418,5418,5418,5418,5418,54,685,38, - 778,383,713,1264,5418,3064,5418,5418,5418,402, - 404,1264,54,3156,2009,331,600,38,778,383, - 713,5418,2414,5418,5418,3158,1264,54,52,5418, - 969,1324,5418,3070,2235,525,349,3290,5418,854, - 5418,1264,3666,52,5418,54,600,38,778,383, - 713,5418,3344,229,344,1793,1759,347,1158,1264, - 160,2893,1221,525,160,2742,5418,525,5418,167, - 854,152,5418,167,3518,54,2393,5418,2996,1284, - 5418,341,1347,5418,525,341,5418,525,160,1264, - 5418,2575,160,152,341,160,5418,2138,2393,5418, - 5418,193,341,5418,3625,341,5418,2400,5418,160, - 152,4547,160,3037,152,2393,341,3642,193,2393, - 2400,193,3026,5418,152,2789,2681,854,4547,2393, - 854,4547,3349,341,5418,5418,3750,341,3026,5418, - 5418,2836,2400,854,5418,5418,854,341,497,5418, - 5418,5418,165,5418,5418,160,5418,5418,5418,2400, - 5418,5418,5418,2400,3196,495,5418,5418,165,3485, - 5418,160,5418,2400,5418,5418,5418,3490,5418,524, - 3694,5418,5418,5418,5418,5418,5418,5418,5418,5418, - 5418,5418,5418,5418,3507,5418,5418,3510,5418,5418, - 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, - 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, - 5418,3692,5418,5418,5418,5418,5418,5418,5418,5418, - 5418,5418,5418,5418,5418,5418,5418,3698,5418,0, - 489,3859,0,228,1,0,42,5436,0,42, - 5435,0,1,4534,0,1,845,0,1,5436, - 42,0,1,5435,42,0,1,3051,0,1, - 945,0,5652,241,0,5651,241,0,5754,241, - 0,5753,241,0,5679,241,0,5678,241,0, - 5677,241,0,5676,241,0,5675,241,0,5674, - 241,0,5673,241,0,5672,241,0,5691,241, - 0,5690,241,0,5689,241,0,5688,241,0, - 5687,241,0,5686,241,0,5685,241,0,5684, - 241,0,5683,241,0,5682,241,0,5681,241, - 0,42,241,5436,0,42,241,5435,0,241, - 5459,0,501,382,0,53,5436,0,53,5435, - 0,1,5746,0,1,1697,0,41,5436,0, - 41,5435,0,442,1740,0,501,33,0,5436, - 53,0,5435,53,0,1783,317,0,5436,42, - 0,5435,42,0,501,44,0,1,432,0, - 446,1578,0,445,1621,0,52,40,0,228, - 221,0,228,1,5459,0,228,1,42,0, - 228,407,0,40,5436,0,40,5435,0,48, - 5457,0,48,40,0,1,2325,0,1,5691, - 0,1,5690,0,1,5689,0,1,5688,0, - 1,5687,0,1,5686,0,1,5685,0,1, - 5684,0,1,5683,0,1,5682,0,1,5681, - 0,1,2408,0,1,2824,0,228,220,0, - 5428,398,0,5427,398,0,228,406,0,30, - 508,0,130,2570,0,5426,1,0,5746,433, - 0,1697,433,0,5457,50,0,50,40,0, - 2517,95,0,383,36,0,36,383,0,382, - 33,0,33,382,0,501,33,382,0,945, - 42,0,228,1,3141,0,5428,228,0,5427, - 228,0,1,5459,0,1,42,0,237,4425, - 0,132,2570,0,131,2570,0,3299,228,0, - 161,180,0,1,96,0,8,10,0,228, - 168,0,40,5436,2,0,40,5435,2,0, - 5436,39,0,5435,39,0,5746,99,0,1697, - 99,0,279,4763,0,190,3724,0 + 1820,1794,27,760,1837,1827,1870,2973,1845,3175, + 1228,2813,2359,38,1075,36,1011,3239,4543,34, + 1065,31,35,30,32,1708,262,29,27,55, + 1741,110,80,81,112,1879,1751,1784,1777,1820, + 1794,27,397,1837,1827,1870,854,3112,2359,38, + 1075,36,1011,325,4543,34,1065,31,35,30, + 32,1708,262,29,27,55,1741,110,80,81, + 112,3130,1751,1784,1777,1820,1794,2278,2681,1837, + 1827,3104,2359,38,1075,36,1011,58,4543,34, + 1065,31,35,30,32,1708,262,29,27,55, + 1741,110,80,81,112,1451,1751,1784,1777,1820, + 1794,3877,2821,1837,3105,2359,38,1075,36,1011, + 435,4543,34,1065,31,35,30,32,1708,262, + 29,27,55,1741,110,80,81,112,2854,1751, + 1784,1777,1820,3051,2359,38,1075,36,1011,2231, + 4543,34,1065,31,35,30,32,1708,262,29, + 27,55,1741,110,80,81,112,1624,1751,1784, + 1777,1820,3101,2451,38,1054,383,1011,1833,2638, + 1888,853,1569,2393,1844,3514,237,262,2079,38, + 389,2571,75,1179,592,38,1054,383,1011,232, + 1295,2429,274,2540,239,262,853,38,282,1131, + 38,1075,36,1011,3721,3041,34,1065,31,35, + 337,32,2490,274,3462,673,247,230,231,2359, + 38,1075,36,1011,232,4543,34,1065,31,35, + 30,32,1708,262,29,27,55,1741,110,80, + 81,112,232,1751,1784,1777,2834,349,853,38, + 3519,235,230,231,299,158,275,318,1324,320, + 358,4082,313,1116,2505,342,1621,1587,347,240, + 230,231,2545,340,2577,2799,349,3533,3560,242, + 245,248,251,2964,158,2494,27,158,2502,930, + 4389,951,286,4678,342,1621,1587,347,77,853, + 38,291,2442,2079,38,389,2411,994,2358,3530, + 3562,4505,2359,38,1075,36,1011,940,4543,34, + 1065,31,35,30,32,1708,262,29,27,55, + 1741,110,80,81,112,1660,1751,1784,1777,2914, + 2359,38,1075,36,1011,1783,4543,34,1065,31, + 35,30,32,1708,262,29,27,55,1741,110, + 80,81,112,2183,1751,1784,1777,2918,2142,38, + 501,3571,1011,2359,38,1075,36,1011,363,4543, + 34,1065,31,35,30,32,1708,262,29,27, + 55,1741,110,80,81,112,1416,1751,1784,1777, + 2969,2393,853,38,501,3593,1011,2276,766,38, + 1054,383,1011,2504,2359,38,1075,36,1011,229, + 4543,34,1065,31,35,30,32,1708,262,29, + 27,55,1741,110,80,81,112,54,1751,1784, + 2995,206,215,4765,1377,205,212,213,214,216, + 2445,1228,1390,2837,2307,2079,38,389,207,1680, + 1569,704,2009,2492,15,208,209,210,211,292, + 293,294,295,2359,38,1075,36,1011,2648,4543, + 34,1065,31,35,30,32,1708,262,29,27, + 55,1741,110,80,81,112,2650,1751,1784,2998, + 1684,38,1075,36,1011,3232,3041,34,1065,31, + 35,337,32,1553,1949,1752,38,1075,36,1011, + 3721,3041,34,1065,31,35,337,32,13,2359, + 38,1075,36,1011,1812,4543,34,1065,31,35, + 30,32,1708,262,29,27,55,1741,110,80, + 81,112,395,1751,2708,387,417,2083,318,1324, + 320,1979,2812,313,1116,3604,2512,573,3284,2837, + 1527,2393,2324,318,1324,320,2125,349,313,1116, + 285,854,1520,1147,38,278,809,2393,3932,2429, + 92,1624,349,106,2629,342,1621,1587,347,2393, + 283,516,64,1759,2067,2429,160,854,2764,1605, + 342,1621,1587,347,2681,201,3434,229,517,1208, + 38,1075,36,1011,1227,3625,34,1065,31,35, + 337,32,160,2266,349,2678,38,278,330,206, + 215,4765,166,205,212,213,214,216,373,2541, + 2004,1624,342,1621,1587,347,207,4454,493,704, + 1759,897,217,208,209,210,211,292,293,294, + 295,27,1527,4743,357,330,3500,318,1324,320, + 2659,27,313,1116,2399,2393,1970,2734,2509,3086, + 2088,2192,2095,491,492,245,38,441,1812,4070, + 713,3751,2632,229,3617,931,93,1812,515,106, + 2941,1342,38,1075,36,1011,3299,3625,34,1065, + 31,35,337,32,325,206,215,4765,76,205, + 212,213,214,216,941,38,1307,1482,1011,2682, + 3262,307,207,1680,1569,704,513,371,217,208, + 209,210,211,292,293,294,295,2720,91,56, + 1624,1358,2393,54,305,1293,2478,331,1300,318, + 1324,320,1407,297,316,1116,375,1228,773,27, + 229,673,49,1562,3661,4070,2928,1056,38,2547, + 36,1011,1227,3625,34,1065,31,35,337,32, + 513,2449,206,215,4765,512,205,212,213,214, + 216,1088,38,1054,383,1011,2990,373,325,207, + 183,2595,704,1812,435,217,208,209,210,211, + 292,293,294,295,2751,1812,27,3127,325,2393, + 54,4793,1051,330,1439,318,1324,320,3814,2917, + 313,1116,57,27,1228,1234,325,229,4597,434, + 1923,1931,4070,2937,285,3096,853,38,1054,383, + 1011,2675,439,714,1990,2015,327,333,2941,206, + 215,4765,1578,205,212,213,214,216,1692,296, + 3567,2146,3065,1605,1527,274,207,375,1624,704, + 325,284,217,208,209,210,211,292,293,294, + 295,2359,38,1075,36,1011,2911,4543,34,1065, + 31,35,30,32,1708,262,29,27,55,1741, + 110,80,81,112,94,1751,2726,175,847,4070, + 3053,673,525,854,2556,1340,2325,408,2565,1361, + 38,1054,383,1011,378,514,324,2544,3127,338, + 229,2393,853,38,1054,383,1011,160,164,2743, + 1486,38,1054,383,1011,2029,184,3011,54,2429, + 199,101,204,215,4765,2612,203,212,213,214, + 216,274,1228,52,173,2669,847,332,333,54, + 1,854,1520,663,419,525,1016,2393,3932,1527, + 325,1070,3932,1228,52,187,171,172,174,175, + 176,177,178,229,717,2429,164,2404,673,673, + 160,2707,1533,38,1054,383,1011,2273,27,184, + 3011,2709,1070,990,3658,204,215,4765,357,203, + 212,213,214,216,1492,78,2715,173,330,2393, + 2747,54,330,1544,2088,2192,185,198,399,853, + 38,1054,383,1011,325,1228,52,229,188,171, + 172,174,175,176,177,178,2099,325,853,38, + 1054,383,1011,3468,357,3048,102,1988,54,206, + 215,4765,325,205,212,213,214,216,3710,3086, + 2088,2192,51,3230,2772,673,207,37,2801,704, + 2803,3592,15,208,209,210,211,292,293,294, + 295,2359,38,2420,2413,1011,3655,4543,34,1065, + 31,35,30,32,1708,262,29,27,55,1741, + 110,80,81,88,202,2359,38,1075,36,1011, + 37,4543,34,1065,31,35,30,32,1708,262, + 29,27,55,1741,110,80,81,112,2808,2744, + 88,2359,38,1075,36,1011,14,4543,34,1065, + 31,35,30,32,1708,262,29,27,55,1741, + 110,80,81,112,673,2791,2359,38,1075,36, + 1011,2671,4543,34,1065,31,35,30,32,1708, + 262,29,27,55,1741,110,80,81,112,262, + 2802,2512,27,2795,525,2641,2393,2922,1252,38, + 1075,36,1011,200,3625,34,1065,31,35,337, + 32,27,229,64,2429,64,851,2645,854,160, + 854,1051,766,38,1054,383,1011,3814,184,3011, + 375,506,38,441,204,215,4765,3751,203,212, + 213,214,216,160,1016,160,173,847,2829,2830, + 3932,54,854,166,331,166,318,1324,320,349, + 2868,314,1116,2260,525,1228,52,3463,171,172, + 174,175,176,177,178,349,2426,164,2831,420, + 325,673,229,493,853,38,1054,383,1011,160, + 2799,3127,2882,344,1621,1587,347,27,184,3011, + 330,2353,3787,2857,204,215,4765,2862,203,212, + 213,214,216,440,3718,3647,173,3980,490,492, + 3483,232,436,2872,64,2325,2651,525,2008,854, + 329,333,325,2393,2873,4743,5467,180,171,172, + 174,175,176,177,178,229,3068,673,250,230, + 231,341,160,232,160,1088,38,1054,383,1011, + 2255,184,3011,5467,166,27,72,204,215,4765, + 4477,203,212,213,214,216,662,673,5467,173, + 253,230,231,420,54,523,3485,27,27,325, + 525,375,854,3910,325,438,1923,1931,1228,1275, + 191,171,172,174,175,176,177,178,229,3096, + 853,38,1054,383,1011,160,3594,160,2025,38, + 1054,383,1011,71,184,3011,4037,2902,70,5467, + 204,215,4765,5467,203,212,213,214,216,421, + 27,2489,173,5467,5467,2369,2745,54,610,27, + 27,1016,3127,525,854,854,5467,3932,5467,5467, + 5467,1228,52,3596,171,172,174,175,176,177, + 178,229,2529,853,38,1054,383,1011,160,160, + 160,1088,38,1054,383,1011,325,184,3011,3121, + 3602,3481,333,204,215,4765,444,203,212,213, + 214,216,424,1016,5467,173,5467,330,5467,3932, + 54,697,5467,27,27,430,525,375,854,1353, + 69,325,5467,5467,1228,52,194,171,172,174, + 175,176,177,178,229,3554,853,38,1054,383, + 1011,160,3468,160,1088,38,1054,383,1011,325, + 184,3011,325,3659,5467,2881,204,215,4765,3836, + 203,212,213,214,216,423,2475,5467,173,5467, + 5467,5467,3932,54,784,27,27,27,3127,525, + 854,854,1396,3128,5467,5467,60,1228,52,190, + 171,172,174,175,176,177,178,229,3680,853, + 38,1054,383,1011,160,160,160,1088,38,1054, + 383,1011,325,184,3011,3664,3756,3784,333,204, + 215,4765,3836,203,212,213,214,216,422,5467, + 5467,173,5467,5467,5467,5467,54,871,27,27, + 375,98,525,854,854,5467,59,325,5467,5467, + 1228,52,197,171,172,174,175,176,177,178, + 229,3743,853,38,1054,383,1011,160,160,160, + 1459,38,1054,383,1011,325,184,3011,3124,3917, + 2599,3978,204,215,4765,2393,203,212,213,214, + 216,54,5467,5467,173,673,5467,5467,5467,54, + 5467,3127,5467,229,100,1228,2014,5467,673,105, + 325,5467,5467,1228,3174,196,171,172,174,175, + 176,177,178,2781,2009,206,215,4765,2393,205, + 212,213,214,216,222,1486,38,1054,383,1011, + 3847,333,207,672,3844,704,229,195,509,208, + 209,210,211,292,293,294,295,2812,5467,5467, + 847,5467,2393,5467,54,854,5467,325,206,215, + 4765,5467,205,212,213,214,216,519,1228,3205, + 229,5467,5467,5467,5467,207,5467,5467,704,2414, + 164,510,208,209,210,211,292,293,294,295, + 2690,3907,206,215,4765,2393,205,212,213,214, + 216,5467,1088,38,1054,383,1011,5467,5467,207, + 5467,5467,704,229,5467,306,208,209,210,211, + 292,293,294,295,5467,5467,5467,5467,5467,5467, + 5467,54,5467,5467,5467,206,215,4765,5467,205, + 212,213,214,216,5467,1228,52,5467,5467,3822, + 5467,5467,207,5467,5467,704,3806,5467,218,208, + 209,210,211,292,293,294,295,2359,38,1075, + 36,1011,5467,4543,34,1065,31,35,30,32, + 1708,262,29,27,55,1741,110,80,81,89, + 2359,38,1075,36,1011,5467,4543,34,1065,31, + 35,30,32,1708,262,29,27,55,1741,110, + 80,81,87,2359,38,1075,36,1011,5467,4543, + 34,1065,31,35,30,32,1708,262,29,27, + 55,1741,110,80,81,86,2359,38,1075,36, + 1011,5467,4543,34,1065,31,35,30,32,1708, + 262,29,27,55,1741,110,80,81,85,2359, + 38,1075,36,1011,5467,4543,34,1065,31,35, + 30,32,1708,262,29,27,55,1741,110,80, + 81,84,2359,38,1075,36,1011,5467,4543,34, + 1065,31,35,30,32,1708,262,29,27,55, + 1741,110,80,81,83,2359,38,1075,36,1011, + 5467,4543,34,1065,31,35,30,32,1708,262, + 29,27,55,1741,110,80,81,82,2220,38, + 1075,36,1011,5467,4543,34,1065,31,35,30, + 32,1708,262,29,27,55,1741,110,80,81, + 108,2359,38,1075,36,1011,5467,4543,34,1065, + 31,35,30,32,1708,262,29,27,55,1741, + 110,80,81,114,2359,38,1075,36,1011,5467, + 4543,34,1065,31,35,30,32,1708,262,29, + 27,55,1741,110,80,81,113,2841,5467,5467, + 5467,5467,2393,5467,5467,5467,5467,5467,5467,1088, + 38,1054,383,1011,5467,2359,38,1075,36,1011, + 229,4543,34,1065,31,35,30,32,1708,262, + 29,27,55,1741,110,80,81,111,54,5467, + 5467,5467,206,215,4765,5467,205,212,213,214, + 216,5467,1228,52,5467,5467,5467,5467,5467,207, + 5467,5467,704,3869,5467,487,208,209,210,211, + 292,293,294,295,2359,38,1075,36,1011,5467, + 4543,34,1065,31,35,30,32,1708,262,29, + 27,55,1741,110,80,81,109,1616,38,1075, + 36,1011,1227,3041,34,1065,31,35,337,32, + 1308,38,2547,36,1011,1227,3041,34,1065,31, + 35,337,32,5467,5467,2513,38,1054,383,1011, + 5467,2638,5467,853,38,1054,383,1011,238,262, + 1823,38,1075,36,1011,1227,3041,34,1065,31, + 35,337,32,5467,274,318,1324,320,5467,5467, + 313,1116,54,1197,38,1054,383,1011,318,1324, + 320,5467,5467,313,1116,5467,1228,1348,5467,27, + 5467,5467,5467,931,2393,5467,232,853,38,1054, + 383,1011,54,5467,5467,5467,714,5467,318,1324, + 320,5467,341,313,1116,847,1228,1366,5467,5467, + 854,5467,5467,236,230,231,54,324,275,307, + 5467,5467,2393,847,5467,5467,931,2400,854,5467, + 1228,1048,5467,5467,2575,164,5467,5467,5467,3965, + 2429,243,246,249,252,2964,5467,5467,5467,5467, + 1407,930,5467,164,5467,5467,5467,1368,38,1075, + 36,1011,308,3625,34,1065,31,35,337,32, + 409,2565,1823,38,1075,36,1011,1227,3041,34, + 1065,31,35,337,32,1823,38,1075,36,1011, + 1227,3041,34,1065,31,35,337,32,853,38, + 1054,383,1011,5467,3882,1027,5467,5467,5467,357, + 2393,4513,5467,331,5467,318,1324,320,5467,5467, + 314,1116,3945,5467,3240,2088,2192,54,229,5467, + 318,1324,320,5467,5467,313,1116,5467,5467,5467, + 5467,1228,2865,318,1324,320,5467,5467,313,1116, + 2223,400,4752,5467,5467,5467,5467,5467,809,5467, + 5467,5467,5467,1696,5467,5467,5467,401,5467,3932, + 704,3573,1443,38,1075,36,1011,3017,3041,34, + 1065,31,35,337,32,1815,38,1075,36,1011, + 2849,3041,34,1065,31,35,337,32,853,38, + 1054,383,1011,5467,5467,5467,5467,5467,5467,1493, + 1104,396,5467,2800,5467,2393,4513,5467,2393,331, + 5467,5467,5467,5467,5467,5467,5467,54,5467,5467, + 315,1085,320,229,5467,5467,2429,5467,5467,5467, + 349,1228,1366,315,1085,320,5467,27,5467,5467, + 5467,5467,525,5467,5467,2223,400,4752,344,1621, + 1587,347,5467,402,404,5467,5467,5467,27,27, + 341,27,401,525,525,704,525,160,5467,5467, + 27,5467,5467,5467,5467,525,884,1716,4790,5467, + 5467,341,341,5467,341,2400,5467,5467,160,160, + 5467,160,1673,341,5467,493,5467,64,1888,1716, + 160,192,525,27,1493,5467,2400,2400,525,4665, + 192,5467,2793,1802,2954,5467,888,2393,4665,5467, + 3635,5467,5467,5467,5467,5467,341,160,5467,888, + 490,492,5467,160,27,341,5467,166,5467,2393, + 27,5467,27,192,5467,2393,520,2393,2551,5467, + 27,4665,5467,2393,5467,2393,27,341,402,405, + 2400,2393,5467,341,27,341,5467,523,5467,2393, + 5467,341,3487,341,5467,5467,3317,5467,27,341, + 5467,5467,2400,2393,5467,3332,5467,341,2400,2593, + 2400,5467,5467,5467,5467,2637,1874,2684,2400,3551, + 5467,341,5467,5467,2400,497,5467,5467,5467,5467, + 5467,495,2400,5467,5467,5467,5467,5467,3550,3304, + 5467,5467,5467,5467,5467,5467,2400,5467,5467,5467, + 5467,5467,5467,524,5467,5467,5467,5467,5467,5467, + 5467,5467,5467,5467,5467,5467,5467,5467,5467,5467, + 5467,5467,5467,5467,5467,5467,5467,5467,5467,5467, + 5467,5467,5467,5467,5467,5467,5467,5467,5467,5467, + 5467,5467,5467,5467,2832,5467,5467,5467,5467,5467, + 5467,5467,5467,5467,5467,5467,5467,5467,5467,5467, + 5467,5467,5467,5467,5467,5467,5467,5467,5467,5467, + 5467,5467,4013,5467,5467,5467,5467,5467,5467,5467, + 5467,5467,5467,5467,5467,5467,5467,5467,5467,5467, + 5467,5467,3268,5467,0,489,3950,0,228,1, + 0,42,5485,0,42,5484,0,1,4652,0, + 1,845,0,1,5485,42,0,1,5484,42, + 0,1,3598,0,1,3318,0,5701,241,0, + 5700,241,0,5803,241,0,5802,241,0,5728, + 241,0,5727,241,0,5726,241,0,5725,241, + 0,5724,241,0,5723,241,0,5722,241,0, + 5721,241,0,5740,241,0,5739,241,0,5738, + 241,0,5737,241,0,5736,241,0,5735,241, + 0,5734,241,0,5733,241,0,5732,241,0, + 5731,241,0,5730,241,0,42,241,5485,0, + 42,241,5484,0,241,5508,0,501,382,0, + 53,5485,0,53,5484,0,1,5795,0,1, + 1654,0,41,5485,0,41,5484,0,442,1697, + 0,501,33,0,5485,53,0,5484,53,0, + 1740,317,0,5485,42,0,5484,42,0,501, + 44,0,1,432,0,446,1449,0,445,1492, + 0,52,40,0,228,220,0,228,1,5508, + 0,228,1,42,0,228,407,0,40,5485, + 0,40,5484,0,48,5506,0,48,40,0, + 1,1863,0,1,5740,0,1,5739,0,1, + 5738,0,1,5737,0,1,5736,0,1,5735, + 0,1,5734,0,1,5733,0,1,5732,0, + 1,5731,0,1,5730,0,1,2408,0,1, + 2533,0,228,219,0,5477,398,0,5476,398, + 0,228,406,0,30,508,0,130,2570,0, + 5475,1,0,5795,433,0,1654,433,0,5506, + 50,0,50,40,0,2261,95,0,383,36, + 0,36,383,0,382,33,0,33,382,0, + 501,33,382,0,3318,42,0,228,1,3215, + 0,5477,228,0,5476,228,0,1,5508,0, + 1,42,0,237,3168,0,132,2570,0,131, + 2570,0,3410,228,0,1,96,0,8,10, + 0,40,5485,2,0,40,5484,2,0,5485, + 39,0,5484,39,0,5795,99,0,1654,99, + 0,279,4030,0,189,3781,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1105,410 +1116,305 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final static byte termCheck[] = {0, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, + 20,21,22,23,24,25,0,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,0,58,59, - 60,61,62,0,64,65,66,67,5,0, - 1,2,72,4,0,75,76,3,78,79, - 80,81,82,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,71,58,59,60,61, - 62,0,64,65,66,67,99,0,1,2, - 72,4,0,75,76,3,78,79,80,81, - 82,83,84,85,86,87,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,56,0,58,59,60,61,62,6, - 64,65,66,67,0,0,0,1,2,0, - 6,75,76,7,78,79,80,81,82,83, - 84,85,86,87,0,1,2,3,4,5, + 40,41,42,43,0,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,0,0,64,65,66,67,68,0, + 26,71,9,73,11,75,76,77,78,79, + 80,81,82,83,84,85,86,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,44,27,28,29,30,31,32, + 33,34,35,36,37,38,39,40,41,42, + 43,69,45,46,47,48,49,50,51,52, + 53,54,55,56,57,58,59,60,61,0, + 87,64,65,66,67,68,0,0,71,3, + 73,4,75,76,77,78,79,80,81,82, + 83,84,85,86,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,45, + 0,27,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,62,45, 46,47,48,49,50,51,52,53,54,55, - 56,0,58,59,60,61,62,0,64,65, - 66,67,0,88,89,91,92,0,6,75, - 76,4,78,79,80,81,82,83,84,85, - 86,87,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,0, - 58,59,60,61,62,0,64,65,66,67, - 0,0,0,91,92,4,6,75,76,0, - 78,79,80,81,82,83,84,85,86,87, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,75,58,59, - 60,61,62,0,64,65,66,67,0,1, - 2,91,92,5,0,75,76,3,78,79, - 80,81,82,83,84,85,86,87,0,1, + 56,57,58,59,60,61,0,0,64,65, + 66,67,68,0,0,1,2,73,4,75, + 76,77,78,79,80,81,82,83,84,85, + 86,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,44,27,28, + 29,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,69,45,46,47,48, + 49,50,51,52,53,54,55,56,57,58, + 59,60,61,0,0,64,65,66,67,68, + 0,0,9,9,73,4,75,76,77,78, + 79,80,81,82,83,84,85,86,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, + 22,23,24,25,0,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,0,58,59,60,61, - 62,0,64,65,66,67,0,1,2,0, - 1,2,0,75,76,0,78,79,80,81, - 82,83,84,85,86,87,0,1,2,3, + 42,43,62,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 87,87,64,65,66,67,68,0,95,0, + 46,73,48,75,76,77,78,79,80,81, + 82,83,84,85,86,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,44,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,60, + 45,46,47,48,49,50,51,52,53,54, + 55,56,57,58,59,60,61,0,0,64, + 65,66,67,68,0,0,1,2,73,4, + 75,76,77,78,79,80,81,82,83,84, + 85,86,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,44,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,69,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,60,61,0,0,64,65,66,67, + 68,0,1,2,0,73,5,75,76,77, + 78,79,80,81,82,83,84,85,86,0, + 1,2,3,4,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,0,27,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,43,59,45,46,47,48,49,50, + 51,52,53,54,55,56,57,58,59,60, + 61,0,0,64,65,66,67,68,0,44, + 9,9,73,11,75,76,77,78,79,80, + 81,82,83,84,85,86,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, + 24,25,44,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,56,71,58,59,60,61,62,0, - 64,65,66,67,0,1,2,0,1,2, - 99,75,76,0,78,79,80,81,82,83, - 84,85,86,87,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 56,68,58,59,60,61,62,0,64,65, - 66,67,0,1,2,0,1,2,0,75, - 76,0,78,79,80,81,82,83,84,85, - 86,87,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,68, - 58,59,60,61,62,0,64,65,66,67, - 0,1,2,0,1,2,0,75,76,0, - 78,79,80,81,82,83,84,85,86,87, + 69,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,60,61,87,0, + 64,65,66,67,68,0,1,2,9,73, + 11,75,76,77,78,79,80,81,82,83, + 84,85,86,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,0, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,42,43,0,45,46, + 47,48,49,50,51,52,53,54,55,56, + 57,58,59,60,61,0,0,64,65,66, + 67,68,0,1,2,9,73,0,75,76, + 77,78,79,80,81,82,83,84,85,86, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, + 20,21,22,23,24,25,0,27,28,29, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,56,68,58,59, - 60,61,62,0,64,65,66,67,0,1, - 2,0,97,98,3,75,76,0,78,79, - 80,81,82,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,0,58,59,60,61, - 62,0,1,2,3,4,5,6,7,8, - 9,0,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,42,43,44,0,46,47,48, - 49,50,51,52,53,54,55,56,63,58, - 59,60,61,62,0,1,2,3,4,5, - 6,7,8,9,63,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,63, - 46,47,48,49,50,51,52,53,54,55, - 56,0,58,59,60,61,62,0,1,2, - 3,4,5,6,7,8,9,0,11,12, + 40,41,42,43,69,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,0,87,64,65,66,67,68,0, + 0,1,2,73,4,75,76,77,78,79, + 80,81,82,83,84,85,86,0,1,2, + 3,4,5,6,7,8,26,10,72,12, 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, + 23,24,25,44,27,28,29,30,31,32, 33,34,35,36,37,38,39,40,41,42, - 43,44,0,46,47,48,49,50,51,52, - 53,54,55,56,63,58,59,60,61,62, - 0,1,2,3,4,5,6,7,8,9, - 63,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,63,46,47,48,49, - 50,51,52,53,54,55,56,0,58,59, - 60,61,62,0,1,2,3,4,5,6, - 7,8,9,0,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,43,44,0,46, - 47,48,49,50,51,52,53,54,55,56, - 63,58,59,60,61,62,0,1,2,3, - 4,5,6,7,8,9,63,11,12,13, + 43,0,45,46,0,48,49,50,51,52, + 53,72,55,56,57,0,0,60,61,4, + 4,6,65,8,67,68,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,0,46,47,48,49,50,51,52,53, - 54,55,56,0,58,59,60,61,62,0, - 1,2,3,4,5,6,7,8,9,0, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,42,0,0,1,2,47,48,49,50, - 51,52,53,54,55,56,0,58,59,60, - 61,62,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,42,0,43,44,3,47, - 48,49,50,51,52,53,54,55,56,90, - 58,0,121,0,42,96,3,45,46,47, - 48,49,50,51,52,53,54,55,56,57, - 58,59,60,61,62,69,64,24,25,0, - 1,2,0,0,72,73,74,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,0, - 0,1,2,3,4,5,6,7,8,68, - 0,68,43,44,4,0,114,115,116,42, - 48,49,45,46,47,48,49,50,51,52, - 53,54,55,56,57,58,59,60,61,62, - 0,64,0,1,2,0,103,0,6,72, - 73,74,0,0,9,3,0,4,6,6, - 8,8,10,120,0,0,10,0,68,4, - 71,71,57,63,22,23,24,25,0,1, - 2,3,4,5,6,7,8,114,115,116, - 26,114,115,116,0,1,2,45,4,57, - 6,102,8,104,105,106,107,108,109,110, - 111,112,113,0,67,63,117,0,0,0, - 68,69,70,71,72,73,70,9,72,77, - 0,1,2,3,4,5,6,7,8,26, - 88,89,90,91,92,93,94,95,96,97, - 98,99,100,101,102,103,104,105,106,107, - 108,109,110,111,112,113,0,0,0,117, - 118,3,120,0,6,57,8,59,10,0, - 1,2,3,4,5,6,7,8,69,70, - 22,23,24,25,0,1,2,3,4,5, - 6,7,8,73,0,1,2,0,4,42, - 6,4,8,45,47,48,49,50,51,52, - 53,54,55,56,0,58,0,3,0,1, - 2,63,4,5,68,7,68,69,70,71, - 72,73,69,70,0,77,0,68,0,1, - 2,3,4,5,47,7,88,89,90,91, + 0,0,26,121,4,0,1,2,3,4, + 5,6,7,8,0,0,40,3,3,0, + 1,2,46,47,48,49,50,51,52,53, + 29,55,56,57,0,0,60,0,1,2, + 40,65,0,67,68,26,95,71,72,73, + 74,97,98,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,72,0,26, + 0,1,2,3,4,5,6,7,8,0, + 114,115,116,40,59,0,0,1,2,46, + 47,48,49,50,51,52,53,0,55,56, + 57,4,0,60,114,115,116,0,65,0, + 67,68,26,0,71,72,73,74,0,0, + 0,3,90,10,6,101,8,9,96,11, + 62,0,62,26,3,15,0,1,2,0, + 70,44,24,25,59,27,28,0,1,2, + 3,4,5,6,7,8,0,114,115,116, + 40,0,44,0,3,63,46,54,48,49, + 50,51,52,53,0,55,56,57,59,0, + 62,63,0,1,2,29,4,69,70,71, + 72,0,1,2,3,4,5,6,7,8, + 64,70,66,24,25,87,88,89,90,91, 92,93,94,95,96,97,98,99,100,101, 102,103,104,105,106,107,108,109,110,111, - 112,113,0,57,0,117,118,3,120,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,0,1,2,3,4,5,6,7,8, - 0,1,2,3,4,5,0,7,0,3, - 10,42,0,0,45,46,47,48,49,50, - 51,52,53,54,55,56,57,58,59,60, - 61,62,68,64,65,66,0,0,1,2, - 3,4,5,74,7,45,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,1, - 2,3,4,5,68,7,63,69,10,0, - 1,2,70,4,122,6,73,8,42,0, - 121,45,46,47,48,49,50,51,52,53, - 54,55,56,57,58,59,60,61,62,73, - 64,65,66,45,0,0,1,2,4,4, - 74,6,0,8,0,0,1,2,3,4, + 112,113,0,70,0,117,118,3,120,0, + 6,59,8,9,70,11,0,0,1,2, + 3,4,5,62,7,0,24,25,24,25, + 0,27,28,24,25,102,6,104,105,106, + 107,108,109,110,111,112,113,0,44,0, + 117,0,1,2,3,4,5,6,7,8, + 44,0,1,2,0,0,62,63,4,44, + 0,1,2,69,70,71,72,0,1,2, + 3,4,5,6,7,8,0,0,63,72, + 0,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,102,103,104,105, + 106,107,108,109,110,111,112,113,93,94, + 59,117,118,0,120,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,121,43,44, - 45,46,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,0,43,44,45,46,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,0,43,44,45,46,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,0,43, - 44,3,46,0,0,1,2,4,4,0, - 6,0,8,0,10,0,1,2,3,4, - 5,70,7,0,1,2,3,4,0,6, - 0,8,4,77,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, + 15,16,17,18,19,20,21,22,23,0, + 101,26,0,1,2,3,4,5,72,7, + 0,9,75,11,4,40,0,0,0,1, + 2,46,47,48,49,50,51,52,53,54, + 55,56,57,58,123,60,0,0,1,2, + 65,0,67,68,7,0,1,2,73,74, + 40,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,102,59,26,62,0, + 1,2,64,4,66,6,0,8,9,0, + 117,40,0,1,2,9,121,46,47,48, + 49,50,51,52,53,54,55,56,57,58, + 0,60,0,114,115,116,65,0,67,68, + 10,9,0,11,73,74,0,1,2,3, + 4,5,6,7,8,99,10,0,12,13, + 14,100,16,17,18,19,20,21,22,23, + 24,25,63,27,28,29,30,31,32,33, + 34,35,36,37,38,39,87,41,42,43, + 0,45,121,3,95,0,1,2,3,4, + 5,69,7,0,9,63,11,61,0,63, + 64,69,66,0,1,2,3,4,5,6, + 7,8,9,10,118,12,13,14,0,16, + 17,18,19,20,21,22,23,24,25,0, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,0,41,42,43,100,45,0, + 1,2,59,0,1,2,3,4,5,0, + 7,0,59,0,61,0,1,2,3,4, + 9,6,0,8,71,0,1,2,3,4, + 5,6,7,8,9,10,0,12,13,14, + 72,16,17,18,19,20,21,22,23,24, + 25,72,27,28,29,30,31,32,33,34, + 35,36,37,38,39,62,41,42,43,0, + 45,0,1,2,3,4,5,62,7,70, + 69,0,71,0,59,63,61,0,1,2, + 3,4,5,6,7,8,71,10,62,12, + 13,14,0,16,17,18,19,20,21,22, + 23,24,25,44,27,28,29,30,31,32, + 33,34,35,36,37,38,39,44,41,42, + 43,0,45,62,0,1,2,3,4,5, + 9,7,0,1,2,3,4,5,61,7, + 69,64,0,66,0,1,2,3,4,5, + 6,7,8,0,10,63,12,13,14,0, 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,67,43,44,0, - 46,77,3,68,73,0,1,2,3,4, - 5,68,7,0,1,2,0,4,5,95, - 7,0,1,2,3,4,5,6,7,8, - 9,77,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, + 0,27,28,29,30,31,32,33,34,35, + 36,37,38,39,0,41,42,43,0,45, + 0,0,71,9,0,1,2,0,4,5, + 3,7,0,1,2,61,9,5,64,7, + 66,0,1,2,3,4,5,6,7,8, + 26,10,69,12,13,14,0,16,17,18, + 19,20,21,22,23,24,25,95,27,28, 29,30,31,32,33,34,35,36,37,38, - 39,40,41,0,43,44,3,68,0,0, - 1,2,3,4,5,0,7,0,73,63, - 0,1,2,3,4,5,6,7,8,9, - 69,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,0,43,44,0,46,0,1,2, - 3,4,5,6,7,8,9,68,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,41,101, - 43,44,95,46,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,95,0,1, - 2,0,0,5,3,7,0,1,2,0, - 4,10,10,0,0,0,1,2,9,4, - 5,67,7,0,1,2,72,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,41,68, - 69,70,57,67,65,0,1,2,77,77, - 57,67,69,70,0,0,1,2,0,4, - 5,0,7,0,67,0,8,95,3,72, - 0,1,2,3,4,5,6,7,8,9, - 0,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,57,43,44,0,46,0,1,2, - 3,4,5,6,7,8,9,73,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,41,0, - 43,44,101,46,0,1,2,3,4,5, - 6,7,8,9,59,11,12,13,14,15, + 39,63,41,42,43,71,45,69,0,62, + 63,0,1,2,0,4,69,6,0,8, + 59,3,61,0,1,2,3,4,5,6, + 7,8,9,10,87,12,13,14,0,16, + 17,18,19,20,21,22,23,24,25,0, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,0,41,42,43,0,45,0, + 3,0,5,6,0,8,0,1,2,8, + 4,5,8,7,0,1,2,0,0,1, + 2,24,25,5,27,28,0,30,90,0, + 1,2,26,4,96,6,0,8,0,1, + 2,44,4,5,26,7,0,1,2,0, + 4,5,3,7,5,6,0,8,90,62, + 63,64,0,66,96,3,69,70,0,1, + 2,118,0,24,25,3,27,28,99,30, + 44,88,89,0,0,88,89,90,91,92, + 93,94,0,44,97,98,99,100,101,102, + 103,104,105,106,107,108,109,110,111,112, + 113,62,63,64,0,66,0,0,69,70, + 0,1,2,9,4,11,6,0,8,0, + 3,0,1,2,62,0,44,88,89,90, + 91,92,93,94,88,89,97,98,99,100, + 101,102,103,104,105,106,107,108,109,110, + 111,112,113,0,1,2,3,4,5,6, + 7,8,0,10,0,12,13,14,4,16, + 17,18,19,20,21,22,23,24,25,62, + 27,28,29,30,31,32,33,34,35,36, + 37,38,39,119,41,42,43,72,45,0, + 1,2,3,4,5,6,7,8,44,10, + 0,12,13,14,61,16,17,18,19,20, + 21,22,23,24,25,63,27,28,29,30, + 31,32,33,34,35,36,37,38,39,0, + 41,42,43,4,45,0,0,1,2,3, + 4,5,6,7,8,0,10,0,12,13, + 14,62,16,17,18,19,20,21,22,23, + 24,25,62,27,28,29,30,31,32,33, + 34,35,36,37,38,39,0,41,42,43, + 0,45,0,1,2,3,4,5,6,7, + 8,44,10,0,12,13,14,61,16,17, + 18,19,20,21,22,23,24,25,63,27, + 28,29,30,31,32,33,34,35,36,37, + 38,39,0,41,42,43,4,45,0,1, + 2,3,4,5,6,7,8,0,10,63, + 12,13,14,6,16,17,18,19,20,21, + 22,23,24,25,119,27,28,29,30,31, + 32,33,34,35,36,37,38,39,0,41, + 42,43,0,45,0,1,2,3,4,5, + 6,7,8,90,10,0,12,13,14,96, 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,0,43,44,3, - 46,0,1,2,3,4,5,6,7,8, - 9,0,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,0,43,44,3,46,0,1, + 0,27,28,29,30,31,32,33,34,35, + 36,37,38,39,29,41,42,43,0,45, + 0,1,2,0,4,0,1,2,91,92, + 10,6,12,13,14,15,16,17,18,19, + 20,21,22,23,0,1,2,0,4,26, + 6,26,8,0,1,2,88,89,0,0, + 40,0,0,0,3,3,46,9,48,49, + 50,51,52,53,0,55,56,57,0,26, + 60,0,0,1,2,65,4,67,68,27, + 28,10,10,0,12,13,14,15,16,17, + 18,19,20,21,22,23,0,26,61,0, + 0,1,2,0,0,97,98,0,1,2, + 0,0,40,3,62,0,1,2,46,70, + 48,49,50,51,52,53,26,55,56,57, + 0,60,60,26,70,87,0,65,0,67, + 68,26,12,13,14,15,16,17,18,19, + 20,21,22,23,0,103,88,89,0,1, + 2,3,4,5,6,7,8,9,69,11, + 40,0,120,15,70,72,46,0,48,49, + 50,51,52,53,26,55,56,57,0,1, + 2,3,4,5,6,7,8,9,44,11, + 0,0,44,15,0,47,70,0,70,0, + 0,0,54,6,26,6,58,63,0,1, 2,3,4,5,6,7,8,9,0,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 0,43,44,3,46,0,1,2,3,4, - 5,6,7,8,9,0,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,0,43,44, - 3,46,0,1,2,3,4,5,6,7, - 8,9,0,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,0,43,44,0,1,2, - 3,4,5,6,7,8,9,0,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,41,0, - 43,44,0,1,2,3,4,5,6,7, - 8,9,0,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,90,0,1,2,0,0, - 96,0,0,0,0,0,0,1,2,10, - 4,0,1,2,10,10,5,100,0,67, + 0,3,74,15,0,47,0,0,1,2, + 0,0,54,72,26,5,58,93,94,0, + 1,2,3,4,5,6,7,8,9,71, + 11,0,74,26,15,47,0,63,0,3, + 70,3,54,69,0,26,58,3,44,0, + 1,2,3,4,5,6,7,8,9,71, + 11,0,74,0,15,4,47,63,91,92, + 91,92,72,54,0,26,0,58,0,3, 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,0,67,57,3,67,5,6,57,8, - 0,1,2,3,4,5,6,7,8,0, - 10,77,77,22,23,24,25,0,27,71, - 0,0,1,2,4,0,0,0,0,0, - 1,2,100,8,43,44,10,10,0,22, - 23,0,42,0,0,45,0,118,123,0, - 1,2,119,0,63,0,0,57,3,68, - 69,70,71,63,64,65,66,47,118,0, - 0,45,45,0,74,0,67,0,57,88, - 89,90,91,92,93,94,57,10,97,98, - 99,100,101,102,103,104,105,106,107,108, - 109,110,111,112,113,0,57,63,3,63, - 5,6,69,8,0,1,2,3,4,5, - 6,7,8,0,10,97,98,22,23,24, - 25,90,27,63,114,115,116,96,63,69, - 102,88,89,0,1,2,90,70,43,44, - 0,0,96,3,77,117,42,0,0,45, - 0,88,89,93,94,0,0,10,63,0, - 0,57,0,68,69,70,71,26,64,65, - 66,0,22,23,3,0,72,0,74,0, - 67,22,23,88,89,90,91,92,93,94, - 57,0,97,98,99,100,101,102,103,104, - 105,106,107,108,109,110,111,112,113,0, - 1,2,3,4,5,6,7,8,9,72, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,0,1,2,3,4,5,6,7,8, - 9,70,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,0,0,119,3,3,0,0,0, - 3,3,3,0,0,1,2,0,0,0, - 1,2,3,4,5,6,7,8,9,68, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,38,39,40, - 41,0,1,2,3,4,5,6,7,8, - 9,57,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,0,1,2,3,4,5,6,7, - 8,9,95,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,0,1,2,3,4,5,6, - 7,8,9,0,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,0,1,2,0,4,0, - 0,4,0,9,4,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,0, - 57,0,0,1,2,3,4,5,6,7, - 8,10,10,0,1,2,42,0,0,0, - 41,47,48,49,50,51,52,53,54,55, - 56,0,58,59,60,61,62,0,1,2, - 63,4,0,63,42,3,9,45,11,12, - 13,14,15,16,17,18,19,20,21,57, - 0,63,0,3,68,0,64,65,66,70, - 57,0,10,72,72,0,74,0,3,42, - 0,0,0,0,47,48,49,50,51,52, - 53,54,55,56,0,58,59,60,61,62, - 0,0,71,0,0,11,12,13,14,15, - 16,17,18,19,20,21,0,1,2,3, - 4,5,6,7,8,0,10,0,1,2, - 3,4,5,6,7,8,42,10,119,77, - 0,47,48,49,50,51,52,53,54,55, - 56,70,58,88,89,0,73,0,42,88, - 89,45,0,0,63,10,0,0,0,42, - 69,71,45,57,70,0,9,0,10,76, - 64,65,66,0,57,0,0,0,72,0, - 74,64,65,66,93,94,71,0,0,72, - 45,74,0,1,2,3,4,5,6,7, - 8,71,10,0,1,2,3,4,5,6, - 7,8,0,10,57,70,59,0,1,2, - 3,4,5,6,7,8,70,10,0,0, - 0,0,0,0,42,77,71,45,10,0, - 63,0,69,0,69,42,69,71,45,57, - 0,0,0,0,0,0,64,65,66,42, - 57,0,45,0,72,0,74,64,65,66, - 93,94,0,45,57,0,0,74,0,0, - 0,64,65,66,0,73,0,0,0,0, - 0,74,0,1,2,3,4,5,6,7, - 8,69,10,42,73,0,73,0,47,48, - 49,50,51,52,53,54,55,56,0,58, - 0,69,71,73,71,0,0,0,0,0, - 0,0,0,0,42,0,0,45,0,0, - 0,0,0,0,0,0,0,0,0,57, - 0,0,0,0,0,0,64,65,66,0, - 0,0,42,0,0,0,74,47,48,49, - 50,51,52,53,54,55,56,0,58,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0 + 71,11,0,74,0,15,47,93,94,88, + 89,0,122,54,3,44,26,58,0,0, + 0,1,2,3,4,5,6,7,8,9, + 71,11,0,74,0,15,95,47,0,0, + 0,9,0,3,54,3,26,0,58,10, + 3,0,1,2,3,4,5,6,7,8, + 9,71,11,44,74,26,15,47,0,0, + 0,3,3,3,54,0,0,26,58,3, + 0,1,2,3,4,5,6,7,8,9, + 0,11,119,0,74,15,0,0,47,60, + 62,0,0,0,3,54,26,0,15,58, + 76,0,0,0,3,0,0,0,0,87, + 0,0,15,0,0,74,0,47,0,0, + 0,0,0,40,54,0,15,0,58,46, + 0,48,49,50,51,52,53,40,55,56, + 57,0,0,46,74,48,49,50,51,52, + 53,40,55,56,57,0,70,46,0,48, + 49,50,51,52,53,0,55,56,57,0, + 0,0,70,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1516,405 +1422,301 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TermAction { public final static char termAction[] = {0, - 5418,5352,5063,5063,5063,5063,5063,5063,5063,1, - 5377,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5359,3224,1,1,1, - 1,1,1,1,1,1,1,137,1,1, - 1,1,1,5418,617,1274,565,662,4400,5418, - 5211,5208,5425,5459,311,2077,3221,2261,2965,2015, - 2964,3126,3482,3220,759,3155,3326,3149,8,5386, - 5386,5386,5386,5386,5386,5386,5386,5386,5386,5386, - 5386,5386,5386,5386,5386,5386,5386,5386,5386,5386, - 5386,5386,5386,5386,5386,5386,5386,5386,5386,5386, - 5386,5386,5386,5386,5386,5386,5386,5386,5386,5386, - 5386,5386,5386,5386,5386,5386,5386,5386,5386,5386, - 5386,5386,5386,5386,5386,1086,5386,5386,5386,5386, - 5386,1,5386,5386,5386,5386,2302,5418,5211,5208, - 5386,5459,5418,5386,5386,624,5386,5386,5386,5386, - 5386,5386,5386,5386,5386,5386,5418,5352,5063,5063, - 5063,5063,5063,5063,5063,1,5356,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5359,3224,1,1,1,1,1,1,1, - 1,1,1,5418,1,1,1,1,1,2593, - 617,1274,565,662,119,125,41,5190,5187,5418, - 3459,2077,3221,1308,2965,2015,2964,3126,3482,3220, - 759,3155,3326,3149,5418,5352,5063,5063,5063,5063, - 5063,5063,5063,1,5356,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5359, - 3224,1,1,1,1,1,1,1,1,1, - 1,5418,1,1,1,1,1,5418,617,1274, - 565,662,121,2702,2729,3434,3408,42,3459,2077, - 3221,5459,2965,2015,2964,3126,3482,3220,759,3155, - 3326,3149,5418,5352,5063,5063,5063,5063,5063,5063, - 5063,1,5356,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5359,3224,1, - 1,1,1,1,1,1,1,1,1,5418, - 1,1,1,1,1,5418,617,1274,565,662, - 120,5418,1,3434,3408,877,3459,2077,3221,5418, - 2965,2015,2964,3126,3482,3220,759,3155,3326,3149, - 5418,5352,5063,5063,5063,5063,5063,5063,5063,1, - 5356,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5359,3224,1,1,1, - 1,1,1,1,1,1,1,1654,1,1, - 1,1,1,5418,617,1274,565,662,5418,5435, - 5436,3434,3408,4400,5418,2077,3221,1783,2965,2015, - 2964,3126,3482,3220,759,3155,3326,3149,5418,5352, - 5063,5063,5063,5063,5063,5063,5063,1,5356,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5359,3224,1,1,1,1,1, - 1,1,1,1,1,5418,1,1,1,1, - 1,138,617,1274,565,662,5418,5178,5175,5418, - 5435,5436,38,2077,3221,5418,2965,2015,2964,3126, - 3482,3220,759,3155,3326,3149,5418,5352,5063,5063, - 5063,5063,5063,5063,5063,1,5356,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5359,3224,1,1,1,1,1,1,1, - 1,1,1,1168,1,1,1,1,1,5418, - 617,1274,565,662,5418,5202,5199,5418,9523,9520, - 2302,2077,3221,319,2965,2015,2964,3126,3482,3220, - 759,3155,3326,3149,5418,5352,5063,5063,5063,5063, - 5063,5063,5063,1,5356,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5359, - 3224,1,1,1,1,1,1,1,1,1, - 1,1278,1,1,1,1,1,5418,617,1274, - 565,662,53,5202,5199,53,5178,5175,5418,2077, - 3221,446,2965,2015,2964,3126,3482,3220,759,3155, - 3326,3149,5418,5352,5063,5063,5063,5063,5063,5063, - 5063,1,5356,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5359,3224,1, - 1,1,1,1,1,1,1,1,1,5220, - 1,1,1,1,1,133,617,1274,565,662, - 288,5435,5436,5418,9523,9520,5418,2077,3221,445, - 2965,2015,2964,3126,3482,3220,759,3155,3326,3149, - 5418,3141,1,1,1,1,1,1,1,1, - 5428,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5427,3224,1,1,1, - 1,1,1,1,1,1,1,5223,1,1, - 1,1,1,5418,617,1274,565,662,390,5435, - 5436,5418,2364,2335,3590,2077,3221,5418,2965,2015, - 2964,3126,3482,3220,759,3155,3326,3149,5418,5063, - 5063,5063,5063,5063,5063,5063,5063,1,5389,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5389,5579,1,1,1,1,1, - 1,1,1,1,1,5418,1,1,1,1, - 1,5418,1,1,1,1,1,1,1,1, - 1,382,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,442,5579,1,1, - 1,1,1,1,1,1,1,1,1611,1, - 1,1,1,1,5418,1,1,1,1,1, - 1,1,1,1,5172,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5193, - 5579,1,1,1,1,1,1,1,1,1, - 1,33,1,1,1,1,1,5418,1,1, - 1,1,1,1,1,1,1,5418,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,44,5579,1,1,1,1,1,1, - 1,1,1,1,5196,1,1,1,1,1, - 5418,1,1,1,1,1,1,1,1,1, - 1826,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5214,5579,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5418,1,1,1,1,1,1, - 1,1,1,5418,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5418,5579, - 1,1,1,1,1,1,1,1,1,1, - 501,1,1,1,1,1,5418,1,1,1, - 1,1,1,1,1,1,3104,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5418,5579,1,1,1,1,1,1,1, - 1,1,1,5418,1,1,1,1,1,42, - 5069,5066,3073,845,3384,4119,3051,4142,3034,115, - 5683,5681,5690,5689,5685,5686,5684,5687,5688,5691, - 5682,4096,4073,4188,4165,5441,4050,1648,1691,5443, - 1655,619,1673,5444,5442,1622,5437,5439,5440,5438, - 780,5675,224,5418,5435,5436,5678,5753,5754,5672, - 5679,5651,5677,5676,5673,5674,5418,5652,5809,610, - 5810,5811,5418,5236,5236,228,5232,228,228,228, - 228,1,5240,1,1,1,1,1,1,1, - 1,1,1,1,5675,5418,4211,828,4425,5678, - 5753,5754,5672,5679,5651,5677,5676,5673,5674,4234, - 5652,346,5059,79,1,4257,4678,228,5821,1, - 1,1,1,1,1,1,1,1,1,489, - 1,1,1,1,1,3896,1349,5485,5486,5418, - 5178,5175,334,429,407,228,5906,5418,5236,5236, - 228,5232,228,228,228,228,1,5306,1,1, - 1,1,1,1,1,1,1,1,1,143, - 364,5082,5078,2758,5075,945,1,3051,1,1278, - 389,3284,4211,828,382,5418,5843,5844,5845,1, - 5753,5754,228,5821,1,1,1,1,1,1, - 1,1,1,1,489,1,1,1,1,1, - 5418,1349,40,5226,5226,302,568,5418,2593,406, - 228,5906,383,42,5719,5333,5418,5459,5333,1697, - 5333,5746,5336,996,5418,1,5426,5418,1278,383, - 1754,1145,931,501,5336,5336,5336,5336,310,5082, - 5078,4534,5075,945,5184,3051,5181,5843,5844,5845, - 1217,5843,5844,5845,432,1,1,5333,1,5457, - 5217,2193,5217,1711,1668,1625,1582,1539,1496,1453, - 1410,1367,1319,5418,1444,5336,3955,5418,1,30, - 5336,5336,5336,5336,5336,5336,1025,5291,5425,5336, - 5418,5082,5078,4534,5075,945,5184,3051,5181,530, - 5336,5336,5336,5336,5336,5336,5336,5336,5336,5336, - 5336,5336,5336,5336,5336,5336,5336,5336,5336,5336, - 5336,5336,5336,5336,5336,5336,104,225,382,5336, - 5336,5339,5336,5418,5339,2255,5339,5294,5342,343, - 5211,5208,2758,845,945,1697,3051,5746,5309,5309, - 5342,5342,5342,5342,5418,5211,5208,4534,845,945, - 1697,3051,5746,1965,433,42,42,42,5459,5675, - 5321,5459,5318,5339,5678,5753,5754,5672,5679,5651, - 5677,5676,5673,5674,5418,5652,52,4746,5418,5211, - 5208,5345,845,945,4945,3051,5342,5342,5342,5342, - 5342,5342,4280,3520,5418,5342,5418,1278,1,5082, - 5078,5072,5075,5089,2514,5086,5342,5342,5342,5342, - 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, - 5342,5342,5342,5342,5342,5342,5342,5342,5342,5342, - 5342,5342,190,836,317,5342,5342,5205,5342,5418, - 5063,5063,228,5063,228,228,228,228,1,228, - 1,1,1,1,1,1,1,1,1,1, - 1,5418,5211,5208,4534,845,945,1697,3051,5746, - 1,5082,5078,5072,5075,5089,1,5086,5418,2815, - 5428,9184,309,33,228,5434,1,1,1,1, - 1,1,1,1,1,1,5060,1,1,1, - 1,1,1278,617,1362,565,436,1,5082,5078, - 4534,5075,945,5906,3051,5427,5418,5063,5063,228, - 5063,228,228,228,228,1,228,1,1,1, - 1,1,1,1,1,1,1,1,1,5082, - 5078,4534,5075,945,1278,3051,501,5918,310,96, - 1,1,4409,1,5415,5383,414,5383,9184,5418, - 12,228,5434,1,1,1,1,1,1,1, - 1,1,1,5060,1,1,1,1,1,2683, - 617,1362,565,310,5418,99,42,42,2916,5459, - 5906,5409,5418,5406,5418,5418,1,1,1,1, - 1,1,1,1,1,5428,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,11,1,1, - 5427,5579,5418,1,1,1,1,1,1,1, - 1,1,168,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5418,1,1,168,5579,5418, - 1,1,1,1,1,1,1,1,1,168, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,287,1,1,168,5579,5418,1,1,1, - 1,1,1,1,1,1,168,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,95,1, - 1,5330,5579,5418,1,5365,5365,940,5362,1, - 1697,418,5746,5418,360,1,5082,5078,2758,5075, - 945,809,3051,343,42,42,2815,5459,5418,1697, - 5418,5746,1931,168,5418,1,1,1,1,1, - 1,1,1,1,168,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1869,1,1,345, - 5579,360,2993,1278,3761,1,5082,5078,4534,5075, - 945,1278,3051,5418,5211,5208,5418,845,945,360, - 3051,1,5082,5078,3073,5075,3384,4119,3051,4142, - 5255,168,5282,5288,5261,5264,5276,5273,5279,5270, - 5267,5258,5285,4096,4073,4188,4165,5441,4050,1648, - 1691,5443,1655,619,1673,5444,5442,1622,5437,5439, - 5440,5438,780,237,42,42,5368,1278,141,1, - 5082,5078,2758,5075,945,5418,3051,355,1965,3830, - 5418,1,1,1,1,1,1,1,1,1, - 505,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5418,5579,5418,1,1, - 1,1,1,1,1,1,1,1278,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2232, - 1,1,5772,5579,42,5211,5208,3073,845,3384, - 4119,3051,4142,2325,5426,5683,5681,5690,5689,5685, - 5686,5684,5687,5688,5691,5682,4096,4073,4188,4165, - 5441,4050,1648,1691,5443,1655,619,1673,5444,5442, - 1622,5437,5439,5440,5438,780,5418,5774,5418,5435, - 5436,1,1,945,2815,3051,5418,5069,5066,302, - 5459,339,360,5418,5418,5418,5211,5208,5719,845, - 5349,2516,3051,40,5226,5226,5425,42,5211,5208, - 3073,845,3384,4119,3051,4142,2325,5426,5683,5681, - 5690,5689,5685,5686,5684,5687,5688,5691,5682,4096, - 4073,4188,4165,5441,4050,1648,1691,5443,1655,619, - 1673,5444,5442,1622,5437,5439,5440,5438,780,1278, - 339,339,823,1568,764,39,5403,5400,339,360, - 5457,1912,3431,3520,5418,5418,5211,5208,135,845, - 5349,142,3051,5418,2516,1,581,360,4934,5425, - 5418,1,1,1,1,1,1,1,1,1, - 5418,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1012,1,1,5418,5579,5418,1,1, - 1,1,1,1,1,1,1,5812,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5418, - 1,1,2232,5579,5418,1,1,1,1,1, - 1,1,1,1,3215,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5418,1,1,4882, - 5579,5418,1,1,1,1,1,1,1,1, - 1,5418,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5418,1,1,4899,5579,5418,1, - 1,1,1,1,1,1,1,1,5418,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 5418,1,1,4850,5579,5418,1,1,1,1, - 1,1,1,1,1,5418,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5418,1,1, - 4902,5579,145,5211,5208,3073,845,3384,4119,3051, - 4142,2325,5418,5683,5681,5690,5689,5685,5686,5684, - 5687,5688,5691,5682,4096,4073,4188,4165,5441,4050, - 1648,1691,5443,1655,619,1673,5444,5442,1622,5437, - 5439,5440,5438,780,118,42,42,1,5082,5078, - 3073,5075,3384,4119,3051,4142,5255,139,5282,5288, - 5261,5264,5276,5273,5279,5270,5267,5258,5285,4096, - 4073,4188,4165,5441,4050,1648,1691,5443,1655,619, - 1673,5444,5442,1622,5437,5439,5440,5438,780,5418, - 42,42,42,5211,5208,3073,845,3384,4119,3051, - 4142,2325,5418,5683,5681,5690,5689,5685,5686,5684, - 5687,5688,5691,5682,4096,4073,4188,4165,5441,4050, - 1648,1691,5443,1655,619,1673,5444,5442,1622,5437, - 5439,5440,5438,780,4234,5418,5435,5436,5418,5418, - 4257,5418,140,5418,5418,1,390,5069,5066,5422, - 5459,40,5226,5226,5424,166,5226,2268,289,2516, - 42,5211,5208,3073,845,3384,4119,3051,4142,2325, - 5422,5683,5681,5690,5689,5685,5686,5684,5687,5688, - 5691,5682,4096,4073,4188,4165,5441,4050,1648,1691, - 5443,1655,619,1673,5444,5442,1622,5437,5439,5440, - 5438,1,1401,42,1184,1955,5875,5869,3253,5873, - 1,5063,5063,228,5063,228,228,228,228,5418, - 228,5423,166,5867,5868,5898,5899,122,5876,1926, - 42,5418,5246,5243,5459,136,5418,398,134,48, - 5252,5252,2268,581,1450,1483,5428,5300,143,3169, - 2643,117,9184,5418,5418,228,5418,5421,1064,50, - 5327,5327,3285,129,5878,5418,116,5060,3992,981, - 5879,5900,5877,1009,617,1362,565,2088,5421,5418, - 130,5427,5303,128,5906,5418,2098,5418,5457,5889, - 5888,5901,5870,5871,5894,5895,5249,5424,5892,5893, - 5872,5874,5896,5897,5902,5882,5883,5884,5880,5881, - 5890,5891,5886,5885,5887,5418,5324,3832,1184,4891, - 5875,5869,5861,5873,1,5063,5063,228,5063,228, - 228,228,228,5418,5229,2364,2335,5867,5868,5898, - 5899,4234,5876,2602,5843,5844,5845,4257,2987,5312, - 2193,2702,2729,5418,9541,9541,4234,4944,1450,1483, - 5418,1,4257,4599,5423,3955,9184,5418,5418,228, - 124,2702,2729,2542,2449,5418,5418,5426,5878,123, - 5418,5060,5418,981,5879,5900,5877,604,617,1362, - 565,5418,3169,2643,4735,372,221,5418,5906,5418, - 662,3169,2643,5889,5888,5901,5870,5871,5894,5895, - 5457,504,5892,5893,5872,5874,5896,5897,5902,5882, - 5883,5884,5880,5881,5890,5891,5886,5885,5887,42, - 5211,5208,3073,845,3384,4119,3051,4142,2325,5425, - 5683,5681,5690,5689,5685,5686,5684,5687,5688,5691, - 5682,4096,4073,4188,4165,5441,4050,1648,1691,5443, - 1655,619,1673,5444,5442,1622,5437,5439,5440,5438, - 780,42,5211,5208,3073,845,3384,4119,3051,4142, - 2325,901,5683,5681,5690,5689,5685,5686,5684,5687, - 5688,5691,5682,4096,4073,4188,4165,5441,4050,1648, - 1691,5443,1655,619,1673,5444,5442,1622,5437,5439, - 5440,5438,5418,5418,3285,4885,4749,5418,5418,5418, - 4763,4942,4961,5418,40,5226,5226,1,5418,42, - 5211,5208,3073,845,3384,4119,3051,4142,2325,2842, - 5683,5681,5690,5689,5685,5686,5684,5687,5688,5691, - 5682,4096,4073,4188,4165,5441,4050,1648,1691,5443, - 1655,619,1673,5444,5442,1622,5437,5439,5440,5438, - 780,42,5211,5208,4878,845,3384,4119,3051,4142, - 2325,2631,5683,5681,5690,5689,5685,5686,5684,5687, - 5688,5691,5682,4096,4073,4188,4165,5441,4050,1648, - 1691,5443,1655,619,1673,5444,5442,1622,5437,5439, - 5440,5438,42,5211,5208,3073,845,3384,4119,3051, - 4142,2325,3626,5683,5681,5690,5689,5685,5686,5684, - 5687,5688,5691,5682,4096,4073,4188,4165,5441,4050, - 1648,1691,5443,1655,619,1673,5444,5442,1622,5437, - 5439,5440,5438,42,5211,5208,3073,845,3384,4119, - 3051,4142,2325,40,5683,5681,5690,5689,5685,5686, - 5684,5687,5688,5691,5682,4096,4073,4188,4165,5441, - 4050,1648,1691,5443,1655,619,1673,5444,5442,1622, - 5437,5439,5440,5438,5418,5069,5066,53,5459,522, - 53,5436,5418,1138,5435,5683,5681,5690,5689,5685, - 5686,5684,5687,5688,5691,5682,103,5418,2,437, - 5457,1,1,5063,5063,228,5063,228,228,228, - 228,5315,5229,5418,5396,5392,5675,5418,5418,511, - 3486,5678,5753,5754,5672,5679,5651,5677,5676,5673, - 5674,367,5652,5809,610,5810,5811,241,5165,5161, - 5436,5169,107,5435,9184,4958,1138,228,5152,5158, - 5131,5134,5146,5143,5149,5140,5137,5128,5155,5060, - 5418,40,1,3504,2143,127,617,1362,565,2786, - 5457,126,518,5425,221,279,5906,5418,5412,5116, - 5418,359,5418,5418,5107,5101,5098,5125,5104,5095, - 5110,5113,5122,5119,223,5092,5809,610,5810,5811, - 365,132,1188,5418,416,5683,5681,5690,5689,5685, - 5686,5684,5687,5688,5691,5682,1,5063,5063,228, - 5063,228,228,228,228,496,5297,1,5063,5063, - 228,5063,228,228,228,228,5675,5229,3285,518, - 494,5678,5753,5754,5672,5679,5651,5677,5676,5673, - 5674,2398,5652,2702,2729,5418,2054,5418,9184,2702, - 2729,228,5418,5418,2602,5428,162,1,1,9184, - 5371,1235,228,5060,3540,410,5291,5418,5424,3374, - 617,1362,565,5418,5060,5418,5418,131,220,5418, - 5906,617,1362,565,2542,2449,4913,5418,5418,221, - 5427,5906,1,5063,5063,228,5063,228,228,228, - 228,4930,5229,1,5063,5063,228,5063,228,228, - 228,228,5418,228,2255,3201,5294,1,5063,5063, - 228,5063,228,228,228,228,1797,228,180,5418, - 5418,5418,5418,5418,9184,5423,2104,228,5380,5418, - 2602,5418,3227,5418,3238,9184,5374,1168,228,5060, - 5418,5418,5418,498,5418,5418,617,1362,565,9184, - 5060,226,228,5418,221,5418,5906,617,1362,565, - 2542,2449,5418,5380,5060,5418,5418,5906,5418,5418, - 5418,617,1362,565,5418,1840,5418,5418,5418,5418, - 5418,5906,1,5063,5063,228,5063,228,228,228, - 228,3240,228,5675,5601,5418,3552,5418,5678,5753, - 5754,5672,5679,5651,5677,5676,5673,5674,5418,5652, - 227,3244,1883,5600,646,5418,5418,5418,5418,5418, - 5418,5418,5418,5418,9184,5418,5418,228,5418,5418, - 5418,5418,5418,5418,5418,5418,5418,5418,5418,5060, - 5418,5418,5418,5418,5418,5418,617,1362,565,5418, - 5418,5418,5675,5418,5418,5418,5906,5678,5753,5754, - 5672,5679,5651,5677,5676,5673,5674,5418,5652 + 5467,5407,5118,5118,5118,5118,5118,5118,5118,5432, + 1,5414,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5467,1,1,617,1,1, + 1,1,1,1,940,1,1,1,604,1059, + 1,1,309,1,1,1,1,1,1,5467, + 1130,5474,167,5646,167,2387,3286,3258,2015,3171, + 3187,3459,3271,759,3261,2806,3225,8,5438,5438, + 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, + 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, + 5438,5438,5438,1568,5438,5438,5438,5438,5438,5438, + 5438,5438,5438,5438,5438,5438,5438,5438,5438,5438, + 5438,4520,5438,5438,5438,5438,5438,5438,5438,5438, + 5438,5438,5438,5438,5438,5438,5438,5438,5438,5467, + 167,5438,5438,5438,5438,5438,317,42,5438,5260, + 5438,5508,5438,5438,5438,5438,5438,5438,5438,5438, + 5438,5438,5438,5438,5467,5407,5118,5118,5118,5118, + 5118,5118,5118,5411,1,5414,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 5467,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1278,1, + 1,617,1,1,1,1,1,1,940,1, + 1,1,604,1059,1,1,287,5467,1,1, + 1,1,1,382,5467,5266,5263,5646,5508,2387, + 3286,3258,2015,3171,3187,3459,3271,759,3261,2806, + 3225,5467,5407,5118,5118,5118,5118,5118,5118,5118, + 5411,1,5414,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5227,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2401,1,1,617,1, + 1,1,1,1,1,940,1,1,1,604, + 1059,1,1,1,5467,1,1,1,1,1, + 319,5467,360,5473,5646,935,2387,3286,3258,2015, + 3171,3187,3459,3271,759,3261,2806,3225,5467,5407, + 5118,5118,5118,5118,5118,5118,5118,5411,1,5414, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,334,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1278,1,1,617,1,1,1,1, + 1,1,940,1,1,1,604,1059,1,1, + 360,5472,1,1,1,1,1,442,360,5467, + 5802,5646,5803,2387,3286,3258,2015,3171,3187,3459, + 3271,759,3261,2806,3225,5467,5407,5118,5118,5118, + 5118,5118,5118,5118,5411,1,5414,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,5248,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2685, + 1,1,617,1,1,1,1,1,1,940, + 1,1,1,604,1059,1,1,504,5467,1, + 1,1,1,1,33,5467,5266,5263,5646,5508, + 2387,3286,3258,2015,3171,3187,3459,3271,759,3261, + 2806,3225,5467,5407,5118,5118,5118,5118,5118,5118, + 5118,5411,1,5414,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5251,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,901,1,1,617, + 1,1,1,1,1,1,940,1,1,1, + 604,1059,1,1,5467,5467,1,1,1,1, + 1,5467,5484,5485,5467,5646,3192,2387,3286,3258, + 2015,3171,3187,3459,3271,759,3261,2806,3225,5467, + 5407,5118,5118,5118,5118,5118,5118,5118,5411,1, + 5414,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5467,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1139,1,1,617,1,1,1, + 1,1,1,940,1,1,1,604,1059,1, + 1,5467,5467,1,1,1,1,1,44,1783, + 5473,5477,5646,5476,2387,3286,3258,2015,3171,3187, + 3459,3271,759,3261,2806,3225,5467,5407,5118,5118, + 5118,5118,5118,5118,5118,5411,1,5414,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,5269,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 4968,1,1,617,1,1,1,1,1,1, + 940,1,1,1,604,1059,1,1,5472,398, + 1,1,1,1,1,5467,5233,5230,5355,5646, + 5358,2387,3286,3258,2015,3171,3187,3459,3271,759, + 3261,2806,3225,5467,5407,5118,5118,5118,5118,5118, + 5118,5118,5411,1,5414,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5467, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5467,1,1, + 617,1,1,1,1,1,1,940,1,1, + 1,604,1059,1,1,437,1,1,1,1, + 1,1,5467,5484,5485,165,5646,5467,2387,3286, + 3258,2015,3171,3187,3459,3271,759,3261,2806,3225, + 5467,3215,1,1,1,1,1,1,1,5477, + 1,5476,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,436,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,3501,1,1,617,1,1, + 1,1,1,1,940,1,1,1,604,1059, + 1,1,5467,165,1,1,1,1,1,33, + 390,5124,5121,5646,5508,2387,3286,3258,2015,3171, + 3187,3459,3271,759,3261,2806,3225,42,5124,5121, + 4827,845,3361,4216,3598,4239,42,2517,2925,5732, + 5730,5739,5724,5738,5734,5735,5733,5736,5737,5740, + 5731,4193,4170,501,4285,4262,5490,4147,1648,1691, + 5492,1655,619,1665,5493,5491,1630,5727,5486,5488, + 5489,355,5487,5802,133,5803,5721,5728,5700,5726, + 5725,414,5722,5723,5701,42,1,5858,780,5508, + 383,1654,610,5795,5859,5860,5467,5291,5291,228, + 5287,228,228,228,228,5295,1,228,1,1, + 1,1,1,1,1,1,1,1,1,1, + 42,5467,489,5114,5508,5467,5137,5133,4652,5130, + 3318,5239,3598,5236,5467,5467,1,842,1740,40, + 5281,5281,1,1349,1,1,1,1,1,1, + 894,1,1,1,141,1,1,5467,5257,5254, + 624,1,115,1,1,5506,5821,407,228,5870, + 5955,2364,2335,5467,5291,5291,228,5287,228,228, + 228,228,5361,1,228,1,1,1,1,1, + 1,1,1,1,1,1,1,1965,446,489, + 364,5137,5133,2730,5130,3318,1,3598,1,5467, + 5892,5893,5894,1,1826,5467,5467,5301,5298,1, + 1349,1,1,1,1,1,1,389,1,1, + 1,382,5467,1,5892,5893,5894,52,1,5467, + 1,1,5506,302,406,228,5870,5955,383,5467, + 224,5388,4331,5768,5388,2232,5388,5391,4354,5388, + 5275,311,1278,836,980,5724,5467,5484,5485,5467, + 1145,501,5391,5391,1912,5391,5391,310,5137,5133, + 4652,5130,3318,5239,3598,5236,5467,5892,5893,5894, + 5727,5467,5391,143,4848,3993,5802,559,5803,5721, + 5728,5700,5726,5725,38,5722,5723,5701,1955,122, + 5391,5391,5467,5124,5121,530,5508,5391,5391,5391, + 5391,343,5266,5263,2730,845,3318,1654,3598,5795, + 4308,1086,1999,3141,2759,5391,5391,5391,5391,5391, + 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, + 5391,5391,5391,5391,5391,5391,5391,5391,5391,5391, + 5391,5391,124,1754,382,5391,5391,5394,5391,123, + 5394,1525,5394,5397,1258,5394,1,1,5137,5133, + 4652,5130,3318,1278,3598,130,3141,2759,5397,5397, + 5467,5397,5397,3141,2759,2193,2901,1711,1668,1625, + 1582,1539,1496,1453,1410,1367,1319,5467,5400,142, + 3719,5467,5266,5263,4652,845,3318,1654,3598,5795, + 501,5467,5484,5485,5467,5467,5397,5397,2879,2603, + 5467,8723,8176,5397,5397,5397,5397,5467,5266,5263, + 4652,845,3318,1654,3598,5795,418,1,5367,1965, + 5467,5397,5397,5397,5397,5397,5397,5397,5397,5397, + 5397,5397,5397,5397,5397,5397,5397,5397,5397,5397, + 5397,5397,5397,5397,5397,5397,5397,5397,2542,2449, + 991,5397,5397,143,5397,5467,5118,5118,228,5118, + 228,228,228,228,228,1,228,1,1,1, + 8407,1,1,1,1,1,1,1,1,429, + 2232,5115,1,5137,5133,5127,5130,5144,3072,5141, + 42,5477,1611,5476,5508,1,445,5467,5467,5233, + 5230,1,617,1,1,1,1,1,1,1362, + 1,1,1,604,1174,1,137,41,5245,5242, + 1,139,1,1,555,53,5257,5254,5483,5955, + 2485,5467,5118,5118,228,5118,228,228,228,228, + 228,1,228,1,1,1,8407,1,1,1, + 1,1,1,1,1,2193,2222,5115,5278,1, + 5420,5420,4308,5417,1999,1654,5467,5795,360,5467, + 3719,1,53,5233,5230,5471,12,1,617,1, + 1,1,1,1,1,1362,1,1,1,604, + 302,1,5467,5892,5893,5894,1,5467,1,1, + 5768,5477,30,5476,5483,5955,1,5137,5133,4827, + 5130,3361,4216,3598,4239,2302,5310,140,5337,5343, + 5316,2268,5319,5331,5328,5334,5325,5322,5313,5340, + 4193,4170,5967,4285,4262,5490,4147,1648,1691,5492, + 1655,619,1665,5493,5491,1630,360,5486,5488,5489, + 5467,5487,11,3168,360,1,5137,5133,4652,5130, + 3318,4490,3598,5467,310,5364,310,780,5467,505, + 42,5364,42,42,5266,5263,4827,845,3361,4216, + 3598,4239,5475,1863,5470,5732,5730,5739,5467,5738, + 5734,5735,5733,5736,5737,5740,5731,4193,4170,5467, + 4285,4262,5490,4147,1648,1691,5492,1655,619,1665, + 5493,5491,1630,5467,5486,5488,5489,2268,5487,288, + 5484,5485,1059,1,5137,5133,2730,5130,3318,289, + 3598,5467,2516,5467,780,343,42,42,2787,5508, + 5475,1654,5467,5795,5474,42,5266,5263,4827,845, + 3361,4216,3598,4239,5475,1863,346,5732,5730,5739, + 5861,5738,5734,5735,5733,5736,5737,5740,5731,4193, + 4170,2054,4285,4262,5490,4147,1648,1691,5492,1655, + 619,1665,5493,5491,1630,1278,5486,5488,5489,5467, + 5487,1,5137,5133,2730,5130,3318,1278,3598,1926, + 1025,359,5474,5467,2516,5910,780,145,5266,5263, + 4827,845,3361,4216,3598,4239,5474,1863,1278,5732, + 5730,5739,5467,5738,5734,5735,5733,5736,5737,5740, + 5731,4193,4170,4559,4285,4262,5490,4147,1648,1691, + 5492,1655,619,1665,5493,5491,1630,4924,5486,5488, + 5489,5467,5487,1278,1,5137,5133,5127,5130,5144, + 5475,5141,1,5137,5133,4652,5130,3318,780,3598, + 2398,42,1,42,1,5137,5133,4827,5130,3361, + 4216,3598,4239,416,5310,3290,5337,5343,5316,5467, + 5319,5331,5328,5334,5325,5322,5313,5340,4193,4170, + 5467,4285,4262,5490,4147,1648,1691,5492,1655,619, + 1665,5493,5491,1630,1,5486,5488,5489,5467,5487, + 5467,5467,5474,5370,5467,5266,5263,1,845,5404, + 2787,3598,5467,5484,5485,780,339,3318,42,3598, + 42,42,5266,5263,4827,845,3361,4216,3598,4239, + 823,1863,3491,5732,5730,5739,5467,5738,5734,5735, + 5733,5736,5737,5740,5731,4193,4170,5823,4285,4262, + 5490,4147,1648,1691,5492,1655,619,1665,5493,5491, + 1630,4377,5486,5488,5489,5474,5487,2796,118,1278, + 339,432,1,1,5467,1,339,5272,5467,5272, + 2516,3517,780,42,5266,5263,4827,845,3361,4216, + 3598,4239,5471,1863,339,5732,5730,5739,117,5738, + 5734,5735,5733,5736,5737,5740,5731,4193,4170,138, + 4285,4262,5490,4147,1648,1691,5492,1655,619,1665, + 5493,5491,1630,125,5486,5488,5489,1,5487,5467, + 1184,135,5924,5918,136,5922,5467,5266,5263,581, + 845,5404,581,3598,5467,8723,8176,5467,40,5281, + 5281,5916,5917,5281,5947,5948,5467,5925,4331,433, + 42,42,1012,5508,4354,5376,5467,5373,5467,5266, + 5263,5927,845,3318,2598,3598,5467,5266,5263,5467, + 845,3318,1184,3598,5924,5918,129,5922,4331,1081, + 5928,1450,95,1458,4354,5385,5949,5926,390,5484, + 5485,5470,1,5916,5917,2787,5947,5948,2302,5925, + 4930,2644,2703,5467,5467,5938,5937,5950,5919,5920, + 5943,5944,5467,5927,5941,5942,5921,5923,5945,5946, + 5951,5931,5932,5933,5929,5930,5939,5940,5935,5934, + 5936,1081,5928,1450,1,1458,5467,5467,5949,5926, + 96,1,1,5477,1,5476,5435,345,5435,5467, + 3083,39,5452,5449,1278,5467,4932,5938,5937,5950, + 5919,5920,5943,5944,2644,2703,5941,5942,5921,5923, + 5945,5946,5951,5931,5932,5933,5929,5930,5939,5940, + 5935,5934,5936,42,5266,5263,4827,845,3361,4216, + 3598,4239,5467,1863,53,5732,5730,5739,5485,5738, + 5734,5735,5733,5736,5737,5740,5731,4193,4170,1278, + 4285,4262,5490,4147,1648,1691,5492,1655,619,1665, + 5493,5491,1630,3408,5486,5488,5489,1840,5487,42, + 5266,5263,4827,845,3361,4216,3598,4239,5485,1863, + 104,5732,5730,5739,780,5738,5734,5735,5733,5736, + 5737,5740,5731,4193,4170,3344,4285,4262,5490,4147, + 1648,1691,5492,1655,619,1665,5493,5491,1630,5467, + 5486,5488,5489,2298,5487,372,42,5266,5263,4827, + 845,3361,4216,3598,4239,5467,1863,5467,5732,5730, + 5739,2800,5738,5734,5735,5733,5736,5737,5740,5731, + 4193,4170,3908,4285,4262,5490,4147,1648,1691,5492, + 1655,619,1665,5493,5491,1630,5467,5486,5488,5489, + 5467,5487,42,5266,5263,4849,845,3361,4216,3598, + 4239,3066,1863,116,5732,5730,5739,780,5738,5734, + 5735,5733,5736,5737,5740,5731,4193,4170,3348,4285, + 4262,5490,4147,1648,1691,5492,1655,619,1665,5493, + 5491,1630,5467,5486,5488,5489,2844,5487,42,5266, + 5263,4827,845,3361,4216,3598,4239,119,1863,3350, + 5732,5730,5739,3436,5738,5734,5735,5733,5736,5737, + 5740,5731,4193,4170,3408,4285,4262,5490,4147,1648, + 1691,5492,1655,619,1665,5493,5491,1630,128,5486, + 5488,5489,5467,5487,42,5266,5263,4827,845,3361, + 4216,3598,4239,4331,1863,1,5732,5730,5739,4354, + 5738,5734,5735,5733,5736,5737,5740,5731,4193,4170, + 5467,4285,4262,5490,4147,1648,1691,5492,1655,619, + 1665,5493,5491,1630,828,5486,5488,5489,134,5487, + 5467,5124,5121,40,5508,40,5281,5281,3411,3385, + 877,2901,5732,5730,5739,5724,5738,5734,5735,5733, + 5736,5737,5740,5731,99,42,42,522,5508,5506, + 5458,5506,5455,48,5307,5307,2644,2703,1,367, + 5727,237,79,5467,5423,3226,5802,518,5803,5721, + 5728,5700,5726,5725,365,5722,5723,5701,127,5304, + 5858,1,241,5220,5216,610,5224,5859,5860,5534, + 5535,5346,877,5467,5207,5213,5186,5171,5189,5201, + 5198,5204,5195,5192,5183,5210,5467,2297,3577,161, + 50,5382,5382,5467,496,2364,2335,5467,8771,8771, + 1,5467,5162,4954,3657,40,5281,5281,5156,1188, + 5153,5180,5159,5150,5165,5168,5379,5177,5174,5147, + 223,5349,5858,5506,1235,518,494,610,410,5859, + 5860,2182,5732,5730,5739,5724,5738,5734,5735,5733, + 5736,5737,5740,5731,132,568,2644,2703,1,5118, + 5118,228,5118,228,228,228,228,228,1797,228, + 5727,5467,997,8407,4940,5649,5802,5467,5803,5721, + 5728,5700,5726,5725,5115,5722,5723,5701,1,5118, + 5118,228,5118,228,228,228,228,5284,2603,228, + 5467,5467,1138,8407,5467,617,4946,121,2104,120, + 189,5467,1362,3436,5115,3436,604,5426,1,5118, + 5118,228,5118,228,228,228,228,5284,5467,228, + 5467,4851,5955,8407,131,617,5467,5467,5445,5441, + 5467,126,1362,3529,5115,3192,604,2542,2449,1, + 5118,5118,228,5118,228,228,228,228,5352,220, + 228,1,5955,5506,8407,617,5467,3549,5467,4860, + 1258,4887,1362,2796,5467,5115,604,4893,2603,1, + 5118,5118,228,5118,228,228,228,228,5284,220, + 228,53,5955,511,8407,5484,617,5429,3411,3385, + 3411,3385,5648,1362,5467,5115,5467,604,5467,3720, + 1,5118,5118,228,5118,228,228,228,228,5284, + 219,228,5467,5955,5467,8407,617,2542,2449,2644, + 2703,5467,5464,1362,3783,5484,5115,604,5467,2, + 1,5118,5118,228,5118,228,228,228,228,228, + 220,228,1,5955,5467,8407,3791,617,103,1, + 5467,5473,5467,3845,1362,3846,5115,5467,604,5346, + 1217,1,5118,5118,228,5118,228,228,228,228, + 228,220,228,40,5955,2297,8407,617,5467,5467, + 5467,4030,4585,3909,1362,5467,107,5115,604,4603, + 1,5118,5118,228,5118,228,228,228,228,228, + 5467,228,3408,225,5955,8407,5467,5467,617,5349, + 2143,5467,5467,5467,4902,1362,5115,226,5724,604, + 3548,279,498,5467,5461,5467,5467,5467,5467,5472, + 5467,227,5724,5467,5467,5955,5467,617,5467,5467, + 5467,5467,5467,5727,1362,5467,5724,5467,604,5802, + 5467,5803,5721,5728,5700,5726,5725,5727,5722,5723, + 5701,5467,5467,5802,5955,5803,5721,5728,5700,5726, + 5725,5727,5722,5723,5701,5467,1883,5802,5467,5803, + 5721,5728,5700,5726,5725,5467,5722,5723,5701,5467, + 5467,5467,646 }; }; public final static char termAction[] = TermAction.termAction; @@ -1922,59 +1724,59 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asb { public final static char asb[] = {0, - 593,1,631,1021,353,849,313,878,3,217, - 593,472,51,3,1028,1039,591,1039,716,1039, - 588,1039,1023,545,1039,472,473,103,849,467, - 1156,931,740,473,931,473,1021,545,810,110, - 222,591,591,107,473,52,100,267,473,720, - 311,383,719,212,591,320,473,325,473,473, - 311,720,720,857,162,155,155,470,164,467, - 473,924,100,771,931,325,928,209,100,931, - 931,473,261,681,282,595,595,222,222,222, - 222,472,473,52,857,267,720,213,720,311, - 148,720,320,320,473,325,311,473,720,591, - 472,433,549,168,467,473,467,148,924,325, - 470,209,209,52,681,282,222,1102,222,222, - 222,473,857,857,1102,473,267,1115,50,1105, - 267,720,720,870,473,383,473,320,1102,315, - 1101,810,91,1021,545,545,545,545,472,1021, - 940,416,1158,434,434,434,434,434,434,434, - 434,434,1058,1064,1069,1066,1073,1071,1078,1076, - 1080,1079,1081,5,1082,809,473,591,397,385, - 473,1021,100,433,547,209,1096,153,924,923, - 810,928,100,534,522,533,809,545,509,509, - 1102,1102,1102,473,261,1107,385,380,871,473, - 148,1102,434,473,470,677,530,529,416,353, - 353,353,353,473,12,100,100,417,980,352, - 261,416,1041,1041,260,260,12,1119,434,434, - 434,434,434,434,434,434,434,434,434,434, - 434,434,434,434,434,434,434,433,433,433, - 433,433,433,433,433,433,433,433,1119,434, - 417,723,398,472,473,12,515,547,924,725, - 433,531,531,675,470,476,282,595,282,808, - 808,857,52,164,538,434,1115,163,870,473, - 472,472,473,91,100,679,681,100,100,810, - 810,810,810,311,100,434,639,472,1158,209, - 352,433,100,51,53,51,100,209,1066,1066, - 1064,1064,1064,1071,1071,1071,1071,1069,1069,1076, - 1073,1073,1079,1078,1080,1115,1081,723,397,1115, - 434,1115,857,1021,1021,1021,398,1021,473,814, - 857,857,473,591,396,100,433,1101,725,433, - 433,679,522,282,353,353,857,1107,434,434, - 473,473,473,100,681,1021,1021,1021,1021,473, - 473,473,261,434,353,1062,57,100,473,53, - 261,433,388,1021,388,1115,398,416,416,414, - 812,416,857,857,978,723,547,727,809,473, - 473,860,100,1119,1119,1119,1119,1021,1021,311, - 52,100,1062,470,383,473,52,476,100,467, - 100,814,857,849,1021,100,723,727,921,860, - 860,100,100,100,100,12,12,473,1062,1063, - 1062,1119,57,55,383,100,100,663,398,978, - 398,857,814,849,1119,398,395,1021,509,732, - 860,100,100,650,1062,12,434,209,55,591, - 591,1013,433,396,1117,857,100,682,808,732, - 732,1063,100,209,398,100,1117,857,99,51, - 732,398,100,353,398 + 509,1,547,1024,306,44,210,938,55,264, + 509,716,49,55,1031,1042,727,1042,722,1042, + 724,1042,1026,507,1042,716,717,57,44,711, + 847,760,866,717,760,717,1024,507,936,61, + 106,727,727,212,717,50,386,164,717,261, + 208,336,269,259,727,273,717,278,717,717, + 208,261,261,980,158,151,151,714,160,711, + 717,753,386,897,760,278,757,256,386,760, + 760,717,145,597,179,511,511,106,106,106, + 106,716,717,50,980,164,261,260,261,208, + 99,261,273,273,717,278,208,717,261,727, + 716,677,456,215,711,717,711,99,753,278, + 714,256,256,50,597,179,106,1105,106,106, + 106,717,980,980,1105,717,164,1118,493,1108, + 164,261,261,744,717,336,717,273,1105,338, + 1104,936,377,1024,507,507,507,507,716,1024, + 769,661,849,678,678,678,678,678,678,678, + 678,678,1061,1067,1072,1069,1076,1074,1081,1079, + 1083,1082,1084,3,1085,935,717,727,641,389, + 717,1024,386,677,454,256,1099,104,753,752, + 936,757,386,450,438,449,935,507,425,425, + 1105,1105,1105,717,145,1110,389,333,745,717, + 99,1105,678,717,714,593,446,445,661,306, + 306,306,306,717,809,386,386,661,983,305, + 145,661,1044,1044,144,144,809,677,678,678, + 678,678,678,678,678,678,678,678,678,678, + 678,678,678,678,678,678,678,677,677,677, + 677,677,677,677,677,677,677,677,677,678, + 661,720,642,716,717,809,431,454,753,729, + 677,447,447,591,714,392,179,511,179,934, + 934,980,50,160,500,678,1118,159,744,717, + 716,716,717,377,386,595,597,386,386,936, + 936,936,936,208,386,678,555,716,849,256, + 305,677,386,49,51,49,386,256,1069,1069, + 1067,1067,1067,1074,1074,1074,1074,1072,1072,1079, + 1076,1076,1082,1081,1083,1118,1084,720,641,1118, + 678,1118,980,1024,1024,1024,642,1024,717,10, + 980,980,717,727,386,677,1104,729,677,677, + 595,438,179,306,306,980,1110,678,678,717, + 717,717,386,597,1024,1024,1024,1024,717,717, + 717,145,678,306,1065,343,386,717,51,145, + 677,632,1024,632,1118,642,661,661,659,854, + 661,980,980,807,720,454,731,935,717,717, + 856,386,677,677,677,677,1024,1024,208,50, + 386,1065,714,336,717,50,392,386,711,386, + 10,980,44,1024,386,720,731,630,856,856, + 386,386,386,386,809,809,717,1065,1066,1065, + 677,343,53,336,386,386,579,642,807,642, + 980,10,44,677,642,639,1024,425,736,856, + 386,386,566,1065,809,678,256,53,727,727, + 1016,677,640,809,980,980,386,598,934,736, + 736,1066,386,256,642,386,809,980,385,49, + 736,642,386,306,642 }; }; public final static char asb[] = Asb.asb; @@ -1982,123 +1784,118 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asr { public final static byte asr[] = {0, - 121,0,26,0,69,73,95,70,118,72, - 45,10,77,11,12,28,43,13,29,30, - 14,15,16,44,31,17,18,32,33,34, - 41,35,36,19,20,21,37,38,39,26, - 3,24,25,8,6,22,23,27,40,9, - 4,7,1,2,5,0,96,90,22,23, - 91,92,88,89,63,93,94,97,98,99, - 100,101,102,117,73,95,71,104,105,106, - 107,108,109,110,111,112,113,118,72,45, - 69,1,2,8,6,4,3,68,70,77, - 10,0,67,73,75,0,67,71,0,66, - 50,11,12,59,48,13,60,51,74,42, - 14,52,53,15,16,54,65,55,17,18, - 56,61,58,9,62,19,64,47,20,49, - 21,10,3,8,4,45,67,7,5,1, - 2,57,6,0,75,67,69,73,95,77, - 68,3,71,10,45,70,0,43,44,3, - 9,29,33,31,28,36,12,21,11,17, - 15,16,18,19,14,13,20,37,40,38, - 39,26,35,30,34,5,7,4,24,25, - 8,6,22,23,27,32,1,2,118,10, - 0,4,63,67,73,0,1,2,123,67, - 0,66,50,11,12,59,48,13,60,51, - 74,42,14,52,53,15,16,54,65,55, - 17,18,56,61,58,9,62,19,64,47, - 20,49,21,10,3,8,6,72,45,4, - 7,5,57,1,2,0,74,7,114,115, - 116,64,10,3,8,6,5,73,72,45, - 46,50,11,12,59,48,13,60,51,42, - 14,52,53,15,16,54,55,17,18,56, - 61,58,9,62,19,47,20,49,21,4, - 1,2,57,0,10,70,72,71,0,1, - 2,10,72,0,28,43,29,30,44,7, - 31,32,33,34,41,35,36,37,38,39, - 26,24,25,8,6,22,23,5,27,69, - 40,3,9,60,59,61,62,12,21,11, - 17,15,16,18,19,14,13,20,50,55, - 56,42,54,53,51,48,49,52,58,1, - 2,47,4,0,67,70,0,74,114,115, - 116,57,73,121,119,122,72,75,64,65, - 66,78,80,86,84,76,82,83,85,87, - 67,79,81,10,45,46,60,59,61,62, - 50,55,56,42,54,53,47,51,48,49, - 52,58,41,43,44,9,29,33,31,28, - 36,12,21,11,17,15,16,18,19,14, - 13,20,37,40,38,39,26,35,30,34, - 24,25,22,23,27,32,5,7,3,6, - 8,4,1,2,0,50,11,12,59,48, - 13,60,51,42,14,52,53,15,16,54, - 55,17,18,56,61,58,9,62,19,47, - 20,49,21,1,2,4,95,0,69,71, - 70,1,2,0,10,73,118,77,45,70, - 0,8,6,7,5,4,1,2,3,68, - 69,71,70,10,77,95,0,73,10,68, - 3,71,70,45,63,0,10,72,43,44, - 41,24,25,8,6,22,23,5,27,32, - 3,7,37,40,38,39,26,35,30,34, - 12,21,11,17,15,16,18,19,14,13, - 20,9,29,33,31,28,36,4,1,2, - 67,0,121,46,59,48,13,60,51,14, - 52,53,15,16,54,55,17,18,56,61, - 58,62,19,47,20,49,21,12,11,50, - 10,3,8,6,45,64,66,74,42,57, - 7,1,2,5,4,9,65,0,11,12, - 13,14,15,16,17,18,19,20,21,50, - 48,51,42,52,53,54,55,56,58,47, - 49,45,10,77,7,1,2,68,3,8, - 6,5,4,0,5,7,3,68,6,8, - 95,50,11,12,59,48,13,60,51,42, - 14,52,53,15,16,54,55,17,18,56, - 61,58,9,62,19,47,20,49,21,1, - 2,4,77,10,0,57,1,2,4,67, - 73,0,119,0,48,49,75,3,67,73, - 45,41,10,69,95,71,70,77,0,50, - 11,12,59,48,13,60,51,42,14,52, - 53,15,16,54,55,17,18,56,61,58, - 9,62,19,47,20,49,21,1,2,4, - 44,43,22,23,6,91,92,99,8,100, - 5,27,63,107,108,104,105,106,112,111, - 113,89,88,109,110,97,98,93,94,101, - 102,24,25,90,103,3,68,71,70,69, - 0,76,0,11,12,28,43,13,29,30, - 14,15,16,44,31,17,18,32,33,34, - 41,35,36,9,19,20,21,37,38,39, - 26,24,25,22,23,27,40,46,8,6, - 5,7,1,2,4,3,45,10,0,48, - 41,49,10,69,95,71,70,77,0,47, - 1,2,4,114,115,116,0,48,13,60, - 51,14,52,53,15,16,54,55,17,18, - 56,61,58,9,62,19,47,20,49,21, - 12,11,50,7,10,3,8,6,5,45, - 64,65,66,74,42,63,1,2,4,57, - 59,0,41,48,7,49,5,1,2,4, - 75,10,67,73,95,118,77,72,45,68, - 3,120,96,103,90,24,25,8,6,22, - 23,91,92,88,89,63,93,94,97,98, - 99,100,101,102,117,104,105,106,107,108, - 109,110,111,112,113,69,70,71,0,43, - 44,24,25,22,23,27,32,37,40,38, - 39,26,35,30,34,12,21,11,17,15, - 16,18,19,14,13,20,9,29,33,31, - 28,36,8,6,68,5,7,1,2,4, - 3,0,9,60,59,61,62,12,21,11, - 17,15,16,18,19,14,13,20,75,67, - 5,4,2,1,49,47,58,56,55,7, - 54,53,52,42,51,48,50,120,103,24, - 25,68,3,96,90,6,91,92,22,23, - 89,88,63,93,94,97,98,8,99,100, - 101,69,95,77,71,104,105,106,107,108, - 109,110,111,112,113,73,118,45,102,117, - 70,72,10,0,45,10,5,7,3,1, - 2,4,6,8,73,0,10,77,11,12, - 28,13,29,30,14,15,16,31,17,18, - 32,33,34,41,35,36,9,19,20,21, - 37,38,39,26,3,24,25,8,6,22, - 23,27,4,40,46,5,7,1,2,44, - 43,0 + 121,0,63,72,95,69,118,87,71,12, + 13,31,64,14,32,33,16,17,18,66, + 34,19,20,35,36,37,61,38,39,10, + 21,22,23,41,42,43,29,27,28,24, + 25,30,45,9,8,6,11,3,4,7, + 1,2,5,0,29,0,59,72,75,0, + 58,49,12,13,60,46,14,65,50,74, + 15,16,51,52,17,18,53,54,55,19, + 20,56,67,57,10,68,21,47,40,22, + 48,23,9,3,8,4,11,59,7,5, + 1,2,26,6,0,58,49,12,13,60, + 46,14,65,50,74,15,16,51,52,17, + 18,53,54,55,19,20,56,67,57,10, + 68,21,47,40,22,48,23,9,3,8, + 6,71,11,4,7,5,26,1,2,0, + 75,59,63,72,95,87,62,3,70,9, + 11,69,0,74,7,114,115,116,47,9, + 3,8,6,5,72,71,11,73,49,12, + 13,60,46,14,65,50,15,16,51,52, + 17,18,53,55,19,20,56,67,57,10, + 68,21,40,22,48,23,4,1,2,26, + 0,59,70,0,64,66,3,10,32,36, + 34,31,39,13,23,12,19,17,18,20, + 21,16,14,22,41,45,42,43,29,38, + 33,37,5,7,4,27,28,8,6,24, + 25,30,35,1,2,118,9,0,4,44, + 59,72,0,1,2,123,59,0,4,59, + 72,0,1,2,9,71,0,31,64,32, + 33,66,7,34,35,36,37,61,38,39, + 41,42,43,29,27,28,8,6,24,25, + 5,30,63,45,3,10,65,60,67,68, + 13,23,12,19,17,18,20,21,16,14, + 22,49,55,56,15,53,52,50,46,48, + 51,57,1,2,40,4,0,9,69,71, + 70,0,96,90,24,25,91,92,88,89, + 44,93,94,97,98,99,100,101,102,117, + 72,95,70,104,105,106,107,108,109,110, + 111,112,113,118,71,11,63,1,2,8, + 6,4,3,62,69,87,9,0,59,69, + 0,49,12,13,60,46,14,65,50,15, + 16,51,52,17,18,53,55,19,20,56, + 67,57,10,68,21,40,22,48,23,1, + 2,4,95,0,63,70,69,1,2,0, + 9,72,118,87,11,69,0,8,6,7, + 5,4,1,2,3,62,63,70,69,9, + 87,95,0,9,71,64,66,61,27,28, + 8,6,24,25,30,35,3,41,45,42, + 43,29,38,33,37,13,23,12,19,17, + 18,20,21,16,14,22,32,36,34,31, + 39,59,7,1,2,5,4,10,0,72, + 9,62,3,70,69,11,44,0,121,73, + 60,46,14,65,50,16,51,52,17,18, + 53,55,19,20,56,67,57,68,21,40, + 22,48,23,13,12,49,9,3,8,6, + 11,47,58,74,15,26,7,1,2,5, + 4,10,54,0,12,13,14,16,17,18, + 19,20,21,22,23,49,46,50,15,51, + 52,53,55,56,57,40,48,11,9,87, + 7,1,2,62,3,8,6,5,4,0, + 5,7,3,62,6,8,95,49,12,13, + 46,14,65,50,15,16,51,52,17,18, + 53,55,19,20,56,67,57,10,68,21, + 40,22,48,23,1,2,4,87,9,60, + 0,74,114,115,116,26,72,121,119,122, + 71,73,75,47,54,58,77,79,85,83, + 76,81,82,84,86,59,78,80,9,11, + 49,60,46,65,50,15,51,52,53,55, + 56,67,57,68,40,48,61,64,66,10, + 32,36,34,31,39,13,23,12,19,17, + 18,20,21,16,14,22,41,45,42,43, + 29,38,33,37,27,28,24,25,30,35, + 5,7,3,6,8,4,1,2,0,119, + 0,26,72,4,1,2,59,0,46,48, + 75,3,59,72,11,61,9,63,95,70, + 69,87,0,40,1,2,4,114,115,116, + 0,61,46,7,48,5,1,2,4,75, + 9,59,72,95,118,87,71,11,62,3, + 120,96,103,90,27,28,8,6,24,25, + 91,92,88,89,44,93,94,97,98,99, + 100,101,102,117,104,105,106,107,108,109, + 110,111,112,113,63,69,70,0,9,87, + 12,13,31,14,32,33,16,17,18,34, + 19,20,35,36,37,61,38,39,10,21, + 22,23,41,42,43,29,3,27,28,8, + 6,24,25,30,4,45,5,7,1,2, + 66,64,0,76,0,46,61,48,9,63, + 95,70,69,87,0,49,12,13,60,46, + 14,65,50,15,16,51,52,17,18,53, + 55,19,20,56,67,57,10,68,21,40, + 22,48,23,1,2,4,66,64,24,25, + 6,91,92,99,8,100,5,30,44,107, + 108,104,105,106,112,111,113,89,88,109, + 110,97,98,93,94,101,102,27,28,90, + 103,3,62,70,69,63,0,60,46,14, + 65,50,16,51,52,17,18,53,55,19, + 20,56,67,57,10,68,21,40,22,48, + 23,13,12,49,7,3,8,6,5,47, + 54,58,74,15,44,1,2,4,26,11, + 9,0,64,66,27,28,24,25,30,35, + 41,45,42,43,29,38,33,37,13,23, + 12,19,17,18,20,21,16,14,22,10, + 32,36,34,31,39,8,6,62,5,7, + 1,2,4,3,0,10,65,60,67,68, + 13,23,12,19,17,18,20,21,16,14, + 22,75,59,5,4,2,1,48,40,57, + 56,55,7,53,52,51,15,50,46,49, + 120,103,27,28,62,3,96,90,6,91, + 92,24,25,89,88,44,93,94,97,98, + 8,99,100,101,63,95,87,70,104,105, + 106,107,108,109,110,111,112,113,72,118, + 11,102,117,69,71,9,0,11,9,5, + 7,3,1,2,4,6,8,72,0 }; }; public final static byte asr[] = Asr.asr; @@ -2106,59 +1903,59 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasb { public final static char nasb[] = {0, - 108,11,26,11,4,224,11,203,11,24, - 166,228,228,11,217,218,11,218,119,218, - 23,218,211,11,11,228,121,104,129,100, - 177,11,147,10,11,121,11,11,11,104, - 104,11,11,11,208,208,12,104,178,104, - 208,11,104,11,11,104,208,104,121,10, - 11,104,16,173,63,67,67,133,11,183, - 121,104,12,149,11,104,49,73,12,11, - 11,10,138,104,104,203,203,104,124,104, - 104,228,31,186,173,230,104,104,14,81, - 45,14,104,24,10,33,81,42,16,106, - 115,84,35,69,183,121,100,138,201,33, - 133,73,73,186,144,144,124,59,203,124, - 124,208,173,173,59,121,173,11,26,223, - 230,14,14,197,42,11,10,24,59,11, - 11,11,89,11,11,11,11,11,228,11, - 11,151,121,35,35,175,35,35,35,35, + 106,11,24,11,4,228,11,201,11,22, + 174,232,232,11,212,213,11,213,146,213, + 21,213,206,11,11,232,148,104,129,100, + 181,11,197,10,11,148,11,11,11,104, + 104,11,11,11,165,165,12,104,182,104, + 165,11,104,11,11,104,165,104,148,10, + 11,104,85,115,47,67,67,133,11,187, + 148,104,12,199,11,104,28,73,12,11, + 11,10,140,104,104,201,201,104,124,104, + 104,232,31,190,115,215,104,104,14,82, + 49,14,104,22,10,33,82,42,85,122, + 142,59,35,69,187,148,100,140,151,33, + 133,73,73,190,119,119,124,57,201,124, + 124,165,115,115,57,148,115,11,24,227, + 215,14,14,153,42,11,10,22,57,11, + 11,11,89,11,11,11,11,11,232,11, + 11,234,148,35,35,179,35,35,35,35, 35,35,11,11,11,11,11,11,11,11, - 11,11,11,35,11,11,42,106,28,11, - 208,11,12,35,104,73,11,11,104,201, - 11,239,12,11,98,11,11,11,93,93, - 59,59,59,31,138,129,11,228,79,208, - 45,59,35,24,133,89,67,67,151,190, - 190,190,190,121,220,12,12,1,35,40, - 138,151,11,11,18,18,220,163,35,35, + 11,11,11,35,11,11,42,122,64,11, + 165,11,12,35,104,73,11,11,104,151, + 11,224,12,11,98,11,11,11,93,93, + 57,57,57,31,140,129,11,232,26,165, + 49,57,35,22,133,89,67,67,234,248, + 248,248,248,148,162,12,12,1,35,80, + 140,234,11,11,16,16,162,171,35,35, 35,35,35,35,35,35,35,35,35,35, 35,35,35,35,35,35,35,35,35,35, - 35,35,35,35,35,35,35,35,163,35, - 33,104,155,115,10,220,11,55,201,104, - 35,11,11,98,133,144,144,203,104,11, - 11,173,186,173,11,35,11,113,193,208, - 228,228,10,237,12,142,104,12,12,11, - 11,11,11,137,12,35,11,228,121,73, - 190,84,12,185,121,185,12,73,11,11, + 35,35,35,35,35,35,35,35,171,35, + 33,104,157,142,10,162,11,53,151,104, + 35,11,11,98,133,119,119,201,104,11, + 11,115,190,115,11,35,11,40,193,165, + 232,232,10,222,12,117,104,12,12,11, + 11,11,11,139,12,35,11,232,148,73, + 248,59,12,189,148,189,12,73,11,11, 11,11,11,11,11,11,11,11,11,11, - 11,11,11,11,11,11,11,65,160,11, - 35,11,173,11,11,11,161,11,24,171, - 173,173,24,77,11,12,35,59,201,35, - 35,142,181,144,190,190,173,100,35,35, - 10,208,208,12,144,11,11,11,11,42, - 10,121,138,35,190,104,52,12,121,95, - 138,35,87,11,11,11,161,247,247,242, - 11,247,173,173,11,104,55,104,11,10, - 10,104,12,163,163,163,163,11,11,136, - 42,12,61,239,11,10,42,190,12,100, - 12,244,173,104,11,12,65,75,11,201, - 104,12,12,12,12,220,220,42,104,140, - 11,163,239,96,11,12,12,104,161,11, - 161,173,244,100,163,161,87,11,93,104, - 201,12,12,11,61,220,35,73,96,77, - 77,98,35,11,244,173,12,189,11,75, - 104,140,12,73,161,12,244,173,12,185, - 75,161,12,190,161 + 11,11,11,11,11,11,11,78,168,11, + 35,11,115,11,11,11,169,11,22,113, + 115,115,22,87,12,35,57,151,35,35, + 117,185,119,248,248,115,100,35,35,10, + 165,165,12,119,11,11,11,11,42,10, + 148,140,35,248,104,75,12,148,95,140, + 35,136,11,11,11,169,238,238,242,11, + 238,115,115,11,104,53,104,11,10,10, + 104,12,171,171,171,171,11,11,138,42, + 12,62,224,11,10,42,248,12,100,12, + 244,115,104,11,12,78,45,11,151,104, + 12,12,12,12,162,162,42,104,111,11, + 171,224,96,11,12,12,104,169,11,169, + 115,244,100,171,169,136,11,93,104,151, + 12,12,11,62,162,35,73,96,87,87, + 98,35,11,244,115,115,12,247,11,45, + 104,111,12,73,169,12,244,115,12,189, + 45,169,12,248,169 }; }; public final static char nasb[] = Nasb.nasb; @@ -2167,30 +1964,30 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasr { public final static char nasr[] = {0, 3,13,8,6,148,146,120,145,144,2, - 0,34,0,111,0,155,0,6,2,8, - 135,0,6,1,0,152,0,5,66,0, - 151,0,49,5,6,8,2,13,0,173, - 0,4,3,0,67,134,133,0,5,187, - 0,5,175,0,13,2,8,6,66,0, - 139,0,177,0,157,0,77,0,13,2, - 8,6,87,0,123,0,57,0,185,0, - 2,67,0,5,30,0,113,0,96,97, + 0,34,0,111,0,6,2,8,135,0, + 6,1,0,152,0,186,0,5,188,0, + 151,0,48,5,6,8,2,13,0,184, + 0,4,3,0,123,0,178,0,67,134, + 133,0,13,2,8,6,66,0,5,30, + 0,139,0,5,66,0,77,0,13,2, + 8,6,87,0,5,175,0,157,0,173, + 0,2,67,0,155,0,57,0,96,97, 5,0,110,0,2,114,0,97,96,64, - 6,2,8,5,0,156,0,172,65,44, - 5,0,183,0,166,6,165,0,3,6, - 2,45,0,105,5,44,65,0,5,8, - 2,64,6,91,0,2,131,67,0,137, - 0,6,91,23,5,0,5,49,168,0, - 5,49,39,0,5,44,39,176,0,66, - 44,78,5,39,0,65,44,5,132,0, - 5,39,40,0,6,13,8,2,3,0, - 97,96,64,56,6,8,2,0,34,5, - 49,0,6,104,162,0,6,104,184,0, - 61,0,5,44,65,68,0,2,54,0, - 2,6,120,116,117,118,13,88,0,5, - 99,0,40,2,8,5,154,6,0,5, - 44,65,104,46,6,0,97,96,6,56, - 0,44,48,5,102,0,5,49,115,0 + 6,2,8,5,0,172,65,47,5,0, + 137,0,5,40,39,0,6,91,23,5, + 0,156,0,105,5,47,65,0,5,8, + 2,64,6,91,0,113,0,2,131,67, + 0,166,6,165,0,3,6,2,44,0, + 61,0,6,104,185,0,5,47,40,176, + 0,5,99,0,2,54,0,66,47,78, + 5,40,0,65,47,5,132,0,6,13, + 8,2,3,0,97,96,64,56,6,8, + 2,0,6,104,162,0,5,48,168,0, + 5,47,65,68,0,2,6,120,116,117, + 118,13,88,0,5,47,65,104,45,6, + 0,97,96,6,56,0,39,2,8,5, + 154,6,0,5,48,40,0,5,48,115, + 0,23,177,5,102,0,34,5,48,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2198,15 +1995,15 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TerminalIndex { public final static char terminalIndex[] = {0, - 115,116,2,32,14,11,81,10,102,117, - 50,54,62,70,76,77,88,89,104,107, - 109,12,13,8,9,114,15,57,63,69, - 86,90,92,96,99,101,111,112,113,46, - 97,68,60,80,122,123,106,56,108,49, - 66,72,75,78,85,91,95,100,55,65, - 93,103,20,105,79,48,3,1,21,45, - 34,121,31,67,98,110,120,51,52,58, - 59,61,71,73,74,87,94,18,19,7, + 115,116,2,32,14,11,81,10,117,102, + 122,50,54,62,68,70,76,77,88,89, + 104,107,109,12,13,95,8,9,114,15, + 57,63,69,86,90,92,96,99,101,106, + 111,112,113,20,46,56,105,108,49,66, + 72,75,78,79,85,91,100,48,3,55, + 97,1,21,60,65,80,93,103,45,34, + 121,31,123,67,98,110,51,52,58,59, + 61,71,73,74,87,94,120,18,19,7, 16,17,22,23,33,5,24,25,26,27, 28,29,6,35,36,37,38,39,40,41, 42,43,44,82,83,84,30,119,53,4, @@ -2221,8 +2018,8 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 133,138,140,240,0,0,139,236,137,0, 136,0,147,0,135,0,0,146,152,0, 0,153,183,162,163,164,165,166,141,155, - 167,168,169,127,170,171,172,0,134,129, - 173,0,143,0,142,181,0,180,156,0, + 167,168,169,127,170,171,172,0,129,134, + 173,0,143,142,181,0,0,156,0,0, 0,0,0,0,149,159,176,0,206,0, 190,0,203,207,0,128,0,132,0,0, 0,0,0,0,0,0,208,175,0,0, @@ -2235,9 +2032,9 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 174,0,184,185,186,187,188,191,0,197, 199,0,200,205,0,217,218,0,223,226, 228,230,0,233,234,235,0,237,238,241, - 0,130,0,154,157,177,202,215,220,0, - 224,225,227,229,0,231,232,244,245,0, - 0,0 + 0,130,0,154,157,177,180,202,215,220, + 0,224,225,227,229,0,231,232,244,245, + 0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2245,18 +2042,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 146,588,607,367,539,555,566,577,347,252, - 266,288,294,300,42,277,392,430,154,596, - 375,482,20,51,75,80,85,122,182,283, - 306,317,328,258,272,510,27,357,328,615, + 146,592,611,371,543,559,570,581,351,252, + 266,288,294,300,42,277,396,434,154,600, + 379,486,20,51,75,80,85,122,182,283, + 306,317,328,258,272,514,27,361,328,619, 27,204,231,1,14,61,71,101,136,311, - 324,333,340,448,475,504,531,535,625,629, - 633,92,7,92,136,410,426,439,459,523, - 439,546,562,573,584,194,381,493,56,56, - 143,209,212,56,226,247,212,212,56,344, - 454,472,479,143,56,648,105,219,414,466, - 111,111,219,56,219,401,164,99,452,637, - 644,637,644,65,420,129,99,99,236 + 324,333,340,344,452,479,508,535,539,629, + 633,637,92,7,92,136,414,430,443,463, + 527,443,550,566,577,588,194,385,497,56, + 56,143,209,212,56,226,247,212,212,56, + 348,458,476,483,143,56,652,105,219,418, + 470,111,111,219,56,219,405,164,99,456, + 641,648,641,648,65,424,129,99,99,236 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2264,18 +2061,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,354,5,5,5,5,354,127, - 90,127,127,127,48,263,398,436,160,67, - 362,488,25,25,59,59,90,127,187,127, - 127,322,322,263,96,515,38,362,602,620, + 18,5,5,358,5,5,5,5,358,127, + 90,127,127,127,48,263,402,440,160,67, + 366,492,25,25,59,59,90,127,187,127, + 127,322,322,263,96,519,38,366,606,624, 32,198,198,5,18,5,59,90,127,315, - 315,315,90,127,229,5,5,5,5,5, - 229,646,11,96,140,354,354,354,463,515, - 443,550,550,550,550,198,385,497,59,59, - 5,5,215,217,229,5,250,250,217,90, - 457,5,229,5,508,5,108,337,417,469, - 114,118,222,527,518,404,167,90,90,639, - 639,641,641,67,422,131,189,174,238 + 315,315,90,90,127,229,5,5,5,5, + 5,229,650,11,96,140,358,358,358,467, + 519,447,554,554,554,554,198,389,501,59, + 59,5,5,215,217,229,5,250,250,217, + 90,461,5,229,5,512,5,108,337,421, + 473,114,118,222,531,522,408,167,90,90, + 643,643,645,645,67,426,131,189,174,238 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2283,18 +2080,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 46,18,18,82,18,18,18,18,82,71, - 47,76,75,118,62,52,82,81,46,18, - 82,20,3,7,162,162,159,116,46,74, - 118,117,119,53,47,135,128,82,18,18, + 45,18,18,82,18,18,18,18,82,71, + 46,76,75,118,62,52,82,81,45,18, + 82,20,3,7,162,162,159,116,45,74, + 118,117,119,53,46,135,128,82,18,18, 128,98,58,130,85,165,162,159,125,117, - 117,119,48,57,139,19,18,18,18,18, - 18,12,113,159,125,82,81,81,38,135, - 81,18,18,18,18,98,82,20,166,162, - 177,96,103,60,77,59,154,86,119,83, - 79,140,139,173,135,17,159,119,115,22, - 126,126,56,135,135,82,46,159,80,133, - 45,133,45,165,115,116,46,46,58 + 117,119,177,50,57,139,19,18,18,18, + 18,18,12,113,159,125,82,81,81,38, + 135,81,18,18,18,18,98,82,20,166, + 162,178,96,103,60,77,59,154,86,119, + 83,79,140,139,173,135,17,159,119,115, + 22,126,126,56,135,135,82,45,159,80, + 133,44,133,44,165,115,116,45,45,58 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2302,18 +2099,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLa { public final static byte scopeLa[] = { - 119,77,77,77,77,77,77,77,77,72, - 45,72,72,72,69,1,77,122,67,3, - 45,77,69,69,1,1,45,72,67,72, - 72,1,1,1,1,4,69,45,1,1, - 69,77,77,77,119,77,1,45,72,1, - 1,1,45,72,118,77,77,77,77,77, - 118,1,77,1,70,77,77,77,73,4, - 77,69,69,69,69,77,45,3,1,1, - 77,77,3,1,118,77,1,1,1,45, - 73,77,118,77,5,77,1,57,71,77, - 1,1,6,1,57,76,75,45,45,4, - 4,4,4,3,1,67,1,1,3 + 119,87,87,87,87,87,87,87,87,71, + 11,71,71,71,63,1,87,122,59,3, + 11,87,63,63,1,1,11,71,59,71, + 71,1,1,1,1,4,63,11,1,1, + 63,87,87,87,119,87,1,11,71,1, + 1,1,11,11,71,118,87,87,87,87, + 87,118,1,87,1,69,87,87,87,72, + 4,87,63,63,63,63,87,11,3,1, + 1,87,87,3,1,118,87,1,1,1, + 11,72,87,118,87,5,87,1,26,70, + 87,1,1,6,1,26,76,75,11,11, + 4,4,4,4,3,1,59,1,1,3 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2321,18 +2118,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 265,195,195,315,195,195,195,195,315,277, - 265,277,277,261,289,267,315,315,265,195, - 315,195,127,171,25,25,300,261,265,277, - 261,261,261,267,265,20,28,315,195,195, - 28,58,108,4,315,32,25,300,257,261, - 261,261,303,35,8,195,195,195,195,195, - 195,175,15,300,257,315,315,315,227,20, - 315,195,195,195,195,58,315,195,32,25, - 66,58,60,108,54,108,124,113,261,315, - 315,1,8,23,20,195,300,261,11,196, - 261,261,68,20,20,315,265,300,315,51, - 84,51,84,32,11,261,265,265,108 + 267,197,197,42,197,197,197,197,42,279, + 267,279,279,263,291,269,42,42,267,197, + 42,197,129,173,27,27,302,263,267,279, + 263,263,263,269,267,22,30,42,197,197, + 30,60,110,4,42,34,27,302,259,263, + 263,263,11,269,37,8,197,197,197,197, + 197,197,177,17,302,259,42,42,42,229, + 22,42,197,197,197,197,60,42,197,34, + 27,68,60,62,110,56,110,126,115,263, + 42,42,1,8,25,22,197,302,263,13, + 198,263,263,70,22,22,42,267,302,42, + 53,86,53,86,34,13,263,267,267,110 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2340,71 +2137,72 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 313,3,41,0,127,0,312,3,119,0, + 314,3,61,0,127,0,313,3,119,0, 127,176,0,129,181,75,0,218,0,291, - 129,63,128,0,21,0,293,129,63,57, + 129,44,128,0,21,0,293,129,44,26, 0,21,55,0,34,135,0,21,55,0, - 0,293,129,63,57,189,0,21,132,0, - 291,129,63,132,0,178,130,0,141,0, + 0,293,129,44,26,189,0,21,132,0, + 291,129,44,132,0,178,130,0,141,0, 223,3,290,0,290,0,2,0,127,0, - 178,130,228,0,178,130,47,228,0,178, - 130,309,47,0,133,191,169,130,0,129, - 0,191,169,130,0,137,129,0,168,0, - 305,129,168,0,129,168,0,224,129,0, - 169,244,0,140,0,0,0,138,0,0, - 0,304,129,67,250,0,128,0,250,0, - 3,0,0,128,0,303,129,67,0,45, + 178,130,228,0,178,130,40,228,0,178, + 130,310,40,0,133,191,168,130,0,129, + 0,191,168,130,0,137,129,0,171,0, + 306,129,171,0,129,171,0,224,129,0, + 168,244,0,140,0,0,0,138,0,0, + 0,305,129,59,250,0,128,0,250,0, + 3,0,0,128,0,304,129,59,0,45, 128,0,154,3,0,129,280,279,129,75, - 278,168,0,279,129,75,278,168,0,217, - 0,218,0,278,168,0,98,0,0,217, + 278,171,0,279,129,75,278,171,0,217, + 0,218,0,278,171,0,98,0,0,217, 0,218,0,205,98,0,0,217,0,218, - 0,279,129,278,168,0,217,0,205,0, + 0,279,129,278,171,0,217,0,205,0, 0,217,0,231,129,3,0,127,0,0, 0,0,0,231,129,3,220,0,227,3, - 0,215,129,0,210,0,150,0,169,130, - 0,11,0,0,0,218,68,0,126,0, + 0,215,129,0,210,0,150,0,168,130, + 0,11,0,0,0,218,62,0,126,0, 231,129,3,183,0,183,0,2,0,0, 127,0,0,0,0,0,210,3,0,203, - 0,230,129,67,26,42,0,178,130,65, - 64,0,199,129,0,133,178,130,276,64, - 0,178,130,276,64,0,178,130,71,125, - 65,0,230,129,67,65,0,230,129,67, - 123,65,0,230,129,67,126,65,0,273, - 129,67,125,60,0,273,129,67,60,0, - 178,130,60,0,138,0,191,178,130,244, - 0,140,0,178,130,244,0,191,169,130, - 9,0,169,130,9,0,95,140,0,266, - 129,168,0,163,86,0,226,164,226,172, - 3,83,0,127,175,0,226,172,3,83, - 0,129,0,127,175,0,226,164,226,164, - 226,3,83,0,226,164,226,3,83,0, - 226,3,83,0,129,0,129,0,127,175, - 0,163,3,76,202,82,0,127,129,0, - 202,82,0,110,2,134,127,129,0,239, - 3,76,0,210,173,0,34,173,0,173, - 0,179,34,173,0,239,3,87,0,202, - 158,239,3,85,0,64,175,0,239,3, - 85,0,127,175,64,175,0,300,129,67, - 0,163,0,218,79,0,31,0,163,117, - 161,0,31,173,0,179,3,0,127,153, - 0,223,3,0,218,68,263,0,163,68, - 0,179,3,297,44,130,0,127,0,0, - 0,0,297,44,130,0,2,149,127,0, - 0,0,0,179,3,32,0,151,0,127, - 57,169,130,0,32,151,0,95,140,32, - 151,0,217,178,130,0,150,32,151,0, - 179,3,36,0,163,3,36,0,163,3, - 69,179,63,28,0,179,63,28,0,21, - 2,134,127,0,163,3,69,179,63,31, - 0,179,63,31,0,163,3,69,179,63, - 33,0,179,63,33,0,163,3,69,179, - 63,29,0,179,63,29,0,223,3,127, - 191,169,130,9,0,127,191,169,130,9, - 0,140,2,0,127,0,223,3,126,255, - 169,130,9,0,255,169,130,9,0,138, - 2,0,127,0,223,3,137,0,223,3, - 142,0,163,68,142,0,258,0,32,0, - 32,144,0,167,0,137,0,163,3,0 + 0,230,129,59,29,15,0,178,130,54, + 47,0,199,129,0,133,178,130,276,47, + 0,178,130,276,47,0,178,130,70,125, + 54,0,230,129,59,54,0,230,129,59, + 123,54,0,230,129,59,126,54,0,273, + 129,59,125,65,0,273,129,59,65,0, + 178,130,65,0,138,0,191,178,130,244, + 0,140,0,178,130,244,0,191,168,130, + 10,0,168,130,10,0,95,140,0,266, + 129,147,0,266,129,171,0,164,85,0, + 226,163,226,301,3,82,0,127,175,0, + 226,301,3,82,0,129,0,127,175,0, + 226,163,226,163,226,3,82,0,226,163, + 226,3,82,0,226,3,82,0,129,0, + 129,0,127,175,0,164,3,76,202,81, + 0,127,129,0,202,81,0,110,2,134, + 127,129,0,239,3,76,0,210,172,0, + 34,173,0,172,0,179,34,173,0,239, + 3,86,0,202,158,239,3,84,0,64, + 175,0,239,3,84,0,127,175,64,175, + 0,300,129,59,0,164,0,218,78,0, + 31,0,164,117,161,0,31,173,0,179, + 3,0,127,153,0,223,3,0,218,62, + 263,0,164,62,0,179,3,297,66,130, + 0,127,0,0,0,0,297,66,130,0, + 2,149,127,0,0,0,0,179,3,35, + 0,151,0,127,26,168,130,0,32,151, + 0,95,140,32,151,0,217,178,130,0, + 150,32,151,0,179,3,39,0,164,3, + 39,0,164,3,63,179,44,31,0,179, + 44,31,0,21,2,134,127,0,164,3, + 63,179,44,34,0,179,44,34,0,164, + 3,63,179,44,36,0,179,44,36,0, + 164,3,63,179,44,32,0,179,44,32, + 0,223,3,127,191,168,130,10,0,127, + 191,168,130,10,0,140,2,0,127,0, + 223,3,126,255,168,130,10,0,255,168, + 130,10,0,138,2,0,127,0,223,3, + 137,0,223,3,142,0,164,62,142,0, + 258,0,32,0,32,144,0,167,0,137, + 0,164,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2412,39 +2210,37 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeState { public final static char scopeState[] = {0, - 2997,2942,0,1482,1439,1396,0,2369,990,0, - 4902,4899,4882,0,2956,1970,2307,1240,0,996, - 568,0,828,0,3540,3761,0,4503,3520,2867, - 0,2786,2683,0,3810,3743,3724,3313,3214,3657, - 3638,3571,3552,2077,3482,3258,3195,2897,2445,0, - 2916,877,0,1793,1759,1458,1265,3491,4779,2773, - 2758,2815,2429,2400,0,1081,0,3780,3675,3491, - 3226,3016,4779,3706,3230,2969,935,1227,4576,4563, - 1137,2877,0,4866,4836,4818,4803,4788,4780,4757, - 3950,4724,4719,3841,3756,4702,3670,4687,3513,4461, - 4446,4431,4292,3871,2637,2798,0,3491,4641,4576, - 4563,4654,2773,4380,4547,3201,2758,2969,2429,4409, - 4534,2877,0,4641,4654,0,3577,3253,4400,2631, - 3344,3290,2414,4866,4836,2182,4818,4803,3266,4788, - 4780,2810,4757,2805,3950,4724,4719,2093,3841,2187, - 2004,3756,4702,3670,836,2862,4687,2009,3513,4461, - 4446,773,4431,4292,3871,945,2637,4393,2798,2393, - 1132,1070,717,845,646,2773,4380,4547,3201,3491, - 1012,823,2758,996,568,2969,2429,4641,4409,4576, - 4563,4534,2877,4654,619,4357,4298,2193,2232,2302, - 2268,2364,2335,581,2729,2702,2602,2570,2542,2449, - 3459,3434,3408,3169,2643,4257,4234,4211,4188,4165, - 4142,4119,4096,4073,3384,4050,1883,2143,1840,2104, - 2054,1235,1188,1797,2015,1965,1145,901,1754,1711, - 1668,1625,1582,1539,1496,1453,1410,1367,1319,525, - 1926,854,780,730,1278,674,1025,951,1086,0, - 525,4393,2393,0,3070,4671,3810,3743,3724,3657, - 3638,3571,3552,3482,3258,3195,4280,3092,3015,3973, - 2938,2852,3936,3896,3307,3859,2625,0,4280,3092, - 3015,3973,2938,2852,3936,3896,3307,3859,2625,3070, - 4671,0,4850,4280,3092,3015,3973,2938,2852,3936, - 3896,3307,3859,2625,3810,3743,3724,3657,3638,3571, - 3552,3482,3258,3195,0 + 2799,2683,0,1396,1353,851,0,2369,990,0, + 4887,0,4893,4860,4851,0,2917,2922,2863,1970, + 0,997,568,0,1999,0,3491,3072,0,4793, + 2796,3461,0,3501,2925,0,3128,2881,2387,2990, + 2821,3907,3844,3781,3718,3655,3592,3529,3459,3230, + 3167,0,2879,935,0,1621,1587,1324,1116,3468, + 4743,2745,2730,2787,2429,2400,0,931,0,3836, + 3773,3468,3232,2812,4743,3721,3514,3017,1988,3236, + 4637,2941,1227,2849,0,4778,4678,4389,4082,4005, + 3940,3877,4567,3814,3751,4543,4513,3688,3932,3625, + 2187,3492,3262,3200,3179,3041,2638,2964,0,3468, + 4752,4637,2941,4765,2745,4477,4665,4490,2730,3017, + 2429,4520,4652,2849,0,4752,4765,0,2632,2598, + 3192,2182,3869,3806,2414,4778,4678,2093,4389,4082, + 3743,4005,3940,3680,3877,3554,4567,3814,3751,2004, + 4543,3299,944,4513,3688,3932,836,3096,3625,2009, + 2187,3492,3262,773,3200,3179,3041,3318,2638,4505, + 2964,2393,1133,1070,717,845,646,2745,4477,4665, + 4490,3468,1012,823,2730,997,568,3017,2429,4752, + 4520,4637,2941,4652,2849,4765,619,4454,4395,2193, + 2232,2302,2268,2364,2335,581,2703,2644,2603,2570, + 2542,2449,3436,3411,3385,3141,2759,4354,4331,4308, + 4285,4262,4239,4216,4193,4170,3361,4147,1883,2143, + 1840,2104,2054,1235,1188,1797,2015,1965,1145,901, + 1754,1711,1668,1625,1582,1539,1496,1453,1410,1367, + 1319,525,1926,854,780,730,1278,674,1025,951, + 1086,0,525,4505,2393,0,4790,4685,3907,3844, + 3781,3718,3655,3592,3529,3459,3230,3167,4377,3064, + 2987,4070,2910,2824,4027,3993,3284,3950,2626,0, + 4377,3064,2987,4070,2910,2824,4027,3993,3284,3950, + 2626,4790,4685,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2452,59 +2248,59 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,295,64,66,129,168,189,57,42,65, - 296,65,276,3,267,268,250,269,244,270, - 60,271,272,128,126,9,130,278,129,3, - 4,132,7,5,126,130,183,57,63,26, - 67,123,126,125,130,130,26,67,169,234, - 130,167,127,126,125,67,130,63,130,178, - 169,75,129,266,210,188,183,129,277,215, - 130,6,210,7,126,63,173,68,3,43, - 44,178,169,3,63,69,129,67,129,67, - 67,71,178,178,158,129,127,126,129,178, - 4,129,67,129,178,129,169,57,129,279, - 73,3,71,68,215,130,70,169,129,129, - 129,68,68,191,129,129,129,230,229,129, - 129,130,275,133,304,130,170,228,64,168, - 306,129,129,73,191,258,191,129,273,125, - 274,291,173,36,28,31,33,29,9,137, - 135,3,130,32,27,5,23,22,6,8, - 25,24,142,148,150,149,152,151,156,155, - 159,157,160,41,161,294,191,279,67,289, - 130,290,154,129,67,218,161,169,6,185, - 291,215,231,232,147,233,293,57,9,59, - 230,230,230,178,169,129,308,228,47,130, - 4,273,71,70,129,3,221,220,3,63, - 63,63,63,130,3,179,163,129,43,44, - 169,3,127,126,103,120,3,68,90,96, - 23,22,92,91,6,94,93,69,63,88, + 0,295,47,58,129,171,189,26,15,54, + 296,54,276,3,267,268,250,269,244,270, + 65,271,272,128,126,10,130,278,129,3, + 4,132,7,5,126,130,183,26,44,29, + 59,123,126,125,130,130,29,59,168,234, + 130,167,127,126,125,59,130,44,130,178, + 168,75,129,266,210,188,183,129,277,215, + 130,6,210,7,126,44,172,62,3,64, + 66,178,168,3,44,63,129,59,129,59, + 59,70,178,178,158,129,127,126,129,178, + 4,129,59,129,178,129,168,26,129,279, + 72,3,70,62,215,130,69,168,129,129, + 129,62,62,191,129,129,129,230,229,129, + 129,130,275,133,305,130,169,228,47,171, + 307,129,129,72,191,258,191,129,273,125, + 274,291,172,39,31,34,36,32,10,137, + 135,3,130,35,30,5,25,24,6,8, + 28,27,142,148,150,149,152,151,156,155, + 159,157,160,61,161,294,191,279,59,289, + 130,290,154,129,59,218,161,168,6,185, + 291,215,231,232,147,233,293,26,10,60, + 230,230,230,178,168,129,309,228,40,130, + 4,273,70,69,129,3,221,220,3,44, + 44,44,44,130,3,179,164,129,64,66, + 168,3,127,126,103,120,3,62,90,96, + 25,24,92,91,6,94,93,63,44,88, 89,8,98,97,100,99,101,113,112,111, - 110,109,108,107,106,105,104,71,117,102, - 70,280,129,70,178,3,265,129,129,158, - 71,227,210,3,129,70,70,69,63,234, - 234,275,191,305,126,73,285,210,70,130, - 47,309,178,215,227,129,3,179,163,179, - 179,179,179,169,223,158,137,9,130,68, - 297,3,179,57,130,57,223,163,149,149, + 110,109,108,107,106,105,104,70,117,102, + 69,280,129,69,178,3,265,129,129,158, + 70,227,210,3,129,69,69,63,44,234, + 234,275,191,306,126,72,285,210,69,130, + 40,310,178,215,227,129,3,179,164,179, + 179,179,179,168,223,158,137,10,130,62, + 297,3,179,26,130,26,223,164,149,149, 148,148,148,151,151,151,151,150,150,155, - 152,152,157,156,159,163,160,129,300,81, - 79,1,163,87,85,83,82,76,84,86, - 80,78,65,75,46,223,70,303,129,71, - 71,129,215,129,71,71,133,70,73,71, - 178,130,130,231,129,69,69,69,69,191, - 255,130,169,211,3,298,173,154,130,178, - 169,73,281,119,10,218,73,3,3,3, - 202,3,125,163,125,181,70,224,293,178, - 178,158,231,3,3,3,3,127,126,169, - 57,179,129,129,217,5,57,3,239,173, - 239,172,226,168,76,239,129,129,69,129, - 158,163,163,163,163,3,3,191,158,260, - 263,68,180,4,127,95,312,173,158,210, - 158,226,164,129,3,158,281,41,59,224, - 129,223,223,127,129,3,68,163,4,158, - 158,129,71,202,164,226,163,3,234,129, - 224,260,223,218,122,226,164,158,313,71, - 129,158,226,70,158 + 152,152,157,156,159,164,160,129,300,80, + 78,1,164,86,84,82,81,76,83,85, + 79,77,54,75,223,69,304,129,70,70, + 129,215,129,70,70,133,69,72,70,178, + 130,130,231,129,63,63,63,63,191,255, + 130,168,211,3,298,172,154,130,178,168, + 72,281,119,9,218,72,3,3,3,202, + 3,125,164,125,181,69,224,293,178,178, + 158,231,3,3,3,3,127,126,168,26, + 179,129,129,217,5,26,3,239,172,239, + 301,226,147,76,239,129,129,63,129,158, + 164,164,164,164,3,3,191,158,260,263, + 62,180,4,127,95,313,172,158,210,158, + 226,163,129,3,158,281,61,60,224,129, + 223,223,127,129,3,62,164,4,158,158, + 129,70,202,163,226,266,164,3,234,129, + 224,260,223,218,122,226,163,158,314,70, + 129,158,226,69,158 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2694,7 +2490,8 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym "statement_seq", "condition", "declarator", - "simple_declaration", + "simple_declaration_with_declsp" + + "ec", "function_definition", "declaration_seq", "declaration_specifiers", @@ -2770,9 +2567,9 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 46, - SCOPE_UBOUND = 118, - SCOPE_SIZE = 119, + ERROR_SYMBOL = 73, + SCOPE_UBOUND = 119, + SCOPE_SIZE = 120, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -2783,18 +2580,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final static int NUM_STATES = 525, NT_OFFSET = 124, - LA_STATE_OFFSET = 5942, + LA_STATE_OFFSET = 5991, MAX_LA = 2147483647, NUM_RULES = 524, - NUM_NONTERMINALS = 192, - NUM_SYMBOLS = 316, + NUM_NONTERMINALS = 193, + NUM_SYMBOLS = 317, SEGMENT_SIZE = 8192, - START_STATE = 2625, + START_STATE = 2626, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 121, EOLT_SYMBOL = 121, - ACCEPT_ACTION = 5059, - ERROR_ACTION = 5418; + ACCEPT_ACTION = 5114, + ERROR_ACTION = 5467; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java index a2a7976e0a7..aaf20f47fc9 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPParsersym.java @@ -15,98 +15,98 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPParsersym { public final static int - TK_asm = 66, - TK_auto = 50, - TK_bool = 11, - TK_break = 78, - TK_case = 79, + TK_asm = 58, + TK_auto = 49, + TK_bool = 12, + TK_break = 77, + TK_case = 78, TK_catch = 119, - TK_char = 12, - TK_class = 59, - TK_const = 48, - TK_const_cast = 28, - TK_continue = 80, - TK_default = 81, - TK_delete = 43, - TK_do = 82, - TK_double = 13, - TK_dynamic_cast = 29, + TK_char = 13, + TK_class = 60, + TK_const = 46, + TK_const_cast = 31, + TK_continue = 79, + TK_default = 80, + TK_delete = 64, + TK_do = 81, + TK_double = 14, + TK_dynamic_cast = 32, TK_else = 122, - TK_enum = 60, - TK_explicit = 51, + TK_enum = 65, + TK_explicit = 50, TK_export = 74, - TK_extern = 42, - TK_false = 30, - TK_float = 14, - TK_for = 83, - TK_friend = 52, - TK_goto = 84, - TK_if = 85, - TK_inline = 53, - TK_int = 15, - TK_long = 16, - TK_mutable = 54, - TK_namespace = 65, - TK_new = 44, + TK_extern = 15, + TK_false = 33, + TK_float = 16, + TK_for = 82, + TK_friend = 51, + TK_goto = 83, + TK_if = 84, + TK_inline = 52, + TK_int = 17, + TK_long = 18, + TK_mutable = 53, + TK_namespace = 54, + TK_new = 66, TK_operator = 7, TK_private = 114, TK_protected = 115, TK_public = 116, TK_register = 55, - TK_reinterpret_cast = 31, - TK_return = 86, - TK_short = 17, - TK_signed = 18, - TK_sizeof = 32, + TK_reinterpret_cast = 34, + TK_return = 85, + TK_short = 19, + TK_signed = 20, + TK_sizeof = 35, TK_static = 56, - TK_static_cast = 33, - TK_struct = 61, - TK_switch = 87, - TK_template = 57, - TK_this = 34, - TK_throw = 41, + TK_static_cast = 36, + TK_struct = 67, + TK_switch = 86, + TK_template = 26, + TK_this = 37, + TK_throw = 61, TK_try = 75, - TK_true = 35, - TK_typedef = 58, - TK_typeid = 36, - TK_typename = 9, - TK_union = 62, - TK_unsigned = 19, - TK_using = 64, - TK_virtual = 47, - TK_void = 20, - TK_volatile = 49, - TK_wchar_t = 21, + TK_true = 38, + TK_typedef = 57, + TK_typeid = 39, + TK_typename = 10, + TK_union = 68, + TK_unsigned = 21, + TK_using = 47, + TK_virtual = 40, + TK_void = 22, + TK_volatile = 48, + TK_wchar_t = 23, TK_while = 76, - TK_integer = 37, - TK_floating = 38, - TK_charconst = 39, - TK_stringlit = 26, + TK_integer = 41, + TK_floating = 42, + TK_charconst = 43, + TK_stringlit = 29, TK_identifier = 1, TK_Completion = 2, - TK_EndOfCompletion = 10, + TK_EndOfCompletion = 9, TK_Invalid = 124, - TK_LeftBracket = 68, + TK_LeftBracket = 62, TK_LeftParen = 3, - TK_LeftBrace = 67, + TK_LeftBrace = 59, TK_Dot = 120, TK_DotStar = 96, TK_Arrow = 103, TK_ArrowStar = 90, - TK_PlusPlus = 24, - TK_MinusMinus = 25, + TK_PlusPlus = 27, + TK_MinusMinus = 28, TK_And = 8, TK_Star = 6, - TK_Plus = 22, - TK_Minus = 23, + TK_Plus = 24, + TK_Minus = 25, TK_Tilde = 5, - TK_Bang = 27, + TK_Bang = 30, TK_Slash = 91, TK_Percent = 92, TK_RightShift = 88, TK_LeftShift = 89, - TK_LT = 63, - TK_GT = 69, + TK_LT = 44, + TK_GT = 63, TK_LE = 93, TK_GE = 94, TK_EQ = 97, @@ -116,10 +116,10 @@ public interface CPPParsersym { TK_AndAnd = 101, TK_OrOr = 102, TK_Question = 117, - TK_Colon = 73, + TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 95, - TK_Assign = 71, + TK_Assign = 70, TK_StarAssign = 104, TK_SlashAssign = 105, TK_PercentAssign = 106, @@ -130,13 +130,13 @@ public interface CPPParsersym { TK_AndAssign = 111, TK_CaretAssign = 112, TK_OrAssign = 113, - TK_Comma = 70, - TK_zero = 40, + TK_Comma = 69, + TK_zero = 45, TK_RightBracket = 118, - TK_RightParen = 77, - TK_RightBrace = 72, - TK_SemiColon = 45, - TK_ERROR_TOKEN = 46, + TK_RightParen = 87, + TK_RightBrace = 71, + TK_SemiColon = 11, + TK_ERROR_TOKEN = 73, TK_original_namespace_name = 123, TK_EOF_TOKEN = 121; @@ -150,11 +150,13 @@ public interface CPPParsersym { "Star", "operator", "And", - "typename", "EndOfCompletion", + "typename", + "SemiColon", "bool", "char", "double", + "extern", "float", "int", "long", @@ -165,6 +167,7 @@ public interface CPPParsersym { "wchar_t", "Plus", "Minus", + "template", "PlusPlus", "MinusMinus", "stringlit", @@ -178,47 +181,43 @@ public interface CPPParsersym { "this", "true", "typeid", + "virtual", "integer", "floating", "charconst", + "LT", "zero", - "throw", - "extern", - "delete", - "new", - "SemiColon", - "ERROR_TOKEN", - "virtual", "const", + "using", "volatile", "auto", "explicit", "friend", "inline", "mutable", + "namespace", "register", "static", - "template", "typedef", - "class", - "enum", - "struct", - "union", - "LT", - "using", - "namespace", "asm", "LeftBrace", + "class", + "throw", "LeftBracket", "GT", + "delete", + "enum", + "new", + "struct", + "union", "Comma", "Assign", "RightBrace", "Colon", + "ERROR_TOKEN", "export", "try", "while", - "RightParen", "break", "case", "continue", @@ -229,6 +228,7 @@ public interface CPPParsersym { "if", "return", "switch", + "RightParen", "RightShift", "LeftShift", "ArrowStar", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java index 07ed4bd99df..8d262d8ccc5 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParser.java @@ -239,6 +239,15 @@ public IASTNode getSecondaryParseResult() { return action.builder.getSecondaryParseResult(); } +public String[] getOrderedTerminalSymbols() { + return CPPSizeofExpressionParsersym.orderedTerminalSymbols; +} + +public String getName() { + return "CPPSizeofExpressionParser"; //$NON-NLS-1$ +} + + private ITokenMap tokenMap = null; @@ -1006,203 +1015,203 @@ public CPPSizeofExpressionParser(String[] mapFrom) { // constructor } // - // Rule 159: expression ::= ERROR_TOKEN + // Rule 159: expression_list ::= <openscope-ast> expression_list_actual // case 159: { action.builder. - consumeExpressionProblem(); break; - } - - // - // Rule 160: expression_list ::= <openscope-ast> expression_list_actual - // - case 160: { action.builder. consumeExpressionList(); break; } // - // Rule 164: expression_list_opt ::= $Empty + // Rule 163: expression_list_opt ::= $Empty // - case 164: { action.builder. + case 163: { action.builder. consumeEmpty(); break; } // - // Rule 166: expression_opt ::= $Empty + // Rule 165: expression_opt ::= $Empty // - case 166: { action.builder. + case 165: { action.builder. consumeEmpty(); break; } // - // Rule 169: constant_expression_opt ::= $Empty + // Rule 168: constant_expression_opt ::= $Empty // - case 169: { action.builder. + case 168: { action.builder. consumeEmpty(); break; } // - // Rule 178: statement ::= ERROR_TOKEN + // Rule 177: statement ::= ERROR_TOKEN // - case 178: { action.builder. + case 177: { action.builder. consumeStatementProblem(); break; } // - // Rule 179: labeled_statement ::= identifier : statement + // Rule 178: labeled_statement ::= identifier : statement // - case 179: { action.builder. + case 178: { action.builder. consumeStatementLabeled(); break; } // - // Rule 180: labeled_statement ::= case constant_expression : + // Rule 179: labeled_statement ::= case constant_expression : // - case 180: { action.builder. + case 179: { action.builder. consumeStatementCase(); break; } // - // Rule 181: labeled_statement ::= default : + // Rule 180: labeled_statement ::= default : // - case 181: { action.builder. + case 180: { action.builder. consumeStatementDefault(); break; } // - // Rule 182: expression_statement ::= expression ; + // Rule 181: expression_statement ::= expression ; // - case 182: { action.builder. + case 181: { action.builder. consumeStatementExpression(); break; } // - // Rule 183: expression_statement ::= ; + // Rule 182: expression_statement ::= ; // - case 183: { action.builder. + case 182: { action.builder. consumeStatementNull(); break; } // - // Rule 184: compound_statement ::= { <openscope-ast> statement_seq } + // Rule 183: compound_statement ::= { <openscope-ast> statement_seq } // - case 184: { action.builder. + case 183: { action.builder. consumeStatementCompoundStatement(true); break; } // - // Rule 185: compound_statement ::= { } + // Rule 184: compound_statement ::= { } // - case 185: { action.builder. + case 184: { action.builder. consumeStatementCompoundStatement(false); break; } // - // Rule 188: selection_statement ::= if ( condition ) statement + // Rule 187: selection_statement ::= if ( condition ) statement // - case 188: { action.builder. + case 187: { action.builder. consumeStatementIf(false); break; } // - // Rule 189: selection_statement ::= if ( condition ) statement else statement + // Rule 188: selection_statement ::= if ( condition ) statement else statement // - case 189: { action.builder. + case 188: { action.builder. consumeStatementIf(true); break; } // - // Rule 190: selection_statement ::= switch ( condition ) statement + // Rule 189: selection_statement ::= switch ( condition ) statement // - case 190: { action.builder. + case 189: { action.builder. consumeStatementSwitch(); break; } // - // Rule 192: condition ::= type_specifier_seq declarator = assignment_expression + // Rule 191: condition ::= type_specifier_seq declarator = assignment_expression // - case 192: { action.builder. + case 191: { action.builder. consumeConditionDeclaration(); break; } // - // Rule 193: iteration_statement ::= while ( condition ) statement + // Rule 192: iteration_statement ::= while ( condition ) statement // - case 193: { action.builder. + case 192: { action.builder. consumeStatementWhileLoop(); break; } // - // Rule 194: iteration_statement ::= do statement while ( expression ) ; + // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 194: { action.builder. + case 193: { action.builder. consumeStatementDoLoop(); break; } // - // Rule 195: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // + case 194: { action.builder. + consumeStatementForLoop(); break; + } + + // + // Rule 195: iteration_statement ::= for ( simple_declaration_with_declspec expression_opt ; expression_opt ) statement // case 195: { action.builder. consumeStatementForLoop(); break; } // - // Rule 196: iteration_statement ::= for ( simple_declaration expression_opt ; expression_opt ) statement + // Rule 196: jump_statement ::= break ; // case 196: { action.builder. - consumeStatementForLoop(); break; + consumeStatementBreak(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: jump_statement ::= continue ; // case 197: { action.builder. - consumeStatementBreak(); break; + consumeStatementContinue(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= return expression ; // case 198: { action.builder. - consumeStatementContinue(); break; + consumeStatementReturn(true); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= return ; // case 199: { action.builder. - consumeStatementReturn(true); break; + consumeStatementReturn(false); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= goto identifier_token ; // case 200: { action.builder. - consumeStatementReturn(false); break; + consumeStatementGoto(); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: declaration_statement ::= block_declaration // case 201: { action.builder. - consumeStatementGoto(); break; + consumeStatementDeclaration(); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: declaration_statement ::= function_definition // case 202: { action.builder. consumeStatementDeclaration(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 219: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // - case 203: { action.builder. - consumeStatementDeclaration(); break; + case 219: { action.builder. + consumeDeclarationSimple(true); break; } // - // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 220: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // case 220: { action.builder. consumeDeclarationSimple(true); break; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java index bf5f59c8bb4..a98d298f5f7 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParserprs.java @@ -52,13 +52,13 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 3,3,1,3,3,3,3,1,3,3, 1,3,1,3,1,3,1,3,1,3, 1,5,1,2,1,1,3,3,3,3, - 3,3,3,3,3,3,3,1,1,2, - 1,3,1,0,1,0,1,1,0,1, - 1,1,1,1,1,1,1,1,3,3, - 2,2,1,4,2,1,2,5,7,5, - 1,4,5,7,9,8,2,2,3,2, - 3,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2,1,0,4, + 3,3,3,3,3,3,3,1,2,1, + 3,1,0,1,0,1,1,0,1,1, + 1,1,1,1,1,1,1,3,3,2, + 2,1,4,2,1,2,5,7,5,1, + 4,5,7,9,8,2,2,3,2,3, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2,1,0,4,4, 2,2,2,2,2,0,1,1,1,1, 1,1,1,2,1,2,2,2,1,1, 2,2,1,2,2,1,2,2,1,2, @@ -89,444 +89,440 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,2,4,2,4,7,9,5,1,1, 3,1,0,1,1,1,2,4,4,1, 2,5,5,3,3,1,4,3,1,0, - 1,3,1,1,-63,0,0,0,0,-2, + 1,3,1,1,-62,0,0,0,0,-2, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-58,0, - 0,0,0,-353,0,0,0,0,0,0, - -4,0,0,-413,0,0,0,-143,0,0, - 0,0,-123,0,0,0,0,0,0,-93, + 0,0,0,0,0,0,0,0,-134,0, + 0,0,0,-352,0,0,0,0,0,0, + -4,0,0,-412,0,0,0,-142,0,0, + 0,0,-122,0,0,0,0,0,0,-92, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,-50,0,0,0,0,0,0, - 0,0,0,0,0,-5,-329,0,-20,0, - 0,0,0,-53,0,0,0,0,0,0, + 0,0,0,0,0,0,-328,0,-19,0, + 0,0,0,-52,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-72,0,0,0,0, - 0,0,0,0,0,0,0,0,-174,0, - 0,0,0,-6,0,-135,0,0,0,0, - 0,0,-115,0,0,0,0,0,0,0, + 0,0,0,0,0,-71,0,0,0,0, + 0,0,0,0,0,0,0,0,-173,0, + 0,0,0,-5,0,-6,0,0,0,0, + 0,0,-114,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,-7,0,0,0,0,0,0,0, - 0,-308,0,0,0,0,-73,0,0,0, - 0,0,0,0,0,0,0,0,0,-175, - 0,0,0,0,-130,0,0,0,0,0, + 0,-307,0,0,0,-72,0,0,0,0, + 0,0,0,0,0,0,0,0,-182,0, + 0,0,0,0,-129,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,-8,-128,0,0,0,0,0, - 0,0,0,-9,-11,0,0,-206,0,0, - 0,-10,0,0,-325,0,0,0,0,-12, - -290,0,0,0,0,0,-146,0,0,0, - 0,0,-40,0,0,0,0,-13,0,0, + 0,0,0,-8,-135,0,0,0,0,0, + 0,0,0,-9,-10,0,0,-65,0,0, + 0,-11,0,-324,0,0,0,0,-64,0, + 0,0,0,0,-12,0,-145,0,0,0, + 0,0,-39,0,0,0,0,-13,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-14,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-514,0,0,0,0, - 0,0,0,0,0,0,0,0,-16,-222, - 0,-417,0,0,-220,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-57,-367,0,0,0, + -144,0,0,0,0,-15,0,0,0,0, + 0,0,0,0,-219,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-29,-363,0,0,0,0,0, - 0,0,0,0,0,0,0,-351,0,0, - 0,0,-65,0,0,0,0,0,-66,0, - -512,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-57,0,0,0,0,0, - 0,0,0,0,0,0,-337,0,0,0, - 0,0,0,-145,0,0,0,0,-129,0, - 0,0,0,0,0,0,-255,-136,-17,0, - 0,0,0,0,0,0,0,-226,-522,0, + 0,0,0,-276,-362,0,0,0,0,0, + 0,0,0,0,-336,0,0,-147,0,0, 0,0,0,0,0,0,0,0,0,0, + -511,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-126,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-30,-31,0, - 0,-148,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-3,0,0, + 0,0,0,0,-49,0,0,0,0,0, + -127,0,0,0,0,0,0,0,0,0, + 0,0,0,-513,0,0,0,0,-128,0, + 0,0,0,0,0,0,-221,-28,0,-16, + 0,0,0,0,0,-29,0,0,-521,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-380,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-304,-32,0,0, - -183,0,0,0,0,-181,-33,0,0,0, - 0,-179,-192,0,0,0,0,0,-274,0, + 0,0,0,0,0,0,0,0,-139,0, + 0,0,0,0,0,0,0,-30,0,0, + 0,-350,0,0,0,0,0,-254,0,0, + 0,0,-226,0,0,0,0,-3,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,-34,0, - 0,0,0,0,-242,0,0,-140,-150,0, - 0,-310,0,0,0,0,0,0,0,0, + 0,-379,0,0,0,0,0,0,0,0, + 0,0,0,-201,0,0,0,-31,0,0, + -232,0,0,0,0,-32,0,0,0,-174, + 0,0,-191,0,0,0,0,0,-273,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-138,0,0,0,0, - -256,0,0,0,0,0,0,0,0,0, - 0,-35,0,0,0,0,-311,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -36,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-453,-37,0,0,-474, + 0,0,0,0,-241,0,0,-33,0,0, + 0,-309,0,0,0,0,-34,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-56,0,0,0,0, + 0,-35,0,0,0,0,0,0,0,0, + -53,-36,0,0,0,0,-310,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-372,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-182,0, - 0,0,0,0,-42,0,0,0,0,-196, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-184,0, - 0,0,0,0,-286,0,0,0,0,0, - 0,0,0,-38,-39,0,0,0,-95,0, - 0,0,0,-323,0,0,0,0,0,0, + -460,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-149,-37,0,0,-472, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-125,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-59,0, + 0,0,0,-137,-41,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-38,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-141,0,0,0,0,0,-41,0, - 0,0,0,0,0,0,0,0,-55,0, - 0,-96,0,0,0,0,0,0,0,0, + 0,0,0,-416,0,0,0,-257,-94,0, + 0,0,0,-195,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-186,0,0,0,0, - 0,0,0,0,0,0,0,-56,0,0, - 0,0,0,0,-97,0,0,0,0,-277, + 0,0,-140,0,0,0,0,0,-40,0, + 0,0,0,0,0,0,0,0,-54,0, + 0,-95,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,-116,0, - 0,0,0,-346,0,0,0,0,0,0, - 0,0,0,0,-59,0,0,-98,0,0, - 0,0,-348,0,0,0,0,0,0,0, + 0,0,0,0,0,-115,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-132,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-67,-68,0,0, - -99,0,0,0,0,-70,0,0,0,0, + -55,0,0,0,-96,0,0,0,0,-322, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-131,0, + 0,0,0,-285,0,0,0,0,0,0, + 0,0,0,-58,-66,0,0,-97,0,0, + 0,0,-347,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -320,0,0,0,0,0,0,0,0,-71, - 0,0,0,-100,0,0,0,0,-109,0, + 0,-280,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-67,0,0,0, + -98,0,0,0,0,-69,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-281,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-110,0,0,-101,0,0,0, - 0,-111,0,0,0,0,0,0,0,0, + -319,0,0,0,0,0,0,0,0,-70, + 0,0,0,-99,0,0,0,0,-108,0, 0,0,0,0,0,0,0,0,0,0, - -282,0,0,0,0,0,-112,0,0,0, - 0,0,0,0,0,-119,-137,0,0,-102, + 0,0,0,0,0,0,0,-331,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-109,0,0,-100,0,0,0, + 0,-110,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-332,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-151, - 0,0,-103,0,0,0,0,-152,0,0, + -281,0,0,0,0,0,-111,0,0,0, + 0,0,0,0,0,-118,-136,0,0,-101, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-189,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-153,-154,0,0,-104,0,0,0,0, - -155,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-243, + 0,0,0,-178,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-451, + 0,0,-102,0,0,0,0,-150,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-54,0,0,-156,-324,0,0,-105,0, - 0,0,0,-157,0,0,0,0,0,0, + 0,0,0,0,0,0,-205,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-289,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-158,-159,0, - 0,-133,0,0,0,0,-261,0,0,0, + 0,-151,-152,0,0,-103,0,0,0,0, + -153,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-242, + 0,0,0,0,-345,0,0,0,0,0, + 0,-60,0,0,-154,-155,0,0,-104,0, + 0,0,0,-156,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-200,0,0,0,0, - 0,-160,0,0,0,0,0,0,0,0, - -213,0,0,0,0,-161,0,0,0,0, + 0,0,-288,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-157,-158,0, + 0,-132,0,0,0,0,-255,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-202,0,0,0,0,0, - -398,0,0,0,0,0,0,0,0,0, - -258,0,0,-297,-246,0,0,0,0,0, - -507,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-371,0,0,0,0, + 0,-159,0,0,0,0,0,0,0,0, + -212,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-211,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-245,0,0,0,0,0, + -505,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,-60,0,0,0, - -162,0,0,-307,0,0,0,0,-269,0, 0,0,0,0,0,0,0,0,0,0, + -160,0,0,0,0,0,-107,0,0,0, + -161,0,0,-306,0,0,0,0,-289,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-303,0,0,0,0,0,0, - 0,0,-322,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-268,0,0, + 0,0,0,-296,0,0,0,0,0,0, + 0,0,-321,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-228,0,0,0, - 0,-163,0,0,0,0,0,0,-164,0, - 0,-233,0,0,0,0,-313,0,0,0, - 0,0,-335,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-225,0,0,0, + 0,-162,-303,0,0,0,0,0,-163,0, + 0,-239,0,0,0,0,-312,0,0,0, + 0,0,-334,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,-331,-340,0,0,0,0,0,0,0, - 0,-358,0,0,0,0,0,0,0,0, + 0,-164,0,0,0,0,0,0,-165,0, + 0,-357,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-205,0,0,0,0, - 0,0,0,0,0,0,0,-165,0,0, - -240,0,0,0,0,-61,-448,0,0,0, - -166,-359,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-180,0,0,0,0, + 0,-302,0,0,0,0,0,0,0,0, + -246,0,0,0,0,-113,0,0,0,0, + -166,-358,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-224,0,0,0,0, + 0,0,0,0,0,-181,0,0,0,0, 0,0,0,0,0,0,0,-167,0,0, - -405,0,0,0,0,0,0,0,0,0, + -404,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-225,0,0,0,0,0, - -341,0,0,0,0,0,0,0,0,-247, - 0,0,0,0,-19,0,0,0,0,-306, - -107,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-183,0,0,0,0,0, + -168,0,0,0,0,0,0,0,0,-266, + 0,0,0,0,-18,0,0,0,0,-305, + -106,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,-330, + -339,0,0,0,0,0,0,0,0,-93, 0,0,0,0,0,0,0,0,0,0, - -168,0,0,0,0,0,0,0,0,-94, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-148,0, + 0,0,0,0,-91,0,0,0,0,-323, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-108,-169, - 0,0,0,0,-92,0,0,0,0,-170, + 0,0,0,0,0,0,0,0,-185,0, + 0,0,0,0,0,0,0,0,-88,0, + 0,0,0,-169,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-229,0, - 0,0,0,0,0,0,0,0,-89,0, - 0,0,0,-171,0,0,0,0,0,0, + 0,0,-188,0,0,0,0,0,-197,0, + -89,0,0,0,0,-170,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-254,0,0,0,0,0,-114,0, - -90,0,0,0,0,-172,0,0,0,0, + 0,0,0,0,-171,0,0,0,0,-90, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-173,0,0,0,0,-91, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-51,0, + 0,0,0,-172,0,-271,0,0,0,0, + -61,0,0,-175,-227,0,-206,-210,0,0, + 0,0,-176,-82,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-176,0,0,0,0,-52,0, - 0,0,0,-177,0,-267,0,0,0,0, - -62,0,0,-178,-264,0,-149,-211,0,0, - 0,0,-278,-83,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-177,0,-83,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-187,0,-84,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-230,0,0,-199,-14,0,0,0,0, + 0,0,-47,0,0,0,0,-341,0,0, + 0,0,-396,0,0,0,0,0,0,0, + 0,-348,-260,0,0,0,0,0,0,-186, + -187,-192,0,-193,0,0,0,0,-480,0, + 0,0,-204,0,-263,0,0,0,-196,-264, + 0,0,0,0,0,0,-84,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-342,0,0,0,0,0,0,0,0, - -349,0,-48,0,0,0,0,-360,0,0, - 0,0,-231,0,0,0,0,0,0,-352, - 0,0,-188,0,0,0,0,0,0,-397, - 0,0,0,-273,0,0,0,0,0,-193, - 0,0,-368,0,0,0,0,-369,0,0, - 0,0,0,0,0,0,-85,0,0,0, - 0,-194,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -197,0,0,0,-86,0,0,0,0,-477, + -207,0,0,0,-85,0,0,0,0,-351, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-208,0, - 0,0,-236,0,0,0,0,0,0,0, - 0,0,0,0,0,-87,0,0,0,0, - -198,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-43, - 0,0,0,0,0,-51,-199,0,-350,-285, - 0,0,0,0,0,-418,0,-381,-218,0, - 0,0,0,0,0,0,-207,-219,0,0, - 0,0,0,-376,0,0,0,0,0,0, - -212,0,-221,-113,-280,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-217,0, + 0,0,-235,0,0,0,0,0,0,0, + 0,0,0,0,0,-86,0,0,0,0, + -233,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-417, + 0,0,-237,-223,-349,0,0,0,0,0, + 0,0,0,-380,-369,-370,0,-224,0,0, + 0,0,0,0,0,0,0,-397,0,0, + 0,-359,0,0,0,0,-431,0,0,0, + -279,0,0,0,0,0,0,0,0,0, + 0,0,0,-218,0,0,-446,0,0,0, + 0,0,-229,0,-240,0,-87,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-370,0,-88,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -228,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-277,0,-220,0,-234,0, + 0,0,-375,0,0,0,0,0,-504,0, 0,0,0,0,0,0,0,0,0,0, - -298,0,0,-235,-312,0,-237,0,0,0, + 0,0,0,-236,-244,0,0,0,0,0, + 0,0,0,0,-77,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -265,0,-295,0,0,0,-377,0,0,0, - 0,0,-506,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-431,0,0, - 0,0,0,0,0,0,0,0,-78,0, - 0,0,0,-245,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-340,0, + 0,0,0,-247,0,0,0,0,0,0, + 0,0,-133,0,-248,0,0,0,-353,0, + 0,-231,0,0,0,0,-298,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-259,0,0,-433,0,0,-318,0, - 0,0,-338,0,0,0,-134,-144,0,0, - 0,0,-354,0,0,-227,0,0,0,0, - -299,0,0,0,0,0,0,0,0,0, - 0,0,0,-232,0,0,-504,0,0,0, - 0,0,0,-371,-260,0,-79,0,0,0, - 0,-270,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -271,0,0,0,-234,0,-387,0,0,0, - 0,0,0,0,-118,-483,0,0,-275,-263, - -276,-1,0,-244,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-44,0,0, - 0,0,0,0,-403,0,0,-314,-287,0, - 0,0,0,0,0,-495,0,0,0,0, - 0,0,0,-241,0,0,0,-326,0,0, - 0,-291,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-296,0,0,0,0,0,0,0,0, - 0,-248,0,0,0,0,0,0,0,0, - 0,-440,-18,0,-120,0,0,0,0,0, - -425,0,0,0,0,0,0,0,0,0, - 0,0,0,-142,-301,0,0,0,0,-456, - 0,0,-473,-302,0,0,0,0,-472,-328, - 0,0,-249,0,0,-294,0,-319,0,0, - -343,0,0,0,-402,0,0,0,-334,-471, - 0,0,0,0,0,0,-336,0,0,0, - -366,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,-357,0,-239,0, - 0,0,-479,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-389,0,0, - 0,0,0,-250,0,0,-272,0,0,0, - 0,-251,-283,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-367,0,-373,-375, - -365,0,0,0,-292,0,-480,0,0,0, - 0,0,0,-293,-378,-382,-122,0,0,-117, - 0,0,0,0,0,0,0,0,0,0, - 0,-384,0,0,-180,0,0,0,0,0, - 0,-209,0,0,0,0,-315,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -379,0,0,-496,0,0,0,0,0,0, - -505,0,0,0,0,0,0,0,0,0, + 0,0,-249,0,0,0,0,-499,0,0, + 0,0,-78,0,0,0,0,-250,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-499,0,0,0,0,0,0, - -385,0,0,-22,0,0,0,0,-393,0, + 0,0,0,0,0,0,-282,0,0,0, + -291,0,-386,0,0,0,0,0,0,0, + -117,-253,-429,0,-141,-262,0,-1,0,0, + 0,0,0,0,-258,-259,0,0,0,0, + 0,0,0,-343,-269,0,0,0,0,0, + -402,0,0,0,-401,0,0,0,0,0, + -270,0,0,0,0,0,0,0,0,-292, + 0,0,0,-274,0,-469,-275,-267,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-80,0, + 0,0,-112,0,-286,0,0,0,-457,0, + 0,0,0,0,0,0,0,-294,0,0, + 0,0,0,0,0,0,0,-314,-290,0, + 0,0,0,0,0,0,0,0,-313,0, + -126,0,0,0,0,0,0,-423,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-272,-346,-454,0,-48,0, + 0,0,-356,0,-406,-295,-470,0,-238,0, + 0,0,0,0,0,-283,0,0,0,0, + 0,-300,0,0,0,-363,0,0,0,-414, 0,0,0,0,0,0,0,0,0,0, - 0,0,-81,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-82,0,0,0, - 0,-396,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -317,0,0,0,0,-347,0,0,0,0, - 0,0,0,-284,0,0,0,0,-364,-404, - -406,-121,0,0,0,0,-407,0,-383,-386, - -422,-49,-411,0,0,0,0,0,-420,-230, - 0,0,-408,-409,-410,-421,-127,0,0,0, - 0,0,-412,-415,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-124,-419, - -437,0,0,-416,0,0,0,0,0,0, - 0,0,0,0,0,0,-423,-462,0,0, + -301,0,0,0,0,0,0,0,0,0, + -418,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-318,0,0,0,0,0, + 0,0,0,0,-333,-477,-415,0,-413,0, + 0,0,0,0,-478,-284,0,-116,-335,0, + 0,0,0,-376,0,0,0,0,0,0, + 0,0,-179,0,0,0,0,0,0,0, + -208,0,0,0,0,-419,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-441,-365, + 0,0,-442,0,-42,0,0,0,-366,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-443,0,-427,0,0,0,0,0, - 0,0,0,0,-487,-444,0,-424,0,0, - 0,0,-388,0,0,-426,0,-428,0,0, - 0,0,0,0,0,0,0,-429,0,-430, - -414,-432,0,0,-15,0,0,0,0,0, - 0,-446,-489,0,0,0,0,0,-45,0, 0,0,0,0,0,0,0,0,0,0, - 0,-191,0,0,0,0,0,0,0,0, + 0,0,-372,0,-297,0,0,0,0,0, + 0,0,0,0,-388,0,0,0,0,0, + 0,-21,0,0,0,0,-374,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-434,-435,-436,0,0,0, - 0,0,0,0,0,0,-494,0,0,-309, - -441,0,-455,-445,0,0,-482,0,0,0, - -454,0,0,0,0,0,0,0,0,-450, - 0,-69,-466,-457,0,0,0,0,0,-461, - -501,0,0,-469,-515,0,0,-488,0,0, - -399,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-452,-503,-195,-508,0,0, + 0,0,0,0,0,-377,-79,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-238,0, - 0,0,0,0,0,0,0,0,-520,-459, - 0,-491,-74,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-458,0,0,0,0,0, - 0,0,0,0,0,0,-523,0,0,-467, - 0,0,0,0,0,0,0,-468,0,0, - 0,0,0,-476,0,-201,0,0,0,0, + -80,0,0,0,0,-383,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-81,0,0,0,0,-453, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-316,0, + 0,0,0,-450,0,0,0,0,0,0, + 0,-68,-74,-105,-384,0,0,0,0,-120, + 0,0,0,0,-465,0,-368,0,0,-73, + -410,-311,-392,-502,0,0,0,-481,0,0, + 0,0,0,0,-138,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-317,-325,-435,0, + 0,0,0,0,0,0,0,0,-337,0, + 0,0,0,0,0,-327,0,0,0,0, + 0,-143,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-395, + -387,0,0,0,0,0,0,0,0,0, + 0,0,-485,-403,0,-438,-251,0,0,0, + 0,0,-405,-407,-461,-408,0,0,0,0, + 0,0,0,0,0,-342,0,0,-409,0, + 0,0,-398,-194,0,0,0,0,-471,0, + -487,0,0,0,0,0,-463,0,0,0, + 0,0,0,0,0,0,0,-411,0,-468, + -43,-364,0,-378,0,0,0,0,0,0, + -422,0,0,0,0,0,0,0,0,0, + 0,-482,0,-493,0,0,0,0,0,0, + 0,0,0,0,-492,0,0,-464,-474,0, + 0,-44,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -500,0,0,0,0,0,0,0,0,0, - 0,0,0,-21,0,0,0,0,0,0, + -503,0,-252,0,0,0,0,0,0,0, + 0,0,-514,0,0,-488,0,0,0,0, + 0,0,-424,0,0,0,0,0,-475,0, + 0,0,-426,0,0,0,0,-243,-427,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-23,0,0,0, + 0,0,0,-500,-428,0,0,0,0,0, + 0,0,0,0,0,0,-519,-293,0,-489, + -382,0,-385,-45,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-420, + 0,-213,0,0,0,0,0,0,0,-430, + -432,0,0,-433,-522,0,0,-434,0,0, + -483,0,0,0,-439,0,0,0,0,0, + 0,0,0,-443,-421,-508,-425,0,0,0, + 0,0,-509,0,0,0,0,0,0,0, + 0,0,0,0,0,-494,0,-444,-452,0, + 0,0,0,0,0,0,0,0,-448,-455, + 0,-456,-459,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,-24, + 0,-20,0,0,0,0,-467,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-22,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-25,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-23,0,0, + 0,0,-486,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-26,0,0,0,0, + -24,0,0,0,0,-501,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-27,0, + 0,0,0,-25,0,0,0,0,-506,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-26,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-28,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-27, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-64,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-76,0,0, + 0,0,-63,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-75,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -77,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-76,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-131,0,0,0,0,-519,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-203,0,0,0, - 0,-463,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-394, - 0,-465,0,0,0,-470,-484,-252,-449,-75, - 0,-253,0,0,0,-345,0,0,0,-344, - -268,0,0,0,0,0,-485,-210,0,0, - 0,0,0,0,-509,0,0,0,0,0, + 0,-130,0,0,0,0,-497,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-202,0,0,0,0,-512, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-486,0,0,0,-490,0, - 0,0,-451,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-381,-466,-495, + -507,0,0,0,-308,0,-393,-265,0,-320, + -484,0,-46,0,0,0,0,0,-496,0, + 0,0,-517,0,-190,0,0,0,0,0, + 0,-498,-214,0,0,0,0,0,0,0, + 0,-344,0,0,0,-518,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-478,-498,-497, - -106,-511,0,0,0,0,0,0,0,0, - 0,0,-392,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-391, + -447,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -257,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-200,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-449,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-266,0,0,0,0,0, - 0,-502,0,0,0,-510,0,0,0,0, - 0,0,0,0,0,-492,0,0,0,0, - 0,0,0,0,0,0,0,0,-355,0, + 0,-146,0,0,0,0,0,0,0,0, + 0,0,0,-209,0,0,0,0,-119,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-516,0,-125,0,0,0, - 0,0,0,-139,0,0,0,0,0,0, - 0,-513,-518,-521,-214,-215,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-321, + 0,0,0,0,0,0,0,-476,0,0, + 0,-510,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-515,-520, 0,0,0,0,0,0,0,0,0,0, + 0,-256,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-121,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-475,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-490,0,0,0,0, + 0,0,0,0,0,0,0,0,-354,0, 0,0,0,0,0,0,0,0,0,0, - -300,0,0,0,0,0,0,0,0,0, + 0,0,-123,0,0,0,-124,0,0,0, + 0,0,0,-184,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,-389, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-316,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,-464,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-262,0, + 0,0,-473,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-330,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-517, - -216,-390,0,0,0,0,0,0,0,0, + 0,0,0,-203,0,0,0,0,0,0, + -299,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-198,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-356, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-395,0,0,0,0, + 0,0,0,0,-462,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-261,0, 0,0,0,0,0,0,0,0,0,0, - -217,-223,0,0,0,0,0,0,-147,0, + 0,0,0,0,0,-329,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-215, + -516,0,0,0,0,0,0,0,0,-315, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-185,0,0,0,0,0,0, - -46,0,0,0,0,0,0,0,0,0, - 0,0,0,-190,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -279,0,0,0,0,0,0,0,-305,0, + 0,0,0,0,0,0,0,0,0,-355, 0,0,0,0,0,0,0,0,0,0, - -327,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-394,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-288,-493,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-333,0,0,0, + 0,-222,0,0,0,0,0,0,0,-189, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-339,0,0,0,0, - 0,0,-47,0,0,0,0,0,0,0, - -361,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-362,0,0,0,0,0,0,0, - 0,-374,0,0,0,0,0,0,0,0, - -438,0,0,0,0,0,0,-460,0,0, - 0,0,0,0,0,0,-481,0,0,0, - 0,0,0,0,0,0,0,0,-391,0, + 0,0,0,0,0,-399,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-439,-442,0,0,0,0,0,0, + 0,0,0,0,-278,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-204,0,0,0,0,0,-400, - 0,0,0,-401,0,0,0,0,0,-447, + -304,0,0,0,0,0,-326,0,0,0, + 0,0,0,0,0,-332,0,0,0,0, + 0,-338,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-17,0,0, + 0,-390,0,0,0,0,0,0,0,0, + -360,0,0,0,0,0,-361,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-373,0,0,0,0,0,0,0,0, + 0,0,0,-216,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-458,0,0,0,0, + 0,0,0,0,0,0,0,-479,0,0, + 0,0,0,0,0,0,-436,-437,-440,-400, + 0,0,0,0,0,0,0,0,-445,-287, + -491,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -536,7 +532,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0 + 0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -547,7 +543,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { 170,5,131,78,78,36,36,64,64,40, - 40,189,189,190,190,191,191,1,1,16, + 40,190,190,191,191,192,192,1,1,16, 16,16,16,16,16,16,16,17,17,17, 15,11,11,9,9,9,9,9,2,65, 65,6,6,12,12,12,12,44,44,132, @@ -561,35 +557,35 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 27,27,27,28,28,28,28,28,31,31, 31,32,32,33,33,34,34,35,35,37, 37,38,38,42,42,41,41,41,41,41, - 41,41,41,41,41,41,41,41,39,39, - 29,140,140,99,99,102,102,94,192,192, - 69,69,69,69,69,69,69,69,69,70, - 70,70,71,71,56,56,174,174,72,72, - 72,115,115,73,73,73,73,74,74,74, - 74,74,75,75,79,79,79,79,79,79, - 79,50,50,50,50,50,105,105,106,106, - 48,24,24,24,24,24,45,45,88,88, + 41,41,41,41,41,41,41,41,39,29, + 140,140,99,99,102,102,94,193,193,69, + 69,69,69,69,69,69,69,69,70,70, + 70,71,71,56,56,174,174,72,72,72, + 115,115,73,73,73,73,74,74,74,74, + 74,75,75,79,79,79,79,79,79,79, + 49,49,49,49,49,105,105,106,106,50, + 175,24,24,24,24,24,47,47,88,88, 88,88,88,147,147,142,142,142,142,142, 143,143,143,144,144,144,145,145,145,146, 146,146,89,89,89,89,89,90,90,90, 13,14,14,14,14,14,14,14,14,14, 14,14,93,119,119,119,119,119,117,117, 117,118,118,149,149,148,148,121,121,150, - 83,83,84,84,86,87,85,52,47,151, + 83,83,84,84,86,87,85,52,46,151, 151,53,51,82,82,152,152,141,141,122, 122,77,77,153,153,62,62,62,58,58, 57,63,63,67,67,55,55,55,91,91, - 101,100,100,60,60,59,59,61,61,49, + 101,100,100,60,60,59,59,61,61,48, 103,103,103,95,95,95,96,97,97,97, - 98,98,107,107,107,109,109,108,108,193, - 193,92,92,176,176,176,176,176,124,46, - 46,155,175,175,125,125,125,125,177,177, + 98,98,107,107,107,109,109,108,108,194, + 194,92,92,177,177,177,177,177,124,45, + 45,155,176,176,125,125,125,125,178,178, 30,30,116,126,126,126,126,110,110,120, 120,120,157,158,158,158,158,158,158,158, - 158,158,180,180,178,178,179,179,159,159, - 159,159,160,181,112,111,111,182,182,161, - 161,161,161,104,104,104,183,183,10,184, - 184,185,162,154,154,163,163,164,165,165, + 158,158,181,181,179,179,180,180,159,159, + 159,159,160,182,112,111,111,183,183,161, + 161,161,161,104,104,104,184,184,10,185, + 185,186,162,154,154,163,163,164,165,165, 7,7,8,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167, 167,167,167,167,167,167,167,167,167,167, @@ -597,491 +593,486 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 167,167,167,167,167,66,68,68,168,168, 127,127,128,128,128,128,128,128,3,4, 169,169,166,166,129,129,129,80,81,76, - 156,156,113,113,186,186,186,130,130,123, - 123,187,187,170,170,1304,38,1540,1506,832, - 1098,4304,34,859,31,35,30,32,1627,260, - 29,27,55,894,108,79,80,110,1028,3150, - 1088,1029,1139,1097,3572,272,1221,1192,1324,1237, - 1325,1165,1359,145,686,3493,161,146,1759,38, - 808,36,832,2698,2513,34,859,43,35,4634, - 3391,38,808,36,832,230,2195,34,859,31, - 35,30,32,790,260,29,27,55,894,108, - 79,80,110,1028,48,1088,1029,1139,1097,673, - 371,1221,2111,233,228,229,1164,875,273,3350, - 38,808,36,832,3088,2195,34,859,31,35, - 30,32,790,260,29,27,55,894,89,79, - 80,240,243,246,249,3402,2763,38,808,36, - 832,1626,4589,34,859,31,35,62,32,686, - 38,499,2659,832,778,616,1083,3190,2905,3015, - 3187,3449,4297,2313,38,808,36,832,2399,2195, - 34,859,31,35,2404,32,790,260,29,27, - 55,894,108,79,80,110,1028,339,1088,1029, - 1139,1097,484,517,1221,1192,1324,1237,1325,369, - 1359,145,686,2872,504,146,442,2970,38,808, - 36,832,2411,4589,34,859,31,35,61,32, - 686,38,2668,348,505,2313,38,808,36,832, - 2399,2195,34,859,31,35,2404,32,790,260, - 29,27,55,894,108,79,80,110,1028,339, - 1088,1029,1139,1097,605,3088,1221,1192,1324,1237, - 1325,554,1359,145,693,1562,504,146,2979,433, - 66,2493,869,1740,2411,1759,38,808,36,832, - 1296,2761,34,859,2491,35,505,686,38,1498, - 381,832,500,2787,38,808,36,832,957,2195, - 34,859,31,35,30,32,790,260,29,27, - 55,894,108,79,80,110,1028,37,1088,1029, - 1139,1097,1512,284,1221,1192,1324,1237,1325,2394, - 1359,145,2414,446,144,146,3080,38,808,36, - 832,65,4108,34,859,31,35,30,32,2710, - 1301,497,686,3604,500,2831,38,808,36,832, - 2399,2195,34,859,31,35,2404,32,790,260, - 29,27,55,894,108,79,80,110,1028,339, - 1088,1029,1139,1097,3480,3373,1221,1192,1324,1237, - 1325,2552,1359,145,2414,74,504,146,1759,38, - 808,36,832,1767,2411,34,859,2705,35,1327, - 977,2641,38,808,36,832,505,2195,34,859, - 31,35,30,32,790,260,29,27,55,894, - 108,79,80,110,1028,48,1088,1029,1139,1097, - 735,95,1221,1192,1324,1237,1325,3479,1359,145, - 325,331,374,146,1445,38,808,36,832,3088, - 4108,34,859,31,35,64,32,1301,1030,70, - 38,1455,46,832,568,377,45,859,699,2714, - 38,808,36,832,501,2195,34,859,31,35, - 30,32,790,260,29,27,55,894,108,79, - 80,110,1028,1562,1088,1029,1139,1097,351,3562, - 1221,1192,1324,1237,1325,519,1359,145,2968,412, - 374,146,1445,38,808,36,832,977,4108,34, - 859,31,35,63,32,349,378,445,2994,38, - 808,36,832,375,2195,34,859,31,35,30, - 32,790,260,29,27,55,894,108,79,80, - 110,1028,3373,1088,1029,1139,1097,330,331,1221, - 1192,1324,1237,1325,1353,1359,145,2570,68,161, - 146,686,38,2175,2136,832,48,3119,4039,383, - 415,860,1631,686,38,1498,381,832,3205,2994, - 38,808,36,832,379,2195,34,859,31,35, - 30,32,790,260,29,27,55,894,108,79, - 80,110,1028,272,1088,1029,1139,1097,409,249, - 1221,1192,1324,1237,1325,1193,1359,145,3088,3088, - 368,146,2994,38,808,36,832,329,2195,34, - 859,31,35,30,32,790,260,29,27,55, - 894,108,79,80,110,1028,1562,1088,1029,1139, - 1097,1528,3746,1221,1192,1324,1237,1325,616,1359, - 145,426,500,368,146,350,274,2994,38,808, - 36,832,519,2195,34,859,31,35,30,32, - 790,260,29,27,55,894,108,79,80,110, - 1028,1898,1088,1029,1139,1097,4057,56,1221,1192, - 1324,1237,1325,367,1359,145,1681,488,368,146, - 2916,38,808,36,832,382,2195,34,859,31, - 35,30,32,790,260,29,27,55,894,108, - 79,80,110,1028,1546,1088,1029,1139,1097,2897, - 2181,1221,1192,1324,1237,1325,366,1359,145,48, - 1315,374,146,2939,4582,2994,38,808,36,832, - 3088,2195,34,859,31,35,30,32,790,260, - 29,27,55,894,108,79,80,110,1028,48, - 1088,1029,1139,1097,988,3222,1221,1192,1324,1237, - 1325,364,1359,145,1572,334,162,146,185,2994, - 38,808,36,832,3088,2195,34,859,31,35, - 30,32,790,260,29,27,55,894,108,79, - 80,110,1028,2019,1088,1029,1139,1097,2399,1409, - 1221,1192,1324,1237,1325,372,1359,145,323,1059, - 157,146,2994,38,808,36,832,339,2195,34, - 859,31,35,30,32,790,260,29,27,55, - 894,108,79,80,110,1028,2982,1088,1029,1139, - 1097,1997,778,1221,1192,1324,1237,1325,1081,1359, - 145,310,99,156,146,2994,38,808,36,832, - 1215,2195,34,859,31,35,30,32,790,260, - 29,27,55,894,108,79,80,110,1028,1559, - 1088,1029,1139,1097,3222,3205,1221,1192,1324,1237, - 1325,90,1359,145,104,3059,155,146,2994,38, - 808,36,832,3088,2195,34,859,31,35,30, - 32,790,260,29,27,55,894,108,79,80, - 110,1028,1559,1088,1029,1139,1097,321,3205,1221, - 1192,1324,1237,1325,328,1359,145,1634,3092,154, - 146,2994,38,808,36,832,1365,2195,34,859, - 31,35,30,32,790,260,29,27,55,894, - 108,79,80,110,1028,2086,1088,1029,1139,1097, - 1102,1193,1221,1192,1324,1237,1325,328,1359,145, - 1485,100,153,146,2994,38,808,36,832,1481, - 2195,34,859,31,35,30,32,790,260,29, - 27,55,894,108,79,80,110,1028,1559,1088, - 1029,1139,1097,3657,3205,1221,1192,1324,1237,1325, - 91,1359,145,104,2148,152,146,2994,38,808, - 36,832,2195,2195,34,859,31,35,30,32, - 790,260,29,27,55,894,108,79,80,110, - 1028,2450,1088,1029,1139,1097,2399,2242,1221,1192, - 1324,1237,1325,328,1359,145,1167,2018,151,146, - 2994,38,808,36,832,2603,2195,34,859,31, - 35,30,32,790,260,29,27,55,894,108, - 79,80,110,1028,1559,1088,1029,1139,1097,3381, - 3205,1221,1192,1324,1237,1325,1444,1359,145,2939, - 156,150,146,2994,38,808,36,832,244,2195, - 34,859,31,35,30,32,790,260,29,27, - 55,894,108,79,80,110,1028,48,1088,1029, - 1139,1097,3420,356,1221,1192,1324,1237,1325,328, - 1359,145,3086,3455,149,146,2994,38,808,36, - 832,3484,2195,34,859,31,35,30,32,790, - 260,29,27,55,894,108,79,80,110,1028, - 1559,1088,1029,1139,1097,4550,3205,1221,1192,1324, - 1237,1325,148,1359,145,601,2761,148,146,2994, - 38,808,36,832,777,2195,34,859,31,35, - 30,32,790,260,29,27,55,894,108,79, - 80,110,1028,3065,1088,1029,1139,1097,483,3205, - 1221,1192,1324,1237,1325,1783,1359,145,1298,1669, - 147,146,2875,38,808,36,832,332,2195,34, - 859,31,35,30,32,790,260,29,27,55, - 894,108,79,80,110,1028,48,1088,1029,1139, - 1097,3679,940,1221,1192,1324,1237,1325,1783,2571, - 167,2994,38,808,36,832,1479,2195,34,859, - 31,35,30,32,790,260,29,27,55,894, - 108,79,80,110,1028,2990,1088,1029,1139,1097, - 75,3573,1221,1192,1324,1237,1325,96,1359,145, - 324,3173,142,146,1562,686,38,1498,381,832, - 4671,3308,38,808,36,832,1290,2195,34,859, - 31,35,30,32,790,260,29,27,55,894, - 108,79,80,110,1028,272,1088,1029,1139,1097, - 98,395,1221,1192,1324,1237,1325,148,1359,145, - 568,2072,192,146,3391,38,808,36,832,1528, - 2195,34,859,31,35,30,32,790,260,29, - 27,55,894,108,79,80,110,1028,1884,1088, - 1029,1139,1097,4034,1720,1221,1192,1324,1237,1325, - 4726,2571,167,3391,38,808,36,832,77,2195, - 34,859,31,35,30,32,790,260,29,27, - 55,894,108,79,80,110,1028,699,1088,1029, - 1139,1097,3623,281,1221,1192,1324,1237,1325,3630, - 2571,167,686,38,499,275,832,686,38,1498, - 381,832,1884,3391,38,808,36,832,288,2195, - 34,859,31,35,30,32,790,260,29,27, - 55,894,108,79,80,110,1028,272,1088,1029, - 1139,1097,3698,1562,1221,1192,1324,1237,1325,4741, - 2571,167,3391,38,808,36,832,1463,2195,34, - 859,31,35,30,32,790,260,29,27,55, - 894,108,79,80,110,1028,48,1088,1029,1139, - 1097,1145,393,1221,1192,1324,1237,1325,2939,2571, - 167,2756,38,499,275,832,148,3373,384,415, - 336,676,3391,38,808,36,832,411,2195,34, - 859,31,35,30,32,790,260,29,27,55, - 894,108,79,80,110,1028,48,1088,1029,1139, - 1097,2415,28,1221,1192,1324,1237,1325,1406,2571, - 167,3432,38,808,36,832,410,2195,34,859, - 31,35,30,32,790,260,29,27,55,894, - 108,79,80,110,1028,3152,1088,1029,1139,1097, - 2751,1562,1221,1192,1324,1237,1325,4763,2571,167, - 2756,38,499,2962,832,1640,38,1498,381,832, - 1528,3391,38,808,36,832,413,2195,34,859, - 31,35,30,32,790,260,29,27,55,894, - 108,79,80,110,1028,54,1088,1029,1139,1097, - 320,523,1221,1192,1324,1237,2270,519,1497,919, - 3391,38,808,36,832,3587,2195,34,859,31, - 35,30,32,790,260,29,27,55,894,108, - 79,80,110,1028,282,1088,1029,1139,1097,148, - 1701,1221,1192,1324,2148,3391,38,808,36,832, - 2759,2195,34,859,31,35,30,32,790,260, - 29,27,55,894,108,79,80,110,1028,48, - 1088,1029,1139,1097,4101,73,1221,1192,2098,3391, - 38,808,36,832,2964,2195,34,859,31,35, - 30,32,790,260,29,27,55,894,108,79, - 80,110,1028,48,1088,1029,1139,1097,3056,148, - 1931,3391,38,808,36,832,2966,2195,34,859, - 31,35,30,32,790,260,29,27,55,894, - 108,79,80,110,1028,2973,1088,1029,1139,2002, - 3391,38,808,36,832,58,2195,34,859,31, - 35,30,32,790,260,29,27,55,894,108, - 79,80,110,1028,2289,1088,1029,1139,2009,3473, - 38,1498,381,832,1162,3427,686,38,499,279, - 832,3045,235,260,1372,699,1482,148,424,38, - 1498,381,832,1440,3391,38,808,36,832,272, - 2195,34,859,31,35,30,32,790,260,29, - 27,55,894,108,79,80,110,1028,272,1088, - 1029,1755,2016,57,3391,38,808,36,832,230, - 2195,34,859,31,35,30,32,790,260,29, - 27,55,894,108,79,80,110,1028,347,1088, - 1029,1764,686,38,1498,381,832,233,228,229, - 322,3684,273,686,38,1498,381,832,686,38, - 1498,381,832,686,38,280,340,978,666,345, - 875,2794,419,2712,338,240,243,246,249,3402, - 3100,3530,3528,54,48,1626,386,415,422,3600, - 1945,397,76,3089,38,387,1497,2684,3089,38, - 387,3190,2905,3015,3187,3449,4297,3391,38,808, - 36,832,2429,2195,34,859,31,35,30,32, - 790,260,29,27,55,894,108,79,80,110, - 1028,1451,1088,1029,1798,3391,38,808,36,832, - 1528,2195,34,859,31,35,30,32,790,260, - 29,27,55,894,108,79,80,110,1028,3070, - 1088,1029,1799,1377,38,808,36,832,1568,4651, - 34,859,31,35,335,32,3391,38,808,36, - 832,148,2195,34,859,31,35,30,32,790, - 260,29,27,55,894,108,79,80,110,1028, - 2125,1088,1832,3202,296,1048,1523,1541,3281,3578, - 48,1439,2399,3205,2399,1531,3572,346,3578,3120, - 316,2423,318,2399,2864,311,1420,148,3154,158, - 347,2603,433,2603,686,38,1498,381,832,2269, - 2911,3189,2603,3197,1392,2002,38,808,36,832, - 4428,4651,34,859,31,35,335,32,340,978, - 666,345,328,92,421,3684,2909,3391,38,808, - 36,832,3542,2195,34,859,31,35,30,32, - 790,260,29,27,55,894,108,79,80,110, - 1028,2701,1088,1846,158,48,617,2784,3657,355, - 4100,491,316,2423,318,298,568,311,1420,659, - 491,699,347,1327,2895,2734,2737,686,38,1498, - 381,832,3217,2010,38,808,36,832,1568,4651, - 34,859,31,35,335,32,488,490,1562,361, - 340,978,666,345,4788,489,490,420,2621,3391, - 38,808,36,832,3198,2195,34,859,31,35, - 30,32,790,260,29,27,55,894,108,79, - 80,110,1028,787,1670,730,3519,3081,785,48, - 316,2423,318,1601,4096,311,1420,1028,1685,4659, - 347,429,2647,510,38,439,3075,38,278,4772, - 514,1497,38,3069,36,832,1654,4707,34,859, - 31,35,335,32,3075,38,276,3572,340,978, - 666,345,385,415,3572,2216,515,3391,38,808, - 36,832,1423,2195,34,859,31,35,30,32, - 790,260,29,27,55,894,108,79,80,110, - 1028,3478,1678,3212,347,148,328,177,316,2423, - 318,2406,525,311,1420,1347,3089,38,387,3116, - 1690,3234,2078,513,3499,2399,4211,1048,957,3147, - 371,227,340,978,666,345,158,1964,48,511, - 2621,2524,4486,2399,227,1,3407,183,3575,2336, - 525,158,4566,203,214,211,3520,202,212,213, - 215,523,339,172,148,4469,1881,398,48,227, - 47,2599,3502,2649,158,230,186,170,171,173, - 174,175,176,177,3407,183,399,2411,2865,3212, - 4566,203,214,211,418,202,212,213,215,1549, - 2650,172,3476,242,228,229,432,3169,3170,184, - 406,3077,148,568,187,170,171,173,174,175, - 176,177,969,1036,2813,1363,3656,525,525,3410, - 2052,1793,38,808,36,832,1654,4707,34,859, - 31,35,335,32,48,3230,227,339,72,1048, - 3163,158,158,48,3515,2399,49,2599,1048,3563, - 48,165,2106,148,2399,2510,1301,3738,3507,511, - 3623,48,2411,2667,227,2497,895,400,403,1349, - 2497,2935,4180,227,1927,230,328,1487,316,2423, - 318,3159,530,311,1420,4566,205,214,211,71, - 204,212,213,215,4566,205,214,211,1236,204, - 212,213,215,245,228,229,206,3199,2865,3496, - 38,276,4486,3667,3730,206,977,2865,2399,216, - 207,208,209,210,290,291,292,293,216,207, - 208,209,210,290,291,292,293,227,686,38, - 1498,381,832,305,148,4178,2580,686,38,499, - 277,832,148,148,4178,3244,327,331,4566,205, - 214,211,3655,204,212,213,215,3626,438,3534, - 3508,48,568,3611,3394,148,1072,3750,510,206, - 70,2865,2399,510,148,3513,3759,1725,69,2819, - 3599,2399,216,207,208,209,210,290,291,292, - 293,227,3629,237,260,686,38,1498,381,832, - 227,60,686,38,1498,381,832,148,4178,3274, - 59,2816,4566,205,214,211,2946,204,212,213, - 215,4566,205,214,211,54,204,212,213,215, - 730,48,54,206,1528,2865,4193,230,1497,2683, - 230,3572,206,319,2865,51,216,207,208,209, - 210,290,291,292,293,485,207,208,209,210, - 290,291,292,293,1528,248,228,229,238,228, - 229,3644,4178,3791,3391,38,1540,1506,832,1674, - 2195,34,859,31,35,30,32,790,260,29, - 27,55,894,108,79,80,87,512,303,3391, - 38,808,36,832,37,2195,34,859,31,35, - 30,32,790,260,29,27,55,894,108,79, - 80,110,1712,3391,38,808,36,832,295,2195, - 34,859,31,35,30,32,790,260,29,27, - 55,894,108,79,80,110,1713,3391,38,808, - 36,832,3676,2195,34,859,31,35,30,32, - 790,260,29,27,55,894,108,79,80,110, - 1721,1532,38,808,36,832,148,4707,34,859, - 31,35,335,32,686,38,499,3058,832,148, - 2001,2989,3179,38,2452,1396,832,3684,4614,48, - 48,48,60,265,3641,3065,2107,1048,525,148, - 1997,2872,103,3683,3694,3701,2000,774,38,1498, - 381,832,54,3706,3684,3241,329,227,316,2423, - 318,163,158,312,1420,1497,1091,182,347,2639, - 3687,353,3407,183,3684,437,525,54,4566,203, - 214,211,517,202,212,213,215,3646,3514,172, - 1497,2530,4089,2399,198,227,342,978,666,345, - 158,1103,3601,170,171,173,174,175,176,177, - 3407,183,339,3684,197,48,4566,203,214,211, - 3040,202,212,213,215,441,3684,172,2523,230, - 525,2339,1309,598,38,439,3602,4145,3713,4772, - 179,170,171,173,174,175,176,177,3718,227, - 3677,1807,3237,201,158,3036,1048,251,228,229, - 2399,283,48,529,3407,183,199,3070,525,48, - 4566,203,214,211,2399,202,212,213,215,339, - 158,172,686,38,1498,381,832,227,1939,2891, - 3506,200,158,339,190,170,171,173,174,175, - 176,177,3407,183,2646,3733,89,3696,4566,203, - 214,211,54,202,212,213,215,617,2411,172, - 1301,3695,525,148,3725,1497,2854,686,38,289, - 1584,3738,3658,170,171,173,174,175,176,177, - 48,227,2172,1854,48,3049,158,1048,1048,3113, - 3172,686,38,289,3734,705,3407,183,3727,3744, - 525,3633,4566,203,214,211,2399,202,212,213, - 215,158,158,172,4107,3684,3741,1425,3678,227, - 977,2106,165,3205,158,2603,193,170,171,173, - 174,175,176,177,3407,183,436,3169,3170,3109, - 4566,203,214,211,2399,202,212,213,215,793, - 1562,172,1901,60,525,220,4797,1048,1048,5360, - 3061,331,442,2603,189,170,171,173,174,175, - 176,177,329,227,5360,48,5360,5360,158,428, - 3177,158,163,5360,347,4149,5360,881,3407,183, - 3684,165,525,491,4566,203,214,211,48,202, - 212,213,215,4266,3684,172,686,38,1498,381, - 832,227,342,978,666,345,158,4252,196,170, - 171,173,174,175,176,177,3407,183,488,490, - 3692,355,4566,203,214,211,54,202,212,213, - 215,4312,5360,172,302,5360,3153,2734,2737,1497, - 3109,1528,2417,5360,4256,5360,195,170,171,173, - 174,175,176,177,3391,38,808,36,832,3532, - 2195,34,859,31,35,30,32,790,260,29, - 27,55,894,108,79,80,88,3391,38,808, - 36,832,5360,2195,34,859,31,35,30,32, - 790,260,29,27,55,894,108,79,80,86, - 3391,38,808,36,832,294,2195,34,859,31, - 35,30,32,790,260,29,27,55,894,108, - 79,80,85,3391,38,808,36,832,5360,2195, - 34,859,31,35,30,32,790,260,29,27, - 55,894,108,79,80,84,3391,38,808,36, - 832,5360,2195,34,859,31,35,30,32,790, - 260,29,27,55,894,108,79,80,83,3391, - 38,808,36,832,5360,2195,34,859,31,35, - 30,32,790,260,29,27,55,894,108,79, - 80,82,3391,38,808,36,832,5360,2195,34, - 859,31,35,30,32,790,260,29,27,55, - 894,108,79,80,81,3264,38,808,36,832, - 5360,2195,34,859,31,35,30,32,790,260, - 29,27,55,894,108,79,80,106,3391,38, - 808,36,832,5360,2195,34,859,31,35,30, - 32,790,260,29,27,55,894,108,79,80, - 112,3391,38,808,36,832,5360,2195,34,859, - 31,35,30,32,790,260,29,27,55,894, - 108,79,80,111,3391,38,808,36,832,3509, - 2195,34,859,31,35,30,32,790,260,29, - 27,55,894,108,79,80,109,3391,38,808, - 36,832,148,2195,34,859,31,35,30,32, - 790,260,29,27,55,894,108,79,80,107, - 3049,5360,148,5360,5360,2399,148,148,60,3784, - 2219,5360,60,1048,2399,1048,1301,1048,3505,5360, - 3109,1997,2872,376,227,2399,5360,148,686,38, - 1498,381,832,227,5360,1948,5360,163,3543,158, - 1048,163,3597,2857,2603,4566,205,214,211,1149, - 204,212,213,215,4566,205,214,211,54,204, - 212,213,215,3251,158,324,206,5360,2865,3684, - 2763,1497,919,3853,165,206,977,2865,2399,507, - 207,208,209,210,290,291,292,293,304,207, - 208,209,210,290,291,292,293,227,3658,48, - 148,2266,148,2399,921,5360,1048,3175,5360,4115, - 5360,3184,355,1301,5360,5360,3171,331,4566,205, - 214,211,227,204,212,213,215,3399,2734,2737, - 158,686,38,1498,381,832,373,4295,4313,206, - 2231,2865,283,4566,205,214,211,5360,204,212, - 213,215,508,207,208,209,210,290,291,292, - 293,54,5360,5360,206,1601,2865,5360,5360,2200, - 2891,4659,3684,977,1497,2753,3684,217,207,208, - 209,210,290,291,292,293,1726,38,808,36, - 832,1654,4651,34,859,31,35,335,32,2704, - 38,3069,36,832,1654,4651,34,859,31,35, - 335,32,301,3411,331,148,4500,3540,38,1498, - 381,832,5360,3427,1676,38,1498,381,832,5360, - 236,260,3684,3684,148,2359,2406,5360,5360,5360, - 1048,1048,5360,316,2423,318,5360,272,311,1420, - 60,3689,5360,5360,54,1048,316,2423,318,5360, - 5360,311,1420,1236,158,158,5360,1497,1865,1964, - 3727,5360,297,194,3002,3053,957,230,1103,163, - 5360,5360,5360,2778,38,808,36,832,1654,4651, - 34,859,31,35,335,32,5360,5360,5360,5360, - 5360,5360,5360,5360,5360,234,228,229,305,5360, - 273,2778,38,808,36,832,1654,4651,34,859, - 31,35,335,32,5360,5360,417,3655,5360,5360, - 5360,5360,5360,241,244,247,250,3402,3611,5360, - 316,2423,318,1626,5360,311,1420,3044,1541,3386, - 5360,5360,5360,2399,3205,5360,5360,5360,407,3077, - 1236,5360,5360,5360,5360,5360,5360,5360,316,2423, - 318,5360,2603,311,1420,2778,38,808,36,832, - 1654,4651,34,859,31,35,335,32,3217,1643, - 38,808,36,832,2841,4651,34,859,31,35, - 335,32,5360,328,5360,306,1784,38,808,36, - 832,5360,4707,34,859,31,35,335,32,5360, - 2025,2453,60,5360,5360,1048,1048,1048,5360,394, - 5360,5360,316,2423,318,5360,5360,311,1420,3381, - 355,5360,5360,5360,5360,5360,313,3035,318,158, - 158,163,3638,5360,5360,2895,2734,2737,5360,165, - 3144,329,5360,316,2423,318,5360,5360,314,1420, - 1784,38,808,36,832,5360,4707,34,859,31, - 35,335,32,5360,5360,5360,2958,38,808,36, - 832,3021,4651,34,859,31,35,335,32,5360, - 5360,2500,1607,5360,5360,5360,1048,2399,4211,862, - 38,1498,381,832,5360,5360,5360,5360,5360,5360, - 5360,3419,4314,5360,5360,329,227,316,2423,318, - 158,5360,312,1420,952,38,1498,381,832,54, - 3152,48,2731,313,3035,318,2399,4469,1881,398, - 5360,5360,1497,2681,774,38,1498,381,832,5360, - 5360,5360,5360,2418,54,339,5360,5360,399,5360, - 2865,2771,38,1498,381,832,5360,1497,52,2771, - 38,1498,381,832,54,5360,5360,5360,2836,5360, - 2411,862,38,1498,381,832,5360,1497,52,5360, - 5360,54,1592,5360,5360,5360,2813,5360,2503,54, - 5360,5360,2547,2594,1497,2938,5360,1048,1048,5360, - 5360,54,1497,52,5360,2017,5360,2771,38,1498, - 381,832,5360,2482,1497,52,5360,5360,5360,2731, - 5360,158,158,5360,5360,908,2771,38,1498,381, - 832,1334,4182,48,5360,5360,5360,54,2399,400, - 402,2771,38,1498,381,832,5360,5360,5360,5360, - 1497,3107,5360,5360,5360,5360,54,339,5360,5360, - 1181,2017,2910,2771,38,1498,381,832,5360,1497, - 52,54,2771,38,1498,381,832,5360,5360,5360, - 2498,1103,2411,5360,1497,52,525,5360,3097,38, - 1498,381,832,54,1617,2674,5360,3214,38,1498, - 381,832,54,5360,5360,339,1497,52,5360,236, - 158,5360,5360,5360,2399,1497,52,2757,54,5360, - 191,5360,5360,1170,1237,5360,3138,54,525,525, - 4455,1497,52,339,5360,5360,5360,5360,5360,5360, - 1497,52,3607,5360,48,518,5360,339,339,2399, - 48,3631,158,158,48,2399,5360,5360,2411,2399, - 48,5360,191,191,5360,2399,5360,5360,339,5360, - 521,5360,4455,4455,339,5360,5360,5360,339,5360, - 5360,5360,5360,5360,339,5360,5360,5360,5360,5360, - 5360,5360,5360,2411,5360,5360,4062,5360,5360,2411, - 5360,5360,5360,2411,5360,2954,5360,5360,5360,2411, - 5360,495,5360,5360,5360,493,5360,5360,5360,5360, - 5360,522,5360,5360,5360,5360,5360,5360,5360,5360, - 5360,5360,5360,5360,5360,5360,5360,5360,4082,4086, - 5360,5360,5360,5360,5360,5360,5360,5360,5360,5360, - 5360,5360,5360,5360,5360,5360,5360,5360,5360,5360, - 5360,5360,5360,5360,5360,5360,5360,5360,5360,5360, - 5360,5360,5360,5360,5360,5360,5360,5360,5360,5360, - 5360,5360,5360,5360,5360,5360,5360,5360,5360,5360, - 5360,5360,5360,5360,5360,5360,3426,5360,0,5378, - 42,0,5377,42,0,159,524,0,499,33, - 0,440,945,0,41,5378,0,41,5377,0, - 128,2547,0,1,430,0,42,5378,0,42, - 5377,0,444,765,0,443,969,0,499,44, - 0,3034,93,0,499,380,0,36,381,0, - 381,36,0,33,380,0,380,33,0,499, - 33,380,0,797,42,0,1,775,0,1, - 5631,0,1,5630,0,1,5629,0,1,5628, - 0,1,5627,0,1,5626,0,1,5625,0, - 1,5624,0,1,5623,0,1,5622,0,1, - 5621,0,1,5378,42,0,1,5377,42,0, - 1,979,0,5592,239,0,5591,239,0,5694, - 239,0,5693,239,0,5619,239,0,5618,239, - 0,5617,239,0,5616,239,0,5615,239,0, - 5614,239,0,5613,239,0,5612,239,0,5631, - 239,0,5630,239,0,5629,239,0,5628,239, - 0,5627,239,0,5626,239,0,5625,239,0, - 5624,239,0,5623,239,0,5622,239,0,5621, - 239,0,42,239,5378,0,42,239,5377,0, - 239,5401,0,53,5378,0,53,5377,0,235, - 3412,0,48,5399,0,48,40,0,5378,53, - 0,5377,53,0,130,2547,0,129,2547,0, - 30,506,0,5686,431,0,1096,431,0,1, - 5401,0,1,42,0,52,40,0,1,94, - 0,226,1,5401,0,226,1,42,0,226, - 405,0,40,5378,0,40,5377,0,40,5378, - 2,0,40,5377,2,0,5378,39,0,5377, - 39,0,5399,50,0,50,40,0,5370,396, - 0,5369,396,0,1,4391,0,1,3535,0, - 1,797,0,226,404,0,2735,315,0,5686, - 97,0,1096,97,0,1,5686,0,1,1096, - 0,277,4088,0,1,2533,0,1,2538,0, - 5368,1,0,487,4080,0,226,1,0,226, - 1,3401,0,5370,226,0,5369,226,0,3586, - 226,0,159,178,0,8,10,0,226,166, - 0,226,219,0,226,218,0,188,3635,0 + 156,156,113,113,187,187,187,130,130,123, + 123,188,188,170,170,958,38,1540,1506,808, + 915,3395,34,856,31,35,30,32,1627,260, + 29,27,55,978,108,79,80,110,986,507, + 1088,1028,1148,1096,1278,272,1182,1157,1237,1192, + 1309,82,1359,145,327,3199,160,146,1097,38, + 795,36,808,1330,2521,34,856,43,35,4630, + 2395,38,795,36,808,230,2195,34,856,31, + 35,30,32,782,260,29,27,55,978,108, + 79,80,110,986,1182,1088,1028,1148,1096,1396, + 371,1182,2059,233,228,229,348,2120,273,2351, + 38,795,36,808,1209,2195,34,856,31,35, + 30,32,782,260,29,27,55,978,89,79, + 80,240,243,246,249,3370,2056,38,795,36, + 808,1626,4182,34,856,31,35,62,32,327, + 38,499,2599,808,984,561,160,3148,2901,4199, + 4272,4333,4337,1540,38,795,36,808,2399,2195, + 34,856,31,35,2423,32,782,260,29,27, + 55,978,108,79,80,110,986,339,1088,1028, + 1148,1096,484,856,1182,1157,1237,1192,1309,369, + 1359,145,327,2925,504,146,2165,38,795,36, + 808,2411,4182,34,856,31,35,61,32,327, + 38,2658,2644,808,505,1540,38,795,36,808, + 2399,2195,34,856,31,35,2423,32,782,260, + 29,27,55,978,108,79,80,110,986,339, + 1088,1028,1148,1096,1008,1314,1182,1157,1237,1192, + 1309,554,1359,145,1071,590,504,146,1385,433, + 66,2493,1031,2411,1097,38,795,36,808,1412, + 429,34,856,2512,35,1279,505,327,38,1497, + 381,808,500,1740,38,795,36,808,1493,2195, + 34,856,31,35,30,32,782,260,29,27, + 55,978,108,79,80,110,986,37,1088,1028, + 1148,1096,349,284,1182,1157,1237,1192,1309,2414, + 1359,145,2452,568,144,146,2138,2173,38,387, + 65,1650,38,795,36,808,1853,4194,34,856, + 31,35,64,32,500,1805,38,795,36,808, + 2399,2195,34,856,31,35,2423,32,782,260, + 29,27,55,978,108,79,80,110,986,339, + 1088,1028,1148,1096,1963,2466,1182,1157,1237,1192, + 1309,2524,1359,145,2452,2587,504,146,1650,38, + 795,36,808,2411,4194,34,856,31,35,63, + 32,1606,38,795,36,808,505,2195,34,856, + 31,35,30,32,782,260,29,27,55,978, + 108,79,80,110,986,30,1088,1028,1148,1096, + 673,1209,1182,1157,1237,1192,1309,3306,1359,145, + 1353,321,374,146,1856,38,795,36,808,1209, + 4194,34,856,31,35,30,32,1021,2610,497, + 66,38,1454,46,808,377,943,45,856,1678, + 38,795,36,808,501,2195,34,856,31,35, + 30,32,782,260,29,27,55,978,108,79, + 80,110,986,442,1088,1028,1148,1096,351,1209, + 1182,1157,1237,1192,1309,519,1359,145,235,446, + 374,146,1097,38,795,36,808,1038,1021,34, + 856,2655,35,2520,38,278,378,445,1979,38, + 795,36,808,375,2195,34,856,31,35,30, + 32,782,260,29,27,55,978,108,79,80, + 110,986,2466,1088,1028,1148,1096,325,331,1182, + 1157,1237,1192,1309,2490,1359,145,409,1207,160, + 146,327,38,499,275,808,2421,4025,1038,4096, + 327,38,2694,327,38,1497,381,808,2190,1979, + 38,795,36,808,379,2195,34,856,31,35, + 30,32,782,260,29,27,55,978,108,79, + 80,110,986,272,1088,1028,1148,1096,330,331, + 1182,1157,1237,1192,1309,1155,1359,145,153,568, + 368,146,1979,38,795,36,808,1006,2195,34, + 856,31,35,30,32,782,260,29,27,55, + 978,108,79,80,110,986,30,1088,1028,1148, + 1096,735,1295,1182,1157,1237,1192,1309,561,1359, + 145,508,1092,368,146,350,274,1979,38,795, + 36,808,519,2195,34,856,31,35,30,32, + 782,260,29,27,55,978,108,79,80,110, + 986,2523,1088,1028,1148,1096,2399,483,1182,1157, + 1237,1192,1309,367,1359,145,1209,931,368,146, + 1914,38,795,36,808,339,2195,34,856,31, + 35,30,32,782,260,29,27,55,978,108, + 79,80,110,986,590,1088,1028,1148,1096,4061, + 4075,1182,1157,1237,1192,1309,366,1359,145,508, + 1444,374,146,2975,590,1979,38,795,36,808, + 4147,2195,34,856,31,35,30,32,782,260, + 29,27,55,978,108,79,80,110,986,155, + 1088,1028,1148,1096,56,4002,1182,1157,1237,1192, + 1309,364,1359,145,327,3714,161,146,2171,1979, + 38,795,36,808,1209,2195,34,856,31,35, + 30,32,782,260,29,27,55,978,108,79, + 80,110,986,1786,1088,1028,1148,1096,2399,1091, + 1182,1157,1237,1192,1309,372,1359,145,395,333, + 157,146,1979,38,795,36,808,339,2195,34, + 856,31,35,30,32,782,260,29,27,55, + 978,108,79,80,110,986,1056,1088,1028,1148, + 1096,1697,3163,1182,1157,1237,1192,1309,3701,1359, + 145,420,323,156,146,1979,38,795,36,808, + 1209,2195,34,856,31,35,30,32,782,260, + 29,27,55,978,108,79,80,110,986,1056, + 1088,1028,1148,1096,2296,3163,1182,1157,1237,1192, + 1309,328,1359,145,1899,1584,155,146,1979,38, + 795,36,808,1209,2195,34,856,31,35,30, + 32,782,260,29,27,55,978,108,79,80, + 110,986,1056,1088,1028,1148,1096,1654,3163,1182, + 1157,1237,1192,1309,328,1359,145,2008,99,154, + 146,1979,38,795,36,808,1029,2195,34,856, + 31,35,30,32,782,260,29,27,55,978, + 108,79,80,110,986,2533,1088,1028,1148,1096, + 3504,1155,1182,1157,1237,1192,1309,328,1359,145, + 1145,100,153,146,1979,38,795,36,808,154, + 2195,34,856,31,35,30,32,782,260,29, + 27,55,978,108,79,80,110,986,1056,1088, + 1028,1148,1096,3349,3163,1182,1157,1237,1192,1309, + 90,1359,145,104,589,152,146,1979,38,795, + 36,808,1377,2195,34,856,31,35,30,32, + 782,260,29,27,55,978,108,79,80,110, + 986,2448,1088,1028,1148,1096,2399,1410,1182,1157, + 1237,1192,1309,328,1359,145,691,1525,151,146, + 1979,38,795,36,808,2603,2195,34,856,31, + 35,30,32,782,260,29,27,55,978,108, + 79,80,110,986,1658,1088,1028,1148,1096,4590, + 3163,1182,1157,1237,1192,1309,1745,1359,145,2975, + 1566,150,146,1979,38,795,36,808,2095,2195, + 34,856,31,35,30,32,782,260,29,27, + 55,978,108,79,80,110,986,1667,1088,1028, + 1148,1096,1740,356,1182,1157,1237,1192,1309,329, + 1359,145,2488,952,149,146,1979,38,795,36, + 808,1333,2195,34,856,31,35,30,32,782, + 260,29,27,55,978,108,79,80,110,986, + 1056,1088,1028,1148,1096,2296,3163,1182,1157,1237, + 1192,1309,508,1359,145,1769,588,148,146,1979, + 38,795,36,808,675,2195,34,856,31,35, + 30,32,782,260,29,27,55,978,108,79, + 80,110,986,1729,1088,1028,1148,1096,28,3163, + 1182,1157,1237,1192,1309,1783,1359,145,762,849, + 147,146,1870,38,795,36,808,1424,2195,34, + 856,31,35,30,32,782,260,29,27,55, + 978,108,79,80,110,986,1663,1088,1028,1148, + 1096,2893,670,1182,1157,1237,1192,1309,1783,2539, + 166,1979,38,795,36,808,310,2195,34,856, + 31,35,30,32,782,260,29,27,55,978, + 108,79,80,110,986,2183,1088,1028,1148,1096, + 95,382,1182,1157,1237,1192,1309,96,1359,145, + 324,91,142,146,104,327,38,1497,381,808, + 184,2303,38,795,36,808,1334,2195,34,856, + 31,35,30,32,782,260,29,27,55,978, + 108,79,80,110,986,272,1088,1028,1148,1096, + 98,757,1182,1157,1237,1192,1309,508,1359,145, + 568,1492,191,146,2395,38,795,36,808,1379, + 2195,34,856,31,35,30,32,782,260,29, + 27,55,978,108,79,80,110,986,1424,1088, + 1028,1148,1096,73,590,1182,1157,1237,1192,1309, + 4697,2539,166,2395,38,795,36,808,77,2195, + 34,856,31,35,30,32,782,260,29,27, + 55,978,108,79,80,110,986,1526,1088,1028, + 1148,1096,2424,1114,1182,1157,1237,1192,1309,2544, + 2539,166,1600,38,499,275,808,327,38,1497, + 381,808,281,2395,38,795,36,808,288,2195, + 34,856,31,35,30,32,782,260,29,27, + 55,978,108,79,80,110,986,272,1088,1028, + 1148,1096,1297,74,1182,1157,1237,1192,1309,1206, + 2539,166,2395,38,795,36,808,1463,2195,34, + 856,31,35,30,32,782,260,29,27,55, + 978,108,79,80,110,986,30,1088,1028,1148, + 1096,977,2066,1182,1157,1237,1192,1309,4712,2539, + 166,1600,38,499,2999,808,508,426,383,415, + 336,1767,2395,38,795,36,808,411,2195,34, + 856,31,35,30,32,782,260,29,27,55, + 978,108,79,80,110,986,30,1088,1028,1148, + 1096,4622,58,1182,1157,1237,1192,1309,45,2539, + 166,2439,38,795,36,808,410,2195,34,856, + 31,35,30,32,782,260,29,27,55,978, + 108,79,80,110,986,30,1088,1028,1148,1096, + 1997,1093,1182,1157,1237,1192,1309,2809,2539,166, + 327,38,499,279,808,1522,38,1497,381,808, + 1424,2395,38,795,36,808,413,2195,34,856, + 31,35,30,32,782,260,29,27,55,978, + 108,79,80,110,986,54,1088,1028,1148,1096, + 2708,590,1182,1157,1237,1192,2181,4761,1455,778, + 2395,38,795,36,808,3698,2195,34,856,31, + 35,30,32,782,260,29,27,55,978,108, + 79,80,110,986,282,1088,1028,1148,1096,508, + 393,1182,1157,1237,2111,2395,38,795,36,808, + 1379,2195,34,856,31,35,30,32,782,260, + 29,27,55,978,108,79,80,110,986,1862, + 1088,1028,1148,1096,2415,57,1182,1157,2052,2395, + 38,795,36,808,1831,2195,34,856,31,35, + 30,32,782,260,29,27,55,978,108,79, + 80,110,986,30,1088,1028,1148,1096,2703,508, + 1931,2395,38,795,36,808,1975,2195,34,856, + 31,35,30,32,782,260,29,27,55,978, + 108,79,80,110,986,2050,1088,1028,1148,2002, + 2395,38,795,36,808,346,2195,34,856,31, + 35,30,32,782,260,29,27,55,978,108, + 79,80,110,986,75,1088,1028,1148,2009,2483, + 38,1497,381,808,2059,3011,327,38,499,277, + 808,1968,235,260,1799,1526,1439,508,1259,38, + 1497,381,808,1361,2395,38,795,36,808,272, + 2195,34,856,31,35,30,32,782,260,29, + 27,55,978,108,79,80,110,986,272,1088, + 1028,1756,240,92,2395,38,795,36,808,230, + 2195,34,856,31,35,30,32,782,260,29, + 27,55,978,108,79,80,110,986,347,1088, + 1028,1764,327,38,280,30,2024,233,228,229, + 2643,2399,273,327,38,1497,381,808,327,38, + 1497,381,808,1800,3645,3629,340,765,549,345, + 339,2775,2576,855,338,240,243,246,249,3370, + 1187,778,1707,54,2142,1626,384,415,419,327, + 38,289,76,30,604,1526,1455,2973,1145,2107, + 1526,3148,2901,4199,4272,4333,4337,2395,38,795, + 36,808,397,2195,34,856,31,35,30,32, + 782,260,29,27,55,978,108,79,80,110, + 986,2147,1088,1028,1798,2395,38,795,36,808, + 2120,2195,34,856,31,35,30,32,782,260, + 29,27,55,978,108,79,80,110,986,2145, + 1088,1028,1799,1105,38,795,36,808,1482,4675, + 34,856,31,35,335,32,2395,38,795,36, + 808,508,2195,34,856,31,35,30,32,782, + 260,29,27,55,978,108,79,80,110,986, + 1278,1088,1832,1425,30,1399,386,415,2399,2535, + 2399,385,415,442,1399,2576,1278,3035,2025,2399, + 316,2745,318,2540,1964,311,894,2603,2684,2603, + 347,428,327,38,1497,381,808,2631,2603,3644, + 2957,1083,38,795,36,808,4550,4675,34,856, + 31,35,335,32,2193,298,3738,2466,340,765, + 549,345,422,1341,2925,508,2954,2395,38,795, + 36,808,371,2195,34,856,31,35,30,32, + 782,260,29,27,55,978,108,79,80,110, + 986,30,1088,1921,2656,355,2958,491,316,2745, + 318,3146,433,311,894,2080,491,936,347,1976, + 2887,2749,2774,327,38,1497,381,808,2998,1531, + 38,795,36,808,1482,4675,34,856,31,35, + 335,32,488,490,430,2508,340,765,549,345, + 361,489,490,421,2339,2395,38,795,36,808, + 511,2195,34,856,31,35,30,32,782,260, + 29,27,55,978,108,79,80,110,986,590, + 1678,3663,322,3200,508,4767,316,2745,318,1964, + 320,311,894,1019,283,508,347,519,4468,1722, + 38,439,2520,38,276,4782,514,1219,38,3135, + 36,808,1568,4706,34,856,31,35,335,32, + 72,1958,2941,508,340,765,549,345,327,38, + 289,71,515,2395,38,795,36,808,508,2195, + 34,856,31,35,30,32,782,260,29,27, + 55,978,108,79,80,110,986,508,1712,70, + 347,508,328,175,316,2745,318,2406,525,311, + 894,1023,30,590,69,30,1349,3658,1466,4816, + 1048,2399,4252,1048,905,2092,1941,227,340,765, + 549,345,158,3417,1425,2139,2339,60,4526,2399, + 227,1,3045,182,2417,2211,525,158,202,213, + 4606,2511,201,210,211,212,214,523,2603,171, + 508,1328,398,4509,2214,227,2211,2572,1341,2925, + 158,230,185,169,170,172,173,174,175,176, + 3045,182,399,1344,2916,2495,202,213,4606,590, + 201,210,211,212,214,4828,59,171,1385,242, + 228,229,432,3233,3257,183,406,3149,508,2589, + 186,169,170,172,173,174,175,176,4030,2681, + 2915,414,38,1497,381,808,355,2230,1446,38, + 795,36,808,1568,4706,34,856,31,35,335, + 32,3066,2749,2774,319,30,508,2152,659,334, + 4055,54,2399,2189,1048,2576,2360,2640,510,2525, + 38,276,2399,784,1455,2522,327,38,499,3125, + 808,227,2377,400,403,1103,508,2931,162,510, + 2576,227,103,328,568,316,2745,318,530,283, + 311,894,204,213,4606,181,203,210,211,212, + 214,2677,204,213,4606,1670,203,210,211,212, + 214,2570,3534,205,1100,2916,2200,2941,568,4526, + 197,508,3554,205,3056,2916,215,206,207,208, + 209,290,291,292,293,2650,215,206,207,208, + 209,290,291,292,293,1632,2753,2576,2106,2581, + 305,2399,4218,3619,1048,2764,30,437,2606,2558, + 2399,1531,4218,3736,327,38,1497,381,808,3354, + 227,237,260,327,38,1497,381,808,158,227, + 3739,327,38,1497,381,808,2530,196,3203,199, + 1100,204,213,4606,420,203,210,211,212,214, + 204,213,4606,54,203,210,211,212,214,2576, + 1940,54,205,2576,2916,30,1455,2747,230,2378, + 1048,205,517,2916,51,215,206,207,208,209, + 290,291,292,293,215,206,207,208,209,290, + 291,292,293,2656,158,1436,238,228,229,200, + 617,4218,4007,198,1927,327,38,1497,381,808, + 4218,4082,2395,38,1540,1506,808,2702,2195,34, + 856,31,35,30,32,782,260,29,27,55, + 978,108,79,80,87,438,2703,2395,38,795, + 36,808,37,2195,34,856,31,35,30,32, + 782,260,29,27,55,978,108,79,80,110, + 1713,2395,38,795,36,808,2662,2195,34,856, + 31,35,30,32,782,260,29,27,55,978, + 108,79,80,110,1721,2395,38,795,36,808, + 508,2195,34,856,31,35,30,32,782,260, + 29,27,55,978,108,79,80,110,1755,1300, + 38,795,36,808,2576,4706,34,856,31,35, + 335,32,30,30,30,2668,3569,1048,1048,1048, + 1387,38,2520,2299,808,2576,4344,2173,38,387, + 334,262,30,2692,1278,1048,525,2924,2173,38, + 387,158,158,158,219,2215,38,1497,381,808, + 54,1752,1236,2148,329,227,316,2745,318,162, + 158,312,894,1455,729,3660,347,30,30,349, + 3045,182,4092,2645,525,54,202,213,4606,1851, + 201,210,211,212,214,4691,30,171,1455,1084, + 513,2580,2300,227,342,765,549,345,158,1103, + 3705,169,170,172,173,174,175,176,3045,182, + 2704,1958,38,439,202,213,4606,4782,201,210, + 211,212,214,436,2709,171,2507,334,525,2269, + 2175,525,1048,2712,2715,508,2723,3365,178,169, + 170,172,173,174,175,176,30,227,3846,2725, + 4049,895,158,2685,1043,158,162,3171,2399,30, + 3163,523,3045,182,1048,164,525,508,202,213, + 4606,3473,201,210,211,212,214,2603,2736,171, + 508,30,30,2092,30,227,2399,1072,4050,4120, + 158,2686,189,169,170,172,173,174,175,176, + 3045,182,508,3511,2776,339,202,213,4606,329, + 201,210,211,212,214,610,3565,171,2507,2576, + 525,347,30,1048,47,2571,2891,2399,3375,2411, + 3869,169,170,172,173,174,175,176,3384,227, + 418,1278,1549,334,158,491,339,158,1048,342, + 765,549,345,697,3045,182,2576,164,525,302, + 202,213,4606,2716,201,210,211,212,214,1424, + 2411,171,162,2738,436,3233,3257,227,2582,2745, + 488,490,158,1584,192,169,170,172,173,174, + 175,176,3045,182,2576,2741,4051,512,202,213, + 4606,3568,201,210,211,212,214,784,1021,171, + 2507,30,525,30,30,1048,3503,511,2935,2399, + 3606,3690,188,169,170,172,173,174,175,176, + 30,227,30,296,301,2697,158,1048,339,158, + 2509,2743,2950,3171,88,871,3045,182,2724,164, + 525,508,202,213,4606,2557,201,210,211,212, + 214,158,2411,171,2748,2737,2576,30,1038,227, + 4121,2814,3037,2576,158,1592,195,169,170,172, + 173,174,175,176,3045,182,1424,3591,30,2763, + 202,213,4606,2956,201,210,211,212,214,30, + 30,171,30,1969,3047,3136,4541,3145,327,331, + 49,2571,3716,220,194,169,170,172,173,174, + 175,176,2395,38,795,36,808,2775,2195,34, + 856,31,35,30,32,782,260,29,27,55, + 978,108,79,80,88,2395,38,795,36,808, + 303,2195,34,856,31,35,30,32,782,260, + 29,27,55,978,108,79,80,86,2395,38, + 795,36,808,2749,2195,34,856,31,35,30, + 32,782,260,29,27,55,978,108,79,80, + 85,2395,38,795,36,808,2799,2195,34,856, + 31,35,30,32,782,260,29,27,55,978, + 108,79,80,84,2395,38,795,36,808,169, + 2195,34,856,31,35,30,32,782,260,29, + 27,55,978,108,79,80,83,2395,38,795, + 36,808,5309,2195,34,856,31,35,30,32, + 782,260,29,27,55,978,108,79,80,82, + 2395,38,795,36,808,5309,2195,34,856,31, + 35,30,32,782,260,29,27,55,978,108, + 79,80,81,2252,38,795,36,808,5309,2195, + 34,856,31,35,30,32,782,260,29,27, + 55,978,108,79,80,106,2395,38,795,36, + 808,5309,2195,34,856,31,35,30,32,782, + 260,29,27,55,978,108,79,80,112,2395, + 38,795,36,808,5309,2195,34,856,31,35, + 30,32,782,260,29,27,55,978,108,79, + 80,111,2395,38,795,36,808,1424,2195,34, + 856,31,35,30,32,782,260,29,27,55, + 978,108,79,80,109,2395,38,795,36,808, + 2576,2195,34,856,31,35,30,32,782,260, + 29,27,55,978,108,79,80,107,2846,30, + 508,2507,5309,2399,4306,1021,1048,2038,1851,5309, + 334,2690,2399,30,4691,1048,2759,5309,2399,30, + 297,295,227,2576,921,327,38,1497,381,808, + 158,227,1424,30,5309,5309,373,339,1048,162, + 164,5309,1021,204,213,4606,1661,203,210,211, + 212,214,204,213,4606,54,203,210,211,212, + 214,2411,158,193,205,1038,2916,5309,1455,2832, + 1021,2856,2825,205,1617,2916,2399,485,206,207, + 208,209,290,291,292,293,507,206,207,208, + 209,290,291,292,293,227,294,327,38,1497, + 381,808,1038,4239,5309,3496,331,5309,5309,3036, + 376,5309,2092,5309,2938,5309,204,213,4606,2399, + 203,210,211,212,214,5309,5309,54,5309,5309, + 1038,5309,501,38,1497,381,808,205,227,2916, + 1455,3049,3532,331,327,38,1497,381,808,1386, + 304,206,207,208,209,290,291,292,293,204, + 213,4606,54,203,210,211,212,214,2671,417, + 3680,331,508,2399,54,1455,1865,5309,5309,5309, + 205,5309,2916,5309,5309,5309,2418,1455,778,508, + 508,3101,227,508,206,207,208,209,290,291, + 292,293,327,38,1497,381,808,5309,4073,230, + 5309,5309,5309,204,213,4606,5309,203,210,211, + 212,214,1739,5309,5309,3657,3695,5309,5309,5309, + 5309,5309,54,5309,205,5309,2916,245,228,229, + 5309,5309,5309,5309,5309,1455,2988,216,206,207, + 208,209,290,291,292,293,2072,38,795,36, + 808,1568,4675,34,856,31,35,335,32,1455, + 38,3135,36,808,1568,4675,34,856,31,35, + 335,32,230,2051,5309,5309,5309,2546,38,1497, + 381,808,5309,3011,1309,38,1497,381,808,5309, + 236,260,5309,5309,5309,5309,5309,5309,5309,5309, + 248,228,229,316,2745,318,5309,272,311,894, + 334,5309,5309,5309,54,1048,316,2745,318,5309, + 5309,311,894,1670,5309,5309,5309,1455,52,5309, + 5309,5309,5309,230,5309,5309,905,230,1043,162, + 5309,5309,5309,1514,38,795,36,808,1568,4675, + 34,856,31,35,335,32,5309,5309,5309,5309, + 5309,251,228,229,30,234,228,229,305,2399, + 273,1514,38,795,36,808,1568,4675,34,856, + 31,35,335,32,5309,5309,5309,3723,339,5309, + 5309,5309,5309,241,244,247,250,3370,3739,5309, + 316,2745,318,1626,5309,311,894,5309,1057,3111, + 5309,5309,2411,2399,3163,5309,5309,5309,407,3149, + 1670,5309,5309,5309,5309,2705,5309,5309,316,2745, + 318,5309,2603,311,894,1514,38,795,36,808, + 1568,4675,34,856,31,35,335,32,2998,1159, + 38,795,36,808,2837,4675,34,856,31,35, + 335,32,5309,328,5309,306,1173,38,795,36, + 808,5309,4706,34,856,31,35,335,32,5309, + 30,2507,5309,5309,5309,1048,1048,5309,5309,394, + 1057,5309,316,2745,318,2399,3163,311,894,3504, + 355,5309,5309,5309,5309,5309,313,3062,318,158, + 158,5309,3823,5309,2603,2621,2749,2774,5309,2853, + 164,329,5309,316,2745,318,5309,5309,314,894, + 1173,38,795,36,808,5309,4706,34,856,31, + 35,335,32,5309,5309,328,1592,38,795,36, + 808,3018,4675,34,856,31,35,335,32,5309, + 5309,5309,1267,5309,5309,5309,5309,2399,4252,5309, + 414,38,1497,381,808,5309,5309,5309,5309,5309, + 5309,3349,355,4240,5309,329,227,316,2745,318, + 5309,5309,312,894,5309,5309,30,2621,2749,2774, + 54,2399,3235,313,3062,318,5309,1328,398,4509, + 5309,5309,5309,1455,52,1972,38,1497,381,808, + 339,5309,5309,5309,2482,5309,5309,5309,399,5309, + 2916,1972,38,1497,381,808,5309,501,38,1497, + 381,808,5309,5309,2411,54,1972,38,1497,381, + 808,5309,1972,38,1497,381,808,495,1455,3009, + 5309,54,5309,5309,5309,5309,2915,54,5309,2017, + 5309,5309,5309,5309,1455,52,54,5309,5309,5309, + 1455,52,54,5309,5309,2498,5309,5309,30,1455, + 3043,1032,2210,525,5309,1455,52,2399,5309,3235, + 2017,1972,38,1497,381,808,2672,1972,38,1497, + 381,808,339,5309,5309,5309,339,158,5309,400, + 402,5309,1972,38,1497,381,808,1752,518,5309, + 5309,54,5309,5309,30,5309,2411,54,5309,1048, + 2411,1807,5309,2906,1455,52,5309,5309,5309,1279, + 1455,52,54,521,5309,2753,2220,38,1497,381, + 808,3154,5309,158,5309,1455,52,5309,2347,38, + 1497,381,808,2868,5309,5309,3245,30,30,30, + 30,5309,525,525,525,2399,54,5309,5309,30, + 30,30,5309,5309,2399,1048,1048,5309,54,1455, + 52,339,339,339,339,5309,158,158,158,5309, + 2529,1455,52,339,5309,5309,190,190,190,158, + 158,5309,2858,5309,5309,4495,4495,4495,2411,1420, + 4222,5309,5309,5309,5309,5309,5309,2411,5309,5309, + 5309,493,5309,5309,5309,5309,5309,5309,5309,5309, + 522,5309,5309,5309,5309,5309,5309,5309,5309,5309, + 5309,5309,5309,5309,5309,5309,5309,5309,5309,5309, + 5309,5309,5309,5309,5309,5309,5309,5309,5309,5309, + 3176,5309,5309,5309,5309,5309,5309,5309,5309,5309, + 5309,5309,3485,3517,3530,5309,0,5327,42,0, + 5326,42,0,499,33,0,440,1176,0,41, + 5327,0,41,5326,0,128,2547,0,1,430, + 0,42,5327,0,42,5326,0,444,951,0, + 443,969,0,499,44,0,2905,93,0,499, + 380,0,36,381,0,381,36,0,33,380, + 0,380,33,0,499,33,380,0,797,42, + 0,1,775,0,1,5580,0,1,5579,0, + 1,5578,0,1,5577,0,1,5576,0,1, + 5575,0,1,5574,0,1,5573,0,1,5572, + 0,1,5571,0,1,5570,0,1,5327,42, + 0,1,5326,42,0,1,980,0,5541,239, + 0,5540,239,0,5643,239,0,5642,239,0, + 5568,239,0,5567,239,0,5566,239,0,5565, + 239,0,5564,239,0,5563,239,0,5562,239, + 0,5561,239,0,5580,239,0,5579,239,0, + 5578,239,0,5577,239,0,5576,239,0,5575, + 239,0,5574,239,0,5573,239,0,5572,239, + 0,5571,239,0,5570,239,0,42,239,5327, + 0,42,239,5326,0,239,5350,0,53,5327, + 0,53,5326,0,235,3039,0,48,5348,0, + 48,40,0,5327,53,0,5326,53,0,130, + 2547,0,129,2547,0,30,506,0,5635,431, + 0,2086,431,0,1,5350,0,1,42,0, + 52,40,0,1,94,0,226,1,5350,0, + 226,1,42,0,226,405,0,40,5327,0, + 40,5326,0,40,5327,2,0,40,5326,2, + 0,5327,39,0,5326,39,0,5348,50,0, + 50,40,0,5319,396,0,5318,396,0,1, + 4431,0,1,2486,0,1,797,0,226,404, + 0,3382,315,0,5635,97,0,2086,97,0, + 1,5635,0,1,2086,0,277,3477,0,1, + 847,0,1,3377,0,5317,1,0,487,4057, + 0,226,1,0,226,1,3483,0,5319,226, + 0,5318,226,0,3694,226,0,8,10,0, + 226,218,0,226,217,0,187,3603,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1093,402 +1084,311 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static byte termCheck[] = {0, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, + 20,21,22,23,24,25,26,27,28,0, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,0,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,63,64,65,66,0,68,0, - 1,2,72,6,74,75,7,77,78,79, - 80,81,23,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,76,48,49,50,51, - 52,53,54,55,56,57,58,0,60,61, - 62,63,64,65,66,0,68,0,91,92, - 72,6,74,75,0,77,78,79,80,81, - 23,83,84,85,86,87,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,45,46,76,48,49,50,51,52,53, - 54,55,56,57,58,0,60,61,62,63, - 64,65,66,0,68,0,91,92,0,6, - 74,75,95,77,78,79,80,81,23,83, - 84,85,86,87,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,45, - 46,76,48,49,50,51,52,53,54,55, - 56,57,58,0,60,61,62,63,64,65, - 66,0,68,0,91,92,88,89,74,75, - 9,77,78,79,80,81,23,83,84,85, - 86,87,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,45,46,76, - 48,49,50,51,52,53,54,55,56,57, - 58,0,60,61,62,63,64,65,66,0, - 68,10,11,0,1,2,74,75,5,77, - 78,79,80,81,101,83,84,85,86,87, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,0,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,63,64,65,66,8,68,0, - 1,2,0,4,74,75,0,77,78,79, - 80,81,0,83,84,85,86,87,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,59,48,49,50,51, - 52,53,54,55,56,57,58,100,60,61, - 62,63,64,65,66,73,68,0,1,2, - 0,4,74,75,0,77,78,79,80,81, - 0,83,84,85,86,87,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,45,46,59,48,49,50,51,52,53, - 54,55,56,57,58,0,60,61,62,63, - 64,65,66,8,68,0,1,2,88,89, - 74,75,0,77,78,79,80,81,0,83, - 84,85,86,87,0,1,2,3,4,5, + 40,41,42,43,0,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,61,62,63,64,0,1,2,68,69, + 70,71,7,73,74,75,76,77,78,79, + 80,0,82,83,84,85,86,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,25,26,27,28,72,30,31,32, + 33,34,35,36,37,38,39,40,41,42, + 43,0,45,46,47,48,49,50,51,52, + 53,54,55,56,57,58,59,66,61,62, + 63,64,0,0,0,68,69,70,71,0, + 73,74,75,76,77,78,79,80,0,82, + 83,84,85,86,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,44,45, - 46,59,48,49,50,51,52,53,54,55, - 56,57,58,0,60,61,62,63,64,65, - 66,73,68,0,1,2,0,0,74,75, - 3,77,78,79,80,81,0,83,84,85, - 86,87,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,45,46,0, - 48,49,50,51,52,53,54,55,56,57, - 58,0,60,61,62,63,64,65,66,73, - 68,0,1,2,88,89,74,75,0,77, - 78,79,80,81,0,83,84,85,86,87, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,44,45,46,59,48,49, - 50,51,52,53,54,55,56,57,58,0, - 60,61,62,63,64,65,66,73,68,10, - 11,0,1,2,74,75,0,77,78,79, - 80,81,0,83,84,85,86,87,0,1, + 26,27,28,44,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,65,45, + 46,47,48,49,50,51,52,53,54,55, + 56,57,58,59,0,61,62,63,64,0, + 88,89,68,69,70,11,12,73,74,75, + 76,77,78,79,80,101,82,83,84,85, + 86,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 122,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,66,45,46,47,48, + 49,50,51,52,53,54,55,56,57,58, + 59,0,61,62,63,64,0,1,2,68, + 69,70,0,0,73,74,75,76,77,78, + 79,80,9,82,83,84,85,86,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,28,29,30,31, + 22,23,24,25,26,27,28,0,30,31, 32,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,59,48,49,50,51, - 52,53,54,55,56,57,58,0,60,0, - 3,63,3,65,66,0,1,2,3,4, + 42,43,60,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,0,61, + 62,63,64,0,1,2,68,69,70,0, + 87,73,74,75,76,77,78,79,80,0, + 82,83,84,85,86,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,0,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,42,43,44, - 0,46,0,48,49,50,51,52,53,54, - 55,56,57,58,67,60,67,0,63,0, - 65,66,0,1,2,3,4,5,6,7, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,0,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,60, + 45,46,47,48,49,50,51,52,53,54, + 55,56,57,58,59,66,61,62,63,64, + 0,1,2,68,69,70,0,0,73,74, + 75,76,77,78,79,80,9,82,83,84, + 85,86,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,67,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,44,67,46,67, + 18,19,20,21,22,23,24,25,26,27, + 28,0,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,60,45,46,47, 48,49,50,51,52,53,54,55,56,57, - 58,0,60,0,0,63,0,65,66,0, + 58,59,0,61,62,63,64,0,0,0, + 68,69,70,4,87,73,74,75,76,77, + 78,79,80,0,82,83,84,85,86,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,0,24,25,26,27,28,29,30, + 21,22,23,24,25,26,27,28,0,30, 31,32,33,34,35,36,37,38,39,40, - 41,42,43,44,0,46,119,48,49,50, - 51,52,53,54,55,56,57,58,62,60, - 69,70,63,70,65,66,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,67, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 44,67,46,119,48,49,50,51,52,53, - 54,55,56,57,58,0,60,0,3,63, - 0,65,66,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,0,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,0,44,0,49, - 50,48,49,50,51,52,53,54,55,56, - 57,58,0,60,0,0,63,3,65,66, - 6,0,8,47,10,11,0,1,2,3, - 4,5,6,7,8,88,89,23,24,25, - 44,0,1,2,48,49,50,51,52,53, - 54,55,56,57,58,0,44,59,0,45, - 48,49,50,51,52,53,54,55,56,57, - 58,73,0,59,0,1,2,3,4,0, - 6,67,8,69,70,71,72,73,47,0, - 76,70,3,67,0,1,2,71,4,5, - 0,7,88,89,90,91,92,93,94,95, - 96,97,98,99,100,101,102,103,104,105, - 106,107,108,109,110,111,112,113,0,71, - 0,117,118,119,0,121,0,3,10,11, - 6,67,8,71,10,11,0,1,2,3, - 4,5,6,7,8,100,67,23,24,25, - 102,0,104,105,106,107,108,109,110,111, - 112,113,0,1,2,117,4,0,6,45, - 8,0,1,2,3,4,5,6,7,8, - 0,1,2,59,4,0,6,0,8,69, - 23,67,102,69,70,71,72,73,0,73, - 76,0,4,23,6,4,8,117,23,73, - 59,0,88,89,90,91,92,93,94,95, - 96,97,98,99,100,101,102,103,104,105, - 106,107,108,109,110,111,112,113,67,72, - 0,117,118,119,4,121,0,1,2,3, - 4,5,6,7,8,9,76,72,12,13, - 14,15,16,17,18,19,20,21,22,23, - 0,1,2,0,4,95,6,4,8,0, - 1,2,0,1,2,3,4,5,48,7, - 44,45,46,47,48,49,50,51,52,53, - 54,55,56,57,58,23,60,61,0,63, - 99,65,66,0,0,0,1,2,72,73, - 0,42,43,3,0,1,2,45,82,0, - 1,2,3,4,5,6,7,8,9,26, - 0,12,13,14,15,16,17,18,19,20, - 21,22,23,0,114,115,116,42,43,0, - 114,115,116,4,0,0,1,2,3,4, - 5,47,7,44,45,46,47,48,49,50, - 51,52,53,54,55,56,57,58,23,60, - 61,71,63,0,65,66,88,89,0,1, - 2,72,73,5,0,7,0,48,44,3, - 45,82,48,49,50,51,52,53,54,55, - 56,57,58,0,1,2,3,4,5,6, - 7,8,0,1,2,3,4,5,6,7, - 8,101,0,114,115,116,0,1,2,3, + 41,42,43,65,45,46,47,48,49,50, + 51,52,53,54,55,56,57,58,59,0, + 61,62,63,64,0,88,89,68,69,70, + 11,12,73,74,75,76,77,78,79,80, + 0,82,83,84,85,86,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,32,33, + 24,25,26,27,28,0,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, - 0,45,46,0,1,2,3,4,5,6, + 50,45,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,0,61,62,63, + 64,0,88,89,68,69,70,11,12,73, + 74,75,76,77,78,79,80,0,82,83, + 84,85,86,0,1,2,3,4,5,6, 7,8,9,10,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,43,0,45,46, + 27,28,0,30,31,32,33,34,35,36, + 37,38,39,40,41,42,43,50,45,46, + 47,48,49,50,51,52,53,54,55,56, + 57,58,59,0,61,62,63,64,0,88, + 89,68,69,70,0,0,73,74,75,76, + 77,78,79,80,10,82,83,84,85,86, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, + 20,21,22,23,24,25,26,27,28,44, 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,0,45,46,0,1,2, - 3,4,5,6,7,8,9,10,11,12, + 40,41,42,43,0,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 0,61,62,63,64,0,88,89,68,69, + 70,6,0,73,74,75,76,77,78,79, + 80,0,82,83,84,85,86,0,1,2, + 3,4,5,6,7,8,0,10,11,12, 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,32, + 23,24,25,0,27,28,3,30,31,32, 33,34,35,36,37,38,39,40,41,42, - 43,47,0,46,97,98,0,1,2,0, - 0,0,1,2,3,4,5,0,7,0, - 1,2,3,4,5,0,7,0,0,4, - 3,3,23,76,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,67,70, - 46,0,0,73,59,76,67,0,1,2, + 43,0,45,46,47,0,49,0,51,52, + 53,54,55,8,57,58,59,0,0,62, + 0,3,0,0,0,68,69,70,0,99, + 0,3,90,3,6,121,8,9,96,11, + 12,90,0,1,2,3,4,96,6,27, + 8,44,24,25,26,0,0,1,2,4, + 4,6,6,8,8,9,46,45,46,49, + 0,49,44,51,52,53,54,55,60,57, + 58,59,0,1,2,3,4,5,60,7, + 0,0,0,65,66,67,0,1,2,71, + 72,5,60,7,0,1,2,3,4,5, + 6,7,8,0,44,87,88,89,90,91, + 92,93,94,95,96,97,98,99,100,101, + 102,103,104,105,106,107,108,109,110,111, + 112,113,60,87,0,117,118,3,120,121, + 6,95,8,9,0,11,12,67,0,1, + 2,3,4,5,60,7,0,9,24,25, + 26,67,0,1,2,3,4,5,6,7, + 8,0,1,2,26,4,0,6,44,8, + 4,100,102,101,104,105,106,107,108,109, + 110,111,112,113,60,0,0,117,0,65, + 66,67,6,8,60,71,72,9,0,1, + 2,3,4,5,6,7,8,114,115,116, + 44,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,102,103,104,105, + 106,107,108,109,110,111,112,113,0,1, + 2,117,118,5,120,121,0,1,2,3, + 4,5,6,7,8,9,10,0,0,13, + 14,15,16,17,18,19,20,21,22,23, + 72,0,26,27,0,29,0,91,92,0, + 1,2,3,4,5,6,7,8,0,1, + 2,45,46,0,48,49,3,51,52,53, + 54,55,44,57,58,59,118,50,62,0, + 1,2,0,4,68,69,70,71,72,73, + 0,1,2,0,1,2,0,81,0,1, + 2,3,4,5,6,7,8,9,10,60, + 0,13,14,15,16,17,18,19,20,21, + 22,23,29,60,26,27,0,29,0,50, + 114,115,116,5,0,0,0,1,2,0, + 4,97,98,45,46,99,48,49,0,51, + 52,53,54,55,0,57,58,59,10,0, + 62,0,27,29,3,29,68,69,70,71, + 72,73,90,0,0,65,66,29,96,81, + 45,46,9,9,49,0,51,52,53,54, + 55,65,57,58,59,0,1,2,3,4, + 5,6,7,8,0,1,2,3,4,5, + 62,7,114,115,116,0,1,2,3,4, + 5,6,7,8,65,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,0,0,28,71,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,74, + 0,87,47,0,1,2,3,4,5,95, + 7,0,1,2,0,0,72,3,63,64, + 0,1,2,3,4,5,44,7,73,0, + 1,2,3,4,5,6,7,8,0,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,0,0,28,3,30, + 31,32,33,34,35,36,37,38,39,40, + 41,42,43,0,63,64,47,4,97,98, + 60,0,1,2,3,4,5,72,7,0, + 1,2,63,64,65,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,0,67,28,0,30,31,32,33,34, + 35,36,37,38,39,40,41,42,43,0, + 1,2,47,4,5,50,7,0,1,2, + 0,4,0,6,0,8,0,1,2,9, + 4,9,6,0,8,44,71,0,1,2, 3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, - 76,24,25,26,27,28,29,30,31,32, + 23,24,25,72,0,28,0,30,31,32, 33,34,35,36,37,38,39,40,41,42, - 43,0,0,46,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,0,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,42,43,97,98, - 46,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,0,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,41,42,43,0,69,46,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,0,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,47,69,46,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,0,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,42,43,0, - 69,46,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,0,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,0,69,0,1, - 2,3,4,5,6,7,8,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 22,69,24,25,26,27,28,29,30,31, - 32,33,34,35,36,37,38,39,40,41, - 42,43,67,0,46,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,0,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,42,43,0, - 0,46,0,1,2,3,4,5,6,7, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,0,24,25,26,27, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,41,42,43,0,69,46,0, - 1,2,3,4,5,6,7,8,9,10, + 43,0,1,2,47,4,66,50,0,1, + 2,71,4,71,6,29,8,0,0,0, + 1,2,3,4,5,6,7,8,71,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,0,24,25,26,27,28,29,30, + 21,22,23,24,25,27,0,28,0,30, 31,32,33,34,35,36,37,38,39,40, - 41,42,43,0,95,46,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,0, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 0,69,46,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,120,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,42,43,0,0,46, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,44,114,115,116,48,49,50,51, - 52,53,54,55,56,57,58,0,1,2, - 0,4,62,0,1,2,3,4,5,0, - 7,0,72,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,1,2,0,62, - 0,3,0,1,2,5,4,5,59,7, - 0,1,2,62,74,62,73,0,1,2, - 3,4,5,0,7,72,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,47, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,42,43, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,70,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,42,43,0,1,2,3,4,5, - 6,7,8,9,10,11,12,13,14,15, + 41,42,43,45,46,0,47,49,3,51, + 52,53,54,55,0,57,58,59,0,0, + 1,2,63,64,0,1,2,3,4,5, + 6,7,8,0,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,0,24, - 25,26,27,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,0,1,2, - 3,4,5,0,7,0,3,0,3,0, - 1,2,0,4,5,3,7,62,0,1, - 2,0,4,0,6,4,8,4,0,0, - 1,2,118,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,47,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,41,0,47,99,3,0, - 5,6,59,8,0,10,11,3,0,1, - 2,3,4,5,6,7,8,90,0,24, - 25,73,27,96,0,1,2,23,4,0, - 6,23,8,4,0,1,2,42,43,0, - 1,2,0,4,5,0,7,0,0,1, - 2,0,44,45,59,47,0,1,2,0, - 1,2,67,0,69,70,71,59,0,61, - 23,67,64,69,70,0,68,59,0,0, - 76,47,3,88,89,90,91,92,93,94, - 82,23,97,98,99,100,101,102,103,104, - 105,106,107,108,109,110,111,112,113,0, - 59,0,3,0,5,6,3,8,0,10, - 11,62,0,1,2,3,4,5,6,7, - 8,0,0,24,25,90,27,59,0,1, - 2,96,4,0,76,23,71,69,0,1, - 2,42,43,5,0,23,0,0,0,1, - 2,4,6,95,6,118,44,45,59,47, - 59,93,94,0,1,2,67,45,69,70, - 71,0,123,61,3,47,64,69,70,0, - 68,60,3,0,72,47,0,88,89,90, - 91,92,93,94,82,47,97,98,99,100, - 101,102,103,104,105,106,107,108,109,110, - 111,112,113,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,0,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 37,38,39,40,71,69,70,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 67,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,38,39,40,41,0, + 0,0,28,3,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,0,50, + 0,47,0,0,4,0,1,2,90,4, + 5,0,7,65,96,4,100,63,64,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,0,24,25,26,27,28,29,30, + 21,22,23,24,25,45,44,28,0,30, 31,32,33,34,35,36,37,38,39,40, - 0,1,2,3,4,5,6,7,8,9, + 41,42,43,0,1,2,3,4,5,6, + 7,8,123,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,0, + 0,28,44,30,31,32,33,34,35,36, + 37,38,39,40,41,42,43,0,1,2, + 47,4,0,50,114,115,116,0,0,29, + 3,0,1,2,0,0,9,3,0,1, + 2,3,4,5,6,7,8,118,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,65,66,28,0,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,60,0,0,47,3,60,5,6, + 62,8,65,66,11,12,0,0,1,2, + 3,4,5,6,7,8,9,24,25,0, + 0,44,3,30,87,0,1,2,0,4, + 5,3,7,26,27,0,29,44,44,4, + 95,0,1,2,3,4,5,27,7,0, + 9,44,3,60,29,48,63,64,65,66, + 67,0,0,56,0,45,46,26,61,49, + 6,51,52,53,54,55,0,57,58,59, + 45,88,89,90,91,92,93,94,81,0, + 97,98,99,100,101,102,103,104,105,106, + 107,108,109,110,111,112,113,0,0,60, + 3,0,5,6,0,8,0,3,11,12, + 4,0,1,2,3,4,5,6,7,8, + 9,24,25,72,0,1,2,30,4,5, + 0,7,0,1,2,0,0,26,27,9, + 29,44,0,1,2,91,92,5,0,1, + 2,72,0,29,6,3,26,60,0,48, + 63,64,65,66,67,67,65,56,102,0, + 0,29,61,0,0,1,2,29,9,0, + 1,2,71,117,0,88,89,90,91,92, + 93,94,81,0,97,98,99,100,101,102, + 103,104,105,106,107,108,109,110,111,112, + 113,0,1,2,3,4,5,6,7,8, + 0,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,63,64,28, + 67,30,31,32,33,34,35,36,37,38, + 39,40,41,42,43,0,87,0,3,0, + 1,2,0,1,2,3,4,5,6,7, + 8,60,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,29,119, + 28,0,30,31,32,33,34,35,36,37, + 38,39,40,41,42,43,0,1,2,47, + 0,1,2,3,4,5,6,7,8,0, 10,11,12,13,14,15,16,17,18,19, - 20,21,22,41,24,25,26,27,28,29, + 20,21,22,23,24,25,0,0,28,3, 30,31,32,33,34,35,36,37,38,39, - 40,0,1,2,3,4,5,6,7,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,0,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,0,1,2,0,4,0,0,0, - 0,9,3,0,12,13,14,15,16,17, - 18,19,20,21,22,0,1,2,0,1, - 2,0,0,24,25,4,0,0,0,3, - 3,0,0,0,0,3,44,0,0,0, - 48,49,50,51,52,53,54,55,56,57, - 58,23,60,0,59,63,0,65,66,0, - 1,2,47,4,90,47,67,70,9,71, - 96,12,13,14,15,16,17,18,19,20, - 21,22,0,1,2,3,4,5,6,7, - 8,0,0,90,0,1,2,0,70,96, - 72,9,103,44,70,23,9,48,49,50, - 51,52,53,54,55,56,57,58,0,60, - 121,0,63,70,65,66,44,45,95,47, + 40,41,42,43,0,1,2,3,4,5, + 6,7,8,44,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 0,44,28,0,30,31,32,33,34,35, + 36,37,38,39,40,41,42,43,0,1, + 2,3,4,5,6,7,8,0,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,47,0,61,47,0,64,26,0,0, - 68,0,0,62,72,4,64,60,120,120, - 0,9,44,0,82,0,48,49,50,51, - 52,53,54,55,56,57,58,0,1,2, - 3,4,5,6,7,8,0,1,2,3, - 4,5,6,7,8,0,0,0,3,47, - 23,59,0,0,59,3,0,0,59,23, - 59,69,60,0,0,0,3,0,69,71, - 0,44,45,3,47,0,23,62,3,23, - 44,45,0,47,71,93,94,0,61,0, - 23,64,93,94,0,68,0,61,45,72, - 64,45,0,0,68,3,3,0,72,82, - 0,0,45,0,0,26,59,71,82,0, - 1,2,3,4,5,6,7,8,0,1, - 2,3,4,5,6,7,8,70,73,75, - 0,0,23,0,62,0,0,0,0,62, - 0,23,0,0,1,2,3,4,5,6, - 7,8,0,44,45,71,47,71,0,122, - 0,0,44,45,0,47,23,70,0,0, - 61,71,0,64,0,0,0,68,0,61, - 0,72,64,0,0,0,68,44,45,0, - 47,82,0,0,0,0,0,0,0,0, - 82,0,0,0,61,0,0,64,0,0, - 0,68,0,1,2,3,4,5,6,7, - 8,0,0,0,0,82,0,0,0,0, - 0,0,0,0,0,23,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,44,45,0,47, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,61,0,0,64,0,0,0, - 68,0,0,0,0,0,0,0,0,0, - 0,0,0,0,82,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0 + 22,23,24,25,44,0,28,44,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,43,0,1,2,65,4,0,65,0, + 1,2,10,6,0,13,14,15,16,17, + 18,19,20,21,22,23,0,0,0,27, + 0,4,47,93,94,9,93,94,29,0, + 1,2,0,0,0,1,2,45,46,0, + 0,49,26,51,52,53,54,55,9,57, + 58,59,95,0,62,0,1,2,29,4, + 68,69,70,29,60,10,0,0,13,14, + 15,16,17,18,19,20,21,22,23,0, + 0,0,27,65,66,0,66,0,91,92, + 0,0,1,2,9,0,0,44,0,9, + 45,46,4,87,49,66,51,52,53,54, + 55,26,57,58,59,0,26,62,65,0, + 29,0,3,68,69,70,87,95,13,14, + 15,16,17,18,19,20,21,22,23,72, + 0,75,27,24,25,66,93,94,67,0, + 1,2,3,4,5,6,7,8,9,0, + 45,46,3,67,49,0,51,52,53,54, + 55,0,57,58,59,26,27,0,29,60, + 0,1,2,3,4,5,6,7,8,9, + 0,1,2,0,0,0,0,48,0,0, + 4,0,4,10,10,56,26,27,9,29, + 61,0,0,0,3,3,3,0,0,29, + 71,0,103,29,0,0,9,3,48,28, + 81,66,0,0,0,3,56,3,67,120, + 44,61,44,26,67,0,0,0,3,56, + 0,71,0,28,0,3,62,0,0,119, + 65,81,0,1,2,3,4,5,6,7, + 8,9,0,0,1,2,3,4,5,6, + 7,8,9,66,0,0,87,3,26,27, + 72,29,0,72,0,0,50,50,0,26, + 27,0,29,0,50,72,0,0,0,0, + 48,0,0,0,0,0,0,67,56,0, + 0,48,28,61,67,67,0,0,0,56, + 0,0,0,71,61,0,44,0,66,0, + 0,0,0,81,71,0,0,0,0,0, + 0,0,0,0,81,0,1,2,3,4, + 5,6,7,8,9,0,1,2,3,4, + 5,6,7,8,9,67,0,0,0,0, + 0,26,27,0,29,0,0,0,0,0, + 0,26,27,0,29,0,0,0,0,0, + 0,0,0,48,119,0,0,0,0,0, + 0,56,0,48,0,0,61,0,0,0, + 0,56,0,0,0,0,61,0,0,0, + 0,0,0,0,0,0,81,0,0,0, + 0,0,0,0,0,0,81,0,1,2, + 3,4,5,6,7,8,9,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,26,27,0,29,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,48,0,0,0,0, + 0,0,0,56,0,0,0,0,61,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,81,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1496,400 +1396,308 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5360,5329,5326,5326,5326,5326,5326,5326,5326,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5339,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5336,3450,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1871,1264,1,862,1,1,117,3362,41, - 5017,5014,5367,3357,2656,3433,549,3454,2151,3434, - 3400,3413,164,3425,564,3424,3531,3423,8,5345, - 5345,5345,5345,5345,5345,5345,5345,5345,5345,5345, - 5345,5345,5345,5345,5345,5345,5345,5345,5345,5345, - 5345,5345,5345,5345,5345,5345,5345,5345,5345,5345, - 5345,5345,5345,5345,5345,5345,5345,5345,5345,5345, - 5345,5345,5345,5345,5345,164,5345,5345,5345,5345, - 5345,5345,5345,5345,5345,5345,5345,5360,5345,5345, - 5345,5345,5345,5345,5345,119,5345,353,3333,3309, - 5345,3357,5345,5345,5360,5345,5345,5345,5345,5345, - 5366,5345,5345,5345,5345,5345,5360,5329,5326,5326, - 5326,5326,5326,5326,5326,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5333, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5336,3450,5365,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1871,1264,1, - 862,1,1,118,3362,5360,3333,3309,123,3357, - 2656,3433,5712,3454,2151,3434,3400,3413,5366,3425, - 564,3424,3531,3423,5360,5329,5326,5326,5326,5326, - 5326,5326,5326,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5333,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5336, - 3450,5365,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1871,1264,1,862,1, - 1,300,3362,139,3333,3309,2616,2707,2656,3433, - 5659,3454,2151,3434,3400,3413,516,3425,564,3424, - 3531,3423,5360,5329,5326,5326,5326,5326,5326,5326, - 5326,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5333,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5336,3450,516, - 1,1,1,1,1,1,1,1,1,1, - 1,120,1,1871,1264,1,862,1,1,5360, - 3362,2867,2789,5360,5377,5378,2656,3433,1885,3454, - 2151,3434,3400,3413,2240,3425,564,3424,3531,3423, - 5360,5329,5326,5326,5326,5326,5326,5326,5326,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5333,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5336,3450,137,1,1, - 1,1,1,1,1,1,1,1,1,133, - 1,1871,1264,1,862,1,1,2309,3362,5360, - 5002,4999,5360,5401,2656,3433,5360,3454,2151,3434, - 3400,3413,5360,3425,564,3424,3531,3423,5360,5329, - 5326,5326,5326,5326,5326,5326,5326,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5333,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5336,3450,2928,1,1,1,1, - 1,1,1,1,1,1,1,2275,1,1871, - 1264,1,862,1,1,1841,3362,5360,5002,4999, - 127,5401,2656,3433,5360,3454,2151,3434,3400,3413, - 5360,3425,564,3424,3531,3423,5360,5329,5326,5326, - 5326,5326,5326,5326,5326,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5333, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5336,3450,3549,1,1,1,1,1,1, - 1,1,1,1,1,134,1,1871,1264,1, - 862,1,1,2309,3362,5360,5377,5378,2616,2707, - 2656,3433,5360,3454,2151,3434,3400,3413,416,3425, - 564,3424,3531,3423,5360,5329,5326,5326,5326,5326, - 5326,5326,5326,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5333,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5336, - 3450,4621,1,1,1,1,1,1,1,1, - 1,1,1,5360,1,1871,1264,1,862,1, - 1,4245,3362,5360,5196,5193,126,5360,2656,3433, - 2640,3454,2151,3434,3400,3413,5360,3425,564,3424, - 3531,3423,5360,5329,5326,5326,5326,5326,5326,5326, - 5326,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5333,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5336,3450,5360, - 1,1,1,1,1,1,1,1,1,1, - 1,5360,1,1871,1264,1,862,1,1,5752, - 3362,53,5211,5208,2616,2707,2656,3433,5360,3454, - 2151,3434,3400,3413,434,3425,564,3424,3531,3423, - 5360,3401,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5370,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5369,3450,4733,1,1, - 1,1,1,1,1,1,1,1,1,122, - 1,1871,1264,1,862,1,1,2833,3362,2867, - 2789,53,5196,5193,2656,3433,33,3454,2151,3434, - 3400,3413,5360,3425,564,3424,3531,3423,5360,5326, - 5326,5326,5326,5326,5326,5326,5326,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5348,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5348,5519,5008,1,1,1,1, - 1,1,1,1,1,1,1,1,1,343, - 2827,1,1826,1,1,5360,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,444,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 443,5519,344,1,1,1,1,1,1,1, - 1,1,1,1,1802,1,1802,5360,1,5360, - 1,1,5360,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5032,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5035,5519,1802, - 1,1,1,1,1,1,1,1,1,1, - 1,30,1,160,5360,1,5360,1,1,5360, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,102,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,317,5519,4998,1,1,1, - 1,1,1,1,1,1,1,1,1279,1, - 5220,5220,1,1285,1,1,5360,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,4692, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1802,5519,5005,1,1,1,1,1,1, - 1,1,1,1,1,5360,1,125,3412,1, - 332,1,1,42,5029,5026,3013,979,3284,3873, - 3535,3896,1176,3850,3827,5623,5621,5630,5629,5625, - 5626,5624,5627,5628,5631,5622,40,3942,3919,5383, - 3804,703,782,5385,764,619,774,5386,5384,664, - 5379,5381,5382,5380,803,5360,222,5615,33,5693, - 5694,5618,5693,5694,5612,5619,5591,5617,5616,5613, - 5614,5592,223,5749,381,5360,573,5050,5750,5751, - 5050,502,5050,5399,5047,5047,362,5106,5102,2685, - 5110,797,1,3535,1,2616,2707,5047,5047,5047, - 5615,5360,9572,9572,5618,5693,5694,5612,5619,5591, - 5617,5616,5613,5614,5592,138,5615,499,141,5050, - 5618,5693,5694,5612,5619,5591,5617,5616,5613,5614, - 5592,412,287,5047,341,42,42,2827,5401,5360, - 1096,5047,5686,5047,5047,5047,5047,5047,5399,315, - 5047,865,5296,1802,5360,5002,4999,1109,979,797, - 141,3535,5047,5047,5047,5047,5047,5047,5047,5047, - 5047,5047,5047,5047,5047,5047,5047,5047,5047,5047, - 5047,5047,5047,5047,5047,5047,5047,5047,121,1759, - 5360,5047,5047,5047,380,5047,5360,5056,2867,2789, - 5056,1802,5056,1934,5053,5053,5360,5106,5102,4391, - 5110,797,5308,3535,5305,2275,1802,5053,5053,5053, - 2201,5360,1716,1673,1630,1587,1544,1501,1458,1415, - 1372,1329,430,1,1,4181,1,5360,5023,5056, - 5023,341,5002,4999,2685,979,797,1096,3535,5686, - 1,5232,5232,5059,5229,1,1096,5360,5686,2280, - 5368,5053,2201,5053,5053,5053,5053,5053,42,2062, - 5053,42,5401,358,1096,5401,5686,4181,5320,2023, - 604,135,5053,5053,5053,5053,5053,5053,5053,5053, - 5053,5053,5053,5053,5053,5053,5053,5053,5053,5053, - 5053,5053,5053,5053,5053,5053,5053,5053,1802,5367, - 42,5053,5053,5053,5401,5053,5360,5245,5245,226, - 5241,226,226,226,226,1,358,5367,1,1, - 1,1,1,1,1,1,1,1,1,5249, - 431,42,42,5360,5401,358,5226,2828,5223,5360, - 5377,5378,1,5106,5102,5284,5110,5290,1087,5287, - 1,226,5761,487,1,1,1,1,1,1, - 1,1,1,1,1,5370,1,1807,124,1, - 580,1,1,5360,5360,5360,5196,5193,405,226, - 309,3965,913,3043,48,5205,5205,5369,5846,5360, - 5245,5245,226,5241,226,226,226,226,1,3467, - 140,1,1,1,1,1,1,1,1,1, - 1,1,5293,5360,5783,5784,5785,3965,913,42, - 5783,5784,5785,5401,224,1,5106,5102,4391,5110, - 797,5202,3535,1,226,5761,487,1,1,1, - 1,1,1,1,1,1,1,1,308,1, - 1807,1240,1,5360,1,1,2616,2707,5360,5377, - 5378,404,226,797,5360,3535,93,2053,5615,5041, - 308,5846,5618,5693,5694,5612,5619,5591,5617,5616, - 5613,5614,5592,5360,5002,4999,4391,979,797,1096, - 3535,5686,308,5106,5102,4391,5110,797,5308,3535, - 5305,2240,5360,5783,5784,5785,5360,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5370, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 5360,5369,5519,5360,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,166,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,131,166,5519, - 5360,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,166,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,52,166,5519,5360,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 166,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,2012,5360,5519,2370,2341,286,5377,5378,5360, - 5360,1,5106,5102,2685,5110,797,5360,3535,1, - 5106,5102,2685,5110,797,387,3535,235,1,380, - 5199,4844,5366,166,5360,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,166,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1802,4860, - 5519,132,5360,5541,499,5365,1802,5360,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 166,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5360,5360,561,5360,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5360,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2370,2341, - 5519,5360,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5360,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5360,2314,5519,5360,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,5360,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,2992,2346,5519,5360,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5360,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5360, - 2365,5519,1,5106,5102,3013,5110,3284,3873,3535, - 3896,5066,3850,3827,5093,5099,5072,5075,5087,5084, - 5090,5081,5078,5069,5096,101,3942,3919,5383,3804, - 703,782,5385,764,619,774,5386,5384,664,5379, - 5381,5382,5380,803,42,42,5360,5858,5360,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,503,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1973,5360,5519,5360,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5360,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 5360,5519,5360,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5360,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5360,5801,5519,5360, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,5360,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5360,5714,5519,5360,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,427, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 5360,4153,5519,5360,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3585,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5360,225,5519, - 42,5002,4999,3013,979,3284,3873,3535,3896,775, - 3850,3827,5623,5621,5630,5629,5625,5626,5624,5627, - 5628,5631,5622,5368,3942,3919,5383,3804,703,782, - 5385,764,619,774,5386,5384,664,5379,5381,5382, - 5380,803,5615,5783,5784,5785,5618,5693,5694,5612, - 5619,5591,5617,5616,5613,5614,5592,5360,5029,5026, - 1,5401,4179,1,5106,5102,4391,5110,797,440, - 3535,5360,5367,42,5002,4999,3013,979,3284,3873, - 3535,3896,775,3850,3827,5623,5621,5630,5629,5625, - 5626,5624,5627,5628,5631,5622,5368,3942,3919,5383, - 3804,703,782,5385,764,619,774,5386,5384,664, - 5379,5381,5382,5380,803,39,5269,5266,5360,1697, - 5360,4315,5360,5002,4999,1885,979,5063,5011,3535, - 5360,5211,5208,2299,3050,4179,2023,1,5106,5102, - 4391,5110,797,357,3535,5367,143,5002,4999,3013, - 979,3284,3873,3535,3896,775,3850,3827,5623,5621, - 5630,5629,5625,5626,5624,5627,5628,5631,5622,964, - 3942,3919,5383,3804,703,782,5385,764,619,774, - 5386,5384,664,5379,5381,5382,5380,803,42,42, - 1,5106,5102,3013,5110,3284,3873,3535,3896,5066, - 3850,3827,5093,5099,5072,5075,5087,5084,5090,5081, - 5078,5069,5096,1611,3942,3919,5383,3804,703,782, - 5385,764,619,774,5386,5384,664,5379,5381,5382, - 5380,803,42,42,42,5002,4999,3013,979,3284, - 3873,3535,3896,775,3850,3827,5623,5621,5630,5629, - 5625,5626,5624,5627,5628,5631,5622,5364,3942,3919, - 5383,3804,703,782,5385,764,619,774,5386,5384, - 664,5379,5381,5382,5380,42,5002,4999,3013,979, - 3284,3873,3535,3896,775,3850,3827,5623,5621,5630, - 5629,5625,5626,5624,5627,5628,5631,5622,136,3942, - 3919,5383,3804,703,782,5385,764,619,774,5386, - 5384,664,5379,5381,5382,5380,803,1,5106,5102, - 5284,5110,5290,5360,5287,5360,4316,113,4501,5360, - 5002,4999,5360,979,5063,4581,3535,4179,94,1, - 1,1,1,53,5238,381,5238,5378,5360,40, - 5235,5235,5363,42,5002,4999,3013,979,3284,3873, - 3535,3896,775,3850,3827,5623,5621,5630,5629,5625, - 5626,5624,5627,5628,5631,5622,1032,3942,3919,5383, - 3804,703,782,5385,764,619,774,5386,5384,664, - 5379,5381,5382,5380,803,1,2101,580,1752,5360, - 5815,5809,5378,5813,1,5807,5808,2827,1,5326, - 5326,226,5326,226,226,226,226,3988,44,5838, - 5839,3451,5816,4011,97,42,42,337,5401,5360, - 5302,226,5299,2914,5360,5255,5252,1369,1408,5360, - 5002,4999,5360,979,797,116,3535,5360,388,5377, - 5378,380,9604,226,5818,5323,5360,9516,8868,5360, - 5377,5378,624,5360,5819,5840,5817,3508,1,1871, - 5364,1802,2520,337,337,365,3362,5038,128,5360, - 337,5399,4088,5829,5828,5841,5810,5811,5834,5835, - 5846,358,5832,5833,5812,5814,5836,5837,5842,5822, - 5823,5824,5820,5821,5830,5831,5826,5825,5827,5360, - 5044,1,1752,5360,5815,5809,4092,5813,5360,5807, - 5808,3495,1,5326,5326,226,5326,226,226,226, - 226,5360,396,5838,5839,3988,5816,2575,388,5029, - 5026,4011,5401,5360,358,5351,1152,5020,40,5235, - 5235,1369,1408,5235,5360,5278,5360,5360,40,5235, - 5235,791,2333,358,2333,5363,9604,226,5818,5323, - 499,2454,2424,5360,9516,8868,624,5281,5819,5840, - 5817,105,3518,1871,4330,42,2520,3186,2658,5360, - 3362,2906,2735,363,219,2190,5360,5829,5828,5841, - 5810,5811,5834,5835,5846,5399,5832,5833,5812,5814, - 5836,5837,5842,5822,5823,5824,5820,5821,5830,5831, - 5826,5825,5827,42,5002,4999,3013,979,3284,3873, - 3535,3896,775,3850,3827,5623,5621,5630,5629,5625, - 5626,5624,5627,5628,5631,5622,5360,3942,3919,5383, - 3804,703,782,5385,764,619,774,5386,5384,664, - 5379,5381,5382,5380,1197,3630,2658,42,5002,4999, - 3013,979,3284,3873,3535,3896,775,3850,3827,5623, - 5621,5630,5629,5625,5626,5624,5627,5628,5631,5622, - 1148,3942,3919,5383,3804,703,782,5385,764,619, - 774,5386,5384,664,5379,5381,5382,5380,803,42, - 5002,4999,3622,979,3284,3873,3535,3896,775,3850, - 3827,5623,5621,5630,5629,5625,5626,5624,5627,5628, - 5631,5622,520,3942,3919,5383,3804,703,782,5385, - 764,619,774,5386,5384,664,5379,5381,5382,5380, - 42,5002,4999,3013,979,3284,3873,3535,3896,775, - 3850,3827,5623,5621,5630,5629,5625,5626,5624,5627, - 5628,5631,5622,3185,3942,3919,5383,3804,703,782, - 5385,764,619,774,5386,5384,664,5379,5381,5382, - 5380,42,5002,4999,3013,979,3284,3873,3535,3896, - 775,3850,3827,5623,5621,5630,5629,5625,5626,5624, - 5627,5628,5631,5622,115,3942,3919,5383,3804,703, - 782,5385,764,619,774,5386,5384,664,5379,5381, - 5382,5380,5360,5029,5026,5360,5401,285,408,78, - 5360,1013,3693,114,5623,5621,5630,5629,5625,5626, - 5624,5627,5628,5631,5622,5360,5262,5258,50,5275, - 5275,5360,5360,5427,5428,1756,277,5360,5360,5311, - 4502,5360,5360,1,414,4809,5615,5360,370,509, - 5618,5693,5694,5612,5619,5591,5617,5616,5613,5614, - 5592,5368,5749,435,2958,573,5360,5750,5751,239, - 5186,5182,5399,5190,3988,5272,4090,712,1013,2112, - 4011,5173,5179,5152,5155,5167,5164,5170,5161,5158, - 5149,5176,1,5326,5326,226,5326,226,226,226, - 226,5360,300,3988,40,5235,5235,1,989,4011, - 5367,5659,646,5137,2823,5351,5314,5128,5122,5119, - 5146,5125,5116,5131,5134,5143,5140,5113,221,5749, - 717,5360,573,3513,5750,5751,9604,226,4087,5323, - 5623,5621,5630,5629,5625,5626,5624,5627,5628,5631, - 5622,5399,130,1871,3167,5360,2520,3603,494,129, - 3362,53,1,1264,219,5377,2778,5317,3585,3585, - 5360,5314,5615,492,5846,1,5618,5693,5694,5612, - 5619,5591,5617,5616,5613,5614,5592,1,5326,5326, - 226,5326,226,226,226,226,1,5326,5326,226, - 5326,226,226,226,226,5360,38,188,3516,3167, - 5354,2575,5360,5360,3409,4781,178,2,2575,5351, - 5377,5214,5317,5360,5360,5360,4823,5360,5217,4850, - 5360,9604,226,3012,5323,5360,5370,3620,4824,5342, - 9604,226,5360,5323,4854,2454,2424,5360,1871,1, - 5370,2520,2454,2424,5360,3362,5360,1871,5369,218, - 2520,5342,5360,5360,3362,3468,4693,307,219,5846, - 496,5360,5369,5360,5360,3289,40,3690,5846,1, - 5326,5326,226,5326,226,226,226,226,1,5326, - 5326,226,5326,226,226,226,226,4279,5540,3634, - 5360,5360,5351,5360,3624,5360,5360,5360,5360,3715, - 5360,226,5360,1,5326,5326,226,5326,226,226, - 226,226,5360,9604,226,3690,5323,1891,5360,5357, - 5360,5360,9604,226,5360,5323,226,4363,5360,5360, - 1871,846,5360,2520,5360,5360,5360,3362,5360,1871, - 5360,219,2520,5360,5360,5360,3362,9604,226,5360, - 5323,5846,5360,5360,5360,5360,5360,5360,5360,5360, - 5846,5360,5360,5360,1871,5360,5360,2520,5360,5360, - 5360,3362,1,5326,5326,226,5326,226,226,226, - 226,5360,5360,5360,5360,5846,5360,5360,5360,5360, - 5360,5360,5360,5360,5360,226,5360,5360,5360,5360, - 5360,5360,5360,5360,5360,5360,5360,5360,5360,5360, - 5360,5360,5360,5360,5360,5360,9604,226,5360,5323, - 5360,5360,5360,5360,5360,5360,5360,5360,5360,5360, - 5360,5360,5360,1871,5360,5360,2520,5360,5360,5360, - 3362,5360,5360,5360,5360,5360,5360,5360,5360,5360, - 5360,5360,5360,5360,5846 + 5309,5284,5281,5281,5281,5281,5281,5281,5281,5294, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5291,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5309,1,1,1,2668,1, + 1826,1,1,1,1,1,1324,1,1,1, + 5309,3460,1,1,1,41,4972,4969,1,1, + 1,5316,846,5486,2640,3528,3137,2151,3070,3474, + 3381,159,3499,564,3486,3139,3484,8,5297,5297, + 5297,5297,5297,5297,5297,5297,5297,5297,5297,5297, + 5297,5297,5297,5297,5297,5297,5297,5297,5297,5297, + 5297,5297,5297,5297,5297,5297,1841,5297,5297,5297, + 5297,5297,5297,5297,5297,5297,5297,5297,5297,5297, + 5297,5309,5297,5297,5297,5297,5297,5297,5297,5297, + 5297,5297,5297,5297,5297,5297,5297,1285,5297,5297, + 5297,5297,123,5309,139,5297,5297,5297,5297,5309, + 5297,5297,5297,5297,5297,5297,5297,5297,187,5297, + 5297,5297,5297,5297,5309,5284,5281,5281,5281,5281, + 5281,5281,5281,5288,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 5291,1,1,3531,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2314,1, + 1,1,2668,1,1826,1,1,1,1,1, + 1324,1,1,1,120,3460,1,1,1,502, + 2616,2707,1,1,1,2863,2785,5486,2640,3528, + 3137,2151,3070,3474,3381,2240,3499,564,3486,3139, + 3484,5309,5284,5281,5281,5281,5281,5281,5281,5281, + 5288,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5291,1,1, + 5306,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,865,1,1,1,2668, + 1,1826,1,1,1,1,1,1324,1,1, + 1,5309,3460,1,1,1,5309,5326,5327,1, + 1,1,444,1,5486,2640,3528,3137,2151,3070, + 3474,3381,163,3499,564,3486,3139,3484,5309,5284, + 5281,5281,5281,5281,5281,5281,5281,5288,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5291,1,1,5309,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,4987,1,1,1,2668,1,1826,1, + 1,1,1,1,1324,1,1,1,5309,3460, + 1,1,1,5309,5151,5148,1,1,1,443, + 163,5486,2640,3528,3137,2151,3070,3474,3381,357, + 3499,564,3486,3139,3484,5309,5284,5281,5281,5281, + 5281,5281,5281,5281,5288,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,5291,1,1,5309,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,4990, + 1,1,1,2668,1,1826,1,1,1,1, + 1,1324,1,1,1,1611,3460,1,1,1, + 53,5166,5163,1,1,1,344,5309,5486,2640, + 3528,3137,2151,3070,3474,3381,5315,3499,564,3486, + 3139,3484,5309,5284,5281,5281,5281,5281,5281,5281, + 5281,5288,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5291,1, + 1,5309,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1802,1,1,1, + 2668,1,1826,1,1,1,1,1,1324,1, + 1,1,5309,3460,1,1,1,127,5309,42, + 1,1,1,5350,5314,5486,2640,3528,3137,2151, + 3070,3474,3381,5309,3499,564,3486,3139,3484,5309, + 5284,5281,5281,5281,5281,5281,5281,5281,5288,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5291,1,1,5309,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,2346,1,1,1,2668,1,1826, + 1,1,1,1,1,1324,1,1,1,122, + 3460,1,1,1,126,2616,2707,1,1,1, + 2863,2785,5486,2640,3528,3137,2151,3070,3474,3381, + 5309,3499,564,3486,3139,3484,5309,5284,5281,5281, + 5281,5281,5281,5281,5281,5288,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,5291,1,1,5309,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 2136,1,1,1,2668,1,1826,1,1,1, + 1,1,1324,1,1,1,121,3460,1,1, + 1,125,2616,2707,1,1,1,2863,2785,5486, + 2640,3528,3137,2151,3070,3474,3381,5309,3499,564, + 3486,3139,3484,5309,5284,5281,5281,5281,5281,5281, + 5281,5281,5288,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5291, + 1,1,5309,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2731,1,1, + 1,2668,1,1826,1,1,1,1,1,1324, + 1,1,1,5309,3460,1,1,1,124,2616, + 2707,1,1,1,300,5309,5486,2640,3528,3137, + 2151,3070,3474,3381,5608,3499,564,3486,3139,3484, + 5309,3483,1,1,1,1,1,1,1,5319, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5318,1,1,3572, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5309,1,1,1,2668,1, + 1826,1,1,1,1,1,1324,1,1,1, + 135,3460,1,1,1,5309,2616,2707,1,1, + 1,2902,113,5486,2640,3528,3137,2151,3070,3474, + 3381,116,3499,564,3486,3139,3484,42,4984,4981, + 4748,980,3252,3841,2486,3864,5309,1284,3818,3795, + 5572,5570,5579,5578,5574,5575,5573,5576,5577,5580, + 5571,3910,3887,5309,5564,5332,3205,3772,666,774, + 5334,703,619,764,5335,5333,664,5328,5330,5331, + 5329,5309,5567,5642,803,133,5643,5309,5561,5568, + 5540,5566,5565,2309,5562,5563,5541,5309,1,5698, + 332,2823,222,5309,5309,573,5699,5700,381,580, + 5309,5005,3956,3039,5005,4956,5005,5002,3979,5002, + 5002,3956,341,42,42,2823,5350,3979,2086,5564, + 5635,3664,5002,5002,5005,42,1,5187,5187,5350, + 5184,2086,2086,5635,5635,358,5642,5567,5642,5643, + 5309,5643,5002,5561,5568,5540,5566,5565,1802,5562, + 5563,5541,1,5061,5057,2681,5065,797,5002,2486, + 141,137,140,5002,5002,5002,5309,5326,5327,5002, + 5002,797,1802,2486,362,5061,5057,2681,5065,797, + 1,2486,1,427,4063,5002,5002,5002,5002,5002, + 5002,5002,5002,5002,5002,5002,5002,5002,5002,5002, + 5002,5002,5002,5002,5002,5002,5002,5002,5002,5002, + 5002,5002,1802,358,380,5002,5002,5011,5002,5002, + 5011,358,5011,5008,102,5008,5008,1759,1,5061, + 5057,5239,5065,5245,1802,5242,5309,5319,5008,5008, + 5011,1109,5309,4960,4957,4431,980,797,2086,2486, + 5635,430,1,1,5318,1,387,4978,5014,4978, + 380,2275,2201,2240,1716,1673,1630,1587,1544,1501, + 1458,1415,1372,1329,5008,134,117,3364,5309,5008, + 5008,5008,3325,2309,4850,5008,5008,5313,5309,5061, + 5057,4431,5065,797,5263,2486,5260,5732,5733,5734, + 499,5008,5008,5008,5008,5008,5008,5008,5008,5008, + 5008,5008,5008,5008,5008,5008,5008,5008,5008,5008, + 5008,5008,5008,5008,5008,5008,5008,5008,5309,5326, + 5327,5008,5008,1885,5008,5008,5309,5200,5200,226, + 5196,226,226,226,226,5204,1,5309,33,1, + 1,1,1,1,1,1,1,1,1,1, + 2023,5309,226,1,131,487,136,3301,3277,341, + 4960,4957,2681,980,797,2086,2486,5635,53,5151, + 5148,1,1,343,2513,1,2485,1,1,1, + 1,1,4963,1,1,1,5312,1826,1,5309, + 4984,4981,115,5350,1,1,1,405,226,5710, + 286,5326,5327,5309,8616,8616,5309,5795,5309,5200, + 5200,226,5196,226,226,226,226,5248,1,1802, + 30,1,1,1,1,1,1,1,1,1, + 1,1,5348,1802,226,1,5309,487,5309,2333, + 5732,5733,5734,1885,40,223,388,4984,4981,5309, + 5350,2370,2341,1,1,580,2513,1,1,1, + 1,1,1,1,5309,1,1,1,5269,5309, + 1,93,5564,5348,4996,42,1,1,1,404, + 226,5710,3956,5309,1,5175,5175,3209,3979,5795, + 5567,5642,5317,358,5643,1,5561,5568,5540,5566, + 5565,2365,5562,5563,5541,308,5061,5057,4431,5065, + 797,5263,2486,5260,1,5061,5057,4431,5065,797, + 5272,2486,5732,5733,5734,5309,1,1,1,1, + 1,1,1,1,2404,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,132,5309,1,5316,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3436, + 5309,358,1,1,5061,5057,4431,5065,797,358, + 2486,5309,5326,5327,235,416,2023,5154,1,1, + 1,5061,5057,2681,5065,797,945,2486,5833,1, + 5061,5057,4748,5065,3252,3841,2486,3864,5309,5021, + 3818,3795,5048,5054,5027,5030,5042,5039,5045,5036, + 5033,5024,5051,3910,3887,309,5309,5332,3509,3772, + 666,774,5334,703,619,764,5335,5333,664,5328, + 5330,5331,5329,5309,3933,789,803,3442,2370,2341, + 1802,1,5061,5057,5239,5065,5245,4058,5242,39, + 5224,5221,42,42,503,42,4960,4957,4748,980, + 3252,3841,2486,3864,5317,775,3818,3795,5572,5570, + 5579,5578,5574,5575,5573,5576,5577,5580,5571,3910, + 3887,33,1240,5332,5309,3772,666,774,5334,703, + 619,764,5335,5333,664,5328,5330,5331,5329,5309, + 4960,4957,803,980,797,4069,2486,431,42,42, + 5309,5350,1,5181,5309,5178,94,1,1,5317, + 1,5275,5193,5309,5193,499,5316,42,4960,4957, + 4748,980,3252,3841,2486,3864,5317,775,3818,3795, + 5572,5570,5579,5578,5574,5575,5573,5576,5577,5580, + 5571,3910,3887,412,5309,5332,52,3772,666,774, + 5334,703,619,764,5335,5333,664,5328,5330,5331, + 5329,5309,4960,4957,803,5350,989,4069,97,42, + 42,5316,5350,5316,5257,1091,5254,5309,224,143, + 4960,4957,4748,980,3252,3841,2486,3864,5316,775, + 3818,3795,5572,5570,5579,5578,5574,5575,5573,5576, + 5577,5580,5571,3910,3887,5564,138,5332,114,3772, + 666,774,5334,703,619,764,5335,5333,664,5328, + 5330,5331,5329,5567,5642,1,803,5643,4424,5561, + 5568,5540,5566,5565,5309,5562,5563,5541,5309,5309, + 5326,5327,42,42,1,5061,5057,4748,5065,3252, + 3841,2486,3864,5309,5021,3818,3795,5048,5054,5027, + 5030,5042,5039,5045,5036,5033,5024,5051,3910,3887, + 5309,5309,5332,3682,3772,666,774,5334,703,619, + 764,5335,5333,664,5328,5330,5331,5329,5309,3717, + 42,803,440,5309,5350,5309,4960,4957,3956,980, + 797,1,2486,5807,3979,381,2275,42,42,42, + 4960,4957,4748,980,3252,3841,2486,3864,5313,775, + 3818,3795,5572,5570,5579,5578,5574,5575,5573,5576, + 5577,5580,5571,3910,3887,2003,4966,5332,44,3772, + 666,774,5334,703,619,764,5335,5333,664,5328, + 5330,5331,5329,42,4960,4957,4748,980,3252,3841, + 2486,3864,3623,775,3818,3795,5572,5570,5579,5578, + 5574,5575,5573,5576,5577,5580,5571,3910,3887,5309, + 5309,5332,4993,3772,666,774,5334,703,619,764, + 5335,5333,664,5328,5330,5331,5329,5309,4960,4957, + 803,5350,317,4069,5732,5733,5734,1,5309,3046, + 2823,5309,5166,5163,5309,353,337,4083,42,4960, + 4957,4748,980,3252,3841,2486,3864,5312,775,3818, + 3795,5572,5570,5579,5578,5574,5575,5573,5576,5577, + 5580,5571,3910,3887,4048,2654,5332,380,3772,666, + 774,5334,703,619,764,5335,5333,664,5328,5330, + 5331,5329,1802,1,1,803,1191,1802,5764,5758, + 3388,5762,337,337,5756,5757,5309,1,5281,5281, + 226,5281,226,226,226,226,226,5787,5788,5309, + 225,4999,4540,5765,337,5309,4960,4957,5309,980, + 5018,4794,2486,226,8618,42,5278,5767,499,5350, + 5661,1,5061,5057,4431,5065,797,5564,2486,315, + 308,3541,5251,624,851,2668,1369,1411,5768,5789, + 5766,5309,5309,2503,119,5567,5642,308,3460,5643, + 3325,5561,5568,5540,5566,5565,141,5562,5563,5541, + 2231,5778,5777,5790,5759,5760,5783,5784,5795,434, + 5781,5782,5761,5763,5785,5786,5791,5771,5772,5773, + 5769,5770,5779,5780,5775,5774,5776,5309,287,1802, + 1191,5309,5764,5758,5309,5762,5309,3477,5756,5757, + 3628,1,5281,5281,226,5281,226,226,226,226, + 5300,5787,5788,5701,5309,4960,4957,5765,980,5018, + 396,2486,388,5326,5327,5309,5309,226,8618,5233, + 5278,5767,40,5190,5190,3301,3277,5190,40,5190, + 5190,2829,5309,908,2902,3593,5236,624,5309,2668, + 1369,1411,5768,5789,5766,1934,5750,2503,2201,1, + 5309,2101,3460,365,5309,5151,5148,5348,5315,5309, + 8522,8520,218,3364,5309,5778,5777,5790,5759,5760, + 5783,5784,5795,5309,5781,5782,5761,5763,5785,5786, + 5791,5771,5772,5773,5769,5770,5779,5780,5775,5774, + 5776,42,4960,4957,4748,980,3252,3841,2486,3864, + 5309,775,3818,3795,5572,5570,5579,5578,5574,5575, + 5573,5576,5577,5580,5571,3910,3887,3933,789,5332, + 1152,3772,666,774,5334,703,619,764,5335,5333, + 664,5328,5330,5331,5329,105,5314,5309,4060,48, + 5160,5160,42,4960,4957,4748,980,3252,3841,2486, + 3864,1019,775,3818,3795,5572,5570,5579,5578,5574, + 5575,5573,5576,5577,5580,5571,3910,3887,5157,3691, + 5332,5309,3772,666,774,5334,703,619,764,5335, + 5333,664,5328,5330,5331,5329,5309,8522,8520,803, + 42,4960,4957,3362,980,3252,3841,2486,3864,5309, + 775,3818,3795,5572,5570,5579,5578,5574,5575,5573, + 5576,5577,5580,5571,3910,3887,5309,5309,5332,3382, + 3772,666,774,5334,703,619,764,5335,5333,664, + 5328,5330,5331,5329,42,4960,4957,4748,980,3252, + 3841,2486,3864,3418,775,3818,3795,5572,5570,5579, + 5578,5574,5575,5573,5576,5577,5580,5571,3910,3887, + 128,3661,5332,130,3772,666,774,5334,703,619, + 764,5335,5333,664,5328,5330,5331,5329,42,4960, + 4957,4748,980,3252,3841,2486,3864,1,775,3818, + 3795,5572,5570,5579,5578,5574,5575,5573,5576,5577, + 5580,5571,3910,3887,2575,520,5332,2575,3772,666, + 774,5334,703,619,764,5335,5333,664,5328,5330, + 5331,5329,5309,4984,4981,4975,5350,118,5169,40, + 5190,5190,1264,3325,101,5572,5570,5579,5578,5574, + 5575,5573,5576,5577,5580,5571,1,5309,5309,5564, + 285,1939,3276,2454,2424,165,2454,2424,2012,5309, + 5210,5207,1,5309,5309,5217,5213,5567,5642,5309, + 5309,5643,165,5561,5568,5540,5566,5565,5315,5562, + 5563,5541,5663,129,5698,239,5141,5137,5348,5145, + 573,5699,5700,5348,1973,1264,5309,5309,5128,5134, + 5107,5110,5122,5119,5125,5116,5113,5104,5131,414, + 5309,363,5092,3753,2654,5309,712,5309,3301,3277, + 1,50,5230,5230,5319,5309,408,2575,5309,5319, + 5083,5077,2280,165,5074,4849,5101,5080,5071,5086, + 5089,5318,5098,5095,5068,221,5318,5698,5172,78, + 5227,5309,3380,573,5699,5700,5314,3552,5572,5570, + 5579,5578,5574,5575,5573,5576,5577,5580,5571,2062, + 370,3777,5564,5376,5377,3429,2454,2424,1197,1, + 5281,5281,226,5281,226,226,226,226,5300,277, + 5567,5642,5266,2112,5643,435,5561,5568,5540,5566, + 5565,494,5562,5563,5541,226,8618,492,5278,3363, + 1,5281,5281,226,5281,226,226,226,226,5303, + 40,5190,5190,300,1,5309,53,2668,53,1, + 5327,5309,5326,5608,5269,2503,226,8618,516,5278, + 3460,5309,5309,5309,4370,4752,3613,5309,5309,5348, + 218,5309,646,3209,5309,5309,5319,4837,2668,3715, + 5795,3461,5309,5309,5309,4838,2503,3476,4656,716, + 5327,3460,5326,5318,4840,5309,1,5309,4839,2903, + 38,217,5309,3330,5309,1221,5272,5309,5309,3691, + 4164,5795,1,5281,5281,226,5281,226,226,226, + 226,5300,307,1,5281,5281,226,5281,226,226, + 226,226,5300,4319,5309,509,516,4851,226,8618, + 5489,5278,2,3419,1,5309,3749,3750,5309,226, + 8618,5309,5278,5309,3752,5488,5309,5309,496,5309, + 2668,5309,5309,5309,5309,5309,5309,2979,2503,5309, + 5309,2668,3383,3460,2979,1891,5309,5309,5309,2503, + 5309,5309,5309,218,3460,5309,40,5309,4403,5309, + 5309,5309,5309,5795,218,5309,5309,5309,5309,5309, + 5309,5309,5309,5309,5795,1,5281,5281,226,5281, + 226,226,226,226,226,1,5281,5281,226,5281, + 226,226,226,226,226,964,5309,5309,5309,5309, + 5309,226,8618,5309,5278,5309,5309,5309,5309,5309, + 5309,226,8618,5309,5278,5309,5309,5309,5309,5309, + 5309,5309,5309,2668,3691,5309,5309,5309,5309,5309, + 5309,2503,5309,2668,5309,5309,3460,5309,5309,5309, + 5309,2503,5309,5309,5309,5309,3460,5309,5309,5309, + 5309,5309,5309,5309,5309,5309,5795,5309,5309,5309, + 5309,5309,5309,5309,5309,5309,5795,1,5281,5281, + 226,5281,226,226,226,226,226,5309,5309,5309, + 5309,5309,5309,5309,5309,5309,5309,5309,5309,5309, + 5309,5309,5309,226,8618,5309,5278,5309,5309,5309, + 5309,5309,5309,5309,5309,5309,5309,5309,5309,5309, + 5309,5309,5309,5309,5309,2668,5309,5309,5309,5309, + 5309,5309,5309,2503,5309,5309,5309,5309,3460,5309, + 5309,5309,5309,5309,5309,5309,5309,5309,5309,5309, + 5309,5309,5309,5309,5309,5309,5309,5309,5795 }; }; public final static char termAction[] = TermAction.termAction; @@ -1897,59 +1705,59 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 926,67,537,67,61,760,595,595,595,595, - 57,760,177,595,762,177,963,520,965,538, - 538,538,538,538,538,538,538,538,1059,1065, - 1070,1067,1074,1072,1079,1077,1081,1080,1082,116, - 1083,537,926,29,29,29,29,577,124,1, - 174,29,403,486,177,177,1,793,177,486, - 486,104,521,836,28,662,59,1040,926,1042, - 1042,917,917,124,926,538,538,538,538,538, - 538,538,538,538,538,538,538,538,538,538, - 538,538,538,538,537,537,537,537,537,537, - 537,537,537,537,537,926,538,486,832,832, - 832,832,271,486,1,110,1029,1040,1014,1040, - 614,1040,1011,1040,1024,57,577,403,403,1, - 538,110,362,450,440,439,321,57,965,403, - 28,537,575,661,574,577,576,574,486,403, - 1067,1067,1065,1065,1065,1072,1072,1072,1072,1070, - 1070,1077,1074,1074,1080,1079,1081,1117,1082,760, - 760,760,760,577,577,832,187,831,174,577, - 170,227,577,618,271,617,406,1014,357,577, - 577,577,271,832,104,403,1098,486,452,454, - 577,662,538,29,1063,69,486,59,577,577, - 576,662,537,926,926,926,926,760,760,521, - 114,170,227,618,407,618,271,618,357,357, - 577,271,577,486,608,432,443,454,271,575, - 486,1063,110,661,59,577,575,486,486,486, - 486,124,124,170,169,582,577,227,1117,273, - 162,1107,227,618,618,1016,577,357,582,580, - 581,577,416,537,441,441,275,275,577,448, - 110,288,486,577,1063,1064,1063,926,69,167, - 59,486,486,170,662,595,574,489,1109,571, - 760,585,56,1017,577,582,538,577,416,537, - 537,454,577,662,486,452,432,416,332,1063, - 124,538,403,167,575,242,575,618,618,571, - 1103,110,577,588,538,1117,283,1016,577,57, - 57,577,604,454,416,1064,486,403,1104,242, - 575,618,1014,57,1109,571,661,538,538,577, - 577,577,604,486,604,831,595,426,426,1104, - 1014,501,585,577,760,577,577,760,597,604, - 242,669,242,830,830,621,502,57,577,124, - 455,597,612,879,751,760,411,705,242,29, - 29,621,501,1117,538,1117,1104,760,760,760, - 502,760,577,716,1104,1104,577,1014,500,486, - 444,599,623,832,751,612,668,1014,1014,713, - 57,831,493,760,493,1117,502,520,520,518, - 834,520,1104,1104,225,621,29,599,669,668, - 669,1104,282,1103,486,668,668,668,57,577, - 319,288,486,571,486,716,1104,751,760,486, - 621,668,537,972,571,1104,582,668,668,668, - 577,577,426,486,486,345,502,225,502,1104, - 716,751,926,502,499,582,486,970,582,582, - 577,1104,830,1014,1014,869,537,500,924,1104, - 486,970,1104,574,502,486,924,1104,581,502, - 486,970,502 + 642,7,558,1,922,756,756,756,756,137, + 922,149,756,416,149,739,542,741,559,559, + 559,559,559,559,559,559,559,1058,1064,1069, + 1066,1073,1071,1078,1076,1080,1079,1081,9,1082, + 558,558,109,109,109,109,598,701,81,146, + 109,356,312,149,149,81,447,149,312,312, + 303,542,881,108,830,139,1039,558,1041,1041, + 962,962,701,558,559,559,559,559,559,559, + 559,559,559,559,559,559,559,559,559,559, + 559,559,559,558,558,558,558,558,558,558, + 558,558,558,558,558,559,312,486,486,486, + 486,403,312,81,56,1028,1039,767,1039,762, + 1039,764,1039,1023,137,598,356,356,81,559, + 56,315,603,506,505,232,137,741,356,108, + 558,596,829,595,598,597,595,312,356,1066, + 1066,1064,1064,1064,1071,1071,1071,1071,1069,1069, + 1076,1073,1073,1079,1078,1080,1116,1081,922,922, + 922,922,598,598,486,159,485,146,598,142, + 359,598,495,403,407,493,767,411,598,598, + 598,403,486,303,356,1097,312,605,607,598, + 830,559,109,1062,268,312,139,598,598,597, + 830,558,558,558,558,558,922,922,542,60, + 142,359,495,494,495,403,495,411,411,598, + 403,598,312,510,498,509,607,403,596,312, + 1062,56,829,139,598,596,312,312,312,312, + 701,701,142,141,688,598,359,1116,405,1016, + 1106,359,495,495,969,598,411,688,686,687, + 598,691,558,507,507,68,68,598,601,56, + 199,312,598,1062,1063,1062,558,268,1021,139, + 312,312,142,830,756,595,758,1108,592,922, + 746,136,970,598,688,559,598,691,558,558, + 607,598,830,312,605,498,691,243,1062,701, + 559,356,1021,596,374,596,495,495,592,1102, + 56,598,749,559,1116,76,969,598,137,137, + 598,776,607,691,1063,312,356,1103,374,596, + 495,767,137,1108,592,829,559,559,598,598, + 598,776,312,776,485,756,62,62,1103,767, + 522,746,598,922,598,598,922,769,776,374, + 837,374,484,484,787,523,137,598,701,608, + 769,684,924,51,922,488,873,374,109,109, + 787,522,1116,559,1116,1103,922,922,922,523, + 922,598,17,1103,1103,598,767,312,311,771, + 791,486,51,684,836,767,767,784,137,485, + 514,922,514,1116,523,542,542,540,789,542, + 1103,1103,197,787,109,771,837,836,837,1103, + 75,1102,312,836,836,836,137,598,640,199, + 312,592,312,17,1103,51,922,312,787,836, + 558,979,592,1103,688,836,836,836,598,598, + 62,312,312,256,523,197,523,1103,17,51, + 558,523,520,688,312,977,688,688,598,1103, + 484,767,767,914,558,521,701,1103,1103,312, + 977,1103,595,523,312,701,1103,687,523,312, + 977,523 }; }; public final static char asb[] = Asb.asb; @@ -1957,118 +1765,118 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 28,42,29,30,43,7,31,32,33,34, - 41,35,36,37,38,39,26,24,25,8, - 6,10,11,5,27,69,40,3,51,12, - 13,60,49,14,63,52,44,15,53,54, - 16,17,55,56,18,19,57,65,58,9, - 66,20,21,50,22,48,1,2,4,0, - 23,73,118,76,45,70,119,0,96,90, - 10,11,91,92,88,89,59,93,94,97, - 98,99,100,101,102,117,73,95,71,104, - 105,106,107,108,109,110,111,112,113,118, - 72,45,119,23,69,70,76,3,67,1, - 2,8,4,6,0,69,73,95,70,118, - 72,45,119,23,76,12,13,28,42,14, - 29,30,15,16,17,43,31,18,19,32, - 33,34,41,35,36,20,21,22,37,38, - 39,26,3,24,25,8,6,10,11,27, - 40,7,1,2,4,9,5,0,41,49, - 7,50,5,1,2,4,74,23,62,73, - 95,118,76,72,45,119,67,3,121,96, - 103,90,24,25,8,6,10,11,91,92, - 88,89,59,93,94,97,98,99,100,101, - 102,117,104,105,106,107,108,109,110,111, - 112,113,69,70,71,0,82,7,114,115, - 116,61,23,3,8,6,5,73,72,45, - 46,51,12,13,60,49,14,63,52,44, - 15,53,54,16,17,55,56,18,19,57, - 65,58,9,66,20,48,21,50,22,4, - 1,2,47,0,74,62,69,73,95,76, - 67,3,23,70,45,71,0,51,12,13, - 49,14,63,52,44,15,53,54,16,17, - 55,56,18,19,57,65,58,9,66,20, - 48,21,50,22,1,2,4,95,60,0, - 12,13,14,15,16,17,18,19,20,21, - 22,51,49,52,44,53,54,55,56,57, - 58,48,50,45,23,76,7,1,2,67, - 3,8,6,5,4,0,1,2,23,72, - 0,42,43,3,9,29,33,31,28,36, - 13,22,12,18,16,17,19,20,15,14, - 21,37,40,38,39,26,35,30,34,5, - 7,4,24,25,8,6,10,11,27,32, - 1,2,118,23,0,4,59,62,73,0, - 1,2,123,62,0,49,41,50,23,69, - 95,71,70,76,0,69,71,70,1,2, - 0,8,6,7,5,4,1,2,3,67, - 69,71,95,76,23,70,0,5,7,3, - 67,6,8,95,51,12,13,60,49,14, - 63,52,44,15,53,54,16,17,55,56, - 18,19,57,65,58,9,66,20,48,21, - 50,22,1,2,4,76,23,0,62,73, - 74,0,82,114,115,116,47,73,120,122, - 72,74,61,64,68,77,79,86,84,75, - 81,83,85,87,62,78,80,23,45,46, - 63,60,65,66,51,56,57,44,55,54, - 48,52,49,50,53,58,41,42,43,9, - 29,33,31,28,36,13,22,12,18,16, - 17,19,20,15,14,21,37,40,38,39, - 26,35,30,34,24,25,10,11,27,32, - 8,6,3,4,7,5,1,2,0,71, - 70,72,23,0,62,70,0,73,23,67, - 3,71,70,45,59,0,49,50,74,3, - 62,73,45,41,69,71,70,23,76,95, - 0,26,0,47,1,2,4,62,73,0, - 120,0,68,51,12,13,60,49,14,63, - 52,82,44,15,53,54,16,17,55,64, - 56,18,19,57,65,58,9,66,20,61, - 48,21,50,22,23,3,8,4,45,62, - 6,7,1,2,5,47,0,72,60,49, - 14,63,52,15,53,54,16,17,55,56, - 18,19,57,65,58,66,20,48,21,50, - 22,13,12,51,23,3,8,6,45,61, - 68,82,44,47,7,1,2,5,4,9, - 64,0,62,71,0,12,13,28,42,14, - 29,30,15,16,17,43,31,18,19,32, - 33,34,41,35,36,9,20,21,22,37, - 38,39,26,24,25,10,11,27,40,46, - 23,8,6,45,5,7,1,2,4,3, - 0,51,12,13,60,49,14,63,52,44, - 15,53,54,16,17,55,56,18,19,57, - 65,58,9,66,20,48,21,50,22,1, - 2,4,43,42,10,11,6,91,92,99, - 8,100,5,27,59,107,108,104,105,106, - 112,111,113,89,88,109,110,97,98,93, - 94,101,102,24,25,90,103,3,67,71, - 70,69,0,75,0,42,43,24,25,10, - 11,27,32,37,40,38,39,26,35,30, - 34,13,22,12,18,16,17,19,20,15, - 14,21,9,29,33,31,28,36,8,6, - 3,67,5,7,1,2,4,0,60,49, - 14,63,52,15,53,54,16,17,55,56, - 18,19,57,65,58,9,66,20,48,21, - 50,22,13,12,51,23,3,8,6,45, - 61,64,68,82,44,59,7,4,47,5, - 1,2,0,23,76,12,13,28,14,29, - 30,15,16,17,31,18,19,32,33,34, - 41,35,36,9,20,21,22,37,38,39, - 26,3,24,25,8,6,10,11,27,4, - 40,46,5,7,1,2,43,42,0,23, - 72,42,43,41,24,25,8,6,10,11, - 5,27,32,3,7,37,40,38,39,26, - 35,30,34,13,22,12,18,16,17,19, - 20,15,14,21,9,29,33,31,28,36, - 4,1,2,62,0,48,1,2,4,114, - 115,116,0,9,63,60,65,66,13,22, - 12,18,16,17,19,20,15,14,21,74, - 62,4,5,2,1,50,48,58,57,56, - 7,55,54,53,44,52,49,51,121,103, - 24,25,67,3,96,90,6,91,92,10, - 11,89,88,59,93,94,97,98,8,99, - 100,101,69,95,76,119,71,104,105,106, - 107,108,109,110,111,112,113,73,118,72, - 102,117,70,45,23,0,45,23,5,7, - 3,1,2,4,6,8,73,0 + 9,72,118,87,26,66,121,0,65,72, + 95,66,118,87,71,121,13,14,31,63, + 15,32,33,16,17,18,64,34,19,20, + 35,36,37,47,38,39,10,21,22,23, + 40,41,42,28,24,25,11,12,30,43, + 9,26,5,7,3,1,2,8,4,6, + 0,65,67,66,1,2,0,74,50,65, + 72,95,87,60,3,9,66,26,67,0, + 31,63,32,33,64,7,34,35,36,37, + 47,38,39,40,41,42,28,24,25,8, + 6,11,12,5,30,65,43,3,51,13, + 14,62,46,15,68,52,27,16,53,54, + 17,18,55,57,19,20,58,69,59,10, + 70,21,22,49,23,45,1,2,4,0, + 47,46,7,49,5,1,2,4,74,9, + 50,72,95,118,87,71,26,121,60,3, + 120,96,103,90,24,25,8,6,11,12, + 91,92,88,89,44,93,94,97,98,99, + 100,101,102,117,104,105,106,107,108,109, + 110,111,112,113,65,66,67,0,51,13, + 14,62,46,15,68,52,27,16,53,54, + 17,18,55,57,19,20,58,69,59,10, + 70,21,45,22,49,23,1,2,4,95, + 0,13,14,15,16,17,18,19,20,21, + 22,23,51,46,52,27,53,54,55,57, + 58,59,45,49,26,9,87,7,1,2, + 60,3,8,6,5,4,0,96,90,11, + 12,91,92,88,89,44,93,94,97,98, + 99,100,101,102,117,72,95,67,104,105, + 106,107,108,109,110,111,112,113,118,71, + 26,121,65,1,2,8,6,4,3,60, + 66,87,9,0,63,64,3,10,32,36, + 34,31,39,14,23,13,19,17,18,20, + 21,16,15,22,40,43,41,42,28,38, + 33,37,5,7,4,24,25,8,6,11, + 12,30,35,1,2,118,9,0,81,7, + 114,115,116,48,9,3,8,6,5,72, + 71,26,73,51,13,14,62,46,15,68, + 52,27,16,53,54,17,18,55,57,19, + 20,58,69,59,10,70,21,45,22,49, + 23,4,1,2,29,0,4,50,72,0, + 1,2,9,71,0,51,13,14,62,46, + 15,68,52,27,16,53,54,17,18,55, + 57,19,20,58,69,59,10,70,21,45, + 22,49,23,1,2,4,64,63,11,12, + 6,91,92,99,8,100,5,30,44,107, + 108,104,105,106,112,111,113,89,88,109, + 110,97,98,93,94,101,102,24,25,90, + 103,3,60,67,66,65,0,1,2,123, + 50,0,4,44,50,72,0,8,6,7, + 5,4,1,2,3,60,65,67,66,9, + 87,95,0,81,114,115,116,29,72,119, + 122,71,73,74,48,56,61,76,78,85, + 83,75,80,82,84,86,50,77,79,9, + 26,51,62,46,68,52,27,53,54,55, + 57,58,69,59,70,45,49,47,63,64, + 10,32,36,34,31,39,14,23,13,19, + 17,18,20,21,16,15,22,40,43,41, + 42,28,38,33,37,24,25,11,12,30, + 35,8,6,3,4,7,5,1,2,0, + 5,7,3,60,6,8,95,51,13,14, + 46,15,68,52,27,16,53,54,17,18, + 55,57,19,20,58,69,59,10,70,21, + 45,22,49,23,1,2,4,87,9,62, + 0,13,14,31,63,15,32,33,16,17, + 18,64,7,34,19,20,35,36,37,47, + 38,39,10,21,22,23,40,41,42,1, + 2,3,24,25,8,6,11,12,5,30, + 4,43,73,28,0,67,66,71,9,0, + 46,47,49,9,65,95,67,66,87,0, + 9,87,13,14,31,15,32,33,16,17, + 18,34,19,20,35,36,37,47,38,39, + 10,21,22,23,40,41,42,28,3,24, + 25,8,6,11,12,30,4,43,5,7, + 1,2,64,63,0,50,66,0,72,9, + 60,3,67,66,26,44,0,50,72,74, + 0,29,72,4,1,2,50,0,46,49, + 74,3,50,72,26,47,9,65,95,67, + 66,87,0,50,67,0,119,0,75,0, + 61,51,13,14,62,46,15,68,52,81, + 27,16,53,54,17,18,55,56,57,19, + 20,58,69,59,10,70,21,48,45,22, + 49,23,9,3,8,4,26,50,6,7, + 1,2,5,29,0,71,62,46,15,68, + 52,16,53,54,17,18,55,57,19,20, + 58,69,59,70,21,45,22,49,23,14, + 13,51,9,3,8,6,26,48,61,81, + 27,29,7,1,2,5,4,10,56,0, + 63,64,24,25,11,12,30,35,40,43, + 41,42,28,38,33,37,14,23,13,19, + 17,18,20,21,16,15,22,10,32,36, + 34,31,39,8,6,60,5,7,1,2, + 4,3,0,62,46,15,68,52,16,53, + 54,17,18,55,57,19,20,58,69,59, + 10,70,21,45,22,49,23,14,13,51, + 9,3,8,6,26,48,56,61,81,27, + 44,7,4,29,5,1,2,0,45,1, + 2,4,114,115,116,0,9,71,63,64, + 47,24,25,8,6,11,12,30,35,3, + 40,43,41,42,28,38,33,37,14,23, + 13,19,17,18,20,21,16,15,22,32, + 36,34,31,39,50,7,1,2,4,10, + 5,0,10,68,62,69,70,14,23,13, + 19,17,18,20,21,16,15,22,74,50, + 4,5,2,1,49,45,59,58,57,7, + 55,54,53,27,52,46,51,120,103,24, + 25,60,3,96,90,6,91,92,11,12, + 89,88,44,93,94,97,98,8,99,100, + 101,65,95,87,121,67,104,105,106,107, + 108,109,110,111,112,113,72,118,71,102, + 117,66,26,9,0,26,9,5,7,3, + 1,2,4,6,8,72,0 }; }; public final static byte asr[] = Asr.asr; @@ -2076,59 +1884,59 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 130,11,31,11,11,11,11,11,11,11, - 123,11,11,11,193,11,169,144,183,31, - 31,167,31,31,31,31,31,31,11,11, - 11,11,11,11,11,11,11,11,11,31, - 11,31,136,235,235,235,235,183,186,89, - 91,4,70,240,11,11,89,195,11,240, - 240,74,1,31,43,160,11,11,136,11, - 11,19,19,186,136,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,136,31,240,11,11, - 11,11,101,240,29,122,214,215,11,215, - 181,215,14,215,208,123,183,70,70,29, - 31,122,66,74,27,27,11,123,183,70, - 235,148,178,110,177,10,183,177,240,70, + 123,11,34,11,11,11,11,11,11,113, + 11,11,11,84,11,155,230,169,34,34, + 153,34,34,34,34,34,34,11,11,11, + 11,11,11,11,11,11,11,11,34,11, + 34,129,239,239,239,239,169,142,98,19, + 4,68,236,11,11,98,86,11,236,236, + 77,1,34,39,147,11,11,129,11,11, + 24,24,142,129,34,34,34,34,34,34, + 34,34,34,34,34,34,34,34,34,34, + 34,34,34,34,34,34,34,34,34,34, + 34,34,34,34,129,34,236,11,11,11, + 11,134,236,32,112,205,206,11,206,167, + 206,16,206,199,113,169,68,68,32,34, + 112,64,77,12,12,11,113,169,68,239, + 120,164,176,163,10,169,163,236,68,11, 11,11,11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11, - 11,11,11,24,10,11,11,11,201,183, - 89,89,170,89,231,89,11,11,89,231, - 183,10,11,11,199,70,11,240,94,89, - 183,160,31,235,89,36,240,11,10,183, - 78,160,31,136,136,136,136,11,11,29, - 11,39,224,89,89,53,159,53,89,15, - 10,159,24,240,11,83,11,96,158,24, - 240,57,201,110,11,10,24,240,240,240, - 240,186,186,89,39,49,183,191,11,11, - 72,217,224,53,53,204,24,15,49,11, - 11,24,89,31,11,11,27,27,183,83, - 122,96,240,24,89,64,11,136,201,79, - 11,240,240,39,160,11,123,89,118,85, - 11,11,123,55,231,49,31,15,39,31, - 31,89,10,160,240,94,173,89,11,57, - 186,31,70,79,178,89,231,89,17,175, - 191,122,183,11,31,11,51,106,231,123, - 123,10,89,96,39,64,240,70,191,96, - 178,17,12,114,85,175,160,31,31,10, - 231,231,41,240,89,11,11,81,81,191, - 12,61,11,231,11,10,10,11,89,41, - 96,162,89,11,11,89,125,114,10,186, - 238,39,11,162,218,11,15,72,96,235, - 235,156,133,11,31,11,191,11,11,11, - 134,11,15,189,191,191,15,99,11,240, - 240,89,89,11,118,11,89,11,11,11, - 123,11,104,11,11,11,134,234,234,139, - 11,234,191,191,11,89,235,41,162,89, - 162,191,59,11,240,151,89,89,123,231, - 11,235,240,85,240,141,191,89,11,240, - 156,151,148,31,85,191,49,162,151,151, - 231,197,81,240,240,89,134,11,134,191, - 141,85,136,134,104,49,240,89,49,49, - 197,191,11,99,99,83,31,11,141,191, - 240,45,191,177,134,240,141,191,49,134, - 240,45,134 + 11,11,29,10,11,11,11,187,169,98, + 98,156,98,208,98,11,11,98,208,169, + 10,11,11,185,68,11,236,211,98,169, + 147,34,239,98,61,236,11,10,169,81, + 147,34,129,129,129,129,11,11,32,11, + 53,223,98,98,73,146,73,98,17,10, + 146,29,236,11,92,11,213,145,29,236, + 55,187,176,11,10,29,236,236,236,236, + 142,142,98,53,51,169,151,11,11,88, + 216,223,73,73,195,29,17,51,11,11, + 29,98,34,11,11,12,12,169,92,112, + 213,236,29,98,57,11,129,187,82,11, + 236,236,53,147,11,113,98,108,94,11, + 11,113,75,208,51,34,17,53,34,34, + 98,10,147,236,211,159,98,11,55,142, + 34,68,82,164,98,208,98,22,161,151, + 112,169,11,34,11,45,172,208,113,113, + 10,98,213,53,57,236,68,151,213,164, + 22,14,104,94,161,147,34,34,10,208, + 208,43,236,98,11,11,41,41,151,14, + 70,11,208,11,10,10,11,98,43,213, + 190,98,11,11,98,115,104,10,142,234, + 53,11,190,217,11,17,88,213,239,239, + 132,126,11,34,11,151,11,11,11,127, + 11,17,149,151,151,17,100,236,236,98, + 98,11,108,11,98,11,11,11,113,11, + 102,11,11,11,127,238,238,180,11,238, + 151,151,11,98,239,43,190,98,190,151, + 59,11,236,137,98,98,113,208,11,239, + 236,94,236,182,151,98,11,236,132,137, + 120,34,94,151,51,190,137,137,208,90, + 41,236,236,98,127,11,127,151,182,94, + 129,127,102,51,236,98,51,51,90,151, + 11,100,100,92,34,11,182,151,151,236, + 47,151,163,127,236,182,151,51,127,236, + 47,127 }; }; public final static char nasb[] = Nasb.nasb; @@ -2137,29 +1945,29 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, 3,13,8,6,147,145,120,144,143,2, - 0,155,0,6,1,0,154,0,6,2, - 8,134,0,4,3,0,67,0,49,5, - 6,8,2,13,0,5,173,0,60,0, - 123,0,171,0,13,2,8,6,64,0, - 181,0,111,0,183,0,138,0,175,0, - 5,64,0,136,0,13,2,8,6,78, - 0,151,0,96,97,5,0,2,114,0, - 110,0,97,96,63,6,2,8,5,0, - 5,185,0,6,91,24,5,0,56,0, - 131,65,0,113,0,6,104,161,0,65, - 133,132,0,165,6,164,0,2,63,8, - 5,91,6,0,5,45,39,174,0,5, - 170,0,64,45,69,5,39,0,45,48, - 5,102,0,5,49,39,0,5,29,0, - 105,5,45,68,0,156,0,131,2,65, - 0,5,45,68,79,0,6,13,8,2, - 3,0,97,96,63,55,6,8,2,0, - 3,6,2,44,0,5,99,0,5,39, - 40,0,5,49,167,0,150,0,97,96, - 6,55,0,6,104,182,0,2,6,120, - 116,117,118,13,88,0,40,6,2,8, - 5,153,0,5,45,68,104,46,6,0, - 2,54,0,115,5,49,0,49,5,36, + 0,67,0,155,0,6,1,0,5,186, + 0,154,0,6,2,8,134,0,4,3, + 0,48,5,6,8,2,13,0,171,0, + 110,0,123,0,182,0,13,2,8,6, + 64,0,60,0,138,0,136,0,176,0, + 5,173,0,13,2,8,6,78,0,5, + 64,0,111,0,184,0,96,97,5,0, + 2,114,0,5,48,167,0,151,0,150, + 0,97,96,63,6,2,8,5,0,56, + 0,113,0,165,6,164,0,2,63,8, + 5,91,6,0,5,47,39,174,0,5, + 29,0,5,170,0,64,47,69,5,39, + 0,156,0,131,65,0,105,5,47,68, + 0,5,99,0,131,2,65,0,5,39, + 40,0,6,13,8,2,3,0,97,96, + 63,55,6,8,2,0,3,6,2,44, + 0,6,104,161,0,65,133,132,0,24, + 175,5,102,0,97,96,6,55,0,5, + 47,68,79,0,6,104,183,0,2,6, + 120,116,117,118,13,88,0,2,54,0, + 6,91,24,5,0,40,6,2,8,5, + 153,0,5,47,68,104,45,6,0,5, + 48,39,0,48,5,36,0,115,5,48, 0 }; }; @@ -2168,19 +1976,19 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TerminalIndex { public final static char terminalIndex[] = {0, - 115,116,2,32,14,11,81,10,102,12, - 13,50,54,62,70,76,77,88,89,104, - 107,109,117,8,9,114,15,57,63,69, - 86,90,92,96,99,101,111,112,113,46, - 97,60,80,68,122,123,95,106,56,108, - 49,66,72,75,78,85,91,100,20,55, - 105,3,65,79,93,103,1,48,21,45, - 34,121,31,98,110,120,51,52,58,59, - 61,67,71,73,74,87,94,18,19,7, + 115,116,2,32,14,11,81,10,117,102, + 12,13,50,54,62,70,76,77,88,89, + 104,107,109,8,9,122,68,114,95,15, + 57,63,69,86,90,92,96,99,101,111, + 112,113,46,20,106,56,97,105,108,3, + 49,66,72,75,78,79,85,91,100,1, + 48,55,60,80,21,45,34,65,93,103, + 121,31,123,98,110,51,52,58,59,61, + 67,71,73,74,87,94,120,18,19,7, 16,17,22,23,33,5,24,25,26,27, 28,29,6,35,36,37,38,39,40,41, - 42,43,44,82,83,84,30,119,125,53, - 4,64,124,118 + 42,43,44,82,83,84,30,119,53,4, + 125,64,124,118 }; }; public final static char terminalIndex[] = TerminalIndex.terminalIndex; @@ -2192,7 +2000,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 135,0,146,0,134,0,0,145,151,0, 0,152,161,182,162,163,164,165,154,140, 166,167,168,169,170,128,171,0,133,130, - 172,0,142,141,0,180,0,179,155,0, + 172,0,142,141,180,0,0,155,0,0, 0,0,0,0,158,175,0,205,0,189, 148,202,206,129,0,0,207,0,174,0, 0,0,0,0,0,0,178,127,131,0, @@ -2205,9 +2013,9 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,183,184,185,186,187,190,0,196,198, 0,199,204,0,216,217,0,222,225,227, 229,0,232,233,234,0,236,237,240,126, - 0,153,156,176,201,214,219,0,223,224, - 226,228,0,230,231,243,244,0,0,0, - 0,0,0 + 0,153,156,176,179,201,214,219,0,223, + 224,226,228,0,230,231,243,244,0,0, + 0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2215,18 +2023,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 146,580,599,367,531,547,558,569,347,252, - 266,288,294,300,42,277,392,430,154,588, - 375,482,20,51,75,80,85,122,182,283, - 306,317,328,258,272,506,27,357,328,607, + 146,584,603,371,535,551,562,573,351,252, + 266,288,294,300,42,277,396,434,154,592, + 379,486,20,51,75,80,85,122,182,283, + 306,317,328,258,272,510,27,361,328,611, 27,204,231,1,14,61,71,101,136,311, - 324,333,340,448,475,527,617,621,625,92, - 7,92,136,410,426,439,459,519,439,538, - 554,565,576,194,381,493,56,56,143,209, - 212,56,226,247,212,212,56,344,454,472, - 479,143,56,640,105,219,414,466,111,111, - 219,56,219,401,164,99,452,629,636,629, - 636,65,420,129,99,99,236 + 324,333,340,344,452,479,531,621,625,629, + 92,7,92,136,414,430,443,463,523,443, + 542,558,569,580,194,385,497,56,56,143, + 209,212,56,226,247,212,212,56,348,458, + 476,483,143,56,644,105,219,418,470,111, + 111,219,56,219,405,164,99,456,633,640, + 633,640,65,424,129,99,99,236 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2234,18 +2042,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,354,5,5,5,5,354,127, - 90,127,127,127,48,263,398,436,160,67, - 362,488,25,25,59,59,90,127,187,127, - 127,322,322,263,96,511,38,362,594,612, + 18,5,5,358,5,5,5,5,358,127, + 90,127,127,127,48,263,402,440,160,67, + 366,492,25,25,59,59,90,127,187,127, + 127,322,322,263,96,515,38,366,598,616, 32,198,198,5,18,5,59,90,127,315, - 315,315,90,127,229,5,5,5,229,638, - 11,96,140,354,354,354,463,511,443,542, - 542,542,542,198,385,497,59,59,5,5, - 215,217,229,5,250,250,217,90,457,5, - 229,5,504,5,108,337,417,469,114,118, - 222,523,514,404,167,90,90,631,631,633, - 633,67,422,131,189,174,238 + 315,315,90,90,127,229,5,5,5,229, + 642,11,96,140,358,358,358,467,515,447, + 546,546,546,546,198,389,501,59,59,5, + 5,215,217,229,5,250,250,217,90,461, + 5,229,5,508,5,108,337,421,473,114, + 118,222,527,518,408,167,90,90,635,635, + 637,637,67,426,131,189,174,238 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2253,18 +2061,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 46,18,18,73,18,18,18,18,73,82, - 47,87,86,118,66,52,73,72,46,18, - 73,20,3,7,161,161,158,116,46,85, - 118,117,119,53,47,134,128,73,18,18, + 45,18,18,73,18,18,18,18,73,82, + 46,87,86,118,66,52,73,72,45,18, + 73,20,3,7,161,161,158,116,45,85, + 118,117,119,53,46,134,128,73,18,18, 128,98,57,130,76,164,161,158,125,117, - 117,119,48,56,138,18,18,18,18,12, - 113,158,125,73,72,72,38,134,72,18, - 18,18,18,98,73,20,165,161,175,96, - 103,59,67,58,153,77,119,74,70,139, - 138,171,134,17,158,119,115,22,126,126, - 55,134,134,73,46,158,71,132,44,132, - 44,164,115,116,46,46,57 + 117,119,175,50,56,138,18,18,18,18, + 12,113,158,125,73,72,72,38,134,72, + 18,18,18,18,98,73,20,165,161,176, + 96,103,59,67,58,153,77,119,74,70, + 139,138,171,134,17,158,119,115,22,126, + 126,55,134,134,73,45,158,71,132,44, + 132,44,164,115,116,45,45,57 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2272,18 +2080,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 120,76,76,76,76,76,76,76,76,72, - 45,72,72,72,69,1,76,122,62,3, - 45,76,69,69,1,1,45,72,62,72, - 72,1,1,1,1,4,69,45,1,1, - 69,76,76,76,120,76,1,45,72,1, - 1,1,45,72,118,76,76,76,118,1, - 76,1,70,76,76,76,73,4,76,69, - 69,69,69,76,45,3,1,1,76,76, - 3,1,118,76,1,1,1,45,73,76, - 118,76,5,76,1,47,71,76,1,1, - 6,1,47,75,74,45,45,4,4,4, - 4,3,1,62,1,1,3 + 119,87,87,87,87,87,87,87,87,71, + 26,71,71,71,65,1,87,122,50,3, + 26,87,65,65,1,1,26,71,50,71, + 71,1,1,1,1,4,65,26,1,1, + 65,87,87,87,119,87,1,26,71,1, + 1,1,26,26,71,118,87,87,87,118, + 1,87,1,66,87,87,87,72,4,87, + 65,65,65,65,87,26,3,1,1,87, + 87,3,1,118,87,1,1,1,26,72, + 87,118,87,5,87,1,29,67,87,1, + 1,6,1,29,75,74,26,26,4,4, + 4,4,3,1,50,1,1,3 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -2291,18 +2099,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 88,254,254,99,254,254,254,254,99,23, - 88,23,23,158,110,90,99,99,88,254, - 99,254,186,230,63,63,119,158,88,23, - 158,158,158,90,88,141,56,99,254,254, - 56,150,72,33,99,37,63,119,316,158, - 158,158,12,40,69,254,254,254,254,234, - 7,119,316,99,99,99,286,141,99,254, - 254,254,254,150,99,254,37,63,1,150, - 152,72,146,72,66,77,158,99,99,60, - 69,144,141,254,119,158,3,255,158,158, - 125,141,141,99,88,119,99,122,162,122, - 162,37,3,158,88,88,72 + 72,238,238,83,238,238,238,238,83,96, + 72,96,96,142,94,74,83,83,72,238, + 83,238,170,214,44,44,69,142,72,96, + 142,142,142,74,72,125,37,83,238,238, + 37,134,53,14,83,18,44,69,300,142, + 142,142,3,74,21,50,238,238,238,238, + 218,9,69,300,83,83,83,270,125,83, + 238,238,238,238,134,83,238,18,44,1, + 134,136,53,130,53,47,58,142,83,83, + 41,50,128,125,238,69,142,5,239,142, + 142,109,125,125,83,72,69,83,106,146, + 106,146,18,5,142,72,72,53 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -2310,71 +2118,71 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 311,3,41,0,128,0,310,3,120,0, + 312,3,47,0,128,0,311,3,119,0, 128,175,0,129,180,74,0,217,0,290, - 129,59,128,0,21,0,292,129,59,47, + 129,44,128,0,21,0,292,129,44,29, 0,21,55,0,34,134,0,21,55,0, - 0,292,129,59,47,192,0,21,131,0, - 290,129,59,132,0,178,130,0,140,0, + 0,292,129,44,29,192,0,21,131,0, + 290,129,44,132,0,178,130,0,140,0, 223,3,289,0,289,0,2,0,128,0, - 178,130,228,0,178,130,48,228,0,178, - 130,307,48,0,133,189,168,130,0,130, - 0,189,168,130,0,136,130,0,169,0, - 303,129,169,0,129,169,0,223,130,0, + 178,130,228,0,178,130,45,228,0,178, + 130,308,45,0,133,189,168,130,0,130, + 0,189,168,130,0,136,130,0,171,0, + 304,129,171,0,129,171,0,223,130,0, 168,244,0,139,0,0,0,137,0,0, - 0,302,129,62,250,0,129,0,250,0, - 3,0,0,129,0,301,129,62,0,45, + 0,303,129,50,250,0,129,0,250,0, + 3,0,0,129,0,302,129,50,0,45, 129,0,153,3,0,129,279,278,129,74, - 277,169,0,278,129,74,277,169,0,216, - 0,217,0,277,169,0,98,0,0,216, + 277,171,0,278,129,74,277,171,0,216, + 0,217,0,277,171,0,98,0,0,216, 0,217,0,204,98,0,0,216,0,217, - 0,278,129,277,169,0,216,0,204,0, + 0,278,129,277,171,0,216,0,204,0, 0,216,0,231,129,3,0,128,0,0, 0,0,0,231,129,3,220,0,227,3, 0,215,129,0,209,0,149,0,168,130, - 0,11,0,0,0,218,67,0,127,0, + 0,11,0,0,0,218,60,0,127,0, 231,129,3,182,0,182,0,2,0,0, 128,0,0,0,0,0,201,3,0,202, - 0,230,129,62,26,44,0,178,130,64, - 61,0,198,130,0,133,178,130,275,61, - 0,178,130,275,61,0,178,130,71,125, - 64,0,230,129,62,64,0,230,129,62, - 123,64,0,230,129,62,126,64,0,272, - 129,62,125,63,0,272,129,62,63,0, - 178,130,63,0,137,0,189,178,130,244, + 0,230,129,50,28,27,0,178,130,56, + 48,0,198,130,0,133,178,130,275,48, + 0,178,130,275,48,0,178,130,67,125, + 56,0,230,129,50,56,0,230,129,50, + 123,56,0,230,129,50,126,56,0,272, + 129,50,125,68,0,272,129,50,68,0, + 178,130,68,0,137,0,189,178,130,244, 0,139,0,178,130,244,0,189,168,130, - 9,0,168,130,9,0,95,139,0,265, - 129,169,0,163,86,0,226,164,226,172, - 3,83,0,128,174,0,226,172,3,83, - 0,130,0,128,174,0,226,164,226,164, - 226,3,83,0,226,164,226,3,83,0, - 226,3,83,0,130,0,130,0,128,174, - 0,163,3,75,193,81,0,128,130,0, - 193,81,0,110,2,133,128,130,0,239, - 3,75,0,201,173,0,34,172,0,173, - 0,178,34,172,0,239,3,87,0,193, - 160,239,3,85,0,64,174,0,239,3, - 85,0,128,174,64,174,0,298,129,62, - 0,163,0,218,78,0,31,0,163,117, - 161,0,31,172,0,185,3,0,128,152, - 0,223,3,0,218,67,262,0,163,67, - 0,185,3,295,43,130,0,128,0,0, - 0,0,295,43,130,0,2,148,128,0, - 0,0,0,150,0,127,47,168,130,0, - 32,150,0,95,139,32,150,0,217,178, - 130,0,149,32,150,0,163,3,36,0, - 163,3,69,185,59,28,0,185,59,28, - 0,21,2,133,128,0,163,3,69,185, - 59,31,0,185,59,31,0,163,3,69, - 185,59,33,0,185,59,33,0,163,3, - 69,185,59,29,0,185,59,29,0,223, - 3,127,189,168,130,9,0,127,189,168, - 130,9,0,139,2,0,128,0,223,3, - 126,255,168,130,9,0,255,168,130,9, - 0,137,2,0,128,0,223,3,137,0, - 223,3,142,0,163,67,142,0,257,0, - 32,0,32,143,0,167,0,136,0,163, - 3,0 + 10,0,168,130,10,0,95,139,0,265, + 129,148,0,265,129,171,0,163,85,0, + 226,164,226,299,3,82,0,128,174,0, + 226,299,3,82,0,130,0,128,174,0, + 226,164,226,164,226,3,82,0,226,164, + 226,3,82,0,226,3,82,0,130,0, + 130,0,128,174,0,163,3,75,193,80, + 0,128,130,0,193,80,0,110,2,133, + 128,130,0,239,3,75,0,201,172,0, + 34,172,0,172,0,178,34,172,0,239, + 3,86,0,193,160,239,3,84,0,64, + 174,0,239,3,84,0,128,174,64,174, + 0,298,129,50,0,163,0,218,77,0, + 31,0,163,117,161,0,31,172,0,185, + 3,0,128,152,0,223,3,0,218,60, + 262,0,163,60,0,185,3,295,64,130, + 0,128,0,0,0,0,295,64,130,0, + 2,148,128,0,0,0,0,150,0,127, + 29,168,130,0,32,150,0,95,139,32, + 150,0,217,178,130,0,149,32,150,0, + 163,3,39,0,163,3,65,185,44,31, + 0,185,44,31,0,21,2,133,128,0, + 163,3,65,185,44,34,0,185,44,34, + 0,163,3,65,185,44,36,0,185,44, + 36,0,163,3,65,185,44,32,0,185, + 44,32,0,223,3,127,189,168,130,10, + 0,127,189,168,130,10,0,139,2,0, + 128,0,223,3,126,255,168,130,10,0, + 255,168,130,10,0,137,2,0,128,0, + 223,3,137,0,223,3,142,0,163,60, + 142,0,257,0,32,0,32,143,0,167, + 0,136,0,163,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2382,38 +2190,37 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 1236,0,4824,4823,4781,0,2946,3070,2816,3065, - 0,3727,3689,3635,3597,3543,3505,3012,3451,3413, - 2935,2897,3177,3113,4178,3049,3040,4153,4089,4080, - 3186,0,2107,1072,895,0,3513,2833,0,3727, - 3689,3635,3251,2857,3597,3543,3505,3451,2656,3413, - 2935,2897,2864,554,0,3641,2658,2649,0,1444, - 1315,0,2823,4245,0,4566,4469,0,1531,1145, - 0,4566,4550,4486,3381,4469,2763,4266,4363,4455, - 3021,4279,4391,2841,2685,2603,0,2910,4582,3177, - 3113,4178,3049,3040,4153,4089,4080,3186,3727,3689, - 3635,3597,3543,3505,3451,3413,2935,2897,0,3177, - 3113,4178,3049,3040,4153,4089,4080,3186,2910,4582, - 0,2914,2828,0,3021,4550,1654,4486,3381,4428, - 2841,1783,1568,1740,2647,3657,1102,1482,1439,0, - 717,646,0,913,0,2423,1420,978,666,3381, - 3657,2763,2685,2603,2827,2411,0,4297,525,2399, - 0,4797,4788,4772,4763,4741,4726,4707,4671,4659, - 4651,4211,4108,3746,3562,4634,4614,3205,4589,4304, - 3427,3402,2493,2195,0,4797,4788,3138,2757,2674, - 4772,4763,4741,2498,2482,4726,4707,4671,2017,4659, - 3394,4651,3147,2406,4211,2190,1885,2101,2012,2418, - 4108,3212,3746,1103,3562,4634,4614,1091,3205,659, - 4589,797,4304,3427,4297,3402,2399,2493,2195,908, - 785,568,979,846,2763,4266,4363,4455,3021,4566, - 4550,4279,4486,3381,4391,2841,2685,4469,2603,1032, - 964,717,646,619,4057,4034,2201,2240,580,2275, - 2370,2341,2309,2707,2616,2575,2547,2454,2424,3357, - 3333,3309,2867,2789,4011,3988,3965,3942,3919,3896, - 3873,3850,3827,3284,3804,1891,2151,2112,2062,2023, - 1973,1197,1152,1934,1109,865,1841,1802,735,673, - 1759,1716,1673,1630,1587,1544,1501,1458,1415,1372, - 1329,525,1285,803,1048,989,921,1240,0 + 1670,0,3476,0,4839,4838,4837,0,3554,2956, + 2677,2935,0,2697,1072,895,0,3461,2829,0, + 3695,3657,3603,3591,3384,3565,3511,3473,3419,2640, + 3381,2931,2893,2656,554,0,3503,2654,2645,0, + 1745,1444,0,3429,4058,0,4606,4509,0,1531, + 1145,0,4606,4590,4526,3349,4509,2759,4306,4403, + 4495,3018,4319,4431,2837,2681,2603,0,2906,4622, + 0,2906,4622,3145,3136,4218,3047,3037,4164,4121, + 4057,4048,3695,3657,3603,3565,3511,3473,3419,3381, + 2931,2893,0,2906,4622,3145,3136,4218,3047,3037, + 4164,4121,4057,4048,0,3628,3442,0,3018,4590, + 1568,4526,3349,4550,2837,1783,1482,1740,4468,3504, + 1654,1439,1396,0,716,646,0,789,0,2745, + 894,765,549,3349,3504,2759,2681,2603,2823,2411, + 0,4337,525,2399,0,4828,4816,4782,4767,4761, + 4712,4706,4697,4691,4675,4252,4194,4147,4075,4630, + 4344,3163,4182,3395,3011,3370,2493,2195,0,4828, + 4816,3245,3154,2753,4782,4767,4761,2672,2498,4712, + 4706,4697,2017,4691,3056,4675,2406,2190,4252,2101, + 1885,2012,1091,2418,4194,3171,4147,1103,4075,4630, + 4344,729,3163,659,4182,797,3395,3011,4337,3370, + 2399,2493,2195,1032,784,568,980,964,2759,4306, + 4403,4495,3018,4606,4590,4319,4526,3349,4431,2837, + 2681,4509,2603,908,851,716,646,619,4025,4002, + 2201,2240,580,2275,2370,2341,2309,2707,2616,2575, + 2547,2454,2424,3325,3301,3277,2863,2785,3979,3956, + 3933,3910,3887,3864,3841,3818,3795,3252,3772,1891, + 2151,2112,2062,2023,1973,1197,1152,1934,1109,865, + 1841,1802,735,673,1759,1716,1673,1630,1587,1544, + 1501,1458,1415,1372,1329,525,1285,803,1048,989, + 921,1240,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2421,59 +2228,59 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,294,129,46,264,36,28,31,33,29, - 9,137,126,128,7,132,4,3,130,32, - 27,5,11,10,6,8,25,24,142,147, - 150,149,152,151,156,155,158,157,159,41, - 161,70,3,59,59,59,59,130,3,59, - 173,129,67,3,42,43,59,7,126,185, - 163,173,129,42,43,168,167,126,3,127, - 126,103,121,3,67,90,96,11,10,92, - 91,6,94,93,69,59,88,89,8,98, - 97,100,99,101,113,112,111,110,109,108, - 107,106,105,104,71,117,102,163,185,185, - 185,185,168,223,129,129,266,267,250,268, - 244,269,63,270,271,9,130,67,67,129, - 160,129,67,3,221,220,137,9,130,67, - 295,3,189,4,47,5,130,47,223,163, - 149,149,147,147,147,151,151,151,151,150, - 150,155,152,152,157,156,158,163,159,69, - 69,69,69,189,255,290,135,293,215,130, - 6,62,168,234,130,127,126,125,62,130, - 130,178,168,290,215,218,161,227,129,3, - 130,168,202,3,296,173,153,257,189,130, - 178,168,73,3,3,3,3,127,126,70, - 168,129,129,127,126,129,178,129,62,129, - 178,168,47,231,232,148,233,129,168,47, - 185,129,129,4,217,5,47,163,163,163, - 163,3,3,6,184,302,130,170,228,192, - 61,169,304,129,129,73,189,129,272,125, - 273,189,160,71,227,201,187,182,130,3, - 129,70,231,189,160,259,262,67,179,4, - 127,223,223,129,168,47,275,277,129,3, - 182,306,228,48,130,272,71,70,129,71, - 71,3,178,168,201,129,215,160,127,129, - 3,67,163,4,189,59,130,74,129,215, - 303,129,130,126,73,284,201,70,130,48, - 307,178,224,129,129,259,223,218,133,129, - 178,129,278,73,70,215,168,73,71,178, - 130,130,129,231,224,292,47,9,60,133, - 278,62,288,130,289,178,178,41,160,129, - 70,69,59,234,234,279,129,70,178,3, - 3,129,44,47,169,68,64,61,129,71, - 71,129,298,80,78,1,163,87,85,83, - 81,75,84,86,79,77,64,74,46,223, - 311,224,26,59,129,3,62,123,126,125, - 64,292,280,120,23,218,73,3,3,3, - 193,3,125,163,125,180,70,129,129,62, - 69,265,201,276,26,129,62,62,71,130, - 69,3,239,173,239,172,226,169,75,239, - 129,129,3,71,70,160,230,229,129,129, - 130,178,60,95,310,173,160,201,160,226, - 164,129,3,160,280,230,153,62,230,230, - 178,274,234,160,160,129,71,193,164,226, - 163,129,274,71,122,226,164,160,301,160, - 226,70,160 + 0,294,129,264,39,31,34,36,32,10, + 137,126,128,7,132,4,3,130,35,30, + 5,12,11,6,8,25,24,142,147,150, + 149,152,151,156,155,158,157,159,47,161, + 66,3,44,44,44,44,130,3,44,172, + 129,60,3,63,64,44,7,126,185,163, + 172,129,63,64,168,167,126,3,127,126, + 103,120,3,60,90,96,12,11,92,91, + 6,94,93,65,44,88,89,8,98,97, + 100,99,101,113,112,111,110,109,108,107, + 106,105,104,67,117,102,163,185,185,185, + 185,168,223,129,129,266,267,250,268,244, + 269,68,270,271,10,130,60,60,129,160, + 129,60,3,221,220,137,10,130,60,295, + 3,189,4,29,5,130,29,223,163,149, + 149,147,147,147,151,151,151,151,150,150, + 155,152,152,157,156,158,163,159,65,65, + 65,65,189,255,290,135,293,215,130,6, + 50,168,234,130,127,126,125,50,130,130, + 178,168,290,215,218,161,227,129,3,130, + 168,202,3,296,172,153,257,189,130,178, + 168,72,3,3,3,3,127,126,66,168, + 129,129,127,126,129,178,129,50,129,178, + 168,29,231,232,148,233,129,168,29,185, + 129,129,4,217,5,29,163,163,163,163, + 3,3,6,184,303,130,169,228,192,48, + 171,305,129,129,72,189,129,272,125,273, + 189,160,67,227,201,187,182,130,3,129, + 66,231,189,160,259,262,60,179,4,127, + 223,223,129,168,29,275,277,129,3,182, + 307,228,45,130,272,67,66,129,67,67, + 3,178,168,201,129,215,160,127,129,3, + 60,163,4,189,44,130,74,129,215,304, + 129,130,126,72,284,201,66,130,45,308, + 178,224,129,129,259,223,218,133,129,178, + 129,278,72,66,215,168,72,67,178,130, + 130,129,231,224,292,29,10,62,133,278, + 50,288,130,289,178,178,47,160,129,66, + 65,44,234,234,279,129,66,178,3,3, + 129,27,29,171,61,56,48,129,67,67, + 129,298,79,77,1,163,86,84,82,80, + 75,83,85,78,76,56,74,223,312,224, + 28,44,129,3,50,123,126,125,56,292, + 280,119,9,218,72,3,3,3,193,3, + 125,163,125,180,66,129,129,50,65,265, + 201,276,28,129,50,50,67,130,65,3, + 239,172,239,299,226,148,75,239,129,129, + 3,67,66,160,230,229,129,129,130,178, + 62,95,311,172,160,201,160,226,164,129, + 3,160,280,230,153,50,230,230,178,274, + 234,160,160,129,67,193,164,226,265,163, + 129,274,67,122,226,164,160,302,160,226, + 66,160 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2662,7 +2469,8 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab "statement_seq", "condition", "declarator", - "simple_declaration", + "simple_declaration_with_declsp" + + "ec", "function_definition", "declaration_seq", "declaration_specifiers", @@ -2738,9 +2546,9 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final String name(int index) { return name[index]; } public final static int - ERROR_SYMBOL = 46, - SCOPE_UBOUND = 116, - SCOPE_SIZE = 117, + ERROR_SYMBOL = 73, + SCOPE_UBOUND = 117, + SCOPE_SIZE = 118, MAX_NAME_LENGTH = 37; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -2749,20 +2557,20 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 523, + NUM_STATES = 522, NT_OFFSET = 124, - LA_STATE_OFFSET = 5884, + LA_STATE_OFFSET = 5833, MAX_LA = 2147483647, NUM_RULES = 524, - NUM_NONTERMINALS = 193, - NUM_SYMBOLS = 317, + NUM_NONTERMINALS = 194, + NUM_SYMBOLS = 318, SEGMENT_SIZE = 8192, - START_STATE = 2912, + START_STATE = 2908, IDENTIFIER_SYMBOL = 0, - EOFT_SYMBOL = 119, - EOLT_SYMBOL = 119, - ACCEPT_ACTION = 4998, - ERROR_ACTION = 5360; + EOFT_SYMBOL = 121, + EOLT_SYMBOL = 121, + ACCEPT_ACTION = 4956, + ERROR_ACTION = 5309; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java index 527bc4c89d2..7a6a407868d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPSizeofExpressionParsersym.java @@ -15,81 +15,81 @@ package org.eclipse.cdt.internal.core.dom.lrparser.cpp; public interface CPPSizeofExpressionParsersym { public final static int - TK_asm = 68, + TK_asm = 61, TK_auto = 51, - TK_bool = 12, - TK_break = 77, - TK_case = 78, - TK_catch = 120, - TK_char = 13, - TK_class = 60, - TK_const = 49, - TK_const_cast = 28, - TK_continue = 79, - TK_default = 80, - TK_delete = 42, - TK_do = 81, - TK_double = 14, - TK_dynamic_cast = 29, + TK_bool = 13, + TK_break = 76, + TK_case = 77, + TK_catch = 119, + TK_char = 14, + TK_class = 62, + TK_const = 46, + TK_const_cast = 31, + TK_continue = 78, + TK_default = 79, + TK_delete = 63, + TK_do = 80, + TK_double = 15, + TK_dynamic_cast = 32, TK_else = 122, - TK_enum = 63, + TK_enum = 68, TK_explicit = 52, - TK_export = 82, - TK_extern = 44, - TK_false = 30, - TK_float = 15, - TK_for = 83, + TK_export = 81, + TK_extern = 27, + TK_false = 33, + TK_float = 16, + TK_for = 82, TK_friend = 53, - TK_goto = 84, - TK_if = 85, + TK_goto = 83, + TK_if = 84, TK_inline = 54, - TK_int = 16, - TK_long = 17, + TK_int = 17, + TK_long = 18, TK_mutable = 55, - TK_namespace = 64, - TK_new = 43, + TK_namespace = 56, + TK_new = 64, TK_operator = 7, TK_private = 114, TK_protected = 115, TK_public = 116, - TK_register = 56, - TK_reinterpret_cast = 31, - TK_return = 86, - TK_short = 18, - TK_signed = 19, - TK_sizeof = 32, - TK_static = 57, - TK_static_cast = 33, - TK_struct = 65, - TK_switch = 87, - TK_template = 47, - TK_this = 34, - TK_throw = 41, + TK_register = 57, + TK_reinterpret_cast = 34, + TK_return = 85, + TK_short = 19, + TK_signed = 20, + TK_sizeof = 35, + TK_static = 58, + TK_static_cast = 36, + TK_struct = 69, + TK_switch = 86, + TK_template = 29, + TK_this = 37, + TK_throw = 47, TK_try = 74, - TK_true = 35, - TK_typedef = 58, - TK_typeid = 36, - TK_typename = 9, - TK_union = 66, - TK_unsigned = 20, - TK_using = 61, - TK_virtual = 48, - TK_void = 21, - TK_volatile = 50, - TK_wchar_t = 22, + TK_true = 38, + TK_typedef = 59, + TK_typeid = 39, + TK_typename = 10, + TK_union = 70, + TK_unsigned = 21, + TK_using = 48, + TK_virtual = 45, + TK_void = 22, + TK_volatile = 49, + TK_wchar_t = 23, TK_while = 75, - TK_integer = 37, - TK_floating = 38, - TK_charconst = 39, - TK_stringlit = 26, + TK_integer = 40, + TK_floating = 41, + TK_charconst = 42, + TK_stringlit = 28, TK_identifier = 1, TK_Completion = 2, - TK_EndOfCompletion = 23, + TK_EndOfCompletion = 9, TK_Invalid = 124, - TK_LeftBracket = 67, + TK_LeftBracket = 60, TK_LeftParen = 3, - TK_LeftBrace = 62, - TK_Dot = 121, + TK_LeftBrace = 50, + TK_Dot = 120, TK_DotStar = 96, TK_Arrow = 103, TK_ArrowStar = 90, @@ -97,16 +97,16 @@ public interface CPPSizeofExpressionParsersym { TK_MinusMinus = 25, TK_And = 8, TK_Star = 6, - TK_Plus = 10, - TK_Minus = 11, + TK_Plus = 11, + TK_Minus = 12, TK_Tilde = 5, - TK_Bang = 27, + TK_Bang = 30, TK_Slash = 91, TK_Percent = 92, TK_RightShift = 88, TK_LeftShift = 89, - TK_LT = 59, - TK_GT = 69, + TK_LT = 44, + TK_GT = 65, TK_LE = 93, TK_GE = 94, TK_EQ = 97, @@ -116,10 +116,10 @@ public interface CPPSizeofExpressionParsersym { TK_AndAnd = 101, TK_OrOr = 102, TK_Question = 117, - TK_Colon = 73, + TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 95, - TK_Assign = 71, + TK_Assign = 67, TK_StarAssign = 104, TK_SlashAssign = 105, TK_PercentAssign = 106, @@ -130,15 +130,15 @@ public interface CPPSizeofExpressionParsersym { TK_AndAssign = 111, TK_CaretAssign = 112, TK_OrAssign = 113, - TK_Comma = 70, - TK_zero = 40, + TK_Comma = 66, + TK_zero = 43, TK_RightBracket = 118, - TK_RightParen = 76, - TK_RightBrace = 72, - TK_SemiColon = 45, - TK_ERROR_TOKEN = 46, + TK_RightParen = 87, + TK_RightBrace = 71, + TK_SemiColon = 26, + TK_ERROR_TOKEN = 73, TK_original_namespace_name = 123, - TK_EOF_TOKEN = 119; + TK_EOF_TOKEN = 121; public final static String orderedTerminalSymbols[] = { "", @@ -150,6 +150,7 @@ public interface CPPSizeofExpressionParsersym { "Star", "operator", "And", + "EndOfCompletion", "typename", "Plus", "Minus", @@ -164,10 +165,12 @@ public interface CPPSizeofExpressionParsersym { "unsigned", "void", "wchar_t", - "EndOfCompletion", "PlusPlus", "MinusMinus", + "SemiColon", + "extern", "stringlit", + "template", "Bang", "const_cast", "dynamic_cast", @@ -182,42 +185,38 @@ public interface CPPSizeofExpressionParsersym { "floating", "charconst", "zero", - "throw", - "delete", - "new", - "extern", - "SemiColon", - "ERROR_TOKEN", - "template", + "LT", "virtual", "const", + "throw", + "using", "volatile", + "LeftBrace", "auto", "explicit", "friend", "inline", "mutable", + "namespace", "register", "static", "typedef", - "LT", - "class", - "using", - "LeftBrace", - "enum", - "namespace", - "struct", - "union", "LeftBracket", "asm", + "class", + "delete", + "new", "GT", "Comma", "Assign", + "enum", + "struct", + "union", "RightBrace", "Colon", + "ERROR_TOKEN", "try", "while", - "RightParen", "break", "case", "continue", @@ -229,6 +228,7 @@ public interface CPPSizeofExpressionParsersym { "if", "return", "switch", + "RightParen", "RightShift", "LeftShift", "ArrowStar", @@ -260,9 +260,9 @@ public interface CPPSizeofExpressionParsersym { "public", "Question", "RightBracket", - "EOF_TOKEN", "catch", "Dot", + "EOF_TOKEN", "else", "original_namespace_name", "Invalid" |