diff options
Diffstat (limited to 'lrparser')
52 files changed, 23989 insertions, 23852 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java new file mode 100644 index 00000000000..b3acd654260 --- /dev/null +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/AbstractLRHangingTest.java @@ -0,0 +1,128 @@ +/******************************************************************************* + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.core.lrparser.tests; + + +import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; +import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; +import org.eclipse.cdt.core.dom.lrparser.gnu.GPPLanguage; +import org.eclipse.cdt.core.model.ILanguage; + +import junit.framework.TestCase; + + +public class AbstractLRHangingTest extends TestCase{ + + + + + public AbstractLRHangingTest() { + } + + public AbstractLRHangingTest(String name) { + super(name); + } + + + + + protected ILanguage getCLanguage() { + return GCCLanguage.getDefault(); + } + + protected ILanguage getCPPLanguage() { + return GPPLanguage.getDefault(); + } + + protected void runThreadByLimitedTime(long limitTime, Thread testThread)throws Exception{ + testThread.start(); + testThread.join(limitTime); + + if (testThread.isAlive()) { + testThread.interrupt(); + fail("timeout by " + limitTime / 1000 + " seconds"); //$NON-NLS-2$ + } else { + // Finished + } + } + + // 1mins + public static long THREAD_TIMEOUT_LIMIT = 1 * 60 * 1000; + public static String CONTENT_ASIST_CURSOR =" /*<ctrl-space>*/ "; + + private String errMsg=""; + + public void resetErrMsg(){ + errMsg=""; + } + + public void setErrMsg(String errMsg){ + this.errMsg=errMsg; + } + + + protected void runTestCase(final String code, final ILanguage language)throws Exception{ + + + Thread testThread = new Thread() { + + + public void run() { + + String errMsg=""; + resetErrMsg(); + String msg=null; + int offset = code.indexOf(CONTENT_ASIST_CURSOR); + int index=0; + while(offset >=0){ + + IASTCompletionNode node = null; + try { + node = ParseHelper.getCompletionNode(code, language, offset); + } catch (Exception e) { + if(errMsg.length()==0){ + errMsg = "caught an exception when the code is parsed for cursor number " + index; + }else{ + errMsg = errMsg + "\n" + "caught an exception when the code is parsed for cursor number " + index; + } + + } + if(node == null){ + if(errMsg.length()==0){ + errMsg = "return completion node is null when the code is parsed for cursor number " + index; + }else{ + errMsg = errMsg + "\n" + "return completion node is null when the code is parsed for cursor number " + index; + } + + } + offset = code.indexOf(CONTENT_ASIST_CURSOR, offset + 1); + index++; + } + setErrMsg(errMsg); + + } + + }; + + runThreadByLimitedTime(THREAD_TIMEOUT_LIMIT, testThread); + if(errMsg.length()>0){ + fail(errMsg); + } + + } + + + + + + + +} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java new file mode 100644 index 00000000000..9f6a0961ff7 --- /dev/null +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionHangingTest.java @@ -0,0 +1,163 @@ +/******************************************************************************* + * Copyright (c) 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +package org.eclipse.cdt.core.lrparser.tests; + + + + + +import junit.framework.TestSuite; + +public class LRCompletionHangingTest extends AbstractLRHangingTest { + + + + public static TestSuite suite() { + return new TestSuite(LRCompletionHangingTest.class); + } + + + + + + //test c + public void testCompletionDoWhileForC() throws Exception { + + String code = + "int main(int argc, char **argv) {" + + "do{" + + CONTENT_ASIST_CURSOR + + "} while (i < 3);" + + "}"; + + runTestCase(code, getCLanguage()); + + } + + + + //test cpp + public void testCompletionDoWhileForCPP() throws Exception { + + String code = + "int main(int argc, char **argv) {" + + "do{" + + CONTENT_ASIST_CURSOR + + "} while (i < 3);" + + "}"; + runTestCase(code, getCPPLanguage()); + } + + public void testCompletionTryCatch() throws Exception { + + String code = + "int main(int argc, char **argv) {" + + "try {" + + CONTENT_ASIST_CURSOR + + "}" + + + "catch(x){}" + + "}"; + runTestCase(code, getCPPLanguage()); + + } + + + + + public void testCompletionTemplateFunctionForCPP() throws Exception { + + String code = + "template " + CONTENT_ASIST_CURSOR +"<class myType>" + + "myType GetA (myType a) {" + + "return a;" + + "}" + + + "int main(int argc, char **argv) {" + + "int x=0;" + + "int y = GetA " + CONTENT_ASIST_CURSOR + " <int> (x);" + + "}"; + runTestCase(code, getCPPLanguage()); + } + + + public void testCompletionIfForCPP() throws Exception { + String code = + "int main(int argc, char **argv) {" + + "int x=0;" + + "if" + CONTENT_ASIST_CURSOR +"(x>0){}" + + "}"; + runTestCase(code, getCPPLanguage()); + + } + + public void testCompletionTemplateClassForCPP() throws Exception { + + String code = + "template" + CONTENT_ASIST_CURSOR +" <class T> " + + "class Test {" + + "T val;" + + "public:Test(T arg){"+ + "val = arg;" + + "}" + + "~" + CONTENT_ASIST_CURSOR +"Test();"+ + "};" + + "Test::" + CONTENT_ASIST_CURSOR +"~" + CONTENT_ASIST_CURSOR +"Test(){}" + + "int main(int argc, char **argv) {" + + CONTENT_ASIST_CURSOR + + "Test<" + CONTENT_ASIST_CURSOR + "int> t(1);" + + "Test<" + CONTENT_ASIST_CURSOR +"double>" + CONTENT_ASIST_CURSOR + "* dt = new dt(1.0);" + + "S* s = dynamic_cast<S*" + CONTENT_ASIST_CURSOR +">(dt);" + + "S* s = dynamic_cast" + CONTENT_ASIST_CURSOR +"<S*>(dt);" + + "}"; + runTestCase(code, getCPPLanguage()); + } + + + + + public void testCompletionSimpleIfForCPP() throws Exception { + String code = + "#" + CONTENT_ASIST_CURSOR + "include " + CONTENT_ASIST_CURSOR + "<iostream>" + + "using " + CONTENT_ASIST_CURSOR + "namespace std;" + + "if" + CONTENT_ASIST_CURSOR + "(i>0)){}" + + "int " + CONTENT_ASIST_CURSOR + "*" + CONTENT_ASIST_CURSOR + " i " + CONTENT_ASIST_CURSOR + "=" + CONTENT_ASIST_CURSOR + " &" + CONTENT_ASIST_CURSOR + "j;" + + "*" + CONTENT_ASIST_CURSOR + "j=0;" + + "*" + CONTENT_ASIST_CURSOR + "j++;"+ + "*i" + CONTENT_ASIST_CURSOR + "++ = " + CONTENT_ASIST_CURSOR + "*j++;"; + runTestCase(code, getCPPLanguage()); + + } + + public void testCompletionStructForCPP() throws Exception { + String code = + "struct " + CONTENT_ASIST_CURSOR + "p " + CONTENT_ASIST_CURSOR + "{" + + CONTENT_ASIST_CURSOR+ + "int w;" + + "float p;" + + "} " + CONTENT_ASIST_CURSOR + "a," + CONTENT_ASIST_CURSOR + "b,c;"; + + runTestCase(code, getCPPLanguage()); + + } + + public void testCompletionGnuCPP() throws Exception { + String code = + "if a>b ? " + CONTENT_ASIST_CURSOR + "g" + CONTENT_ASIST_CURSOR + ":l;" + + "case 1..." + CONTENT_ASIST_CURSOR + "3 : ok; "; + runTestCase(code, getCPPLanguage()); + } + + + + +} diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java index 4ef65096bd0..aa9ea560895 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRParserTestSuite.java @@ -54,6 +54,7 @@ public class LRParserTestSuite extends TestSuite { addTest(LRTests.suite()); // has some tests that do fail addTest(LRUtilOldTests.suite()); addTest(LRUtilTests.suite()); + addTest(LRCompletionHangingTest.suite()); addTest(LRCPPImplicitNameTests.suite()); //addTest(LRInactiveCodeTests.suite()); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g index 1ceea393263..7759f3a36d0 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/c99/C99Grammar.g @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------------- --- Copyright (c) 2006, 2009 IBM Corporation and others. +-- Copyright (c) 2006, 2010 IBM Corporation and others. -- All rights reserved. This program and the accompanying materials -- are made available under the terms of the Eclipse Public License v1.0 -- which accompanies this distribution, and is available at @@ -440,7 +440,9 @@ expression_opt iteration_statement ::= 'do' statement 'while' '(' expression ')' ';' - /. $Build consumeStatementDoLoop(); $EndBuild ./ + /. $Build consumeStatementDoLoop(true); $EndBuild ./ + | 'do' statement + /. $Build consumeStatementDoLoop(false); $EndBuild ./ | 'while' '(' expression ')' statement /. $Build consumeStatementWhileLoop(); $EndBuild ./ | 'for' '(' expression_opt ';' expression_opt ';' expression_opt ')' statement 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 d36a8bbfd06..5bd75a6a96f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/cpp/CPPGrammar.g @@ -1,5 +1,5 @@ ---------------------------------------------------------------------------------- --- Copyright (c) 2006, 2009 IBM Corporation and others. +-- Copyright (c) 2006, 2010 IBM Corporation and others. -- All rights reserved. This program and the accompanying materials -- are made available under the terms of the Eclipse Public License v1.0 -- which accompanies this distribution, and is available at @@ -695,7 +695,9 @@ iteration_statement ::= 'while' '(' condition ')' statement /. $Build consumeStatementWhileLoop(); $EndBuild ./ | 'do' statement 'while' '(' expression ')' ';' - /. $Build consumeStatementDoLoop(); $EndBuild ./ + /. $Build consumeStatementDoLoop(true); $EndBuild ./ + | 'do' statement + /. $Build consumeStatementDoLoop(false); $EndBuild ./ | 'for' '(' for_init_statement condition_opt ';' expression_opt ')' statement /. $Build consumeStatementForLoop(); $EndBuild ./ @@ -1615,7 +1617,9 @@ explicit_specialization try_block ::= 'try' compound_statement <openscope-ast> handler_seq - /. $Build consumeStatementTryBlock(); $EndBuild ./ + /. $Build consumeStatementTryBlock(true); $EndBuild ./ + | 'try' compound_statement + /. $Build consumeStatementTryBlock(false); $EndBuild ./ diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties b/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties index 6c6b72825a1..cc949e32c47 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/parserBuild.properties @@ -11,4 +11,4 @@ ############################################################################### lpg_exe=D:/lpg/lpgdistribution/lpgexe/lpg.exe -lpg_template=D:/newWorkspace/CDT_LOCAL/org.eclipse.cdt.core.lrparser/grammar/template
\ No newline at end of file +lpg_template=D:/newWorkspace/cdt_70_ies/org.eclipse.cdt.core.lrparser/grammar/template
\ No newline at end of file diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g index 9c7070f74bc..877b5f4c730 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRParserTemplate.g @@ -1,5 +1,5 @@ ---------------------------------------------------------------------------------- --- Copyright (c) 2006, 2009 IBM Corporation and others. +-- Copyright (c) 2006, 2010 IBM Corporation and others. -- All rights reserved. This program and the accompanying materials -- are made available under the terms of the Eclipse Public License v1.0 -- which accompanies this distribution, and is available at @@ -296,7 +296,7 @@ $End $Notice -- Copied into all files generated by LPG /./******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g index 50c66497a53..a56bcdbf492 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g +++ b/lrparser/org.eclipse.cdt.core.lrparser/grammar/template/LRSecondaryParserTemplate.g @@ -1,5 +1,5 @@ ---------------------------------------------------------------------------------- --- Copyright (c) 2006, 2009 IBM Corporation and others. +-- Copyright (c) 2006, 2010 IBM Corporation and others. -- All rights reserved. This program and the accompanying materials -- are made available under the terms of the Eclipse Public License v1.0 -- which accompanies this distribution, and is available at 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 edc50aa2dbf..61da983fc95 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 @@ -584,9 +584,10 @@ public abstract class BuildASTParserAction extends AbstractParserAction { /** * iteration_statement_matched * ::= 'do' statement 'while' '(' expression ')' ';' + * | 'do' statement */ - public void consumeStatementDoLoop() { - IASTExpression condition = (IASTExpression) astStack.pop(); + public void consumeStatementDoLoop(boolean hasWhileBlock) { + IASTExpression condition = hasWhileBlock? (IASTExpression) astStack.pop() : null; IASTStatement body = (IASTStatement) astStack.pop(); IASTDoStatement stat = nodeFactory.newDoStatement(body, condition); setOffsetAndLength(stat); 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 f093bb1893d..b9922fa0141 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 @@ -652,8 +652,8 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { * try_block * ::= 'try' compound_statement <openscope-ast> handler_seq */ - public void consumeStatementTryBlock() { - List<Object> handlerSeq = astStack.closeScope(); + public void consumeStatementTryBlock(boolean hasCatchBlock) { + List<Object> handlerSeq = hasCatchBlock ? astStack.closeScope() : Collections.emptyList(); IASTStatement body = (IASTStatement) astStack.pop(); ICPPASTTryBlockStatement tryStatement = nodeFactory.newTryBlockStatement(body); diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java index 08260cd7713..2bf14923a4e 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -684,595 +684,601 @@ public C99ExpressionParser(ITokenStream stream, Map<String,String> properties) { // // Rule 118: iteration_statement ::= do statement while ( expression ) ; // - case 118: { action. consumeStatementDoLoop(); break; + case 118: { action. consumeStatementDoLoop(true); break; } // - // Rule 119: iteration_statement ::= while ( expression ) statement + // Rule 119: iteration_statement ::= do statement // - case 119: { action. consumeStatementWhileLoop(); break; + case 119: { action. consumeStatementDoLoop(false); break; } // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= while ( expression ) statement // - case 120: { action. consumeStatementForLoop(); break; + case 120: { action. consumeStatementWhileLoop(); break; } // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= goto identifier_token ; + // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 122: { action. consumeStatementGoto(); break; + case 122: { action. consumeStatementForLoop(); break; } // - // Rule 123: jump_statement ::= continue ; + // Rule 123: jump_statement ::= goto identifier_token ; // - case 123: { action. consumeStatementContinue(); break; + case 123: { action. consumeStatementGoto(); break; } // - // Rule 124: jump_statement ::= break ; + // Rule 124: jump_statement ::= continue ; // - case 124: { action. consumeStatementBreak(); break; + case 124: { action. consumeStatementContinue(); break; } // - // Rule 125: jump_statement ::= return ; + // Rule 125: jump_statement ::= break ; // - case 125: { action. consumeStatementReturn(false); break; + case 125: { action. consumeStatementBreak(); break; } // - // Rule 126: jump_statement ::= return expression ; + // Rule 126: jump_statement ::= return ; // - case 126: { action. consumeStatementReturn(true); break; + case 126: { action. consumeStatementReturn(false); break; } // - // Rule 127: declaration ::= declaration_specifiers ; + // Rule 127: jump_statement ::= return expression ; // - case 127: { action. consumeDeclarationSimple(false); break; + case 127: { action. consumeStatementReturn(true); break; } // - // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 128: declaration ::= declaration_specifiers ; // - case 128: { action. consumeDeclarationSimple(true); break; + case 128: { action. consumeDeclarationSimple(false); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 129: { action. consumeDeclarationSpecifiersSimple(); break; + case 129: { action. consumeDeclarationSimple(true); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 130: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 158: init_declarator ::= complete_declarator = initializer + // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 158: { action. consumeDeclaratorWithInitializer(true); break; + case 134: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token + // Rule 159: init_declarator ::= complete_declarator = initializer // - case 160: { action. consumeToken(); break; + case 159: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token + // Rule 161: storage_class_specifier ::= storage_class_specifier_token // - case 166: { action. consumeToken(); break; + case 161: { action. consumeToken(); break; } // - // Rule 179: type_name_specifier ::= identifier_token + // Rule 167: simple_type_specifier ::= simple_type_specifier_token // - case 179: { action. consumeToken(); break; + case 167: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: type_name_specifier ::= identifier_token // - case 180: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeToken(); break; } // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(true); break; + case 181: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 182: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 194: { action. consumeStructDeclaration(true); break; + case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 195: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= ERROR_TOKEN + // Rule 196: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeDeclarationProblem(); break; + case 196: { action. consumeStructDeclaration(false); break; } // - // Rule 202: struct_declarator ::= : constant_expression + // Rule 197: struct_declaration ::= ERROR_TOKEN // - case 202: { action. consumeBitField(false); break; + case 197: { action. consumeDeclarationProblem(); break; } // - // Rule 203: struct_declarator ::= declarator : constant_expression + // Rule 203: struct_declarator ::= : constant_expression // - case 203: { action. consumeBitField(true); break; + case 203: { action. consumeBitField(false); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeBitField(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(true); break; + case 205: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 211: enumerator ::= identifier_token + // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 211: { action. consumeEnumerator(false); break; + case 206: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 212: enumerator ::= identifier_token = constant_expression + // Rule 212: enumerator ::= identifier_token // - case 212: { action. consumeEnumerator(true); break; + case 212: { action. consumeEnumerator(false); break; } // - // Rule 213: type_qualifier ::= type_qualifier_token + // Rule 213: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeToken(); break; + case 213: { action. consumeEnumerator(true); break; } // - // Rule 217: function_specifier ::= inline + // Rule 214: type_qualifier ::= type_qualifier_token // - case 217: { action. consumeToken(); break; + case 214: { action. consumeToken(); break; } // - // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 218: function_specifier ::= inline // - case 219: { action. consumeDeclaratorWithPointer(true); break; + case 218: { action. consumeToken(); break; } // - // Rule 224: basic_direct_declarator ::= declarator_id_name + // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 224: { action. consumeDirectDeclaratorIdentifier(); break; + case 220: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: basic_direct_declarator ::= ( declarator ) + // Rule 225: basic_direct_declarator ::= declarator_id_name // - case 225: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: declarator_id_name ::= identifier + // Rule 226: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeIdentifierName(); break; } // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier // case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: identifier_list ::= identifier + // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier_list , identifier + // Rule 238: identifier_list ::= identifier // case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ ] + // Rule 239: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 239: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 240: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 244: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 247: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook + // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumePointer(); break; + case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 250: pointer_seq ::= pointer_hook * pointer_hook // case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 251: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list + // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 256: { action. consumeEmpty(); break; + case 253: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list , ... + // Rule 257: parameter_type_list ::= parameter_list // - case 257: { action. consumePlaceHolder(); break; + case 257: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= ... + // Rule 258: parameter_type_list ::= parameter_list , ... // case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_type_list ::= ... // - case 261: { action. consumeParameterDeclaration(); break; + case 259: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers + // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 262: { action. consumeParameterDeclaration(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list + // Rule 263: parameter_declaration ::= declaration_specifiers // - case 265: { action. consumeTypeId(false); break; + case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 266: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(true); break; + case 266: { action. consumeTypeId(false); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(true); break; + case 269: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 273: { action. consumeDirectDeclaratorBracketed(); break; + case 270: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_modifier + // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 274: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: function_direct_abstract_declarator ::= ( ) + // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 278: function_direct_abstract_declarator ::= ( ) + // + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 281: initializer ::= assignment_expression + // Rule 282: initializer ::= assignment_expression // - case 281: { action. consumeInitializer(); break; + case 282: { action. consumeInitializer(); break; } // - // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: initializer_list ::= { <openscope-ast> } + // Rule 285: initializer_list ::= { <openscope-ast> } // - case 284: { action. consumeInitializerList(); break; + case 285: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 286: start_initializer_list ::= $Empty // - case 285: { action. initializerListStart(); break; + case 286: { action. initializerListStart(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 287: end_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 287: { action. initializerListEnd(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer // - case 291: { action. consumeInitializerDesignated(); break; + case 292: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 296: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorArray(); break; + case 296: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 297: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorField(); break; + case 297: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 298: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorArray(); break; + case 298: { action. consumeDesignatorArray(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 299: designator ::= . identifier_token // - case 298: { action. consumeDesignatorField(); break; + case 299: { action. consumeDesignatorField(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 300: translation_unit ::= external_declaration_list // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 300: translation_unit ::= $Empty + // Rule 301: translation_unit ::= $Empty // - case 300: { action. consumeTranslationUnit(); break; + case 301: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ; + // Rule 306: external_declaration ::= ; // - case 305: { action. consumeDeclarationEmpty(); break; + case 306: { action. consumeDeclarationEmpty(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 307: external_declaration ::= ERROR_TOKEN // - case 306: { action. consumeDeclarationProblem(); break; + case 307: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(false); break; + case 311: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 312: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 312: { action. consumeFunctionDefinition(true); break; + case 313: { action. consumeFunctionDefinition(true); break; } // - // Rule 313: function_body ::= { } + // Rule 314: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 314: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 315: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 315: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 316: expression_parser_start ::= ERROR_TOKEN + // Rule 317: expression_parser_start ::= ERROR_TOKEN // - case 316: { action. consumeEmpty(); break; + case 317: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java index f2469d12fa0..b03d8c092b5 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -45,171 +45,171 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 3,3,3,3,3,3,1,1,2,1, 0,1,3,1,1,1,1,1,1,1, 1,3,4,3,2,4,1,2,1,1, - 1,2,5,7,5,1,0,7,5,9, - 8,3,2,2,2,3,2,4,2,2, - 2,2,2,1,1,1,1,2,1,2, - 2,2,1,2,2,1,2,2,1,2, - 2,1,2,2,1,3,1,3,1,1, + 1,2,5,7,5,1,0,7,2,5, + 9,8,3,2,2,2,3,2,4,2, + 2,2,2,2,1,1,1,1,2,1, + 2,2,2,1,2,2,1,2,2,1, + 2,2,1,2,2,1,3,1,3,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6, - 8,0,0,1,1,3,3,3,0,1, - 0,1,2,4,2,1,1,1,3,1, - 1,2,3,7,8,0,1,0,1,3, - 1,3,1,1,1,1,1,1,3,1, - 1,1,1,1,3,1,2,2,1,5, - 3,1,3,5,1,3,1,3,2,4, - 3,5,4,6,6,3,5,1,3,4, - 5,6,0,1,2,1,3,1,1,3, - 2,1,1,1,1,2,1,2,3,1, - 1,1,3,1,2,2,2,3,4,5, - 1,1,7,3,0,0,1,1,3,3, - 4,1,1,2,3,2,3,2,1,0, - 1,2,1,1,1,1,1,2,1,3, - 6,4,2,4,1,1,-37,0,0,0, - 0,0,0,0,0,0,0,-2,0,0, - 0,0,0,0,0,0,0,-137,0,0, - -4,-159,-118,0,0,0,0,0,-74,0, + 1,1,1,1,1,1,1,1,1,1, + 6,8,0,0,1,1,3,3,3,0, + 1,0,1,2,4,2,1,1,1,3, + 1,1,2,3,7,8,0,1,0,1, + 3,1,3,1,1,1,1,1,1,3, + 1,1,1,1,1,3,1,2,2,1, + 5,3,1,3,5,1,3,1,3,2, + 4,3,5,4,6,6,3,5,1,3, + 4,5,6,0,1,2,1,3,1,1, + 3,2,1,1,1,1,2,1,2,3, + 1,1,1,3,1,2,2,2,3,4, + 5,1,1,7,3,0,0,1,1,3, + 3,4,1,1,2,3,2,3,2,1, + 0,1,2,1,1,1,1,1,2,1, + 3,6,4,2,4,1,1,-37,0,0, + 0,0,0,0,0,0,0,0,-2,0, + 0,0,0,0,0,0,0,0,-137,0, + 0,-4,-159,-118,0,0,0,0,0,-74, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-14,0,-30,0,-31,0,0,0,0, - 0,-16,0,-80,-119,0,-120,0,0,0, - 0,0,0,0,0,-141,0,0,0,0, + 0,0,-14,0,-30,0,-31,0,0,0, + 0,0,-16,0,-80,-119,0,-120,0,0, + 0,0,0,0,0,0,-141,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-3,0,0,0, + 0,0,0,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,-105,-124,0,0,-191,0,-17,-131,-130, + 0,0,-105,-124,0,0,-191,0,-17,-131, + -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,-5,0,0,0,0, + 0,0,0,0,0,-121,0,-122,0,0, + 0,0,-177,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-5,0,0,0,0,0, - 0,0,0,0,-121,0,-122,0,0,0, - 0,-177,0,0,0,0,0,0,0,0, + 0,0,0,-111,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-111,0,0,0,0,0,0,0, + 0,0,0,0,0,-179,0,-194,0,-18, + 0,-19,0,-20,-21,-22,-192,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-179,0,-194,0,-18,0, - -19,0,-20,-21,-22,-192,0,0,0,0, + 0,0,0,0,0,0,0,-134,0,-38, + 0,0,0,0,0,0,0,0,0,-39, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-134,0,-38,0, - 0,0,0,0,0,0,0,0,-39,0, + 0,-23,-109,-24,0,0,0,0,0,-71, + -55,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -23,-109,-24,0,0,0,0,0,-71,-55, + 0,0,-25,0,-107,-26,-88,-89,0,0, + 0,0,-90,0,-91,0,0,0,0,0, + 0,0,0,0,0,0,-27,0,0,0, + 0,0,0,0,0,0,0,-34,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,-58,0, + 0,0,0,0,0,0,0,0,0,-35, + 0,0,0,0,0,0,0,0,0,-59, 0,0,0,0,0,0,0,0,0,0, - 0,-25,0,-107,-26,-88,-89,0,0,0, - 0,-90,0,-91,0,0,0,0,0,0, - 0,0,0,0,0,-27,0,0,0,0, - 0,0,0,0,0,0,-34,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,-58,0,0, - 0,0,0,0,0,0,0,0,-35,0, - 0,0,0,0,0,0,0,0,-59,0, + -60,0,0,0,0,0,0,0,0,0, + 0,-68,0,0,0,0,0,0,0,0, + 0,-61,0,0,0,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,-62,0,0,0,0,0,0,0, + 0,0,0,-69,0,0,0,0,0,0, + 0,0,0,-63,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -68,0,0,0,0,0,0,0,0,0, - -61,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-64,0,0,0,0,0, + 0,0,0,0,0,-70,0,0,0,0, + 0,0,0,0,0,-65,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-62,0,0,0,0,0,0,0,0, - 0,0,-69,0,0,0,0,0,0,0, - 0,0,-63,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-66,0,0,0, + 0,0,0,0,0,0,0,-115,0,0, + 0,0,0,0,0,0,0,-67,0,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,-70,0,0,0,0,0, - 0,0,0,0,-65,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-123,0, + 0,0,0,0,0,0,0,0,0,-132, + 0,0,0,0,0,0,0,0,0,-144, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-66,0,0,0,0, - 0,0,0,0,0,0,-115,0,0,0, - 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,-123,0,0, - 0,0,0,0,0,0,0,0,-132,0, - 0,0,0,0,0,0,0,0,-144,0, + -145,0,0,0,0,0,0,0,0,0, + 0,-153,0,0,0,0,0,0,0,0, + 0,-180,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-145, + 0,-189,0,0,0,0,0,0,0,0, + 0,0,-92,0,0,0,0,0,0,0, + 0,-6,0,0,0,0,0,0,0,-93, + 0,-7,0,0,0,0,0,0,0,-195, 0,0,0,0,0,0,0,0,0,0, - -153,0,0,0,0,0,0,0,0,0, - -180,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, - -189,0,0,0,0,0,0,0,0,0, - 0,-92,0,0,0,0,0,0,0,0, - -6,0,0,0,0,0,0,0,-93,0, - -7,0,0,0,0,0,0,0,-195,0, + -94,0,0,0,0,0,0,0,0,-8, + 0,0,0,0,0,0,0,-200,0,-9, + 0,0,0,0,0,0,0,-209,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,-94, - 0,0,0,0,0,0,0,0,-8,0, - 0,0,0,0,0,0,-200,0,-9,0, - 0,0,0,0,0,0,-209,0,0,0, + 0,0,0,0,0,0,0,-133,-47,0, + 0,0,0,0,0,0,0,0,0,-49, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-133,-47,0,0, - 0,0,0,0,0,0,0,0,-49,0, - 0,0,0,0,0,0,0,0,0,-76, - 0,0,0,-95,-73,0,-148,-78,-125,0, - 0,0,0,0,0,0,0,0,-96,0, - 0,0,0,0,-112,0,0,0,-77,0, - 0,0,0,-149,0,0,0,0,0,0, - 0,0,0,0,0,0,-117,-166,0,-97, + -76,0,0,0,-95,-73,0,-148,-78,-125, + 0,0,0,0,0,0,0,0,0,-96, + 0,0,0,0,0,-112,0,0,0,-77, + 0,0,0,0,-149,0,0,0,0,0, + 0,0,0,0,0,0,0,-117,-166,0, + -97,0,0,0,0,0,0,0,0,0, + 0,0,0,-157,0,0,-158,-98,0,0, + -82,0,-56,0,0,0,0,0,0,0, + 0,0,0,-106,0,0,0,0,0,-52, 0,0,0,0,0,0,0,0,0,0, - 0,0,-157,0,0,-158,-98,0,0,-82, - 0,-56,0,0,0,0,0,0,0,0, - 0,0,-106,0,0,0,0,0,-52,0, - 0,0,0,0,0,0,0,0,0,-183, - 0,0,0,0,-87,0,-53,0,0,0, - 0,0,0,0,0,0,0,-167,0,0, - 0,0,0,-129,0,0,0,0,-1,-138, - 0,0,0,0,0,0,0,-99,-186,0, - 0,-181,-100,0,0,0,0,0,-170,0, + -183,0,0,0,0,-87,0,-53,0,0, + 0,0,0,0,0,0,0,0,-167,0, + 0,0,0,0,-129,0,0,0,0,-1, + -138,0,0,0,0,0,0,0,-99,-186, + 0,0,-181,-100,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, - 0,0,0,0,0,0,0,0,-48,0, - 0,0,0,0,0,0,0,0,0,-50, + 0,0,0,0,0,0,0,0,0,-48, 0,0,0,0,0,0,0,0,0,0, - -196,0,-51,0,0,0,0,0,0,0, - 0,0,0,-208,0,0,-127,-140,0,0, - 0,-146,0,0,0,-101,-102,-103,0,0, - -43,0,0,0,0,0,0,0,0,0, - 0,0,-104,0,-108,0,0,0,0,0, - 0,0,0,-10,0,0,0,0,0,0, - 0,-110,-83,0,-44,0,0,0,0,0, - 0,0,0,0,0,-45,0,0,0,0, - 0,0,0,0,0,0,-72,0,0,0, - 0,0,0,0,0,0,-46,0,0,0, - 0,0,0,0,0,0,0,-203,-171,-75, - -11,0,0,0,0,0,0,0,0,0, - 0,-12,0,0,0,0,0,0,0,0, - 0,-126,-135,0,0,0,-143,-156,-160,-142, + -50,0,0,0,0,0,0,0,0,0, + 0,-196,0,-51,0,0,0,0,0,0, + 0,0,0,0,-208,0,0,-127,-140,0, + 0,0,-146,0,0,0,-101,-102,-103,0, + 0,-43,0,0,0,0,0,0,0,0, + 0,0,0,-104,0,-108,0,0,0,0, + 0,0,0,0,-10,0,0,0,0,0, + 0,0,-110,-83,0,-44,0,0,0,0, + 0,0,0,0,0,0,-45,0,0,0, + 0,0,0,0,0,0,0,-72,0,0, + 0,0,0,0,0,0,0,-46,0,0, + 0,0,0,0,0,0,0,0,-203,-171, + -75,-11,0,0,0,0,0,0,0,0, + 0,0,-12,0,0,0,0,0,0,0, + 0,0,-126,-135,0,0,0,-143,-156,-160, + -142,0,0,0,0,0,0,0,0,0, + 0,-210,0,-150,0,0,0,0,0,-114, + 0,0,0,0,0,0,0,0,0,-147, 0,0,0,0,0,0,0,0,0,0, - -210,0,-150,0,0,0,0,0,-114,0, - 0,0,0,0,0,0,0,0,-147,0, - 0,0,0,0,0,0,0,0,0,-36, - -113,-139,0,0,0,0,0,0,0,0, - 0,-169,0,-40,0,0,0,0,0,0, - 0,-151,0,0,-154,0,-41,0,0,0, - 0,0,0,0,-42,0,0,0,0,0, - 0,0,-116,0,0,0,0,-162,0,-165, - -168,0,-164,0,-32,-173,0,0,-187,-174, - 0,0,-190,0,-15,0,-163,0,-176,0, - -175,0,0,0,0,0,0,-13,0,0, - 0,0,0,0,-28,0,0,-29,-178,0, - 0,-128,-155,0,0,0,0,0,0,0, - 0,0,-202,0,0,0,0,0,0,0, - -79,-207,0,0,0,0,0,0,0,0, - -172,0,-81,0,-85,0,-84,0,0,0, - 0,0,0,0,0,0,-86,-188,0,0, + -36,-113,-139,0,0,0,0,0,0,0, + 0,0,-169,0,-40,0,0,0,0,0, + 0,0,-151,0,0,-154,0,-41,0,0, + 0,0,0,0,0,-42,0,0,0,0, + 0,0,0,-116,0,0,0,0,-162,0, + -165,-168,0,-164,0,-32,-173,0,0,-187, + -174,0,0,-190,0,-15,0,-163,0,-176, + 0,-175,0,0,0,0,0,0,-13,0, + 0,0,0,0,0,-28,0,0,-29,-178, + 0,0,-128,-155,0,0,0,0,0,0, + 0,0,0,-202,0,0,0,0,0,0, + 0,-79,-207,0,0,0,0,0,0,0, + 0,-172,0,-81,0,-85,0,-84,0,0, + 0,0,0,0,0,0,0,-86,-188,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-197,-184,-185,0,0,0,0,-136,-33, - -54,0,0,0,0,-152,0,0,-204,0, - 0,0,0,0,-199,-161,0,0,0,0, - -182,0,-205,0,-193,0,0,-206,0,0, - 0,0,0,0,0,0,0,0,0,-198, + 0,0,-197,-184,-185,0,0,0,0,-136, + -33,-54,0,0,0,0,-152,0,0,-204, + 0,0,0,0,0,-199,-161,0,0,0, + 0,-182,0,-205,0,-193,0,0,-206,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,0,0,0,0,0,0,0,0, 0,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; @@ -231,171 +231,171 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 88,88,72,72,49,104,104,104,104,104, 104,104,105,105,105,106,106,111,111,112, 112,107,107,108,108,108,114,114,109,109, - 109,109,110,110,110,110,110,113,113,25, - 25,25,25,25,28,28,28,78,78,73, - 73,73,73,74,74,74,75,75,75,76, - 76,76,77,77,77,115,115,116,116,117, - 29,31,31,31,31,31,53,54,54,54, - 54,54,54,54,54,54,54,54,54,64, - 61,61,89,90,66,66,62,62,62,67, - 79,79,80,80,68,68,68,43,91,91, - 81,82,82,82,63,63,92,83,83,84, - 84,69,69,22,23,23,23,30,50,50, - 33,33,33,33,36,36,38,34,34,35, - 39,39,118,118,37,119,119,93,93,26, - 26,26,26,26,26,26,26,26,85,51, - 51,51,51,27,56,56,55,55,55,57, - 57,52,52,94,94,59,59,58,58,58, - 44,44,44,45,46,46,46,47,47,47, - 47,65,65,42,42,48,96,95,95,95, - 95,86,97,98,98,99,99,100,100,120, - 120,121,121,122,122,122,122,124,124,123, - 123,123,125,126,126,87,87,1,626,17, - 21,18,372,625,45,448,382,541,31,539, - 544,543,591,545,622,593,75,92,124,135, - 213,670,629,596,338,137,134,136,160,275, - 20,17,21,18,372,625,45,448,382,541, - 1501,539,544,543,591,545,622,593,75,1145, - 139,166,579,239,201,31,201,31,143,146, - 149,152,57,384,118,201,187,201,186,341, - 1128,1611,1623,1627,1637,1225,434,20,17,21, - 18,372,625,45,448,382,541,342,539,544, - 543,591,545,622,593,75,281,482,20,17, - 21,18,372,625,45,448,382,541,1525,539, - 544,543,591,545,622,593,75,92,282,1589, - 1262,293,97,518,1365,25,158,24,157,695, - 299,20,17,21,18,372,625,45,448,382, - 541,287,539,544,543,591,545,622,593,75, - 1342,255,213,343,240,506,20,17,21,18, - 372,41,288,284,28,662,1502,201,188,341, - 1365,1186,332,20,17,21,18,372,625,45, - 448,382,541,342,539,544,543,591,545,622, - 593,75,281,554,20,17,21,18,372,625, - 45,448,382,541,1592,539,544,543,591,545, - 622,593,75,1244,282,201,296,201,298,6, - 1365,30,283,589,200,191,458,20,17,21, - 18,372,625,45,448,382,541,289,539,544, - 543,591,545,622,593,75,281,189,179,482, - 20,17,21,18,372,43,45,627,290,482, - 20,17,21,18,372,43,45,632,282,135, - 213,344,242,243,1365,137,134,136,160,104, - 482,20,17,21,18,372,43,45,448,382, - 541,291,539,544,543,591,545,1348,274,1452, - 139,166,171,22,14,547,578,194,143,146, - 149,152,199,384,416,443,269,1149,1120,272, - 1128,1611,1623,1627,1637,1225,482,20,17,21, - 18,372,625,45,448,382,541,489,539,544, - 543,591,545,622,593,75,93,482,20,17, - 21,18,372,625,45,448,382,541,1407,539, - 544,543,591,545,622,593,75,86,482,20, - 17,21,18,372,625,45,448,382,541,489, - 539,544,543,591,545,622,593,75,85,482, - 20,17,21,18,372,625,45,448,382,541, - 19,539,544,543,591,545,622,593,75,84, - 482,20,17,21,18,372,625,45,448,382, - 541,489,539,544,543,591,545,622,593,75, - 83,482,20,17,21,18,372,625,45,448, - 382,541,442,539,544,543,591,545,622,593, - 75,82,482,20,17,21,18,372,625,45, - 448,382,541,489,539,544,543,591,545,622, - 593,75,81,482,20,17,21,18,372,625, - 45,448,382,541,1203,539,544,543,591,545, - 622,593,75,80,482,20,17,21,18,372, - 625,45,448,382,541,489,539,544,543,591, - 545,622,593,75,79,482,20,17,21,18, - 372,625,45,448,382,541,23,539,544,543, - 591,545,622,593,75,78,482,20,17,21, - 18,372,625,45,448,382,541,489,539,544, - 543,591,545,622,593,75,77,482,20,17, - 21,18,372,625,45,448,382,541,273,539, - 544,543,591,545,622,593,75,76,482,20, - 17,21,18,372,625,45,448,382,541,489, - 539,544,543,591,545,622,593,75,74,482, - 20,17,21,18,372,625,45,448,382,541, - 279,539,544,543,591,545,622,593,75,1548, - 482,20,17,21,18,372,625,45,448,382, - 541,489,539,544,543,591,545,622,593,75, - 1567,482,20,17,21,18,372,43,45,448, - 382,541,280,539,544,543,591,545,622,593, - 94,482,20,17,21,18,372,43,45,448, - 382,541,466,539,544,543,591,545,622,593, - 94,482,20,17,21,18,372,43,40,488, - 1695,482,20,17,21,18,372,43,39,482, - 20,17,21,18,372,43,45,448,382,541, - 212,539,544,543,591,545,622,593,94,482, - 20,17,21,18,372,43,45,448,382,541, - 490,539,544,543,591,545,622,593,94,482, - 20,17,21,18,372,43,38,446,1698,482, - 20,17,21,18,372,43,37,482,20,17, - 21,18,372,43,45,448,382,541,202,539, - 544,543,591,545,622,593,94,113,482,20, - 17,21,18,372,43,45,448,1124,1522,482, - 20,17,21,18,372,43,45,448,382,541, - 144,539,1170,274,241,44,203,207,232,14, - 218,1154,221,1473,223,224,229,194,1550,601, - 396,267,1149,1120,272,104,275,263,277,327, - 135,213,1382,274,499,264,142,134,136,160, - 218,1154,221,1473,223,224,229,679,679,241, - 245,267,1149,1120,272,276,592,1553,1669,1663, - 228,141,166,559,1560,867,712,13,278,231, - 387,261,482,20,17,21,18,372,43,45, - 448,382,541,205,539,544,543,591,1363,482, - 20,17,21,18,372,43,45,448,382,541, - 710,539,544,543,1263,189,179,482,20,17, - 21,18,372,43,45,448,382,541,151,539, - 544,1346,255,213,104,28,1569,135,213,382, - 14,1365,209,138,134,136,160,385,50,281, - 417,1593,630,637,274,1452,1556,1571,243,421, - 1679,219,1154,221,1473,223,224,229,140,166, - 1259,88,269,1149,1120,272,144,147,150,153, - 315,384,218,1154,221,1473,223,224,229,482, - 20,17,21,18,372,43,45,448,1139,1603, - 482,20,17,21,18,372,43,45,448,382, - 541,719,1187,482,20,17,21,18,372,43, - 45,448,382,541,281,1258,328,44,14,195, - 198,200,104,255,213,1679,697,305,324,1183, - 1067,482,20,17,21,18,372,43,45,448, - 382,634,294,671,1457,615,242,218,1154,221, - 1473,223,224,229,482,20,17,21,18,372, - 43,36,676,414,1603,482,20,17,21,18, - 372,43,45,448,382,992,482,20,17,21, - 18,372,43,45,448,382,1009,409,20,17, - 21,18,372,43,44,199,200,482,20,17, - 21,18,372,43,45,448,382,1050,612,95, - 326,482,20,17,21,18,372,43,35,1679, - 567,1543,530,20,17,21,18,372,34,28, - 387,277,733,711,197,1365,274,698,14,707, - 44,218,1154,221,1473,223,224,229,1686,1621, - 1691,728,1269,720,267,1149,1120,272,1553,358, - 20,17,21,18,372,43,36,1459,867,358, - 20,17,21,18,372,43,36,193,1452,227, - 160,52,664,246,219,1154,221,1473,223,224, - 229,1125,518,247,482,20,17,21,18,372, - 43,48,44,254,213,721,274,482,20,17, - 21,18,372,43,47,482,20,17,21,18, - 372,43,46,567,267,1149,1120,272,104,1382, - 567,14,180,489,567,465,723,449,266,723, - 696,567,1664,201,1560,14,417,104,1097,518, - 1382,724,244,1238,225,1097,317,1382,530,20, - 17,21,18,372,33,14,450,90,14,738, - 197,245,52,48,592,259,317,88,909,317, - 1453,1238,259,742,567,909,699,1453,1500,446, - 197,627,287,197,254,213,1638,88,197,1693, - 88,559,1560,632,657,439,699,661,1500,699, - 1768,1500,210,135,213,1768,1269,666,518,145, - 134,136,160,825,741,135,213,783,449,135, - 213,148,134,136,160,151,134,136,160,135, - 213,192,489,587,142,154,134,136,160,116, - 14,14,1512,1429,567,567,357,919,204,44, - 567,417,417,230,1768,518,52,567,1097,197, - 209,52,487,518,1097,104,1768,1768,104,1768, - 1768,1097,88,88,1559,1571,1382,1269,254,213, - 365,599,1347,254,213,259,1768,485,1662,295, - 1453,259,297,1768,951,181,1453,1768,260,1768, - 1471,234,192,205,1768,1768,1768,1768,1768,1768, - 1768,1768,1220,1685,1429,1768,1768,1321,1768,1768, - 1768,1768,1768,1768,1768,1768,1710,1768,0,20, - 179,0,1,1994,0,1,2005,0 + 109,109,109,110,110,110,110,110,113,113, + 25,25,25,25,25,28,28,28,78,78, + 73,73,73,73,74,74,74,75,75,75, + 76,76,76,77,77,77,115,115,116,116, + 117,29,31,31,31,31,31,53,54,54, + 54,54,54,54,54,54,54,54,54,54, + 64,61,61,89,90,66,66,62,62,62, + 67,79,79,80,80,68,68,68,43,91, + 91,81,82,82,82,63,63,92,83,83, + 84,84,69,69,22,23,23,23,30,50, + 50,33,33,33,33,36,36,38,34,34, + 35,39,39,118,118,37,119,119,93,93, + 26,26,26,26,26,26,26,26,26,85, + 51,51,51,51,27,56,56,55,55,55, + 57,57,52,52,94,94,59,59,58,58, + 58,44,44,44,45,46,46,46,47,47, + 47,47,65,65,42,42,48,96,95,95, + 95,95,86,97,98,98,99,99,100,100, + 120,120,121,121,122,122,122,122,124,124, + 123,123,123,125,126,126,87,87,1,627, + 17,21,18,373,626,45,449,383,542,31, + 540,545,544,592,546,623,594,75,92,124, + 136,214,670,629,596,339,138,135,137,161, + 275,20,17,21,18,373,626,45,449,383, + 542,1502,540,545,544,592,546,623,594,75, + 1146,140,167,579,240,201,31,201,31,144, + 147,150,153,57,385,118,201,188,201,187, + 342,1129,1612,1624,1628,1638,1226,434,20,17, + 21,18,373,626,45,449,383,542,343,540, + 545,544,592,546,623,594,75,282,482,20, + 17,21,18,373,626,45,449,383,542,1526, + 540,545,544,592,546,623,594,75,92,283, + 1590,1263,294,97,518,1366,25,158,24,157, + 695,299,20,17,21,18,373,626,45,449, + 383,542,288,540,545,544,592,546,623,594, + 75,1343,256,214,344,241,506,20,17,21, + 18,373,41,289,285,28,662,1503,201,189, + 342,1366,1187,332,20,17,21,18,373,626, + 45,449,383,542,343,540,545,544,592,546, + 623,594,75,282,554,20,17,21,18,373, + 626,45,449,383,542,1593,540,545,544,592, + 546,623,594,75,1245,283,201,297,201,299, + 6,1366,30,284,589,200,191,458,20,17, + 21,18,373,626,45,449,383,542,290,540, + 545,544,592,546,623,594,75,282,189,180, + 482,20,17,21,18,373,43,45,628,291, + 482,20,17,21,18,373,43,45,633,283, + 136,214,344,242,243,1366,138,135,137,161, + 104,482,20,17,21,18,373,43,45,449, + 383,542,292,540,545,544,592,546,1349,275, + 1453,140,167,171,22,14,547,578,194,144, + 147,150,153,199,385,416,444,270,1150,1121, + 273,1129,1612,1624,1628,1638,1226,482,20,17, + 21,18,373,626,45,449,383,542,489,540, + 545,544,592,546,623,594,75,93,482,20, + 17,21,18,373,626,45,449,383,542,1408, + 540,545,544,592,546,623,594,75,86,482, + 20,17,21,18,373,626,45,449,383,542, + 489,540,545,544,592,546,623,594,75,85, + 482,20,17,21,18,373,626,45,449,383, + 542,19,540,545,544,592,546,623,594,75, + 84,482,20,17,21,18,373,626,45,449, + 383,542,489,540,545,544,592,546,623,594, + 75,83,482,20,17,21,18,373,626,45, + 449,383,542,443,540,545,544,592,546,623, + 594,75,82,482,20,17,21,18,373,626, + 45,449,383,542,489,540,545,544,592,546, + 623,594,75,81,482,20,17,21,18,373, + 626,45,449,383,542,1204,540,545,544,592, + 546,623,594,75,80,482,20,17,21,18, + 373,626,45,449,383,542,489,540,545,544, + 592,546,623,594,75,79,482,20,17,21, + 18,373,626,45,449,383,542,23,540,545, + 544,592,546,623,594,75,78,482,20,17, + 21,18,373,626,45,449,383,542,489,540, + 545,544,592,546,623,594,75,77,482,20, + 17,21,18,373,626,45,449,383,542,274, + 540,545,544,592,546,623,594,75,76,482, + 20,17,21,18,373,626,45,449,383,542, + 489,540,545,544,592,546,623,594,75,74, + 482,20,17,21,18,373,626,45,449,383, + 542,280,540,545,544,592,546,623,594,75, + 1549,482,20,17,21,18,373,626,45,449, + 383,542,489,540,545,544,592,546,623,594, + 75,1568,482,20,17,21,18,373,43,45, + 449,383,542,281,540,545,544,592,546,623, + 594,94,482,20,17,21,18,373,43,45, + 449,383,542,466,540,545,544,592,546,623, + 594,94,482,20,17,21,18,373,43,40, + 488,1696,482,20,17,21,18,373,43,39, + 482,20,17,21,18,373,43,45,449,383, + 542,213,540,545,544,592,546,623,594,94, + 482,20,17,21,18,373,43,45,449,383, + 542,490,540,545,544,592,546,623,594,94, + 482,20,17,21,18,373,43,38,446,1699, + 482,20,17,21,18,373,43,37,482,20, + 17,21,18,373,43,45,449,383,542,203, + 540,545,544,592,546,623,594,94,113,482, + 20,17,21,18,373,43,45,449,1125,1523, + 482,20,17,21,18,373,43,45,449,383, + 542,144,540,1171,275,241,44,204,207,232, + 14,219,1155,222,1474,224,225,230,195,1551, + 601,397,268,1150,1121,273,104,276,264,278, + 327,136,214,1383,275,499,265,143,135,137, + 161,219,1155,222,1474,224,225,230,679,679, + 242,245,268,1150,1121,273,277,593,1554,1670, + 1664,229,142,167,559,1561,868,712,13,279, + 232,387,262,482,20,17,21,18,373,43, + 45,449,383,542,205,540,545,544,592,1364, + 482,20,17,21,18,373,43,45,449,383, + 542,710,540,545,544,1264,189,180,482,20, + 17,21,18,373,43,45,449,383,542,151, + 540,545,1347,256,214,104,28,1570,136,214, + 382,14,1366,210,139,135,137,161,386,50, + 281,418,1594,630,637,275,1453,1557,1572,244, + 421,1680,220,1155,222,1474,224,225,230,141, + 167,1260,88,270,1150,1121,273,145,148,151, + 154,316,385,219,1155,222,1474,224,225,230, + 482,20,17,21,18,373,43,45,449,1140, + 1604,482,20,17,21,18,373,43,45,449, + 383,542,719,1188,482,20,17,21,18,373, + 43,45,449,383,542,281,1259,329,44,14, + 196,199,201,104,256,214,1680,697,305,324, + 1184,1068,482,20,17,21,18,373,43,45, + 449,383,635,295,671,1458,615,243,219,1155, + 222,1474,224,225,230,482,20,17,21,18, + 373,43,36,676,414,1604,482,20,17,21, + 18,373,43,45,449,383,993,482,20,17, + 21,18,373,43,45,449,383,1010,409,20, + 17,21,18,373,43,44,200,201,482,20, + 17,21,18,373,43,45,449,383,1051,612, + 95,326,482,20,17,21,18,373,43,35, + 1680,568,1544,530,20,17,21,18,373,34, + 28,388,278,733,711,198,1366,275,698,14, + 707,44,219,1155,222,1474,224,225,230,1687, + 1622,1692,728,1270,720,268,1150,1121,273,1554, + 358,20,17,21,18,373,43,36,1460,868, + 358,20,17,21,18,373,43,36,194,1453, + 228,160,52,664,247,220,1155,222,1474,224, + 225,230,1126,518,248,482,20,17,21,18, + 373,43,48,44,255,214,721,275,482,20, + 17,21,18,373,43,47,482,20,17,21, + 18,373,43,46,567,268,1150,1121,273,104, + 1383,567,14,181,489,568,465,723,450,267, + 723,696,568,1665,201,1561,14,418,104,1098, + 518,1383,724,245,1239,226,1098,318,1383,530, + 20,17,21,18,373,33,14,451,90,14, + 738,198,246,52,48,593,260,318,88,910, + 318,1454,1239,260,742,568,910,700,1454,1501, + 447,198,627,287,198,255,214,1639,88,198, + 1694,88,559,1561,632,658,439,700,661,1501, + 700,1769,1501,211,136,214,1769,1270,666,518, + 146,135,137,161,826,742,136,214,784,450, + 136,214,149,135,137,161,152,135,137,161, + 136,214,193,489,587,142,155,135,137,161, + 116,14,14,1513,1430,568,568,357,920,205, + 44,568,418,418,231,1769,518,52,568,1098, + 198,210,52,488,518,1098,104,1769,1769,104, + 1769,1769,1098,88,88,1560,1572,1383,1270,255, + 214,365,600,1348,255,214,260,1769,486,1663, + 296,1454,260,298,1769,952,182,1454,1769,261, + 1769,1472,235,193,206,1769,1769,1769,1769,1769, + 1769,1769,1769,1221,1686,1430,1769,1769,1322,1769, + 1769,1769,1769,1769,1769,1769,1769,1711,1769,0, + 20,180,0,1,1996,0,1,2007,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -496,87 +496,87 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface TermAction { public final static char termAction[] = {0, - 1768,1779,1565,1780,1374,60,1982,1983,1984,1069, - 1059,1431,62,1,1578,1442,475,1931,1781,1782, - 1783,1784,1011,1001,1932,1930,1985,1933,1929,55, - 1768,1936,1941,1940,1938,1939,1937,1942,1943,1935, - 1944,1945,1946,253,1625,1383,1190,1768,1,61, - 1,1768,191,1,1,1,52,1982,1983,1984, - 1417,1396,1385,1351,1,579,569,1417,1396,1385, - 1351,1,1,1,1,1,1098,1299,1,1, + 1769,1780,1566,1781,1375,60,1984,1985,1986,1070, + 1060,1432,62,1,1579,1443,476,1933,1782,1783, + 1784,1785,1012,1002,1934,1932,1987,1935,1931,55, + 1769,1938,1943,1942,1940,1941,1939,1944,1945,1937, + 1946,1947,1948,254,1626,1384,1191,1769,1,61, + 1,1769,192,1,1,1,52,1984,1985,1986, + 1418,1397,1386,1352,1,580,570,1418,1397,1386, + 1352,1,1,1,1,1,1099,1300,1,1, 1,1,1,1,1,1,1,1,1,1, - 191,1,1,1,1768,1,42,1,1964,190, - 1,1,1,1768,1417,1396,1385,1351,1772,2815, - 1758,1,262,1994,1127,1,1,182,1,1, - 1,1,1,183,349,1,1,1,1,1, - 1,1,1,1,1,1,1,190,1,1, - 1,1768,1,271,1,1964,191,1,1,1, - 268,1994,1127,1771,253,349,49,286,1,265, - 1535,1430,349,1,2026,1,1,1,1,1, - 71,349,1,1,1,1,1,1,1,1, - 1,1,1,1,191,1,1,1,1768,1779, - 69,1780,1964,51,1982,1983,1984,1535,50,63, - 1768,1779,1535,1780,1768,1931,1,1762,1127,1527, - 1514,1774,1932,1930,1985,1933,1929,2815,349,1936, - 1941,1940,1938,1939,1937,1942,1943,1935,1944,1945, - 1946,129,1625,1383,1190,1192,1773,1982,1983,1984, - 54,268,73,1430,64,253,1527,1514,1931,579, - 569,1527,1514,349,1209,1932,1930,1985,1933,1929, - 1323,1310,1936,1941,1940,1938,1939,1937,1942,1943, - 1935,1944,1945,1946,1,1779,1565,1780,1479,1772, - 1,1994,1428,1069,1059,1431,1768,2006,1578,1442, - 475,513,1781,1782,1783,1784,1011,1001,1768,1779, - 1565,1780,1489,1772,1768,1323,1310,1069,1059,1431, - 600,1671,1578,1442,475,940,1781,1782,1783,1784, - 1011,1001,1768,72,1771,1,270,1430,1167,1768, - 1774,1,1779,1565,1780,1374,29,349,349,1039, - 1069,1059,1431,67,2815,1578,1442,475,1771,1781, - 1782,1783,1784,1011,1001,1773,1,1768,1779,1565, - 1780,1374,1772,898,1768,1768,1069,1059,1431,1774, - 1768,1578,1442,475,29,1781,1782,1783,1784,1011, - 1001,1768,1,1,1,1,185,2828,1192,2828, - 1,1,1,1612,1773,1,1,1,1768,1, - 1,1,1,1,1,2025,1227,1771,1768,1779, - 1565,1780,1374,184,2829,59,2829,1069,1059,1431, - 1,2815,1578,1442,475,1778,1781,1782,1783,1784, - 1011,1001,2084,1,1779,1565,1780,1374,206,2830, - 1768,2830,1069,1059,1431,1768,2815,1578,1442,475, - 1778,1781,1782,1783,1784,1011,1001,1768,1779,1565, - 1780,1374,1098,1299,1,58,1069,1059,1431,91, - 2815,1578,1442,475,1334,1781,1782,1783,1784,1011, - 1001,1768,1779,1565,1780,1374,1777,57,1768,56, - 1069,1059,1431,1774,91,1578,1442,475,220,1781, - 1782,1783,1784,1011,1001,1768,1779,1585,1780,1374, - 349,1777,1098,1299,1069,1059,1431,1768,1773,1578, - 1442,475,1776,1781,1782,1783,1784,1011,1001,1768, - 1779,1588,1780,1374,1098,1299,1098,1299,1069,1059, - 1431,1768,1768,1578,1442,475,43,1781,1782,1783, - 1784,1011,1001,1,1779,1565,1780,1374,208,1779, - 1775,1780,1069,1059,1431,1768,1,1578,1442,475, - 253,1781,1782,1783,1784,1011,1001,20,32,1759, - 1555,1759,1759,179,179,179,1,1765,65,1759, - 1670,1768,1794,1795,179,1768,1779,1768,1780,1109, - 53,179,179,179,179,179,877,1759,1250,579, - 569,1,1994,1428,1768,2026,856,835,814,793, - 772,730,751,709,688,667,130,1129,1768,292, - 376,131,1982,1983,1984,2026,68,1982,1983,1984, - 961,1019,1768,1931,1768,374,207,1563,1931,1563, - 1932,1930,1985,1933,1929,1932,1930,1985,1933,1929, - 132,1768,1779,1768,1780,133,1982,1983,1984,89, - 70,1982,1983,1984,1338,1768,1458,1931,1,1337, - 535,537,1931,1774,1932,1930,1985,1933,1929,1932, - 1930,1985,1933,1929,248,211,66,249,646,1227, - 1982,1983,1984,1,1,1,250,1109,1773,251, - 256,30,1,1,1,1982,1983,1984,252,222, - 1768,1168,30,207,1982,1983,1984,253,1994,1428, - 285,349,1768,1551,1209,624,1460,1768,1768,1676, - 492,201,1768,189,189,189,1768,1768,1768,1768, - 1768,1797,2731,1768,1768,981,185,184,206,1768, - 1768,1768,1768,1768,1768,1768,1768,1768,1768,1768, - 1768,1768,1768,624,1768,1768,1768,1768,1768,1768, - 1768,1768,1768,1768,1768,1768,1768,1768,1768,1768, - 1768,1768,1768,1768,1768,1768,1768,546,1768,1768, - 1077 + 192,1,1,1,1769,1,42,1,1966,191, + 1,1,1,1769,1418,1397,1386,1352,1773,2817, + 1759,1,263,1996,1128,1,1,183,1,1, + 1,1,1,184,350,1,1,1,1,1, + 1,1,1,1,1,1,1,191,1,1, + 1,1769,1,272,1,1966,192,1,1,1, + 269,1996,1128,1772,254,350,49,287,1,266, + 1536,1431,350,1,2028,1,1,1,1,1, + 71,350,1,1,1,1,1,1,1,1, + 1,1,1,1,192,1,1,1,1769,1780, + 69,1781,1966,51,1984,1985,1986,1536,50,63, + 1769,1780,1536,1781,1769,1933,1,1763,1128,1528, + 1515,1775,1934,1932,1987,1935,1931,2817,350,1938, + 1943,1942,1940,1941,1939,1944,1945,1937,1946,1947, + 1948,130,1626,1384,1191,1193,1774,1984,1985,1986, + 54,269,73,1431,64,254,1528,1515,1933,580, + 570,1528,1515,350,1210,1934,1932,1987,1935,1931, + 1324,1311,1938,1943,1942,1940,1941,1939,1944,1945, + 1937,1946,1947,1948,1,1780,1566,1781,1480,1773, + 1,1996,1429,1070,1060,1432,1769,2008,1579,1443, + 476,514,1782,1783,1784,1785,1012,1002,1769,1780, + 1566,1781,1490,1773,1769,1324,1311,1070,1060,1432, + 601,1672,1579,1443,476,941,1782,1783,1784,1785, + 1012,1002,1769,72,1772,1,271,1431,1168,1769, + 1775,1,1780,1566,1781,1375,29,350,350,1040, + 1070,1060,1432,67,2817,1579,1443,476,1772,1782, + 1783,1784,1785,1012,1002,1774,1,1769,1780,1566, + 1781,1375,1773,899,1769,1769,1070,1060,1432,1775, + 1769,1579,1443,476,29,1782,1783,1784,1785,1012, + 1002,1769,1,1,1,1,186,2830,1193,2830, + 1,1,1,1613,1774,1,1,1,1769,1, + 1,1,1,1,1,2027,1228,1772,1769,1780, + 1566,1781,1375,185,2831,59,2831,1070,1060,1432, + 1,2817,1579,1443,476,1779,1782,1783,1784,1785, + 1012,1002,2086,1,1780,1566,1781,1375,207,2832, + 1769,2832,1070,1060,1432,1769,2817,1579,1443,476, + 1779,1782,1783,1784,1785,1012,1002,1769,1780,1566, + 1781,1375,1099,1300,1,58,1070,1060,1432,91, + 2817,1579,1443,476,1335,1782,1783,1784,1785,1012, + 1002,1769,1780,1566,1781,1375,1778,57,1769,56, + 1070,1060,1432,1775,91,1579,1443,476,221,1782, + 1783,1784,1785,1012,1002,1769,1780,1586,1781,1375, + 350,1778,1099,1300,1070,1060,1432,1769,1774,1579, + 1443,476,1777,1782,1783,1784,1785,1012,1002,1769, + 1780,1589,1781,1375,1099,1300,1099,1300,1070,1060, + 1432,1769,1769,1579,1443,476,43,1782,1783,1784, + 1785,1012,1002,1,1780,1566,1781,1375,209,1780, + 1776,1781,1070,1060,1432,1769,1,1579,1443,476, + 254,1782,1783,1784,1785,1012,1002,20,32,1760, + 1556,1760,1760,180,180,180,1,1766,65,1760, + 1671,1769,1795,1796,180,1769,1780,1769,1781,1110, + 53,180,180,180,180,180,878,1760,1251,580, + 570,1,1996,1429,1769,2028,857,836,815,794, + 773,731,752,710,689,668,131,1130,1769,293, + 377,132,1984,1985,1986,2028,68,1984,1985,1986, + 962,1020,1769,1933,1769,375,208,1564,1933,1564, + 1934,1932,1987,1935,1931,1934,1932,1987,1935,1931, + 133,1769,1780,1769,1781,134,1984,1985,1986,89, + 70,1984,1985,1986,1339,1769,1459,1933,1,1338, + 536,538,1933,1775,1934,1932,1987,1935,1931,1934, + 1932,1987,1935,1931,249,212,66,250,647,1228, + 1984,1985,1986,1,1,1,251,1110,1774,252, + 257,30,1,1,1,1984,1985,1986,253,223, + 1769,1169,30,208,1984,1985,1986,254,1996,1429, + 286,350,1769,1552,1210,625,1461,1769,1769,1677, + 493,202,1769,190,190,190,1769,1769,1769,1769, + 1769,1798,2733,1769,1769,982,186,185,207,1769, + 1769,1769,1769,1769,1769,1769,1769,1769,1769,1769, + 1769,1769,1769,625,1769,1769,1769,1769,1769,1769, + 1769,1769,1769,1769,1769,1769,1769,1769,1769,1769, + 1769,1769,1769,1769,1769,1769,1769,547,1769,1769, + 1078 }; }; public final static char termAction[] = TermAction.termAction; @@ -828,16 +828,16 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public interface ScopeState { public final static char scopeState[] = {0, - 1262,0,342,0,1664,1429,1593,0,1471,1334, - 1428,1259,1238,1127,1097,0,546,492,396,1203, - 442,1407,0,567,1225,317,0,1473,1154,1149, - 1120,1238,1127,1097,592,1430,1500,0,1578,1442, - 475,1489,1479,1407,1192,600,1227,1209,1323,1310, - 1109,1299,1098,1417,1396,1385,1351,1535,1527,1514, - 579,569,1431,1374,1069,1059,1011,1001,1077,1039, - 1019,546,981,961,940,919,450,898,513,349, - 877,856,835,814,793,772,751,730,709,688, - 667,317,646,417,492,396,0 + 1263,0,343,0,1665,1430,1594,0,1472,1335, + 1429,1260,1239,1128,1098,0,547,493,397,1204, + 443,1408,0,568,1226,318,0,1474,1155,1150, + 1121,1239,1128,1098,593,1431,1501,0,1579,1443, + 476,1490,1480,1408,1193,601,1228,1210,1324,1311, + 1110,1300,1099,1418,1397,1386,1352,1536,1528,1515, + 580,570,1432,1375,1070,1060,1012,1002,1078,1040, + 1020,547,982,962,941,920,451,899,514,350, + 878,857,836,815,794,773,752,731,710,689, + 668,318,647,418,493,397,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1063,18 +1063,18 @@ public class C99ExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C9 public final static int NUM_STATES = 210, NT_OFFSET = 93, - LA_STATE_OFFSET = 2084, + LA_STATE_OFFSET = 2086, MAX_LA = 2, - NUM_RULES = 316, + NUM_RULES = 317, NUM_NONTERMINALS = 126, NUM_SYMBOLS = 219, SEGMENT_SIZE = 8192, - START_STATE = 1249, + START_STATE = 1250, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1758, - ERROR_ACTION = 1768; + ACCEPT_ACTION = 1759, + ERROR_ACTION = 1769; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java index 85df21b6c45..9616a285ad6 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99ExpressionParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at 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 7edaff4eb1d..1e62f182263 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -678,595 +678,601 @@ public C99NoCastExpressionParser(ITokenStream stream, Map<String,String> propert // // Rule 117: iteration_statement ::= do statement while ( expression ) ; // - case 117: { action. consumeStatementDoLoop(); break; + case 117: { action. consumeStatementDoLoop(true); break; } // - // Rule 118: iteration_statement ::= while ( expression ) statement + // Rule 118: iteration_statement ::= do statement // - case 118: { action. consumeStatementWhileLoop(); break; + case 118: { action. consumeStatementDoLoop(false); break; } // - // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 119: iteration_statement ::= while ( expression ) statement // - case 119: { action. consumeStatementForLoop(); break; + case 119: { action. consumeStatementWhileLoop(); break; } // - // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 120: { action. consumeStatementForLoop(); break; } // - // Rule 121: jump_statement ::= goto identifier_token ; + // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 121: { action. consumeStatementGoto(); break; + case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= continue ; + // Rule 122: jump_statement ::= goto identifier_token ; // - case 122: { action. consumeStatementContinue(); break; + case 122: { action. consumeStatementGoto(); break; } // - // Rule 123: jump_statement ::= break ; + // Rule 123: jump_statement ::= continue ; // - case 123: { action. consumeStatementBreak(); break; + case 123: { action. consumeStatementContinue(); break; } // - // Rule 124: jump_statement ::= return ; + // Rule 124: jump_statement ::= break ; // - case 124: { action. consumeStatementReturn(false); break; + case 124: { action. consumeStatementBreak(); break; } // - // Rule 125: jump_statement ::= return expression ; + // Rule 125: jump_statement ::= return ; // - case 125: { action. consumeStatementReturn(true); break; + case 125: { action. consumeStatementReturn(false); break; } // - // Rule 126: declaration ::= declaration_specifiers ; + // Rule 126: jump_statement ::= return expression ; // - case 126: { action. consumeDeclarationSimple(false); break; + case 126: { action. consumeStatementReturn(true); break; } // - // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 127: declaration ::= declaration_specifiers ; // - case 127: { action. consumeDeclarationSimple(true); break; + case 127: { action. consumeDeclarationSimple(false); break; } // - // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 128: { action. consumeDeclarationSpecifiersSimple(); break; + case 128: { action. consumeDeclarationSimple(true); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 129: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 132: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 157: init_declarator ::= complete_declarator = initializer + // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 157: { action. consumeDeclaratorWithInitializer(true); break; + case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 159: storage_class_specifier ::= storage_class_specifier_token + // Rule 158: init_declarator ::= complete_declarator = initializer // - case 159: { action. consumeToken(); break; + case 158: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 165: simple_type_specifier ::= simple_type_specifier_token + // Rule 160: storage_class_specifier ::= storage_class_specifier_token // - case 165: { action. consumeToken(); break; + case 160: { action. consumeToken(); break; } // - // Rule 178: type_name_specifier ::= identifier_token + // Rule 166: simple_type_specifier ::= simple_type_specifier_token // - case 178: { action. consumeToken(); break; + case 166: { action. consumeToken(); break; } // - // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: type_name_specifier ::= identifier_token // - case 179: { action. consumeTypeSpecifierComposite(false); break; + case 179: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 180: { action. consumeTypeSpecifierComposite(true); break; + case 180: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 181: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 193: { action. consumeStructDeclaration(true); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 194: { action. consumeStructDeclaration(false); break; + case 194: { action. consumeStructDeclaration(true); break; } // - // Rule 195: struct_declaration ::= ERROR_TOKEN + // Rule 195: struct_declaration ::= specifier_qualifier_list ; // - case 195: { action. consumeDeclarationProblem(); break; + case 195: { action. consumeStructDeclaration(false); break; } // - // Rule 201: struct_declarator ::= : constant_expression + // Rule 196: struct_declaration ::= ERROR_TOKEN // - case 201: { action. consumeBitField(false); break; + case 196: { action. consumeDeclarationProblem(); break; } // - // Rule 202: struct_declarator ::= declarator : constant_expression + // Rule 202: struct_declarator ::= : constant_expression // - case 202: { action. consumeBitField(true); break; + case 202: { action. consumeBitField(false); break; } // - // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: struct_declarator ::= declarator : constant_expression // - case 203: { action. consumeTypeSpecifierEnumeration(false); break; + case 203: { action. consumeBitField(true); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeTypeSpecifierEnumeration(true); break; + case 204: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 210: enumerator ::= identifier_token + // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 210: { action. consumeEnumerator(false); break; + case 205: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 211: enumerator ::= identifier_token = constant_expression + // Rule 211: enumerator ::= identifier_token // - case 211: { action. consumeEnumerator(true); break; + case 211: { action. consumeEnumerator(false); break; } // - // Rule 212: type_qualifier ::= type_qualifier_token + // Rule 212: enumerator ::= identifier_token = constant_expression // - case 212: { action. consumeToken(); break; + case 212: { action. consumeEnumerator(true); break; } // - // Rule 216: function_specifier ::= inline + // Rule 213: type_qualifier ::= type_qualifier_token // - case 216: { action. consumeToken(); break; + case 213: { action. consumeToken(); break; } // - // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 217: function_specifier ::= inline // - case 218: { action. consumeDeclaratorWithPointer(true); break; + case 217: { action. consumeToken(); break; } // - // Rule 223: basic_direct_declarator ::= declarator_id_name + // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 223: { action. consumeDirectDeclaratorIdentifier(); break; + case 219: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 224: basic_direct_declarator ::= ( declarator ) + // Rule 224: basic_direct_declarator ::= declarator_id_name // - case 224: { action. consumeDirectDeclaratorBracketed(); break; + case 224: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 225: declarator_id_name ::= identifier + // Rule 225: basic_direct_declarator ::= ( declarator ) // - case 225: { action. consumeIdentifierName(); break; + case 225: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 226: declarator_id_name ::= identifier // - case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeIdentifierName(); break; } // - // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier // case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 236: identifier_list ::= identifier + // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 236: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 237: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier // case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 238: array_modifier ::= [ ] + // Rule 238: identifier_list ::= identifier_list , identifier // - case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 240: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 242: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 245: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ * ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 248: pointer_seq ::= pointer_hook * pointer_hook + // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 248: { action. consumePointer(); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 249: pointer_seq ::= pointer_hook * pointer_hook // case 249: { action. consumePointer(); break; } // - // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 250: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 255: parameter_type_list ::= parameter_list + // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 255: { action. consumeEmpty(); break; + case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list // - case 256: { action. consumePlaceHolder(); break; + case 256: { action. consumeEmpty(); break; } // - // Rule 257: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= parameter_list , ... // case 257: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 258: parameter_type_list ::= ... // - case 260: { action. consumeParameterDeclaration(); break; + case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclaration(); break; } // - // Rule 264: type_id ::= specifier_qualifier_list + // Rule 262: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeTypeId(false); break; + case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list // - case 265: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(false); break; } // - // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator // - case 267: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeTypeId(true); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq // - case 268: { action. consumeDeclaratorWithPointer(true); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 272: { action. consumeDirectDeclaratorBracketed(); break; + case 269: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 273: array_direct_abstract_declarator ::= array_modifier + // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_modifier // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 276: function_direct_abstract_declarator ::= ( ) + // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 277: function_direct_abstract_declarator ::= ( ) + // + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 280: initializer ::= assignment_expression + // Rule 281: initializer ::= assignment_expression // - case 280: { action. consumeInitializer(); break; + case 281: { action. consumeInitializer(); break; } // - // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 282: { action. consumeInitializerList(); break; + case 283: { action. consumeInitializerList(); break; } // - // Rule 283: initializer_list ::= { <openscope-ast> } + // Rule 284: initializer_list ::= { <openscope-ast> } // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: start_initializer_list ::= $Empty + // Rule 285: start_initializer_list ::= $Empty // - case 284: { action. initializerListStart(); break; + case 285: { action. initializerListStart(); break; } // - // Rule 285: end_initializer_list ::= $Empty + // Rule 286: end_initializer_list ::= $Empty // - case 285: { action. initializerListEnd(); break; + case 286: { action. initializerListEnd(); break; } // - // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer // - case 290: { action. consumeInitializerDesignated(); break; + case 291: { action. consumeInitializerDesignated(); break; } // - // Rule 294: designator_base ::= [ constant_expression ] + // Rule 295: designator_base ::= [ constant_expression ] // - case 294: { action. consumeDesignatorArray(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 295: designator_base ::= . identifier_token + // Rule 296: designator_base ::= . identifier_token // - case 295: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 296: designator ::= [ constant_expression ] + // Rule 297: designator ::= [ constant_expression ] // - case 296: { action. consumeDesignatorArray(); break; + case 297: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator ::= . identifier_token + // Rule 298: designator ::= . identifier_token // - case 297: { action. consumeDesignatorField(); break; + case 298: { action. consumeDesignatorField(); break; } // - // Rule 298: translation_unit ::= external_declaration_list + // Rule 299: translation_unit ::= external_declaration_list // - case 298: { action. consumeTranslationUnit(); break; + case 299: { action. consumeTranslationUnit(); break; } // - // Rule 299: translation_unit ::= $Empty + // Rule 300: translation_unit ::= $Empty // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 304: external_declaration ::= ; + // Rule 305: external_declaration ::= ; // - case 304: { action. consumeDeclarationEmpty(); break; + case 305: { action. consumeDeclarationEmpty(); break; } // - // Rule 305: external_declaration ::= ERROR_TOKEN + // Rule 306: external_declaration ::= ERROR_TOKEN // - case 305: { action. consumeDeclarationProblem(); break; + case 306: { action. consumeDeclarationProblem(); break; } // - // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body // - case 309: { action. consumeFunctionDefinition(false); break; + case 310: { action. consumeFunctionDefinition(false); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 310: { action. consumeFunctionDefinitionKnR(); break; + case 311: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinition(true); break; + case 312: { action. consumeFunctionDefinition(true); break; } // - // Rule 312: function_body ::= { } + // Rule 313: function_body ::= { } // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 313: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 314: function_body ::= { <openscope-ast> block_item_list } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 314: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 315: no_cast_start ::= ERROR_TOKEN + // Rule 316: no_cast_start ::= ERROR_TOKEN // - case 315: { action. consumeEmpty(); break; + case 316: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java index 0d4b891be68..c140f0dbe97 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -45,170 +45,170 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 3,3,3,3,3,1,1,2,1,0, 1,3,1,1,1,1,1,1,1,1, 3,4,3,2,4,1,2,1,1,1, - 2,5,7,5,1,0,7,5,9,8, - 3,2,2,2,3,2,4,2,2,2, - 2,2,1,1,1,1,2,1,2,2, - 2,1,2,2,1,2,2,1,2,2, - 1,2,2,1,3,1,3,1,1,1, + 2,5,7,5,1,0,7,2,5,9, + 8,3,2,2,2,3,2,4,2,2, + 2,2,2,1,1,1,1,2,1,2, + 2,2,1,2,2,1,2,2,1,2, + 2,1,2,2,1,3,1,3,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,6,8, - 0,0,1,1,3,3,3,0,1,0, - 1,2,4,2,1,1,1,3,1,1, - 2,3,7,8,0,1,0,1,3,1, - 3,1,1,1,1,1,1,3,1,1, - 1,1,1,3,1,2,2,1,5,3, - 1,3,5,1,3,1,3,2,4,3, - 5,4,6,6,3,5,1,3,4,5, - 6,0,1,2,1,3,1,1,3,2, - 1,1,1,1,2,1,2,3,1,1, - 1,3,1,2,2,2,3,4,5,1, - 1,7,3,0,0,1,1,3,3,4, - 1,1,2,3,2,3,2,1,0,1, - 2,1,1,1,1,1,2,1,3,6, - 4,2,4,1,1,-32,0,0,0,0, - 0,0,0,0,0,0,-2,0,0,0, - 0,0,0,0,0,0,0,0,-4,-156, - -115,0,-15,0,0,0,0,-70,0,0, + 1,1,1,1,1,1,1,1,1,6, + 8,0,0,1,1,3,3,3,0,1, + 0,1,2,4,2,1,1,1,3,1, + 1,2,3,7,8,0,1,0,1,3, + 1,3,1,1,1,1,1,1,3,1, + 1,1,1,1,3,1,2,2,1,5, + 3,1,3,5,1,3,1,3,2,4, + 3,5,4,6,6,3,5,1,3,4, + 5,6,0,1,2,1,3,1,1,3, + 2,1,1,1,1,2,1,2,3,1, + 1,1,3,1,2,2,2,3,4,5, + 1,1,7,3,0,0,1,1,3,3, + 4,1,1,2,3,2,3,2,1,0, + 1,2,1,1,1,1,1,2,1,3, + 6,4,2,4,1,1,-32,0,0,0, + 0,0,0,0,0,0,0,-2,0,0, + 0,0,0,0,0,0,0,0,0,-4, + -156,-115,0,-15,0,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, - -167,0,-33,0,-104,0,0,0,0,-78, - 0,0,-116,0,-16,0,-17,0,0,0, - 0,0,0,0,-138,0,0,0,0,0, + 0,-167,0,-33,0,-104,0,0,0,0, + -78,0,0,-116,0,-16,0,-17,0,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,-174,0,0,0,0, + 0,0,0,0,0,0,-174,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-178,0,-128,-76,0,0,-48,0,0, + 0,0,-178,0,-128,-76,0,0,-48,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-34,0,0,0,-18,0,-42,0, + 0,0,0,-34,0,0,0,-18,0,-42, 0,0,0,0,0,0,0,0,0,0, - 0,-6,0,0,0,0,0,0,0,0, - -189,0,0,0,0,0,0,0,0,0, + 0,0,-6,0,0,0,0,0,0,0, + 0,-189,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-3,0,0,0,0,0,0,0,0, - 0,0,-19,0,0,0,0,0,0,0, - 0,0,0,0,-117,0,0,-118,0,-119, - 0,0,0,-43,0,0,0,0,0,0, - 0,0,0,0,0,-108,0,0,0,0, + 0,0,-3,0,0,0,0,0,0,0, + 0,0,0,-19,0,0,0,0,0,0, + 0,0,0,0,0,-117,0,0,-118,0, + -119,0,0,0,-43,0,0,0,0,0, + 0,0,0,0,0,0,-108,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-5,0,0,0, - 0,0,0,0,-127,0,0,0,0,0, - 0,0,0,0,0,-79,0,0,0,0, - 0,0,0,0,0,-131,0,-158,0,-55, + 0,0,0,0,0,0,0,-5,0,0, + 0,0,0,0,0,-127,0,0,0,0, + 0,0,0,0,0,0,-79,0,0,0, + 0,0,0,0,0,0,-131,0,-158,0, + -55,0,0,0,0,0,0,0,0,0, + 0,-122,0,0,0,0,0,0,0,0, + 0,-20,0,-21,0,0,0,0,-27,0, + 0,0,0,0,0,0,0,0,0,-22, 0,0,0,0,0,0,0,0,0,0, - -122,0,0,0,0,0,0,0,0,0, - -20,0,-21,0,0,0,0,-27,0,0, - 0,0,0,0,0,0,0,0,-22,0, + 0,-23,0,-188,0,-24,0,0,0,0, + -72,0,-12,0,0,0,0,0,0,0, + 0,0,0,0,0,-56,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -23,0,-188,0,-24,0,0,0,0,-72, - 0,-12,0,0,0,0,0,0,0,0, - 0,0,0,0,-56,0,0,0,0,0, + 0,0,0,0,0,0,-57,0,0,0, + 0,0,0,0,0,0,0,-25,0,0, + 0,0,0,0,0,0,0,-58,0,0, + 0,0,0,0,0,0,0,0,-26,0, + 0,0,0,0,0,0,0,0,-59,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,-25,0,0,0, - 0,0,0,0,0,0,-58,0,0,0, - 0,0,0,0,0,0,0,-26,0,0, - 0,0,0,0,0,0,0,-59,0,0, + 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,-60,0, - 0,0,0,0,0,0,0,0,0,-84, - 0,0,0,0,0,0,0,0,0,-61, + -84,0,0,0,0,0,0,0,0,0, + -61,0,0,0,0,0,0,0,0,0, + 0,-87,0,0,0,0,0,0,0,0, + 0,-62,0,0,0,0,0,0,0,0, + 0,0,-88,0,0,0,0,0,0,0, + 0,0,-63,0,0,0,0,0,0,0, + 0,0,0,-89,0,0,0,0,0,0, + 0,0,0,-64,0,0,0,0,0,0, + 0,0,0,0,-90,0,0,0,0,0, + 0,0,0,0,-65,0,0,0,0,0, + 0,0,0,0,0,-91,0,0,0,0, + 0,0,0,0,0,-66,0,0,0,0, + 0,0,0,0,0,0,-92,0,0,0, + 0,0,0,0,0,0,-120,0,0,0, + 0,0,0,0,0,0,0,-93,0,0, + 0,0,0,0,0,0,0,-141,0,0, + 0,0,0,0,0,0,0,0,-94,0, + 0,0,0,0,0,0,0,0,-142,0, + 0,0,0,0,0,0,0,0,0,-95, + 0,0,0,0,0,0,0,0,0,-177, 0,0,0,0,0,0,0,0,0,0, - -87,0,0,0,0,0,0,0,0,0, - -62,0,0,0,0,0,0,0,0,0, - 0,-88,0,0,0,0,0,0,0,0, - 0,-63,0,0,0,0,0,0,0,0, - 0,0,-89,0,0,0,0,0,0,0, - 0,0,-64,0,0,0,0,0,0,0, - 0,0,0,-90,0,0,0,0,0,0, - 0,0,0,-65,0,0,0,0,0,0, - 0,0,0,0,-91,0,0,0,0,0, - 0,0,0,0,-66,0,0,0,0,0, - 0,0,0,0,0,-92,0,0,0,0, - 0,0,0,0,0,-120,0,0,0,0, - 0,0,0,0,0,0,-93,0,0,0, - 0,0,0,0,0,0,-141,0,0,0, - 0,0,0,0,0,0,0,-94,0,0, - 0,0,0,0,0,0,0,-142,0,0, - 0,0,0,0,0,0,0,0,-95,0, - 0,0,0,0,0,0,0,0,-177,0, - 0,0,0,0,0,0,0,0,0,-134, - 0,0,0,0,0,0,0,0,-186,0, - 0,0,0,0,0,0,0,0,0,-96, - 0,0,0,0,0,0,0,0,-13,0, - 0,0,0,0,0,0,-7,0,0,0, - 0,0,0,0,-192,0,0,0,0,0, + -134,0,0,0,0,0,0,0,0,-186, 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,-135,0,0,0,0, - 0,0,0,0,-155,-170,0,-176,0,0, - -97,0,-8,0,0,0,0,0,0,0, - -206,0,0,0,0,0,0,0,0,0, + -96,0,0,0,0,0,0,0,0,-13, + 0,0,0,0,0,0,0,-7,0,0, + 0,0,0,0,0,-192,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -54,0,0,0,0,0,0,0,0,0, - 0,-130,0,0,0,0,0,0,-98,-180, - -191,0,0,0,0,-73,-99,0,-37,0, - 0,0,0,0,0,0,0,0,-100,-145, - 0,0,-110,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-200,-193,-124,0, - -187,0,0,0,0,0,-101,0,-102,0, - -146,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-35,0,-105,0,0,0, - 0,0,0,0,0,0,0,0,0,-184, - -107,-83,0,-29,0,0,-51,0,0,0, - 0,0,0,0,0,0,0,-121,0,0, - 0,0,0,0,0,-69,0,0,0,0, - 0,0,0,-52,0,0,0,0,0,0, - 0,0,0,0,-164,0,0,0,-137,-154, - 0,-30,0,-123,0,0,0,-183,0,0, - -67,0,0,0,0,-132,0,-136,0,-81, - 0,0,0,-140,0,0,0,0,0,0, + 0,0,0,0,0,-198,0,0,0,0, + 0,0,0,0,0,0,-135,0,0,0, + 0,0,0,0,0,-155,-170,0,-176,0, + 0,-97,0,-8,0,0,0,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,-38,0,0,0, - 0,0,0,0,0,0,-49,0,0,0, - 0,0,0,0,0,0,0,0,0,-50, + 0,-54,0,0,0,0,0,0,0,0, + 0,0,-130,0,0,0,0,0,0,-98, + -180,-191,0,0,0,0,-73,-99,0,-37, + 0,0,0,0,0,0,0,0,0,-100, + -145,0,0,-110,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-200,-193,-124, + 0,-187,0,0,0,0,0,-101,0,-102, + 0,-146,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-35,0,-105,0,0, 0,0,0,0,0,0,0,0,0,0, - -205,0,0,0,-153,0,-157,-85,0,0, - -151,0,-171,-172,-175,0,-199,0,0,-44, + -184,-107,-83,0,-29,0,0,-51,0,0, + 0,0,0,0,0,0,0,0,-121,0, + 0,0,0,0,0,0,-69,0,0,0, + 0,0,0,0,-52,0,0,0,0,0, + 0,0,0,0,0,-164,0,0,0,-137, + -154,0,-30,0,-123,0,0,0,-183,0, + 0,-67,0,0,0,0,-132,0,-136,0, + -81,0,0,0,-140,0,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,0,0,0,-166,0,-45, + 0,0,0,0,0,0,0,-38,0,0, + 0,0,0,0,0,0,0,-49,0,0, 0,0,0,0,0,0,0,0,0,0, - -46,0,0,0,0,0,0,0,0,0, - -47,0,0,0,0,0,0,0,0,0, - -71,0,0,-74,-86,-109,0,-112,-139,-165, - -204,0,-111,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-207,0,0, + -50,0,0,0,0,0,0,0,0,0, + 0,-205,0,0,0,-153,0,-157,-85,0, + 0,-151,0,-171,-172,-175,0,-199,0,0, + -44,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -147,0,0,0,0,-144,0,0,0,0, + -9,0,0,0,0,0,0,0,-166,0, + -45,0,0,0,0,0,0,0,0,0, + 0,-46,0,0,0,0,0,0,0,0, + 0,-47,0,0,0,0,0,0,0,0, + 0,-71,0,0,-74,-86,-109,0,-112,-139, + -165,-204,0,-111,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-207,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-173,0,0, - -10,0,0,0,0,0,0,0,-11,0, - 0,0,0,0,0,0,-31,-39,0,0, - 0,0,0,0,0,0,-113,0,-40,0, - 0,0,0,0,0,0,0,0,-68,-126, - -143,-162,0,-41,0,0,0,0,0,0, - 0,0,0,0,-14,-129,-159,0,0,0, - 0,-28,-36,0,0,0,0,-179,0,-160, - -148,-190,0,0,0,-185,0,0,0,0, - 0,0,0,0,0,-196,0,-75,0,0, + 0,-147,0,0,0,0,-144,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -77,0,0,0,-197,-80,0,0,0,0, - 0,-106,-169,0,0,0,0,0,0,-82, + 0,0,0,0,0,0,0,0,-173,0, + 0,-10,0,0,0,0,0,0,0,-11, + 0,0,0,0,0,0,0,-31,-39,0, + 0,0,0,0,0,0,0,-113,0,-40, + 0,0,0,0,0,0,0,0,0,-68, + -126,-143,-162,0,-41,0,0,0,0,0, + 0,0,0,0,0,-14,-129,-159,0,0, + 0,0,-28,-36,0,0,0,0,-179,0, + -160,-148,-190,0,0,0,-185,0,0,0, + 0,0,0,0,0,0,-196,0,-75,0, 0,0,0,0,0,0,0,0,0,0, + 0,-77,0,0,0,-197,-80,0,0,0, + 0,0,-106,-169,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,-125,0,0,-152,-181,0,0,0, - 0,-182,0,0,0,0,0,0,-133,0, - 0,-168,0,0,0,-203,-1,-114,-163,0, - 0,0,0,0,-53,0,0,0,0,0, - 0,-150,-149,0,-202,0,0,0,-103,0, - 0,0,0,0,0,0,0,0,0,-201, + 0,0,0,-125,0,0,-152,-181,0,0, + 0,0,-182,0,0,0,0,0,0,-133, + 0,0,-168,0,0,0,-203,-1,-114,-163, + 0,0,0,0,0,-53,0,0,0,0, + 0,0,-150,-149,0,-202,0,0,0,-103, 0,0,0,0,0,0,0,0,0,0, + -201,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -161,-194,-195,0,0,0,0,0,0,0, + 0,-161,-194,-195,0,0,0,0,0,0, 0,0,0,0,0,0,0,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; @@ -230,170 +230,170 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 88,72,72,47,104,104,104,104,104,104, 104,105,105,105,106,106,111,111,112,112, 107,107,108,108,108,114,114,109,109,109, - 109,110,110,110,110,110,113,113,25,25, - 25,25,25,28,28,28,78,78,73,73, - 73,73,74,74,74,75,75,75,76,76, - 76,77,77,77,115,115,116,116,117,29, - 31,31,31,31,31,53,54,54,54,54, - 54,54,54,54,54,54,54,54,63,60, - 60,89,90,65,65,61,61,61,66,79, - 79,80,80,67,67,67,49,91,91,81, - 82,82,82,62,62,92,83,83,84,84, - 68,68,21,22,22,22,30,48,48,32, - 32,32,32,35,35,37,33,33,34,38, - 38,118,118,36,119,119,93,93,26,26, - 26,26,26,26,26,26,26,85,50,50, - 50,50,27,56,56,55,55,55,57,57, - 51,51,94,94,71,71,58,58,58,41, - 41,41,42,43,43,43,44,44,44,44, - 64,64,46,46,52,96,95,95,95,95, - 86,97,98,98,99,99,100,100,120,120, - 121,121,122,122,122,122,124,124,123,123, - 123,125,126,126,87,87,1,780,17,21, - 18,343,738,44,387,385,523,293,467,633, - 631,661,649,717,665,74,91,134,212,431, - 236,108,990,687,136,133,135,159,275,20, - 17,21,18,343,738,44,387,385,523,1153, - 467,633,631,661,649,717,665,74,1426,138, - 165,519,238,71,31,31,142,145,148,151, - 199,445,1268,71,186,246,1228,69,339,1424, - 1578,1591,1596,1610,1212,424,20,17,21,18, - 343,738,44,387,385,523,340,467,633,631, - 661,649,717,665,74,280,335,20,17,21, - 18,343,738,44,387,385,523,340,467,633, - 631,661,649,717,665,74,280,1355,442,292, - 194,281,583,25,210,104,383,1197,482,20, - 17,21,18,343,43,44,387,385,523,286, - 467,969,281,71,31,254,212,6,1197,482, - 20,17,21,18,343,43,44,387,385,843, - 288,287,482,20,17,21,18,343,43,40, - 1075,453,20,17,21,18,343,738,44,387, - 385,523,289,467,633,631,661,649,717,665, - 74,280,482,20,17,21,18,343,738,44, - 387,385,523,10,467,633,631,661,649,717, - 665,74,91,24,341,71,185,281,281,1278, - 71,187,293,1197,482,20,17,21,18,343, - 43,44,387,385,864,290,540,20,17,21, - 18,343,738,44,387,385,523,1633,467,633, - 631,661,649,717,665,74,1530,511,20,17, - 21,18,343,41,339,305,20,17,21,18, - 343,738,44,387,385,523,429,467,633,631, - 661,649,717,665,74,1531,189,178,163,239, - 482,20,17,21,18,343,43,44,387,385, - 523,31,467,633,631,661,1179,134,212,253, - 212,327,395,14,136,133,135,159,482,20, - 17,21,18,343,738,44,387,385,523,516, - 467,633,631,661,649,717,665,74,92,138, - 165,156,535,124,1130,243,142,145,148,151, - 295,445,482,20,17,21,18,343,34,1424, - 1578,1591,1596,1610,1212,482,20,17,21,18, - 343,738,44,387,385,523,274,467,633,631, - 661,649,717,665,74,85,482,20,17,21, - 18,343,738,44,387,385,523,172,467,633, - 631,661,649,717,665,74,84,482,20,17, - 21,18,343,738,44,387,385,523,530,467, - 633,631,661,649,717,665,74,83,482,20, - 17,21,18,343,738,44,387,385,523,282, - 467,633,631,661,649,717,665,74,82,482, - 20,17,21,18,343,738,44,387,385,523, - 569,467,633,631,661,649,717,665,74,81, - 482,20,17,21,18,343,738,44,387,385, - 523,151,467,633,631,661,649,717,665,74, - 80,482,20,17,21,18,343,738,44,387, - 385,523,194,467,633,631,661,649,717,665, - 74,79,482,20,17,21,18,343,738,44, - 387,385,523,30,467,633,631,661,649,717, - 665,74,78,482,20,17,21,18,343,738, - 44,387,385,523,441,467,633,631,661,649, - 717,665,74,77,482,20,17,21,18,343, - 738,44,387,385,523,470,467,633,631,661, - 649,717,665,74,76,482,20,17,21,18, - 343,738,44,387,385,523,500,467,633,631, - 661,649,717,665,74,75,482,20,17,21, - 18,343,738,44,387,385,523,313,467,633, - 631,661,649,717,665,74,73,482,20,17, - 21,18,343,738,44,387,385,523,343,467, - 633,631,661,649,717,665,74,1547,482,20, - 17,21,18,343,738,44,387,385,523,44, - 467,633,631,661,649,717,665,74,1560,482, - 20,17,21,18,343,43,44,387,385,523, - 119,467,633,631,661,649,717,665,93,482, - 20,17,21,18,343,43,44,387,385,523, - 110,467,633,631,661,649,717,665,93,482, - 20,17,21,18,343,33,1562,482,20,17, - 21,18,343,43,39,482,20,17,21,18, - 343,43,44,387,385,523,211,467,633,631, - 661,649,717,665,93,482,20,17,21,18, - 343,43,44,387,385,523,31,467,633,631, - 661,649,717,665,93,657,683,1636,71,295, - 1351,157,1656,482,20,17,21,18,343,43, - 38,482,20,17,21,18,343,43,44,387, - 385,523,201,467,633,631,661,649,717,665, - 93,482,20,17,21,18,343,43,44,387, - 385,523,611,467,633,631,661,649,1177,344, - 436,71,297,1561,1488,1566,50,619,202,482, - 20,17,21,18,343,43,44,801,273,562, - 699,254,212,163,217,1181,220,1461,222,223, - 228,1532,275,266,1136,670,271,557,465,97, - 262,71,1353,276,253,212,273,487,1690,520, - 263,656,217,1181,220,1461,222,223,228,254, - 212,266,1136,670,271,352,1284,641,1711,217, - 1181,220,1461,222,223,228,512,227,1428,444, - 683,549,189,178,292,1711,260,482,20,17, - 21,18,343,43,44,387,385,523,490,467, - 633,631,1129,134,212,89,97,1529,585,209, - 137,133,135,159,482,20,17,21,18,343, - 43,44,387,385,523,705,467,633,1137,31, - 501,1353,292,1211,640,139,165,283,259,1675, - 1260,292,143,146,149,152,626,445,662,1690, - 458,273,1264,1348,377,19,1602,218,1181,220, - 1461,222,223,228,1679,608,268,1136,670,271, - 217,1181,220,1461,222,223,228,482,20,17, - 21,18,343,43,44,822,1357,482,20,17, - 21,18,343,43,44,387,385,523,208,1010, - 482,20,17,21,18,343,43,44,387,385, - 523,259,1081,1076,1354,31,540,394,292,197, - 199,684,1690,582,688,661,1603,623,1558,1595, - 482,20,17,21,18,343,43,44,387,385, - 885,23,538,217,1181,220,1461,222,223,228, - 482,20,17,21,18,343,43,37,490,1357, - 482,20,17,21,18,343,43,44,387,385, - 906,482,20,17,21,18,343,43,44,387, - 927,482,20,17,21,18,343,43,44,387, - 948,253,198,199,232,153,153,179,292,97, - 31,241,1517,365,20,17,21,18,343,43, - 36,1642,1756,1756,276,134,212,273,595,22, - 240,272,141,133,135,159,1347,245,1756,1756, - 1756,570,266,1136,670,271,365,20,17,21, - 18,343,43,36,1756,1264,1756,140,165,1428, - 218,1181,220,1461,222,223,228,226,490,1756, - 246,482,20,17,21,18,343,43,36,482, - 20,17,21,18,343,43,35,116,482,20, - 17,21,18,343,43,47,1756,413,1236,482, - 20,17,21,18,343,43,46,663,606,374, - 153,153,413,273,482,20,17,21,18,343, - 43,45,1122,606,1211,31,292,153,266,1136, - 670,271,31,31,242,241,316,1122,163,1211, - 153,97,153,316,512,265,490,1602,258,278, - 196,243,1546,1756,1276,28,490,196,610,253, - 212,1197,1255,258,244,87,294,1546,1211,1276, - 1262,631,87,87,1507,494,652,1262,1425,134, - 212,1507,711,501,1353,203,144,133,135,159, - 673,1255,134,212,1168,180,1214,134,212,147, - 133,135,159,1271,150,133,135,159,273,1264, - 1756,134,212,163,1756,1756,48,545,153,133, - 135,159,142,268,1136,670,271,606,606,614, - 1756,1756,95,606,253,212,153,395,403,403, - 606,196,1122,606,193,31,1756,196,512,1649, - 1637,208,292,645,1122,490,512,196,1756,634, - 296,277,230,1756,606,371,1210,1354,258,444, - 97,371,1712,1756,1276,279,1756,87,1122,1756, - 258,371,314,191,1672,87,1276,1756,1756,191, - 1149,292,292,342,204,1388,1652,1211,937,192, - 1756,1576,1652,1756,259,28,1756,1756,1756,1756, - 1713,1197,1756,1756,224,229,233,1756,1756,1756, - 1448,1756,1756,1756,327,1756,0,20,178,0, - 1,1981,0,1,1992,0 + 109,109,110,110,110,110,110,113,113,25, + 25,25,25,25,28,28,28,78,78,73, + 73,73,73,74,74,74,75,75,75,76, + 76,76,77,77,77,115,115,116,116,117, + 29,31,31,31,31,31,53,54,54,54, + 54,54,54,54,54,54,54,54,54,63, + 60,60,89,90,65,65,61,61,61,66, + 79,79,80,80,67,67,67,49,91,91, + 81,82,82,82,62,62,92,83,83,84, + 84,68,68,21,22,22,22,30,48,48, + 32,32,32,32,35,35,37,33,33,34, + 38,38,118,118,36,119,119,93,93,26, + 26,26,26,26,26,26,26,26,85,50, + 50,50,50,27,56,56,55,55,55,57, + 57,51,51,94,94,71,71,58,58,58, + 41,41,41,42,43,43,43,44,44,44, + 44,64,64,46,46,52,96,95,95,95, + 95,86,97,98,98,99,99,100,100,120, + 120,121,121,122,122,122,122,124,124,123, + 123,123,125,126,126,87,87,1,781,17, + 21,18,344,739,44,388,386,524,293,468, + 634,632,662,650,718,666,74,91,135,213, + 431,236,108,991,687,137,134,136,160,275, + 20,17,21,18,344,739,44,388,386,524, + 1154,468,634,632,662,650,718,666,74,1427, + 139,166,519,239,71,31,31,143,146,149, + 152,199,446,1269,71,187,246,1229,69,340, + 1425,1579,1592,1597,1611,1213,424,20,17,21, + 18,344,739,44,388,386,524,341,468,634, + 632,662,650,718,666,74,281,335,20,17, + 21,18,344,739,44,388,386,524,341,468, + 634,632,662,650,718,666,74,281,1356,443, + 293,195,282,583,25,210,104,384,1198,482, + 20,17,21,18,344,43,44,388,386,524, + 287,468,970,282,71,31,255,213,6,1198, + 482,20,17,21,18,344,43,44,388,386, + 844,289,288,482,20,17,21,18,344,43, + 40,1076,453,20,17,21,18,344,739,44, + 388,386,524,290,468,634,632,662,650,718, + 666,74,281,482,20,17,21,18,344,739, + 44,388,386,524,10,468,634,632,662,650, + 718,666,74,91,24,342,71,186,282,281, + 1279,71,188,294,1198,482,20,17,21,18, + 344,43,44,388,386,865,291,540,20,17, + 21,18,344,739,44,388,386,524,1634,468, + 634,632,662,650,718,666,74,1531,511,20, + 17,21,18,344,41,340,305,20,17,21, + 18,344,739,44,388,386,524,429,468,634, + 632,662,650,718,666,74,1532,189,179,163, + 240,482,20,17,21,18,344,43,44,388, + 386,524,31,468,634,632,662,1180,135,213, + 254,213,327,396,14,137,134,136,160,482, + 20,17,21,18,344,739,44,388,386,524, + 516,468,634,632,662,650,718,666,74,92, + 139,166,156,536,124,1131,243,143,146,149, + 152,295,446,482,20,17,21,18,344,34, + 1425,1579,1592,1597,1611,1213,482,20,17,21, + 18,344,739,44,388,386,524,275,468,634, + 632,662,650,718,666,74,85,482,20,17, + 21,18,344,739,44,388,386,524,172,468, + 634,632,662,650,718,666,74,84,482,20, + 17,21,18,344,739,44,388,386,524,530, + 468,634,632,662,650,718,666,74,83,482, + 20,17,21,18,344,739,44,388,386,524, + 283,468,634,632,662,650,718,666,74,82, + 482,20,17,21,18,344,739,44,388,386, + 524,569,468,634,632,662,650,718,666,74, + 81,482,20,17,21,18,344,739,44,388, + 386,524,151,468,634,632,662,650,718,666, + 74,80,482,20,17,21,18,344,739,44, + 388,386,524,194,468,634,632,662,650,718, + 666,74,79,482,20,17,21,18,344,739, + 44,388,386,524,30,468,634,632,662,650, + 718,666,74,78,482,20,17,21,18,344, + 739,44,388,386,524,441,468,634,632,662, + 650,718,666,74,77,482,20,17,21,18, + 344,739,44,388,386,524,470,468,634,632, + 662,650,718,666,74,76,482,20,17,21, + 18,344,739,44,388,386,524,500,468,634, + 632,662,650,718,666,74,75,482,20,17, + 21,18,344,739,44,388,386,524,313,468, + 634,632,662,650,718,666,74,73,482,20, + 17,21,18,344,739,44,388,386,524,343, + 468,634,632,662,650,718,666,74,1548,482, + 20,17,21,18,344,739,44,388,386,524, + 44,468,634,632,662,650,718,666,74,1561, + 482,20,17,21,18,344,43,44,388,386, + 524,119,468,634,632,662,650,718,666,93, + 482,20,17,21,18,344,43,44,388,386, + 524,110,468,634,632,662,650,718,666,93, + 482,20,17,21,18,344,33,1563,482,20, + 17,21,18,344,43,39,482,20,17,21, + 18,344,43,44,388,386,524,212,468,634, + 632,662,650,718,666,93,482,20,17,21, + 18,344,43,44,388,386,524,31,468,634, + 632,662,650,718,666,93,657,683,1637,71, + 296,1352,157,1657,482,20,17,21,18,344, + 43,38,482,20,17,21,18,344,43,44, + 388,386,524,202,468,634,632,662,650,718, + 666,93,482,20,17,21,18,344,43,44, + 388,386,524,611,468,634,632,662,650,1178, + 344,436,71,298,1562,1489,1567,50,619,203, + 482,20,17,21,18,344,43,44,802,274, + 562,699,255,213,163,218,1182,221,1462,223, + 224,229,1533,276,267,1137,671,272,557,465, + 97,263,71,1354,277,254,213,274,487,1691, + 520,264,656,218,1182,221,1462,223,224,229, + 255,213,267,1137,671,272,352,1285,641,1712, + 218,1182,221,1462,223,224,229,513,228,1429, + 445,683,549,189,179,292,1712,261,482,20, + 17,21,18,344,43,44,388,386,524,490, + 468,634,632,1130,135,213,89,97,1530,586, + 210,138,134,136,160,482,20,17,21,18, + 344,43,44,388,386,524,705,468,634,1138, + 31,501,1354,292,1212,640,140,166,284,259, + 1676,1261,292,144,147,150,153,626,446,662, + 1691,458,274,1265,1349,377,19,1603,219,1182, + 221,1462,223,224,229,1680,609,269,1137,671, + 272,218,1182,221,1462,223,224,229,482,20, + 17,21,18,344,43,44,823,1358,482,20, + 17,21,18,344,43,44,388,386,524,209, + 1011,482,20,17,21,18,344,43,44,388, + 386,524,259,1082,1077,1355,31,541,394,292, + 198,200,684,1691,582,688,661,1604,623,1559, + 1596,482,20,17,21,18,344,43,44,388, + 386,886,23,539,218,1182,221,1462,223,224, + 229,482,20,17,21,18,344,43,37,490, + 1358,482,20,17,21,18,344,43,44,388, + 386,907,482,20,17,21,18,344,43,44, + 388,928,482,20,17,21,18,344,43,44, + 388,949,253,199,200,232,153,153,180,292, + 97,31,241,1518,365,20,17,21,18,344, + 43,36,1643,1757,1757,277,135,213,274,595, + 22,241,273,142,134,136,160,1348,246,1757, + 1757,1757,570,267,1137,671,272,365,20,17, + 21,18,344,43,36,1757,1265,1757,141,166, + 1429,219,1182,221,1462,223,224,229,227,490, + 1757,247,482,20,17,21,18,344,43,36, + 482,20,17,21,18,344,43,35,116,482, + 20,17,21,18,344,43,47,1757,413,1237, + 482,20,17,21,18,344,43,46,664,607, + 374,153,153,413,274,482,20,17,21,18, + 344,43,45,1123,607,1212,31,292,153,267, + 1137,671,272,31,31,243,242,317,1123,163, + 1212,153,97,153,317,513,266,490,1603,259, + 279,197,244,1547,1757,1277,28,490,197,610, + 254,213,1198,1256,259,245,87,295,1547,1212, + 1277,1263,631,87,87,1508,494,652,1263,1426, + 135,213,1508,711,501,1354,204,145,134,136, + 160,673,1256,135,213,1169,181,1215,135,213, + 148,134,136,160,1272,151,134,136,160,274, + 1265,1757,135,213,163,1757,1757,48,545,154, + 134,136,160,142,269,1137,671,272,607,607, + 614,1757,1757,95,607,254,213,153,395,403, + 403,607,197,1123,607,194,31,1757,197,513, + 1650,1638,209,292,645,1123,490,513,197,1757, + 634,297,278,231,1757,607,372,1211,1355,259, + 445,97,372,1713,1757,1277,280,1757,87,1123, + 1757,259,372,315,192,1673,87,1277,1757,1757, + 192,1150,292,292,342,205,1389,1653,1212,938, + 193,1757,1577,1653,1757,260,28,1757,1757,1757, + 1757,1714,1198,1757,1757,225,230,234,1757,1757, + 1757,1449,1757,1757,1757,328,1757,0,20,179, + 0,1,1983,0,1,1994,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -492,82 +492,82 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1756,1767,1545,1768,1491,59,1969,1970,1971,54, - 1380,1083,1918,62,1499,1019,672,1919,1917,1972, - 1920,577,1916,1769,1770,1771,1772,1027,482,58, - 1,1923,1928,1927,1925,1926,1924,1929,1930,1922, - 1931,1932,1933,63,1280,596,380,1756,1,269, - 1,1658,190,1,1,1,1401,1411,348,1, - 1390,1360,544,469,1,1,1,1,48,1, - 1756,1767,1534,1768,1330,1317,1401,1411,1,1, + 1757,1768,1546,1769,1492,59,1971,1972,1973,54, + 1381,1084,1920,62,1500,1020,673,1921,1919,1974, + 1922,578,1918,1770,1771,1772,1773,1028,483,58, + 1,1925,1930,1929,1927,1928,1926,1931,1932,1924, + 1933,1934,1935,63,1281,597,381,1757,1,270, + 1,1659,191,1,1,1,1402,1412,349,1, + 1391,1361,545,470,1,1,1,1,48,1, + 1757,1768,1535,1769,1331,1318,1402,1412,1,1, 1,1,1,1,1,1,1,1,1,1, - 190,1,1,1,1756,1,252,1,1951,189, - 1,1,1,181,1330,1317,1,1756,1767,61, - 1768,1,1,1,1,264,1,1421,182,1, - 1066,1519,1508,285,348,1,1,1,1,1, - 1,1,1,1,1,1,1,189,1,1, - 1,1756,1,1756,1,1951,190,1,1,1, - 50,1756,1756,1,1534,66,60,1760,1,1, - 1,1,1756,1,1390,1360,544,469,1969,1970, - 1971,70,1,1,1,1,1,1,1,1, - 1,1,1,1,190,1,1,1,1756,1767, - 1756,1768,1951,49,1969,1970,1971,1534,184,2781, - 1918,2781,1759,1519,1508,1919,1917,1972,1920,247, - 1916,1390,1360,544,469,1969,1970,1971,1244,1923, - 1928,1927,1925,1926,1924,1929,1930,1922,1931,1932, - 1933,128,1280,596,380,1756,610,1969,1970,1971, - 1756,1993,72,1918,979,51,1519,1508,1919,1917, - 1972,1920,1,1916,1421,1307,1139,1762,1,1981, - 1167,348,1923,1928,1927,1925,1926,1924,1929,1930, - 1922,1931,1932,1933,1,1767,1545,1768,1433,1760, - 1756,1767,1761,1768,1380,1083,556,1078,1499,1019, - 672,1756,1756,1259,270,577,1762,1769,1770,1771, - 1772,1027,482,348,1756,1767,1545,1768,1466,1760, - 1111,1665,53,1756,1380,1083,958,1055,1499,1019, - 672,1761,1307,1139,1759,577,64,1769,1770,1771, - 1772,1027,482,1756,1,1767,1545,1768,1491,29, - 448,1756,52,67,1380,1083,1762,2664,1499,1019, - 672,1,1307,1139,1759,577,90,1769,1770,1771, - 1772,1027,482,1756,1756,1767,1545,1768,1491,1760, - 1431,1761,1746,1756,1380,1083,248,29,1499,1019, - 672,90,1,1,1,577,2664,1769,1770,1771, - 1772,1027,482,249,1756,1,1,1,1,1, - 1,1,1,1756,1,1,1244,1762,1,1, - 1,1756,1,1756,1759,1,252,1,1,1, - 1,1,1,1,1767,1545,1768,1491,183,2789, - 88,2789,1761,1380,1083,250,2664,1499,1019,672, - 57,1969,1970,1971,577,2071,1769,1770,1771,1772, - 1027,482,1756,1767,1545,1768,1491,205,2790,638, - 2790,2013,1380,1083,251,2664,1499,1019,672,56, - 1969,1970,1971,577,1756,1769,1770,1771,1772,1027, - 482,1756,1767,1545,1768,1491,71,1401,1411,1756, - 1756,1380,1083,1756,1764,1499,1019,672,1766,55, - 207,1767,577,1768,1769,1770,1771,1772,1027,482, - 1756,1767,1552,1768,1491,68,1401,1411,1,69, - 1380,1083,1341,1766,1499,1019,672,206,1171,43, - 1171,577,1763,1769,1770,1771,1772,1027,482,1, - 1767,1545,1768,1491,1,1753,1401,1411,1756,1380, - 1083,610,1169,1499,1019,672,1,1981,1167,1765, - 577,1756,1769,1770,1771,1772,1027,482,20,221, - 1747,1659,1747,1747,178,178,178,1747,348,1217, - 178,210,291,1217,1765,178,178,178,178,895, - 178,1035,284,2013,252,1981,1167,375,1747,874, - 853,832,811,790,748,769,727,706,685,129, - 261,1981,1150,1,1,1969,1970,1971,65,348, - 916,1918,200,1756,1756,255,1919,1917,1972,1920, - 130,1916,448,42,1131,375,1969,1970,1971,1756, - 1756,999,1918,1429,1,1756,2664,1919,1917,1972, - 1920,131,1916,621,1673,219,30,1969,1970,1971, - 1756,1756,2013,1918,348,1756,1756,1756,1919,1917, - 1972,1920,132,1916,1345,1756,1756,1756,1969,1970, - 1971,1091,30,1756,1918,416,32,206,1195,1919, - 1917,1972,1920,2012,1916,1553,1430,1756,1,1750, - 1150,1782,1783,1762,267,1981,1150,348,252,188, - 267,1785,1421,348,252,1756,2599,188,188,348, - 491,1756,184,1756,1756,1756,1756,1756,1761,1756, - 183,205,1756,1756,1756,1756,1756,1756,463,1756, - 1756,1756,1756,1756,1756,1756,1756,1756,1756,1756, - 1756,1756,1756,373 + 191,1,1,1,1757,1,253,1,1953,190, + 1,1,1,182,1331,1318,1,1757,1768,61, + 1769,1,1,1,1,265,1,1422,183,1, + 1067,1520,1509,286,349,1,1,1,1,1, + 1,1,1,1,1,1,1,190,1,1, + 1,1757,1,1757,1,1953,191,1,1,1, + 50,1757,1757,1,1535,66,60,1761,1,1, + 1,1,1757,1,1391,1361,545,470,1971,1972, + 1973,70,1,1,1,1,1,1,1,1, + 1,1,1,1,191,1,1,1,1757,1768, + 1757,1769,1953,49,1971,1972,1973,1535,185,2783, + 1920,2783,1760,1520,1509,1921,1919,1974,1922,248, + 1918,1391,1361,545,470,1971,1972,1973,1245,1925, + 1930,1929,1927,1928,1926,1931,1932,1924,1933,1934, + 1935,129,1281,597,381,1757,611,1971,1972,1973, + 1757,1995,72,1920,980,51,1520,1509,1921,1919, + 1974,1922,1,1918,1422,1308,1140,1763,1,1983, + 1168,349,1925,1930,1929,1927,1928,1926,1931,1932, + 1924,1933,1934,1935,1,1768,1546,1769,1434,1761, + 1757,1768,1762,1769,1381,1084,557,1079,1500,1020, + 673,1757,1757,1260,271,578,1763,1770,1771,1772, + 1773,1028,483,349,1757,1768,1546,1769,1467,1761, + 1112,1666,53,1757,1381,1084,959,1056,1500,1020, + 673,1762,1308,1140,1760,578,64,1770,1771,1772, + 1773,1028,483,1757,1,1768,1546,1769,1492,29, + 449,1757,52,67,1381,1084,1763,2666,1500,1020, + 673,1,1308,1140,1760,578,90,1770,1771,1772, + 1773,1028,483,1757,1757,1768,1546,1769,1492,1761, + 1432,1762,1747,1757,1381,1084,249,29,1500,1020, + 673,90,1,1,1,578,2666,1770,1771,1772, + 1773,1028,483,250,1757,1,1,1,1,1, + 1,1,1,1757,1,1,1245,1763,1,1, + 1,1757,1,1757,1760,1,253,1,1,1, + 1,1,1,1,1768,1546,1769,1492,184,2791, + 88,2791,1762,1381,1084,251,2666,1500,1020,673, + 57,1971,1972,1973,578,2073,1770,1771,1772,1773, + 1028,483,1757,1768,1546,1769,1492,206,2792,639, + 2792,2015,1381,1084,252,2666,1500,1020,673,56, + 1971,1972,1973,578,1757,1770,1771,1772,1773,1028, + 483,1757,1768,1546,1769,1492,71,1402,1412,1757, + 1757,1381,1084,1757,1765,1500,1020,673,1767,55, + 208,1768,578,1769,1770,1771,1772,1773,1028,483, + 1757,1768,1553,1769,1492,68,1402,1412,1,69, + 1381,1084,1342,1767,1500,1020,673,207,1172,43, + 1172,578,1764,1770,1771,1772,1773,1028,483,1, + 1768,1546,1769,1492,1,1754,1402,1412,1757,1381, + 1084,611,1170,1500,1020,673,1,1983,1168,1766, + 578,1757,1770,1771,1772,1773,1028,483,20,222, + 1748,1660,1748,1748,179,179,179,1748,349,1218, + 179,211,292,1218,1766,179,179,179,179,896, + 179,1036,285,2015,253,1983,1168,376,1748,875, + 854,833,812,791,749,770,728,707,686,130, + 262,1983,1151,1,1,1971,1972,1973,65,349, + 917,1920,201,1757,1757,256,1921,1919,1974,1922, + 131,1918,449,42,1132,376,1971,1972,1973,1757, + 1757,1000,1920,1430,1,1757,2666,1921,1919,1974, + 1922,132,1918,622,1674,220,30,1971,1972,1973, + 1757,1757,2015,1920,349,1757,1757,1757,1921,1919, + 1974,1922,133,1918,1346,1757,1757,1757,1971,1972, + 1973,1092,30,1757,1920,417,32,207,1196,1921, + 1919,1974,1922,2014,1918,1554,1431,1757,1,1751, + 1151,1783,1784,1763,268,1983,1151,349,253,189, + 268,1786,1422,349,253,1757,2601,189,189,349, + 492,1757,185,1757,1757,1757,1757,1757,1762,1757, + 184,206,1757,1757,1757,1757,1757,1757,464,1757, + 1757,1757,1757,1757,1757,1757,1757,1757,1757,1757, + 1757,1757,1757,374 }; }; public final static char termAction[] = TermAction.termAction; @@ -819,16 +819,16 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 442,0,340,0,1642,1652,1636,0,1448,1341, - 1167,1268,1255,1150,1122,0,491,416,395,1679, - 1529,0,606,1212,316,0,1461,1181,1136,670, - 1255,1150,1122,1602,1421,1507,0,1466,1433,610, - 1111,1244,1217,1330,1317,448,1411,1401,1390,1360, - 544,469,1534,1519,1508,1307,1139,1019,672,1499, - 1491,1380,1083,1027,482,577,1091,1055,1035,491, - 999,979,958,937,585,916,556,348,895,874, - 853,832,811,790,769,748,727,706,685,316, - 638,512,416,395,0 + 443,0,341,0,1643,1653,1637,0,1449,1342, + 1168,1269,1256,1151,1123,0,492,417,396,1680, + 1530,0,607,1213,317,0,1462,1182,1137,671, + 1256,1151,1123,1603,1422,1508,0,1467,1434,611, + 1112,1245,1218,1331,1318,449,1412,1402,1391,1361, + 545,470,1535,1520,1509,1308,1140,1020,673,1500, + 1492,1381,1084,1028,483,578,1092,1056,1036,492, + 1000,980,959,938,586,917,557,349,896,875, + 854,833,812,791,770,749,728,707,686,317, + 639,513,417,396,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1054,18 +1054,18 @@ public class C99NoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 207, NT_OFFSET = 93, - LA_STATE_OFFSET = 2071, + LA_STATE_OFFSET = 2073, MAX_LA = 2, - NUM_RULES = 315, + NUM_RULES = 316, NUM_NONTERMINALS = 126, NUM_SYMBOLS = 219, SEGMENT_SIZE = 8192, - START_STATE = 1657, + START_STATE = 1658, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1746, - ERROR_ACTION = 1756; + ACCEPT_ACTION = 1747, + ERROR_ACTION = 1757; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java index b2a092453af..4170739e85f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99NoCastExpressionParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at 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 a8783e32cb2..d2ce4a2f297 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -661,589 +661,595 @@ public String getName() { // // Rule 118: iteration_statement ::= do statement while ( expression ) ; // - case 118: { action. consumeStatementDoLoop(); break; + case 118: { action. consumeStatementDoLoop(true); break; } // - // Rule 119: iteration_statement ::= while ( expression ) statement + // Rule 119: iteration_statement ::= do statement // - case 119: { action. consumeStatementWhileLoop(); break; + case 119: { action. consumeStatementDoLoop(false); break; } // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= while ( expression ) statement // - case 120: { action. consumeStatementForLoop(); break; + case 120: { action. consumeStatementWhileLoop(); break; } // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= goto identifier_token ; + // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 122: { action. consumeStatementGoto(); break; + case 122: { action. consumeStatementForLoop(); break; } // - // Rule 123: jump_statement ::= continue ; + // Rule 123: jump_statement ::= goto identifier_token ; // - case 123: { action. consumeStatementContinue(); break; + case 123: { action. consumeStatementGoto(); break; } // - // Rule 124: jump_statement ::= break ; + // Rule 124: jump_statement ::= continue ; // - case 124: { action. consumeStatementBreak(); break; + case 124: { action. consumeStatementContinue(); break; } // - // Rule 125: jump_statement ::= return ; + // Rule 125: jump_statement ::= break ; // - case 125: { action. consumeStatementReturn(false); break; + case 125: { action. consumeStatementBreak(); break; } // - // Rule 126: jump_statement ::= return expression ; + // Rule 126: jump_statement ::= return ; // - case 126: { action. consumeStatementReturn(true); break; + case 126: { action. consumeStatementReturn(false); break; } // - // Rule 127: declaration ::= declaration_specifiers ; + // Rule 127: jump_statement ::= return expression ; // - case 127: { action. consumeDeclarationSimple(false); break; + case 127: { action. consumeStatementReturn(true); break; } // - // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 128: declaration ::= declaration_specifiers ; // - case 128: { action. consumeDeclarationSimple(true); break; + case 128: { action. consumeDeclarationSimple(false); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 129: { action. consumeDeclarationSpecifiersSimple(); break; + case 129: { action. consumeDeclarationSimple(true); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 130: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 158: init_declarator ::= complete_declarator = initializer + // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 158: { action. consumeDeclaratorWithInitializer(true); break; + case 134: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token + // Rule 159: init_declarator ::= complete_declarator = initializer // - case 160: { action. consumeToken(); break; + case 159: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token + // Rule 161: storage_class_specifier ::= storage_class_specifier_token // - case 166: { action. consumeToken(); break; + case 161: { action. consumeToken(); break; } // - // Rule 179: type_name_specifier ::= identifier_token + // Rule 167: simple_type_specifier ::= simple_type_specifier_token // - case 179: { action. consumeToken(); break; + case 167: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: type_name_specifier ::= identifier_token // - case 180: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeToken(); break; } // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(true); break; + case 181: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 182: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 194: { action. consumeStructDeclaration(true); break; + case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 195: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= ERROR_TOKEN + // Rule 196: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeDeclarationProblem(); break; + case 196: { action. consumeStructDeclaration(false); break; } // - // Rule 202: struct_declarator ::= : constant_expression + // Rule 197: struct_declaration ::= ERROR_TOKEN // - case 202: { action. consumeBitField(false); break; + case 197: { action. consumeDeclarationProblem(); break; } // - // Rule 203: struct_declarator ::= declarator : constant_expression + // Rule 203: struct_declarator ::= : constant_expression // - case 203: { action. consumeBitField(true); break; + case 203: { action. consumeBitField(false); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeBitField(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(true); break; + case 205: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 211: enumerator ::= identifier_token + // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 211: { action. consumeEnumerator(false); break; + case 206: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 212: enumerator ::= identifier_token = constant_expression + // Rule 212: enumerator ::= identifier_token // - case 212: { action. consumeEnumerator(true); break; + case 212: { action. consumeEnumerator(false); break; } // - // Rule 213: type_qualifier ::= type_qualifier_token + // Rule 213: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeToken(); break; + case 213: { action. consumeEnumerator(true); break; } // - // Rule 217: function_specifier ::= inline + // Rule 214: type_qualifier ::= type_qualifier_token // - case 217: { action. consumeToken(); break; + case 214: { action. consumeToken(); break; } // - // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 218: function_specifier ::= inline // - case 219: { action. consumeDeclaratorWithPointer(true); break; + case 218: { action. consumeToken(); break; } // - // Rule 224: basic_direct_declarator ::= declarator_id_name + // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 224: { action. consumeDirectDeclaratorIdentifier(); break; + case 220: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: basic_direct_declarator ::= ( declarator ) + // Rule 225: basic_direct_declarator ::= declarator_id_name // - case 225: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: declarator_id_name ::= identifier + // Rule 226: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeIdentifierName(); break; } // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier // case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: identifier_list ::= identifier + // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier_list , identifier + // Rule 238: identifier_list ::= identifier // case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ ] + // Rule 239: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 239: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 240: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 244: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 247: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook + // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumePointer(); break; + case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 250: pointer_seq ::= pointer_hook * pointer_hook // case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 251: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list + // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 256: { action. consumeEmpty(); break; + case 253: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list , ... + // Rule 257: parameter_type_list ::= parameter_list // - case 257: { action. consumePlaceHolder(); break; + case 257: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= ... + // Rule 258: parameter_type_list ::= parameter_list , ... // case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_type_list ::= ... // - case 261: { action. consumeParameterDeclaration(); break; + case 259: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers + // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 262: { action. consumeParameterDeclaration(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list + // Rule 263: parameter_declaration ::= declaration_specifiers // - case 265: { action. consumeTypeId(false); break; + case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 266: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(true); break; + case 266: { action. consumeTypeId(false); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(true); break; + case 269: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 273: { action. consumeDirectDeclaratorBracketed(); break; + case 270: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_modifier + // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 274: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: function_direct_abstract_declarator ::= ( ) + // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 278: function_direct_abstract_declarator ::= ( ) + // + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 281: initializer ::= assignment_expression + // Rule 282: initializer ::= assignment_expression // - case 281: { action. consumeInitializer(); break; + case 282: { action. consumeInitializer(); break; } // - // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: initializer_list ::= { <openscope-ast> } + // Rule 285: initializer_list ::= { <openscope-ast> } // - case 284: { action. consumeInitializerList(); break; + case 285: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 286: start_initializer_list ::= $Empty // - case 285: { action. initializerListStart(); break; + case 286: { action. initializerListStart(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 287: end_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 287: { action. initializerListEnd(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer // - case 291: { action. consumeInitializerDesignated(); break; + case 292: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 296: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorArray(); break; + case 296: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 297: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorField(); break; + case 297: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 298: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorArray(); break; + case 298: { action. consumeDesignatorArray(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 299: designator ::= . identifier_token // - case 298: { action. consumeDesignatorField(); break; + case 299: { action. consumeDesignatorField(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 300: translation_unit ::= external_declaration_list // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 300: translation_unit ::= $Empty + // Rule 301: translation_unit ::= $Empty // - case 300: { action. consumeTranslationUnit(); break; + case 301: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ; + // Rule 306: external_declaration ::= ; // - case 305: { action. consumeDeclarationEmpty(); break; + case 306: { action. consumeDeclarationEmpty(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 307: external_declaration ::= ERROR_TOKEN // - case 306: { action. consumeDeclarationProblem(); break; + case 307: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(false); break; + case 311: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 312: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 312: { action. consumeFunctionDefinition(true); break; + case 313: { action. consumeFunctionDefinition(true); break; } // - // Rule 313: function_body ::= { } + // Rule 314: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 314: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 315: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 315: { action. consumeStatementCompoundStatement(true); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java index 2ef87e8e850..a5fff97b04f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -45,227 +45,227 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 3,3,3,3,3,3,1,1,2,1, 0,1,3,1,1,1,1,1,1,1, 1,3,4,3,2,4,1,2,1,1, - 1,2,5,7,5,1,0,7,5,9, - 8,3,2,2,2,3,2,4,2,2, - 2,2,2,1,1,1,1,2,1,2, - 2,2,1,2,2,1,2,2,1,2, - 2,1,2,2,1,3,1,3,1,1, + 1,2,5,7,5,1,0,7,2,5, + 9,8,3,2,2,2,3,2,4,2, + 2,2,2,2,1,1,1,1,2,1, + 2,2,2,1,2,2,1,2,2,1, + 2,2,1,2,2,1,3,1,3,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6, - 8,0,0,1,1,3,3,3,0,1, - 0,1,2,4,2,1,1,1,3,1, - 1,2,3,7,8,0,1,0,1,3, - 1,3,1,1,1,1,1,1,3,1, - 1,1,1,1,3,1,2,2,1,5, - 3,1,3,5,1,3,1,3,2,4, - 3,5,4,6,6,3,5,1,3,4, - 5,6,0,1,2,1,3,1,1,3, - 2,1,1,1,1,2,1,2,3,1, - 1,1,3,1,2,2,2,3,4,5, - 1,1,7,3,0,0,1,1,3,3, - 4,1,1,2,3,2,3,2,1,0, - 1,2,1,1,1,1,1,2,1,3, - 6,4,2,4,-106,0,-161,0,0,0, + 1,1,1,1,1,1,1,1,1,1, + 6,8,0,0,1,1,3,3,3,0, + 1,0,1,2,4,2,1,1,1,3, + 1,1,2,3,7,8,0,1,0,1, + 3,1,3,1,1,1,1,1,1,3, + 1,1,1,1,1,3,1,2,2,1, + 5,3,1,3,5,1,3,1,3,2, + 4,3,5,4,6,6,3,5,1,3, + 4,5,6,0,1,2,1,3,1,1, + 3,2,1,1,1,1,2,1,2,3, + 1,1,1,3,1,2,2,2,3,4, + 5,1,1,7,3,0,0,1,1,3, + 3,4,1,1,2,3,2,3,2,1, + 0,1,2,1,1,1,1,1,2,1, + 3,6,4,2,4,-106,0,-161,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-37,0,0,0,-18,0,-61,-10,0, - 0,-159,0,-12,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-41,0, - 0,0,0,0,0,0,-9,0,0,0, - 0,0,-236,0,-4,0,0,0,0,0, - -23,0,0,0,0,0,0,-2,0,0, - -242,0,0,0,0,0,0,0,0,0, - 0,-32,0,-65,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-3,-139, + 0,0,-37,0,0,0,-18,0,-61,-10, + 0,0,-159,0,-12,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-41, + 0,0,0,0,0,0,0,-9,0,0, + 0,0,0,-236,0,-4,0,0,0,0, + 0,-23,0,0,0,0,0,0,-2,0, + 0,-242,0,0,0,0,0,0,0,0, + 0,0,-32,0,-65,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-3, + -139,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-13,0, + 0,0,-33,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-13,0,0, - 0,-33,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-154, + -154,0,0,0,0,0,0,0,0,0, + 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,-221,0,0,0,0, + 0,0,0,-39,0,0,0,-120,0,-267, 0,0,0,0,0,0,0,0,0,0, - 0,0,-39,0,0,0,-120,0,-267,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-20, - 0,0,0,-21,0,-7,-27,0,0,-271, - 0,-156,0,-28,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-251, - -31,0,0,0,-46,0,-22,0,0,0, + -20,0,0,0,-21,0,-7,-27,0,0, + -271,0,-156,0,-28,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-24,0,0,-148,0, - -30,0,0,0,0,0,0,0,0,0, - 0,0,0,-34,0,0,-137,0,-66,0, - 0,0,0,0,0,0,0,0,-25,0, - -280,0,-279,0,0,0,0,0,0,0, + -251,-31,0,0,0,-46,0,-22,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-44,0,0,0,0,0,0, + 0,0,0,0,0,0,-24,0,0,-148, + 0,-30,0,0,0,0,0,0,0,0, + 0,0,0,0,-34,0,0,-137,0,-66, + 0,0,0,0,0,0,0,0,0,-25, + 0,-280,0,-279,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-58,0,-102,-50, - 0,0,0,0,-26,0,-38,0,0,0, - -51,-146,0,0,0,0,0,0,0,0, - 0,0,0,0,-157,0,0,0,0,0, + 0,0,0,0,-44,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -192,-53,0,0,0,0,0,0,-150,0, + 0,0,0,0,0,0,0,-58,0,-102, + -50,0,0,0,0,-26,0,-38,0,0, + 0,-51,-146,0,0,0,0,0,0,0, + 0,0,0,0,0,-157,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-138,0,0,0,0,0,0,0, - 0,-35,0,-36,0,0,0,0,0,0, - 0,-60,0,0,0,0,0,0,0,0, + 0,-192,-53,0,0,0,0,0,0,-150, 0,0,0,0,0,0,0,0,0,0, - 0,0,-113,0,-119,0,-132,0,0,0, + 0,0,0,-138,0,0,0,0,0,0, + 0,0,-35,0,-36,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,-188,0,0,0,0,0,-165,0,0, + 0,0,0,-113,0,-119,0,-132,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-118,0, - -104,0,0,0,0,0,0,0,0,0, + 0,0,-188,0,0,0,0,0,-165,0, 0,0,0,0,0,0,0,0,0,0, - 0,-121,0,-49,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-118, + 0,-104,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-93,0,-151,0,-179,0,0,0, - 0,0,0,0,0,0,0,-67,0,0, - 0,0,0,0,0,0,-122,0,0,0, + 0,0,-121,0,-49,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-133,0,0,0,-160,0,-123, + 0,0,0,-93,0,-151,0,-179,0,0, + 0,0,0,0,0,0,0,0,-67,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,-133,0,0,0,-160,0, + -123,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-124,0,-189,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-200, - 0,0,0,0,0,-125,0,-63,0,0, + 0,0,0,-124,0,-189,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-201,0,-126,0, + -200,0,0,0,0,0,-125,0,-63,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-202,0,0,0,0, - 0,-127,0,-224,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-201,0,-126, 0,0,0,0,0,0,0,0,0,0, - 0,0,-226,0,-128,0,0,0,0,0, + 0,0,0,0,0,0,-202,0,0,0, + 0,0,-127,0,-224,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-227,0,0,0,0,0,-129,0,-240, + 0,0,0,-226,0,-128,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-265,0, - -130,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-274,0,0, - 0,0,0,-131,0,-278,0,0,0,0, + 0,0,-227,0,0,0,0,0,-129,0, + -240,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-265, + 0,-130,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-274,0, + 0,0,0,0,-131,0,-278,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-284,0,-193,0,0,0, + 0,0,0,0,0,-284,0,-193,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-290,0,0,0,0,0,-194, - 0,-74,0,0,0,0,0,0,0,0, + 0,0,0,0,-290,0,0,0,0,0, + -194,0,-74,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -75,0,-230,0,-76,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-77, - 0,0,0,-78,0,-235,0,-54,0,0, + 0,-75,0,-230,0,-76,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-79,0,0,0,-249,0,-80,0, + -77,0,0,0,-78,0,-235,0,-54,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-81,0,-147, - 0,-82,0,0,0,0,0,0,0,-260, + 0,0,0,-79,0,0,0,-249,0,-80, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-83,0,0,0, - -270,0,-84,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-87,0,0, - 0,-152,0,-89,0,0,0,0,0,0, - 0,0,0,-277,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-81,0, + -147,0,-82,0,0,0,0,0,0,0, + -260,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-83,0,0, + 0,-270,0,-84,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-87,0, + 0,0,-152,0,-89,0,0,0,0,0, + 0,0,0,0,-277,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -111,0,0,0,-283,0,0,0,0,0, + 0,-111,0,0,0,-283,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-90,0,0,0,-72,0,-96,0,0, - 0,0,0,-48,0,0,0,-149,0,0, + 0,0,-90,0,0,0,-72,0,-96,0, + 0,0,0,0,-48,0,0,0,-149,0, 0,0,0,0,0,0,0,0,0,0, - 0,-95,0,-42,0,0,-238,0,-62,-97, - 0,0,0,0,0,0,0,0,0,-92, - -45,0,0,-99,-91,0,0,0,-100,-183, - 0,0,0,0,0,-114,0,0,-269,0, - 0,0,-103,0,-29,0,0,-52,0,0, + 0,0,-95,0,-42,0,0,-238,0,-62, + -97,0,0,0,0,0,0,0,0,0, + -92,-45,0,0,-99,-91,0,0,0,-100, + -183,0,0,0,0,0,-114,0,0,-269, + 0,0,0,-103,0,-29,0,0,-52,0, 0,0,0,0,0,0,0,0,0,0, - -70,0,-105,0,0,0,0,0,0,0, - -40,0,0,0,0,0,0,0,0,0, - 0,0,-94,0,-172,0,0,0,-86,-107, - 0,-47,0,-101,0,0,0,0,0,0, - 0,0,-190,-115,0,0,0,0,0,0, + 0,-70,0,-105,0,0,0,0,0,0, + 0,-40,0,0,0,0,0,0,0,0, + 0,0,0,-94,0,-172,0,0,0,-86, + -107,0,-47,0,-101,0,0,0,0,0, + 0,0,0,-190,-115,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -59,-180,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-163,0,0,0, - 0,0,-164,0,0,0,0,-15,0,-8, - 0,-109,0,0,0,-166,-228,0,0,0, - -169,0,0,0,0,-223,-191,-6,-112,0, - 0,-234,0,0,0,0,0,0,0,-162, - 0,0,0,-174,0,0,0,0,0,0, - 0,0,-17,0,-116,-252,0,0,0,0, - 0,0,0,0,0,0,0,-176,0,0, - 0,0,0,0,0,-195,0,0,0,0, - 0,-247,-197,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-248, - 0,0,0,0,-73,0,0,0,0,0, - 0,0,0,0,-177,0,0,0,-184,0, - 0,0,0,0,0,-263,0,0,-98,0, - 0,-85,-185,0,0,0,0,0,-204,0, - 0,0,-282,0,-276,0,0,0,-205,0, - 0,0,0,-206,0,0,0,0,0,0, - 0,0,0,0,-155,0,-207,0,0,0, - 0,0,0,0,0,0,0,0,-173,0, - 0,0,0,0,-208,0,0,0,0,0, - -108,-57,0,0,-209,0,0,0,0,0, - -175,0,0,-239,-258,0,0,0,0,0, - 0,0,0,0,0,0,-178,0,0,0, - -187,0,-229,0,0,-232,0,0,0,0, - 0,0,0,0,0,0,-110,0,0,0, - 0,0,-210,0,0,0,0,0,-211,0, - 0,0,0,0,0,0,0,0,-254,0, - 0,-212,0,0,0,-233,0,0,0,0, - -186,-213,0,-214,-250,0,-215,0,0,0, - -256,0,0,-216,0,0,0,0,0,0, - 0,0,0,0,-217,0,-262,0,-218,-68, + 0,-59,-180,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-163,0,0, + 0,0,0,-164,0,0,0,0,-15,0, + -8,0,-109,0,0,0,-166,-228,0,0, + 0,-169,0,0,0,0,-223,-191,-6,-112, + 0,0,-234,0,0,0,0,0,0,0, + -162,0,0,0,-174,0,0,0,0,0, + 0,0,0,-17,0,-116,-252,0,0,0, + 0,0,0,0,0,0,0,0,-176,0, + 0,0,0,0,0,0,-195,0,0,0, + 0,0,-247,-197,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-257,0,0,-266, - -198,0,0,-196,0,0,0,0,0,0, - 0,0,-219,0,0,0,0,0,-287,0, - 0,0,-220,0,0,0,0,0,0,0, - 0,0,0,-225,-261,0,0,-203,-243,0, - -289,0,0,0,0,-268,0,0,0,0, - 0,0,0,0,0,-275,-181,0,0,-244, - -281,0,-291,0,0,-43,0,0,0,0, + -248,0,0,0,0,-73,0,0,0,0, + 0,0,0,0,0,-177,0,0,0,-184, + 0,0,0,0,0,0,-263,0,0,-98, + 0,0,-85,-185,0,0,0,0,0,-204, + 0,0,0,-282,0,-276,0,0,0,-205, + 0,0,0,0,-206,0,0,0,0,0, + 0,0,0,0,0,-155,0,-207,0,0, + 0,0,0,0,0,0,0,0,0,-173, + 0,0,0,0,0,-208,0,0,0,0, + 0,-108,-57,0,0,-209,0,0,0,0, + 0,-175,0,0,-239,-258,0,0,0,0, + 0,0,0,0,0,0,0,-178,0,0, + 0,-187,0,-229,0,0,-232,0,0,0, + 0,0,0,0,0,0,0,-110,0,0, + 0,0,0,-210,0,0,0,0,0,-211, + 0,0,0,0,0,0,0,0,0,-254, + 0,0,-212,0,0,0,-233,0,0,0, + 0,-186,-213,0,-214,-250,0,-215,0,0, + 0,-256,0,0,-216,0,0,0,0,0, + 0,0,0,0,0,-217,0,-262,0,-218, + -68,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-257,0,0, + -266,-198,0,0,-196,0,0,0,0,0, + 0,0,0,-219,0,0,0,0,0,-287, + 0,0,0,-220,0,0,0,0,0,0, + 0,0,0,0,-225,-261,0,0,-203,-243, + 0,-289,0,0,0,0,-268,0,0,0, + 0,0,0,0,0,0,-275,-181,0,0, + -244,-281,0,-291,0,0,-43,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-69,0,0,0,0,0,0,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,0,-288,0,0,0,0, - -1,0,0,0,-259,-153,0,0,0,0, - 0,0,0,0,0,0,0,0,-19,-273, - 0,0,-144,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-140,0,0, - 0,0,0,-55,0,-71,0,0,0,0, + 0,0,0,0,0,0,-288,0,0,0, + 0,-1,0,0,0,-259,-153,0,0,0, + 0,0,0,0,0,0,0,0,0,-19, + -273,0,0,-144,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-140,0, + 0,0,0,0,-55,0,-71,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-199,-286,0,-145,0, + 0,0,0,0,0,0,-199,-286,0,-145, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-5, - 0,0,-88,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-134,0, 0,0,0,0,0,0,0,0,0,0, + -5,0,0,-88,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-134, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-141, - 0,0,0,0,0,0,0,0,0,-241, - 0,0,-142,0,0,0,0,0,0,0, - 0,0,-231,-246,0,0,-245,0,0,0, - 0,-143,0,0,0,0,0,0,0,0, - 0,0,0,-11,0,0,0,0,-14,-182, - 0,0,0,0,0,0,0,-16,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -141,0,0,0,0,0,0,0,0,0, + -241,0,0,-142,0,0,0,0,0,0, + 0,0,0,-231,-246,0,0,-245,0,0, + 0,0,-143,0,0,0,0,0,0,0, + 0,0,0,0,-11,0,0,0,0,-14, + -182,0,0,0,0,0,0,0,-16,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -64,-135,0,0,0,0,0,0,0,-136, - 0,0,0,-167,0,0,0,0,-117,0, - 0,0,0,0,0,0,0,0,0,-56, - 0,0,0,0,0,0,0,0,0,-264, - 0,0,0,0,0,-237,0,0,0,0, - 0,0,-222,0,0,0,0,0,0,0, - 0,0,-253,0,0,0,0,-272,0,0, 0,0,0,0,0,0,0,0,0,0, - -285,0,0,0,0,0,0,0,0,0, - -158,0,0,0,0,0,0,0,0,0, - -168,0,0,0,0,0,0,0,-170,0, - 0,0,-171,0,0,0,0,0,0,0, - 0,0,0,0,-255,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-64,-135,0,0,0,0,0,0,0, + -136,0,0,0,-167,0,0,0,0,-117, 0,0,0,0,0,0,0,0,0,0, - 0,0,0 + -56,0,0,0,0,0,0,0,0,0, + -264,0,0,0,0,0,-237,0,0,0, + 0,0,0,-222,0,0,0,0,0,0, + 0,0,0,-253,0,0,0,0,-272,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-285,0,0,0,0,0,0,0,0, + 0,-158,0,0,0,0,0,0,0,0, + 0,-168,0,0,0,0,0,0,0,-170, + 0,0,0,-171,0,0,0,0,0,0, + 0,0,0,0,0,-255,0,0,0,0, + 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; @@ -287,228 +287,228 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 108,108,91,91,56,30,30,30,30,30, 30,30,31,31,31,28,28,92,92,68, 68,32,32,33,33,33,63,63,34,34, - 34,34,35,35,35,35,35,47,47,24, - 24,24,24,24,48,48,48,84,84,79, - 79,79,79,80,80,80,81,81,81,82, - 82,82,83,83,83,93,93,85,85,86, - 49,51,51,51,51,51,64,65,65,65, - 65,65,65,65,65,65,65,65,65,72, - 69,69,109,110,74,74,70,70,70,87, - 94,94,95,95,88,88,88,57,111,111, - 96,97,97,97,71,71,112,98,98,99, - 99,89,89,25,26,26,26,50,52,52, - 41,41,41,41,37,37,38,42,42,43, - 39,39,100,100,44,114,114,113,113,46, - 46,46,46,46,46,46,46,46,101,54, - 54,54,54,36,75,75,66,66,66,67, - 67,58,58,115,115,77,77,76,76,76, - 59,59,59,60,61,61,61,62,62,62, - 62,73,73,53,53,55,117,116,116,116, - 116,102,118,119,119,120,120,121,121,107, - 107,122,122,103,103,103,103,123,123,104, - 104,104,105,106,106,292,1605,998,17,21, - 18,1132,948,45,1151,1170,1155,1193,1174,1218, - 1199,1247,622,1222,1253,75,331,92,359,176, - 135,213,1426,20,505,17,21,18,1132,43, - 45,1151,1170,1155,1193,1174,1218,1199,1247,908, - 1823,2190,284,137,134,136,160,944,702,524, - 224,233,667,587,1609,1051,179,336,241,139, - 166,358,231,1354,143,146,149,152,754,339, - 332,1115,135,213,1500,367,2104,2109,2118,1543, - 135,213,322,834,1407,20,1558,17,21,18, - 1132,41,524,224,232,145,134,136,160,419, - 1313,1518,788,137,134,136,160,702,665,224, - 229,442,219,609,221,223,127,274,541,139, - 166,90,587,187,143,146,149,152,402,339, - 269,782,925,272,1500,367,2104,2109,2118,1543, - 1426,20,210,17,21,18,1132,43,45,1151, - 1170,1155,1193,1174,1764,526,1350,20,550,17, - 21,18,1132,948,45,1151,1170,1155,1193,1174, - 1218,1199,1247,440,1222,1253,75,1124,281,1265, - 20,550,17,21,18,1132,948,45,1151,1170, - 1155,1193,1174,1218,1199,1247,225,1222,1253,75, - 296,281,255,213,314,594,324,402,986,282, - 1451,1268,1426,20,442,17,21,18,1132,43, - 45,1151,1170,1155,1193,1174,1218,1199,1774,287, - 412,833,282,1334,1268,1242,20,324,17,21, - 18,1132,948,45,1151,1170,1155,1193,1174,1218, - 1199,1247,289,1222,1253,75,892,281,288,1426, - 20,501,17,21,18,1132,43,45,1151,1170, - 1155,1675,1765,128,587,186,313,587,31,1426, - 20,290,17,21,18,1132,43,40,282,913, - 1268,1369,20,421,17,21,18,1132,948,45, - 1151,1170,1155,1193,1174,1218,1199,1247,158,1222, - 1253,75,310,281,1199,20,1359,17,21,18, - 1132,948,45,1151,1170,1155,1193,1174,1218,1199, - 1247,294,1222,1253,75,228,338,1108,179,833, - 358,1435,1681,312,282,1004,1268,829,1856,530, - 293,749,1426,20,239,17,21,18,1132,43, - 45,1644,135,213,291,1426,20,25,17,21, - 18,1132,43,45,1151,1170,1155,1193,1174,1218, - 1785,1466,831,657,105,137,134,136,160,1426, - 20,227,17,21,18,1132,43,45,1151,1170, - 1733,139,166,587,31,1386,143,146,149,152, - 283,339,326,671,587,188,1500,367,2104,2109, - 2118,1543,1388,20,2179,17,21,18,1132,948, - 45,1151,1170,1155,1193,1174,1218,1199,1247,260, - 1222,1253,75,440,809,1223,20,440,17,21, - 18,1132,948,45,1151,1170,1155,1193,1174,1218, - 1199,1247,1285,1222,1253,75,230,1566,1426,20, - 1573,17,21,18,1132,948,45,1151,1170,1155, - 1193,1174,1218,1199,1247,240,1222,1253,75,359, - 92,1426,20,24,17,21,18,1132,43,45, - 1151,1170,1155,1193,1174,1218,1199,1247,276,1222, - 1253,94,1426,20,418,17,21,18,1132,948, - 45,1151,1170,1155,1193,1174,1218,1199,1247,243, - 1222,1253,75,986,86,1426,20,998,17,21, - 18,1132,43,45,1151,1170,1739,1534,1426,20, - 124,17,21,18,1132,43,39,1426,20,1558, - 17,21,18,1132,948,45,1151,1170,1155,1193, - 1174,1218,1199,1247,440,1222,1253,75,1126,85, - 1426,20,180,17,21,18,1132,948,45,1151, - 1170,1155,1193,1174,1218,1199,1247,19,1222,1253, - 75,234,84,1426,20,1132,17,21,18,1132, - 948,45,1151,1170,1155,1193,1174,1218,1199,1247, - 440,1222,1253,75,1440,83,1426,20,384,17, - 21,18,1132,948,45,1151,1170,1155,1193,1174, - 1218,1199,1247,1572,1222,1253,75,440,82,1426, - 20,275,17,21,18,1132,948,45,1151,1170, - 1155,1193,1174,1218,1199,1247,440,1222,1253,75, - 1590,81,1426,20,440,17,21,18,1132,948, - 45,1151,1170,1155,1193,1174,1218,1199,1247,23, - 1222,1253,75,440,80,1426,20,1749,17,21, - 18,1132,948,45,1151,1170,1155,1193,1174,1218, - 1199,1247,440,1222,1253,75,1771,79,1426,20, - 440,17,21,18,1132,948,45,1151,1170,1155, - 1193,1174,1218,1199,1247,1807,1222,1253,75,440, - 78,1426,20,273,17,21,18,1132,948,45, - 1151,1170,1155,1193,1174,1218,1199,1247,440,1222, - 1253,75,279,77,1426,20,440,17,21,18, - 1132,948,45,1151,1170,1155,1193,1174,1218,1199, - 1247,1987,1222,1253,75,440,76,1426,20,280, - 17,21,18,1132,948,45,1151,1170,1155,1193, - 1174,1218,1199,1247,440,1222,1253,75,1851,1849, - 1426,20,1471,17,21,18,1132,948,45,1151, - 1170,1155,1193,1174,1218,1199,1247,1873,1222,1253, - 75,1055,1870,1426,20,876,17,21,18,1132, - 948,45,1151,1170,1155,1193,1174,1218,1199,1247, - 663,1222,1253,75,630,93,1426,20,331,17, - 21,18,1132,43,45,1151,1170,1155,1193,1174, - 1218,1199,1247,345,1222,1253,94,1426,20,796, - 17,21,18,1132,948,45,1151,1170,1155,1193, - 1174,1218,1199,1247,1519,1222,1253,75,931,74, - 1426,20,288,17,21,18,1132,43,45,1657, - 1426,20,212,17,21,18,1132,43,45,1151, - 1170,1155,1193,1174,1218,1199,1247,751,1222,1253, - 94,1426,20,550,17,21,18,1132,43,45, - 1151,1170,1155,1193,1174,1218,1199,1247,1067,1222, - 1253,94,1426,20,1064,17,21,18,1132,43, - 45,1151,1170,1752,1426,20,202,17,21,18, - 1132,43,45,1151,1170,1155,1193,1174,1218,1199, - 1247,331,1222,1253,94,1426,20,1871,17,21, - 18,1132,43,45,1151,1170,1155,1193,1174,1218, - 1199,1247,1069,1222,1253,94,1445,20,589,17, - 21,18,1132,34,178,1413,315,1761,1426,20, - 203,17,21,18,1132,43,45,1151,1170,1155, - 1685,111,587,1506,358,87,657,1295,1471,890, - 626,1916,96,1444,109,95,97,98,99,100, - 419,908,788,1622,708,1,1413,315,1471,793, - 1464,110,255,213,254,213,946,125,1517,587, - 296,88,111,54,231,331,87,1493,358,1471, - 1727,307,107,96,1444,109,95,97,98,99, - 100,1289,20,58,17,21,18,1132,43,36, - 314,331,110,665,224,229,1375,218,609,221, - 223,667,274,986,497,235,1413,315,263,358, - 1104,317,622,108,986,267,782,925,272,1442, - 123,246,111,941,1205,2070,87,667,1522,1471, - 765,112,264,96,1444,109,95,97,98,99, - 100,419,419,1545,1716,1964,277,1682,702,665, - 224,1322,110,219,609,221,1274,60,127,195, - 665,224,229,986,218,609,221,223,582,274, - 1146,261,358,107,2110,493,986,119,1413,315, - 126,905,267,782,925,272,986,331,355,1119, - 1395,1711,998,122,111,135,213,1507,87,1040, - 358,1471,476,2223,172,96,1444,109,95,97, - 98,99,100,1108,179,355,986,1421,142,134, - 136,160,106,667,110,665,224,581,1261,218, - 609,221,534,2228,141,166,359,204,135,213, - 159,391,1178,1319,20,108,17,21,18,1132, - 43,44,665,224,229,734,218,609,221,223, - 1490,138,134,136,160,1445,20,159,17,21, - 18,1132,33,155,527,360,242,140,166,1118, - 732,576,144,147,150,153,1489,339,557,480, - 1413,788,1112,1465,657,28,28,1268,1268,706, - 155,527,381,587,298,868,111,1421,576,745, - 87,255,213,28,1480,1268,1386,96,1444,1511, - 95,97,98,99,100,1426,20,1486,17,21, - 18,1132,43,45,1151,1170,1155,1193,1767,521, - 1413,788,665,224,229,367,218,609,221,223, - 259,874,786,657,657,477,111,1845,763,1454, - 87,562,1413,788,908,998,2200,96,1444,104, - 95,97,98,99,100,197,1471,358,111,2083, - 311,890,87,603,1413,788,868,278,1421,96, - 1444,102,95,97,98,99,100,664,1609,308, - 111,199,200,1284,87,898,254,213,1472,1286, - 181,96,1444,103,95,97,98,99,100,644, - 1413,788,1430,665,224,229,1464,218,609,221, - 223,1161,1432,2206,1220,1500,111,672,1845,192, - 87,685,1413,788,1141,857,1867,96,1444,119, - 95,97,98,99,100,1411,1357,998,111,1000, - 1426,20,87,17,21,18,1132,43,38,96, - 1444,115,95,97,98,99,100,726,1413,788, - 998,331,198,200,1289,20,209,17,21,18, - 1132,43,36,1467,111,1380,1623,1925,87,767, - 1413,788,205,711,1787,96,1444,1866,95,97, - 98,99,100,1810,904,1499,111,667,359,359, - 87,808,1413,788,247,613,1503,96,1444,114, - 95,97,98,99,100,2087,1142,933,111,657, - 359,359,87,849,1413,788,355,2336,1421,96, - 1444,121,95,97,98,99,100,2336,22,244, - 111,197,1426,20,87,17,21,18,1132,43, - 37,96,1444,120,95,97,98,99,100,2336, - 245,295,2336,665,224,229,359,218,609,221, - 223,349,2336,375,1472,1484,1426,20,159,17, - 21,18,1132,43,45,1151,1170,1762,305,355, - 986,1421,194,1426,20,419,17,21,18,1132, - 43,45,1151,1629,2336,193,297,2241,358,2336, - 788,156,527,2336,622,2336,1426,20,304,17, - 21,18,1132,43,35,2336,665,224,229,88, - 218,609,221,223,2336,1848,1005,986,2084,1426, - 20,493,17,21,18,1132,43,45,1151,1639, - 702,665,224,229,118,219,609,221,223,277, - 406,2336,375,1426,20,2336,17,21,18,1132, - 43,36,2336,2336,301,303,309,305,388,1061, - 2336,1811,274,2336,419,2336,2336,2336,2336,2336, - 2336,2336,2336,2010,2336,267,782,925,272,2336, - 2336,2336,2336,2336,2336,2336,2336,304,2336,2336, - 1426,20,1040,17,21,18,1132,43,48,2336, - 950,2336,657,1426,20,274,17,21,18,1132, - 43,47,2336,992,950,657,657,1339,267,782, - 925,272,1426,20,1386,17,21,18,1132,43, - 46,2336,2336,2336,1003,266,667,197,1386,1062, - 664,1609,2336,302,303,309,2336,2336,1449,2336, - 667,2336,2336,702,391,2336,2336,2336,259,135, - 213,2336,2336,274,135,213,1059,1454,2087,2336, - 1472,2336,259,135,213,2336,269,782,925,272, - 1059,1454,148,134,136,160,2336,151,134,136, - 160,358,358,315,315,2336,154,134,136,160, - 358,192,315,2336,1479,2336,315,1695,1867,890, - 2336,2336,88,88,2336,197,197,2336,894,894, - 1084,88,657,2336,197,88,2336,894,1471,209, - 1084,116,657,2336,254,213,890,2336,1756,1623, - 2336,2336,2336,1479,1386,788,2336,2336,2029,2029, - 2336,2213,2336,1479,1386,788,2336,2029,1479,2336, - 788,254,213,2336,88,2336,2336,1516,767,940, - 116,1479,2336,788,88,2336,2336,967,259,88, - 116,358,2336,788,497,116,763,1454,259,2336, - 2336,358,88,788,2336,2336,1086,1454,116,358, - 2336,788,88,358,2336,788,1546,2336,1789,2336, - 1107,1616,88,2336,2336,358,1940,788,994,2336, - 88,1105,2336,2336,88,2336,1013,2336,2336,2336, - 1032,2336,2336,2336,1124,2336,88,2336,2336,2336, - 2336,2336,1078,2336,0,11,226,0,2344,1, - 0,1,2573,0,8,10,0,179,20,0, - 1,2562,0,113,1829,0 + 34,34,34,35,35,35,35,35,47,47, + 24,24,24,24,24,48,48,48,84,84, + 79,79,79,79,80,80,80,81,81,81, + 82,82,82,83,83,83,93,93,85,85, + 86,49,51,51,51,51,51,64,65,65, + 65,65,65,65,65,65,65,65,65,65, + 72,69,69,109,110,74,74,70,70,70, + 87,94,94,95,95,88,88,88,57,111, + 111,96,97,97,97,71,71,112,98,98, + 99,99,89,89,25,26,26,26,50,52, + 52,41,41,41,41,37,37,38,42,42, + 43,39,39,100,100,44,114,114,113,113, + 46,46,46,46,46,46,46,46,46,101, + 54,54,54,54,36,75,75,66,66,66, + 67,67,58,58,115,115,77,77,76,76, + 76,59,59,59,60,61,61,61,62,62, + 62,62,73,73,53,53,55,117,116,116, + 116,116,102,118,119,119,120,120,121,121, + 107,107,122,122,103,103,103,103,123,123, + 104,104,104,105,106,106,292,1606,998,17, + 21,18,1133,949,45,1152,1171,1156,1194,1175, + 1219,1200,1248,622,1223,1254,75,331,92,359, + 176,136,214,1426,20,505,17,21,18,1133, + 43,45,1152,1171,1156,1194,1175,1219,1200,1248, + 908,1824,2191,285,138,135,137,161,944,703, + 525,225,234,668,587,1610,1051,180,337,242, + 140,167,358,232,1355,144,147,150,153,754, + 340,333,1115,136,214,1501,368,2105,2110,2119, + 1544,136,214,322,835,1407,20,1559,17,21, + 18,1133,41,525,225,233,146,135,137,161, + 419,1313,1519,789,138,135,137,161,703,666, + 225,230,443,220,610,222,224,128,275,541, + 140,167,90,587,188,144,147,150,153,403, + 340,270,783,926,273,1501,368,2105,2110,2119, + 1544,1426,20,211,17,21,18,1133,43,45, + 1152,1171,1156,1194,1175,1765,527,1350,20,551, + 17,21,18,1133,949,45,1152,1171,1156,1194, + 1175,1219,1200,1248,440,1223,1254,75,1124,282, + 1265,20,551,17,21,18,1133,949,45,1152, + 1171,1156,1194,1175,1219,1200,1248,226,1223,1254, + 75,296,282,256,214,314,595,324,402,987, + 283,1451,1269,1426,20,442,17,21,18,1133, + 43,45,1152,1171,1156,1194,1175,1219,1200,1775, + 288,412,833,283,1335,1269,1242,20,324,17, + 21,18,1133,949,45,1152,1171,1156,1194,1175, + 1219,1200,1248,290,1223,1254,75,892,282,289, + 1426,20,501,17,21,18,1133,43,45,1152, + 1171,1156,1676,1766,129,587,187,314,587,31, + 1426,20,291,17,21,18,1133,43,40,283, + 913,1269,1369,20,421,17,21,18,1133,949, + 45,1152,1171,1156,1194,1175,1219,1200,1248,159, + 1223,1254,75,311,282,1199,20,1360,17,21, + 18,1133,949,45,1152,1171,1156,1194,1175,1219, + 1200,1248,295,1223,1254,75,229,339,1108,180, + 833,358,1436,1682,313,283,1004,1269,829,1857, + 531,294,749,1426,20,240,17,21,18,1133, + 43,45,1645,136,214,292,1426,20,25,17, + 21,18,1133,43,45,1152,1171,1156,1194,1175, + 1219,1786,1466,831,658,105,138,135,137,161, + 1426,20,228,17,21,18,1133,43,45,1152, + 1171,1734,140,167,587,31,1387,144,147,150, + 153,284,340,326,672,587,189,1501,368,2105, + 2110,2119,1544,1388,20,2180,17,21,18,1133, + 949,45,1152,1171,1156,1194,1175,1219,1200,1248, + 261,1223,1254,75,440,810,1223,20,440,17, + 21,18,1133,949,45,1152,1171,1156,1194,1175, + 1219,1200,1248,1285,1223,1254,75,231,1567,1426, + 20,1574,17,21,18,1133,949,45,1152,1171, + 1156,1194,1175,1219,1200,1248,241,1223,1254,75, + 359,92,1426,20,24,17,21,18,1133,43, + 45,1152,1171,1156,1194,1175,1219,1200,1248,277, + 1223,1254,94,1426,20,418,17,21,18,1133, + 949,45,1152,1171,1156,1194,1175,1219,1200,1248, + 244,1223,1254,75,986,86,1426,20,998,17, + 21,18,1133,43,45,1152,1171,1740,1535,1426, + 20,125,17,21,18,1133,43,39,1426,20, + 1559,17,21,18,1133,949,45,1152,1171,1156, + 1194,1175,1219,1200,1248,440,1223,1254,75,1126, + 85,1426,20,181,17,21,18,1133,949,45, + 1152,1171,1156,1194,1175,1219,1200,1248,19,1223, + 1254,75,235,84,1426,20,1132,17,21,18, + 1133,949,45,1152,1171,1156,1194,1175,1219,1200, + 1248,440,1223,1254,75,1441,83,1426,20,384, + 17,21,18,1133,949,45,1152,1171,1156,1194, + 1175,1219,1200,1248,1573,1223,1254,75,440,82, + 1426,20,276,17,21,18,1133,949,45,1152, + 1171,1156,1194,1175,1219,1200,1248,440,1223,1254, + 75,1591,81,1426,20,440,17,21,18,1133, + 949,45,1152,1171,1156,1194,1175,1219,1200,1248, + 23,1223,1254,75,440,80,1426,20,1750,17, + 21,18,1133,949,45,1152,1171,1156,1194,1175, + 1219,1200,1248,440,1223,1254,75,1772,79,1426, + 20,440,17,21,18,1133,949,45,1152,1171, + 1156,1194,1175,1219,1200,1248,1808,1223,1254,75, + 440,78,1426,20,274,17,21,18,1133,949, + 45,1152,1171,1156,1194,1175,1219,1200,1248,440, + 1223,1254,75,280,77,1426,20,440,17,21, + 18,1133,949,45,1152,1171,1156,1194,1175,1219, + 1200,1248,1988,1223,1254,75,440,76,1426,20, + 281,17,21,18,1133,949,45,1152,1171,1156, + 1194,1175,1219,1200,1248,440,1223,1254,75,1852, + 1850,1426,20,1471,17,21,18,1133,949,45, + 1152,1171,1156,1194,1175,1219,1200,1248,1874,1223, + 1254,75,1055,1871,1426,20,876,17,21,18, + 1133,949,45,1152,1171,1156,1194,1175,1219,1200, + 1248,663,1223,1254,75,630,93,1426,20,331, + 17,21,18,1133,43,45,1152,1171,1156,1194, + 1175,1219,1200,1248,345,1223,1254,94,1426,20, + 796,17,21,18,1133,949,45,1152,1171,1156, + 1194,1175,1219,1200,1248,1520,1223,1254,75,931, + 74,1426,20,288,17,21,18,1133,43,45, + 1658,1426,20,213,17,21,18,1133,43,45, + 1152,1171,1156,1194,1175,1219,1200,1248,751,1223, + 1254,94,1426,20,550,17,21,18,1133,43, + 45,1152,1171,1156,1194,1175,1219,1200,1248,1067, + 1223,1254,94,1426,20,1064,17,21,18,1133, + 43,45,1152,1171,1753,1426,20,203,17,21, + 18,1133,43,45,1152,1171,1156,1194,1175,1219, + 1200,1248,331,1223,1254,94,1426,20,1872,17, + 21,18,1133,43,45,1152,1171,1156,1194,1175, + 1219,1200,1248,1069,1223,1254,94,1445,20,589, + 17,21,18,1133,34,178,1414,316,1762,1426, + 20,204,17,21,18,1133,43,45,1152,1171, + 1156,1686,111,587,1507,358,87,658,1295,1472, + 890,626,1917,96,1445,109,95,97,98,99, + 100,419,908,789,1623,708,1,1414,316,1472, + 793,1464,110,256,214,255,214,946,126,1518, + 587,297,88,111,54,232,331,87,1494,358, + 1472,1728,308,107,96,1445,109,95,97,98, + 99,100,1289,20,58,17,21,18,1133,43, + 36,315,331,110,666,225,230,1376,219,610, + 222,224,668,275,986,498,235,1414,316,264, + 358,1104,318,622,108,986,268,783,926,273, + 1443,124,247,111,941,1205,2071,87,668,1523, + 1472,766,112,265,96,1445,109,95,97,98, + 99,100,419,419,1546,1717,1965,278,1683,703, + 666,225,1323,110,220,610,222,1275,60,128, + 196,666,225,230,986,219,610,222,224,582, + 275,1146,262,358,107,2111,494,986,119,1414, + 316,127,905,268,783,926,273,986,331,355, + 1119,1396,1712,998,123,111,136,214,1508,87, + 1041,358,1472,477,2224,172,96,1445,109,95, + 97,98,99,100,1108,180,355,986,1422,143, + 135,137,161,106,668,110,666,225,582,1261, + 219,610,222,535,2229,142,167,359,205,136, + 214,160,392,1178,1319,20,108,17,21,18, + 1133,43,44,666,225,230,735,219,610,222, + 224,1490,139,135,137,161,1445,20,160,17, + 21,18,1133,33,156,528,360,243,141,167, + 1118,733,577,145,148,151,154,1489,340,558, + 480,1414,789,1112,1465,658,28,28,1269,1269, + 706,156,528,382,587,299,868,111,1422,577, + 745,87,256,214,28,1480,1269,1387,96,1445, + 1512,95,97,98,99,100,1426,20,1486,17, + 21,18,1133,43,45,1152,1171,1156,1194,1768, + 521,1414,789,666,225,230,367,219,610,222, + 224,260,874,786,658,658,477,111,1846,764, + 1455,87,562,1414,789,908,998,2201,96,1445, + 104,95,97,98,99,100,198,1472,358,111, + 2084,312,890,87,603,1414,789,868,279,1422, + 96,1445,102,95,97,98,99,100,664,1610, + 309,111,200,201,1284,87,899,255,214,1473, + 1286,182,96,1445,103,95,97,98,99,100, + 644,1414,789,1430,666,225,230,1464,219,610, + 222,224,1161,1432,2207,1220,1500,111,672,1846, + 193,87,685,1414,789,1141,858,1868,96,1445, + 120,95,97,98,99,100,1411,1358,998,111, + 1000,1426,20,87,17,21,18,1133,43,38, + 96,1445,115,95,97,98,99,100,726,1414, + 789,998,331,199,201,1289,20,210,17,21, + 18,1133,43,36,1467,111,1381,1624,1926,87, + 767,1414,789,206,711,1788,96,1445,1867,95, + 97,98,99,100,1811,904,1499,111,668,359, + 359,87,808,1414,789,248,614,1503,96,1445, + 114,95,97,98,99,100,2088,1142,933,111, + 658,359,359,87,849,1414,789,355,2340,1422, + 96,1445,122,95,97,98,99,100,2340,22, + 245,111,198,1426,20,87,17,21,18,1133, + 43,37,96,1445,121,95,97,98,99,100, + 2340,246,296,2340,666,225,230,359,219,610, + 222,224,349,2340,376,1473,1484,1426,20,160, + 17,21,18,1133,43,45,1152,1171,1763,306, + 355,986,1422,195,1426,20,420,17,21,18, + 1133,43,45,1152,1630,2340,194,298,2242,358, + 2340,789,157,528,2340,622,2340,1426,20,305, + 17,21,18,1133,43,35,2340,666,225,230, + 88,219,610,222,224,2340,1849,1005,986,2085, + 1426,20,494,17,21,18,1133,43,45,1152, + 1640,703,666,225,230,118,220,610,222,224, + 278,406,2340,376,1426,20,2340,17,21,18, + 1133,43,36,2340,2340,302,304,310,306,389, + 1061,2340,1812,275,2340,420,2340,2340,2340,2340, + 2340,2340,2340,2340,2011,2340,268,783,926,273, + 2340,2340,2340,2340,2340,2340,2340,2340,305,2340, + 2340,1426,20,1041,17,21,18,1133,43,48, + 2340,950,2340,658,1426,20,275,17,21,18, + 1133,43,47,2340,992,950,658,658,1339,268, + 783,926,273,1426,20,1387,17,21,18,1133, + 43,46,2340,2340,2340,1003,267,668,198,1387, + 1062,664,1610,2340,303,304,310,2340,2340,1449, + 2340,668,2340,2340,703,392,2340,2340,2340,260, + 136,214,2340,2340,275,136,214,1060,1455,2088, + 2340,1473,2340,260,136,214,2340,270,783,926, + 273,1060,1455,149,135,137,161,2340,152,135, + 137,161,358,358,316,316,2340,155,135,137, + 161,358,193,316,2340,1479,2340,316,1696,1868, + 890,2340,2340,88,88,2340,198,198,2340,895, + 895,1084,88,658,2340,198,88,2340,895,1472, + 210,1084,116,658,2340,255,214,890,2340,1757, + 1624,2340,2340,2340,1479,1387,789,2340,2340,2030, + 2030,2340,2214,2340,1479,1387,789,2340,2030,1479, + 2340,789,255,214,2340,88,2340,2340,1517,768, + 941,116,1479,2340,789,88,2340,2340,968,260, + 88,116,358,2340,789,498,116,764,1455,260, + 2340,2340,358,88,789,2340,2340,1087,1455,116, + 358,2340,789,88,358,2340,789,1547,2340,1790, + 2340,1108,1617,88,2340,2340,358,1941,789,995, + 2340,88,1106,2340,2340,88,2340,1014,2340,2340, + 2340,1033,2340,2340,2340,1125,2340,88,2340,2340, + 2340,2340,2340,1079,2340,0,11,227,0,2348, + 1,0,1,2578,0,8,10,0,1845,119, + 0,180,20,0,1,2567,0,113,1830,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -686,164 +686,164 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface TermAction { public final static char termAction[] = {0, - 2336,4165,1,4164,1487,1,659,1,1,1, + 2340,4170,1,4169,1488,1,660,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,2345,1,2437,1,1,1,1,1, - 1360,853,811,1433,1393,1619,1328,1352,1379,1370, - 1374,1,1,1,1,1,1,1,1,1, - 1,1,1,2336,1,1,1,2336,2343,8, - 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324, - 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324, - 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324, - 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324, - 2324,2324,2324,2324,2324,2324,2324,2324,2324,2324, - 2324,2324,1669,2324,2324,2324,1691,2324,2336,4165, - 1,4164,1487,1,659,1,1,1,1,1, + 1,1,2349,1,2441,1,1,1,1,1, + 1361,854,812,1434,1394,1620,1329,1353,1380,1371, + 1375,1,1,1,1,1,1,1,1,1, + 1,1,1,2340,1,1,1,2340,2347,8, + 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325, + 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325, + 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325, + 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325, + 2325,2325,2325,2325,2325,2325,2325,2325,2325,2325, + 2325,2325,1670,2325,2325,2325,1692,2325,2340,4170, + 1,4169,1488,1,660,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 2345,1,2437,1,1,1,1,1,1360,853, - 811,1433,1393,1619,1328,1352,1379,1370,1374,1, + 2349,1,2441,1,1,1,1,1,1361,854, + 812,1434,1394,1620,1329,1353,1380,1371,1375,1, 1,1,1,1,1,1,1,1,1,1, - 1,2336,1,1,1,182,2343,2336,4165,1, - 4164,2346,1,659,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2345, - 1,2437,1,1,1,1,1,1360,853,811, - 1433,1393,1619,1328,1352,1379,1370,1374,1,1, + 1,2340,1,1,1,183,2347,2340,4170,1, + 4169,2350,1,660,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2349, + 1,2441,1,1,1,1,1,1361,854,812, + 1434,1394,1620,1329,1353,1380,1371,1375,1,1, 1,1,1,1,1,1,1,1,1,1, - 1713,1,1,1,2336,4165,1,4164,2346,1, - 659,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2345,1,2437,1, - 1,1,1,1,1360,853,811,1433,1393,1619, - 1328,1352,1379,1370,1374,1,1,1,1,1, + 1714,1,1,1,2340,4170,1,4169,2350,1, + 660,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2349,1,2441,1, + 1,1,1,1,1361,854,812,1434,1394,1620, + 1329,1353,1380,1371,1375,1,1,1,1,1, 1,1,1,1,1,1,1,71,1,1, - 1,2336,2347,2161,2348,11,2013,2315,1892,1790, - 1966,1595,1326,404,2349,2350,2351,2352,868,599, - 2550,2551,2552,2336,2499,359,2500,2498,2553,2501, - 2497,2336,2347,2336,2348,2336,2347,660,2348,551, - 253,1398,2504,2509,2508,2506,2507,2505,2510,2511, - 2503,2512,2513,2514,60,1498,438,344,2336,1, - 1,1,2346,1,1,2562,1939,1,2336,20, - 179,2327,2340,2327,2327,532,62,1,1,1, - 2345,1,2642,1,1,1,1,1,179,179, - 179,2327,179,43,179,179,179,179,179,1, + 1,2340,2351,2162,2352,11,2014,2316,1893,1791, + 1967,1596,1327,405,2353,2354,2355,2356,869,600, + 2555,2556,2557,2340,2504,360,2505,2503,2558,2506, + 2502,2340,2351,2340,2352,2340,2351,661,2352,552, + 254,1399,2509,2514,2513,2511,2512,2510,2515,2516, + 2508,2517,2518,2519,60,1499,439,345,2340,1, + 1,1,2350,1,1,2567,1940,1,2340,20, + 180,2331,2344,2331,2331,533,62,1,1,1, + 2349,1,2647,1,1,1,1,1,180,180, + 180,2331,180,43,180,180,180,180,180,1, 1,1,1,1,1,1,1,1,1,1, - 1,157,1,1,1,2336,1,1,1,2346, - 1,2336,2327,1926,1272,855,709,183,1,2327, - 286,300,2346,2339,1,1,1,2345,1,2642, - 1,1,1,1,1,1926,1272,855,709,2336, - 2345,235,2336,2342,1084,223,1,1,1,1, - 1,1,1,1,1,1,1,1,2336,1, - 1,1,555,223,1251,2336,1061,1038,1015,992, - 969,923,946,900,877,832,61,1389,299,2336, - 4165,1,4164,2346,1,659,1,1,1,1, - 1,1,1,1,1,1,1,1,223,2341, - 229,2345,223,2437,185,4155,232,4155,2336,1360, - 853,811,1433,1393,1619,1328,1352,1379,1370,1374, - 2336,4165,1,4164,2346,1,659,1,1,1, - 1,1,1,1,1,1,1,1,1,2336, - 184,4157,2345,4157,2437,1926,1272,855,709,73, - 1360,853,811,1433,1393,1619,1328,1352,1379,1370, - 1374,2336,4165,1,4164,2346,1,659,1,1, + 1,158,1,1,1,2340,1,1,1,2350, + 1,2340,2331,1927,1273,856,710,184,1,2331, + 287,301,2350,2343,1,1,1,2349,1,2647, + 1,1,1,1,1,1927,1273,856,710,2340, + 2349,236,2340,2346,1085,224,1,1,1,1, + 1,1,1,1,1,1,1,1,2340,1, + 1,1,556,224,1252,2340,1062,1039,1016,993, + 970,924,947,901,878,833,61,1390,300,2340, + 4170,1,4169,2350,1,660,1,1,1,1, + 1,1,1,1,1,1,1,1,224,2345, + 230,2349,224,2441,186,4160,233,4160,2340,1361, + 854,812,1434,1394,1620,1329,1353,1380,1371,1375, + 2340,4170,1,4169,2350,1,660,1,1,1, + 1,1,1,1,1,1,1,1,1,2340, + 185,4162,2349,4162,2441,1927,1273,856,710,73, + 1361,854,812,1434,1394,1620,1329,1353,1380,1371, + 1375,2340,4170,1,4169,2350,1,660,1,1, 1,1,1,1,1,1,1,1,1,1, - 2336,206,4162,2345,4162,2437,2336,2347,2336,2348, - 2174,1360,853,811,1433,1393,1619,1328,1352,1379, - 1370,1374,2336,4165,1,4164,2346,1,659,1, + 2340,207,4167,2349,4167,2441,2340,2351,2340,2352, + 2175,1361,854,812,1434,1394,1620,1329,1353,1380, + 1371,1375,2340,4170,1,4169,2350,1,660,1, 1,1,1,1,1,1,1,1,1,1, - 1,253,2562,1939,2345,2336,2437,2261,2336,63, - 342,2251,1360,853,811,1433,1393,1619,1328,1352, - 1379,1370,1374,2336,4165,1,4164,2346,1,659, + 1,254,2567,1940,2349,2340,2441,2262,2340,63, + 343,2252,1361,854,812,1434,1394,1620,1329,1353, + 1380,1371,1375,2340,4170,1,4169,2350,1,660, 1,1,1,1,1,1,1,1,1,1, - 1,1,52,208,2347,2345,2348,2437,2336,1220, - 672,64,2336,1360,853,811,1433,1393,1619,1328, - 1352,1379,1370,1374,2336,4165,1,4164,2346,1, - 659,1,1,1,1,1,1,1,1,1, - 1,1,1,1338,579,54,2345,2336,2437,2269, - 2336,2574,1220,672,1360,853,811,1433,1393,1619, - 1328,1352,1379,1370,1374,2336,4165,1,4164,2346, - 1,659,1,1,1,1,1,1,1,1, - 1,1,1,1,53,1338,579,2345,2336,2437, - 69,1220,672,2336,1502,1360,853,811,1433,1393, - 1619,1328,1352,1379,1370,1374,2336,4165,1,4164, - 2346,1,659,1,1,1,1,1,1,1, - 1,1,1,1,1,1,207,373,2345,373, - 2437,659,2336,2336,2273,67,1360,853,811,1433, - 1393,1619,1328,1352,1379,1370,1374,2336,4165,1, - 4164,2346,1,659,1,1,1,1,1,1, - 1,1,1,1,1,1,2314,685,2336,2345, - 2336,2437,1,1178,2336,1301,2318,1360,853,811, - 1433,1393,1619,1328,1352,1379,1370,1374,2336,4165, - 1,4164,2346,1,659,1,1,1,1,1, - 1,1,1,1,1,1,1,1,2562,1939, - 2345,460,2437,2336,1,55,1,191,1360,853, - 811,1433,1393,1619,1328,1352,1379,1370,1374,2336, - 2343,2336,1,1,1,2346,1,2532,1,1, - 1,1,1,2336,2336,2285,2336,1,2550,2551, - 2552,2342,220,2345,1,1,1,1,1,1, - 1,1,1,1,1,1,1230,1,1,1, - 65,191,2336,1,1844,1,190,1943,1989,1655, - 1,2330,1453,130,2342,262,2562,1453,1876,1, - 1,1,1,1,253,1,2532,1,1,1, - 1,1,2550,2551,2552,634,2499,2341,2500,2498, - 2553,2501,2497,1,1,1,1,1,1,1, - 1,1,1,1,1,2336,1,1,1,2346, - 190,2336,1,634,1,191,2336,2336,634,2336, - 2341,2344,131,222,1,1371,1986,2345,2342,2336, - 1,1,1,2594,1,2532,1,1,1,1, - 1,2550,2551,2552,2336,2499,2336,2500,2498,2553, - 2501,2497,1,1,1,1,1,1,1,1, - 1,1,1,1,2336,1,1,1,2336,191, - 1,520,1939,2348,49,2343,634,634,1197,2092, - 265,132,1986,236,2341,1,2336,223,229,2550, - 2551,2552,1530,2499,233,2500,2498,2553,2501,2497, - 2550,2551,2552,1,2499,223,2500,2498,2553,2501, - 2497,2504,2509,2508,2506,2507,2505,2510,2511,2503, - 2512,2513,2514,2336,1498,438,344,2336,2347,1707, - 2348,1,2321,634,268,2562,1453,211,249,253, - 223,2073,2060,248,223,2336,2550,2551,2552,2342, - 2499,271,2500,2498,2553,2501,2497,1,1,1, - 70,113,2550,2551,2552,129,2336,2594,2504,2509, - 2508,2506,2507,2505,2510,2511,2503,2512,2513,2514, - 250,1498,438,344,2550,2551,2552,634,2499,2336, - 2500,2498,2553,2501,2497,2594,2336,42,1176,1, - 1,1,1833,4148,634,2341,2504,2509,2508,2506, - 2507,2505,2510,2511,2503,2512,2513,2514,1,2347, - 2161,2348,2340,1411,256,1892,1790,1966,1595,1326, - 404,2349,2350,2351,2352,868,599,685,2336,66, - 2333,742,2336,2347,2161,2348,2340,1814,1655,1892, - 1790,1966,1595,1326,404,2349,2350,2351,2352,868, - 599,2336,2347,2161,2348,1130,2013,4148,1892,1790, - 1966,1595,1326,404,2349,2350,2351,2352,868,599, - 89,701,2336,2339,1,2347,2161,2348,29,2013, - 4148,1892,1790,1966,1595,1326,404,2349,2350,2351, - 2352,868,599,59,270,58,1694,2339,2336,2347, - 2161,2348,2340,2013,251,1892,1790,1966,1595,1326, - 404,2349,2350,2351,2352,868,599,2336,2336,2336, - 2336,2336,1,2550,2551,2552,91,1153,2336,2347, - 2161,2348,29,2013,4148,1892,1790,1966,1595,1326, - 404,2349,2350,2351,2352,868,599,634,268,2336, - 1986,2336,2336,253,2336,1943,1989,1943,1989,1, - 2347,2161,2348,2339,2013,4148,1892,1790,1966,1595, - 1326,404,2349,2350,2351,2352,868,599,2336,2347, - 2161,2348,91,2013,4148,1892,1790,1966,1595,1326, - 404,2349,2350,2351,2352,868,599,1,2347,2161, - 2348,634,2013,2336,1892,1790,1966,1595,1326,404, - 2349,2350,2351,2352,868,599,2336,2347,2162,2348, - 68,2013,2336,1892,1790,1966,1595,1326,404,2349, - 2350,2351,2352,868,599,2336,2347,2161,2348,57, - 2013,56,1892,1790,1966,1595,1326,404,2349,2350, - 2351,2352,868,599,2336,2347,2170,2348,133,2013, - 292,1892,1790,1966,1595,1326,404,2349,2350,2351, - 2352,868,599,30,207,1,72,2550,2551,2552, - 32,2499,420,2500,2498,2553,2501,2497,1,51, - 2362,2363,117,2336,2092,50,460,2346,252,2336, - 2092,1943,1989,1943,1989,4148,2336,285,201,30, - 117,1439,2336,1305,189,2345,189,2550,2551,2552, - 185,189,184,1,1,2336,1633,206,2336,2336, - 2365,3437,2336,1958,2336,2336,2336,2336,2336,2593, - 2336,2336,2336,2336,2336,2336,723,2336,117,2336, - 1635,2336,2336,2336,532,2336,2073,2060,2336,2336, - 597,2336,2073,2060,2336,1439,499,1284,2336,2336, - 2336,2336,2336,611,2336,2336,2336,2336,2336,2336, - 2336,2336,2348,2347 + 1,1,52,209,2351,2349,2352,2441,2340,1221, + 673,64,2340,1361,854,812,1434,1394,1620,1329, + 1353,1380,1371,1375,2340,4170,1,4169,2350,1, + 660,1,1,1,1,1,1,1,1,1, + 1,1,1,1339,580,54,2349,2340,2441,2270, + 2340,2579,1221,673,1361,854,812,1434,1394,1620, + 1329,1353,1380,1371,1375,2340,4170,1,4169,2350, + 1,660,1,1,1,1,1,1,1,1, + 1,1,1,1,53,1339,580,2349,2340,2441, + 69,1221,673,2340,1503,1361,854,812,1434,1394, + 1620,1329,1353,1380,1371,1375,2340,4170,1,4169, + 2350,1,660,1,1,1,1,1,1,1, + 1,1,1,1,1,1,208,374,2349,374, + 2441,660,2340,2340,2274,67,1361,854,812,1434, + 1394,1620,1329,1353,1380,1371,1375,2340,4170,1, + 4169,2350,1,660,1,1,1,1,1,1, + 1,1,1,1,1,1,2315,686,2340,2349, + 2340,2441,1,1179,2340,1302,2319,1361,854,812, + 1434,1394,1620,1329,1353,1380,1371,1375,2340,4170, + 1,4169,2350,1,660,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2567,1940, + 2349,461,2441,2340,1,55,1,192,1361,854, + 812,1434,1394,1620,1329,1353,1380,1371,1375,2340, + 2347,2340,1,1,1,2350,1,2537,1,1, + 1,1,1,2340,119,2286,2340,1,2555,2556, + 2557,2346,221,2349,1,1,1,1,1,1, + 1,1,1,1,1,1,1231,1,1,1, + 65,192,2340,1,2328,1,191,1944,1990,1656, + 1,2334,1454,131,2346,263,2567,1454,1877,1, + 1,1,1,1,254,1,2537,1,1,1, + 1,1,2555,2556,2557,635,2504,2345,2505,2503, + 2558,2506,2502,1,1,1,1,1,1,1, + 1,1,1,1,1,2340,1,1,1,2350, + 191,2340,1,635,1,192,2340,2340,635,2340, + 2345,2348,132,223,1,1372,1987,2349,2346,2340, + 1,1,1,2599,1,2537,1,1,1,1, + 1,2555,2556,2557,2340,2504,2340,2505,2503,2558, + 2506,2502,1,1,1,1,1,1,1,1, + 1,1,1,1,2340,1,1,1,2340,192, + 1,521,1940,2352,49,2347,635,635,1198,2093, + 266,133,1987,237,2345,1,2340,224,230,2555, + 2556,2557,1531,2504,234,2505,2503,2558,2506,2502, + 2555,2556,2557,1,2504,224,2505,2503,2558,2506, + 2502,2509,2514,2513,2511,2512,2510,2515,2516,2508, + 2517,2518,2519,2340,1499,439,345,2340,2351,1708, + 2352,1,2322,635,269,2567,1454,212,250,254, + 224,2074,2061,249,224,2340,2555,2556,2557,2346, + 2504,272,2505,2503,2558,2506,2502,1,1,1, + 70,113,2555,2556,2557,130,2340,2599,2509,2514, + 2513,2511,2512,2510,2515,2516,2508,2517,2518,2519, + 251,1499,439,345,2555,2556,2557,635,2504,2340, + 2505,2503,2558,2506,2502,2599,2340,42,1177,1, + 1,1,1834,4153,635,2345,2509,2514,2513,2511, + 2512,2510,2515,2516,2508,2517,2518,2519,1,2351, + 2162,2352,2344,1412,257,1893,1791,1967,1596,1327, + 405,2353,2354,2355,2356,869,600,686,2340,66, + 2337,743,2340,2351,2162,2352,2344,1815,1656,1893, + 1791,1967,1596,1327,405,2353,2354,2355,2356,869, + 600,2340,2351,2162,2352,1131,2014,4153,1893,1791, + 1967,1596,1327,405,2353,2354,2355,2356,869,600, + 89,702,2340,2343,1,2351,2162,2352,29,2014, + 4153,1893,1791,1967,1596,1327,405,2353,2354,2355, + 2356,869,600,59,271,58,1695,2343,2340,2351, + 2162,2352,2344,2014,252,1893,1791,1967,1596,1327, + 405,2353,2354,2355,2356,869,600,2340,2340,2340, + 2340,2340,1,2555,2556,2557,91,1154,2340,2351, + 2162,2352,29,2014,4153,1893,1791,1967,1596,1327, + 405,2353,2354,2355,2356,869,600,635,269,2340, + 1987,2340,2340,254,2340,1944,1990,1944,1990,1, + 2351,2162,2352,2343,2014,4153,1893,1791,1967,1596, + 1327,405,2353,2354,2355,2356,869,600,2340,2351, + 2162,2352,91,2014,4153,1893,1791,1967,1596,1327, + 405,2353,2354,2355,2356,869,600,1,2351,2162, + 2352,635,2014,2340,1893,1791,1967,1596,1327,405, + 2353,2354,2355,2356,869,600,2340,2351,2163,2352, + 68,2014,2340,1893,1791,1967,1596,1327,405,2353, + 2354,2355,2356,869,600,2340,2351,2162,2352,57, + 2014,56,1893,1791,1967,1596,1327,405,2353,2354, + 2355,2356,869,600,2340,2351,2171,2352,134,2014, + 293,1893,1791,1967,1596,1327,405,2353,2354,2355, + 2356,869,600,30,208,1,72,2555,2556,2557, + 32,2504,421,2505,2503,2558,2506,2502,1,51, + 2366,2367,117,2340,2093,50,461,2350,253,2340, + 2093,1944,1990,1944,1990,4153,2340,286,202,30, + 117,1440,2340,1306,190,2349,190,2555,2556,2557, + 186,190,185,1,1,2340,1634,207,2340,2340, + 2369,3442,2340,1959,2340,2340,2340,2340,2340,2598, + 2340,2340,2340,2340,2340,2340,724,2340,117,2340, + 1636,2340,2340,2340,533,2340,2074,2061,2340,2340, + 598,2340,2074,2061,2340,1440,500,1285,2340,2340, + 2340,2340,2340,612,2340,2340,2340,2340,2340,2340, + 2340,2340,2352,2351 }; }; public final static char termAction[] = TermAction.termAction; @@ -851,36 +851,36 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface Asb { public final static char asb[] = {0, - 498,1,427,281,498,429,496,310,322,494, - 322,494,494,322,494,322,283,468,429,418, - 529,496,283,201,133,132,377,48,468,376, - 253,494,241,241,494,241,429,468,338,468, - 214,283,429,79,214,26,429,254,496,102, - 496,205,468,330,429,216,470,283,427,141, - 99,306,167,269,453,453,453,453,453,83, - 453,453,453,161,178,183,181,189,185,192, - 191,194,193,195,216,129,496,453,48,376, - 253,451,202,202,241,529,529,438,529,529, - 202,253,139,453,139,269,496,102,205,205, - 330,330,338,333,337,429,306,99,82,79, - 453,453,453,453,453,453,453,453,453,453, - 453,338,338,531,269,269,241,241,3,453, - 453,453,453,453,453,453,453,453,453,453, - 453,453,453,453,453,453,453,453,453,337, - 129,24,251,202,453,202,267,453,341,453, - 453,254,438,139,438,198,382,102,129,244, - 102,205,207,433,207,330,306,335,336,211, - 468,216,453,453,99,83,26,468,211,338, + 496,1,425,281,496,427,494,310,322,492, + 322,492,492,322,492,322,283,466,427,416, + 527,494,283,201,133,132,375,48,466,374, + 253,492,241,241,492,241,427,466,338,466, + 214,283,427,79,214,26,427,254,494,102, + 494,205,466,330,427,216,468,283,425,141, + 99,306,167,269,451,451,451,451,451,83, + 451,451,451,161,178,183,181,189,185,192, + 191,194,193,195,216,129,494,451,48,374, + 253,449,202,202,241,527,527,436,527,527, + 202,253,139,451,139,269,494,102,205,205, + 330,330,338,333,337,427,306,99,82,79, + 451,451,451,451,451,451,451,451,451,451, + 451,338,338,529,269,269,241,241,3,451, + 451,451,451,451,451,451,451,451,451,451, + 451,451,451,451,451,451,451,451,451,337, + 129,24,251,202,451,202,267,451,252,451, + 451,254,436,139,436,198,380,102,129,244, + 102,205,207,431,207,330,306,335,336,211, + 466,216,451,451,99,83,26,466,211,338, 338,338,99,181,181,178,178,185,185,183, - 183,183,183,191,189,193,192,139,194,431, - 24,451,202,338,529,338,338,253,438,453, - 102,246,207,129,453,241,306,330,214,338, - 537,333,99,99,531,537,343,496,453,207, - 45,202,451,438,453,438,438,129,201,453, - 200,129,330,216,338,129,22,380,241,453, - 44,3,202,338,252,246,453,338,161,26, - 99,241,453,338,3,202,438,99,438,338, - 438 + 183,183,183,191,189,193,192,139,194,429, + 24,449,202,338,527,338,338,253,436,451, + 102,246,207,129,451,241,306,330,214,338, + 535,333,99,99,529,535,341,494,451,207, + 45,202,449,436,451,436,436,129,201,451, + 200,129,330,216,338,129,22,378,241,451, + 44,3,202,338,252,246,451,338,161,26, + 99,241,451,338,3,202,436,99,436,338, + 436 }; }; public final static char asb[] = Asb.asb; @@ -922,29 +922,29 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym 41,46,44,45,43,42,47,48,50,51, 52,59,22,29,26,23,25,28,27,19, 20,21,5,1,2,53,57,60,4,0, - 30,0,9,5,7,8,67,68,62,63, + 9,5,7,8,67,68,62,63,69,70, + 71,72,74,75,76,77,78,81,82,59, + 83,84,85,86,87,88,89,90,91,92, + 65,60,58,6,4,57,22,61,0,66, + 80,10,11,9,7,8,67,68,62,63, 69,70,71,72,74,75,76,77,78,81, - 82,59,83,84,85,86,87,88,89,90, - 91,92,65,60,58,6,4,57,22,61, - 0,66,80,10,11,9,7,8,67,68, - 62,63,69,70,71,72,74,75,76,77, - 78,81,82,61,83,84,85,86,87,88, - 89,90,91,92,57,53,60,25,19,26, - 27,28,20,23,29,21,22,4,5,2, - 1,0,4,57,58,61,0,32,34,6, - 38,40,35,30,36,37,33,31,39,24, - 22,4,2,13,14,15,16,1,3,10, - 11,9,7,8,17,18,12,5,0,25, - 41,19,42,54,26,43,27,44,45,28, - 20,46,47,23,55,29,56,48,49,21, - 50,51,52,1,3,6,0,73,25,41, - 19,42,54,26,43,27,44,45,28,20, - 46,47,23,55,29,56,48,49,21,50, - 51,52,1,3,5,22,4,24,2,0, - 4,60,5,2,53,0,5,25,41,19, + 82,61,83,84,85,86,87,88,89,90, + 91,92,57,53,60,25,19,26,27,28, + 20,23,29,21,22,4,5,2,1,0, + 4,57,58,61,0,32,34,6,38,40, + 35,30,36,37,33,31,39,24,22,4, + 2,13,14,15,16,1,3,10,11,9, + 7,8,17,18,12,5,0,25,41,19, 42,54,26,43,27,44,45,28,20,46, 47,23,55,29,56,48,49,21,50,51, - 52,1,3,64,0 + 52,1,3,6,0,73,25,41,19,42, + 54,26,43,27,44,45,28,20,46,47, + 23,55,29,56,48,49,21,50,51,52, + 1,3,5,22,4,24,2,0,4,60, + 5,2,53,0,5,25,41,19,42,54, + 26,43,27,44,45,28,20,46,47,23, + 55,29,56,48,49,21,50,51,52,1, + 3,64,0 }; }; public final static byte asr[] = Asr.asr; @@ -1131,19 +1131,19 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public interface ScopeState { public final static char scopeState[] = {0, - 530,0,550,0,2083,1867,1681,0,1682,1873, - 1851,1829,1807,1771,1749,1713,1507,1691,1669,1435, - 1619,1375,1334,0,611,499,1590,1572,476,1573, - 555,0,1595,1326,404,1573,1814,342,685,532, - 1655,460,1926,1272,855,709,1338,579,1220,672, - 1989,1943,2092,2073,2060,2013,1966,1411,1892,1790, - 868,599,1305,611,1284,1251,1230,1197,1176,1153, - 1130,1107,788,1084,1061,1038,1015,992,969,946, - 923,900,877,832,765,315,811,742,555,634, - 499,476,0,925,782,665,609,2087,391,1986, - 1453,2029,1386,0,332,375,1635,391,1716,1453, - 1545,1386,1964,1442,1876,1939,1518,0,315,657, - 1543,375,0 + 531,0,551,0,2084,1868,1682,0,1683,1874, + 1852,1830,1808,1772,1750,1714,1508,1692,1670,1436, + 1620,1376,1335,0,612,500,1591,1573,477,1574, + 556,0,1596,1327,405,1574,1815,343,686,533, + 1656,461,1927,1273,856,710,1339,580,1221,673, + 1990,1944,2093,2074,2061,2014,1967,1412,1893,1791, + 869,600,1306,612,1285,1252,1231,1198,1177,1154, + 1131,1108,789,1085,1062,1039,1016,993,970,947, + 924,901,878,833,766,316,812,743,556,635, + 500,477,0,926,783,666,610,2088,392,1987, + 1454,2030,1387,0,333,376,1636,392,1717,1454, + 1546,1387,1965,1443,1877,1940,1519,0,316,658, + 1544,376,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1394,18 +1394,18 @@ public class C99Parserprs implements lpg.lpgjavaruntime.ParseTable, C99Parsersym public final static int NUM_STATES = 291, NT_OFFSET = 93, - LA_STATE_OFFSET = 2650, + LA_STATE_OFFSET = 2655, MAX_LA = 2147483647, - NUM_RULES = 314, + NUM_RULES = 315, NUM_NONTERMINALS = 125, NUM_SYMBOLS = 218, SEGMENT_SIZE = 8192, - START_STATE = 1921, + START_STATE = 1922, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 73, EOLT_SYMBOL = 73, - ACCEPT_ACTION = 2314, - ERROR_ACTION = 2336; + ACCEPT_ACTION = 2315, + ERROR_ACTION = 2340; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java index 33df3a76cde..9ca38119a9b 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99Parsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at 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 cd2d01958df..8f420627cdc 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 @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -678,595 +678,601 @@ public C99SizeofExpressionParser(ITokenStream stream, Map<String,String> propert // // Rule 117: iteration_statement ::= do statement while ( expression ) ; // - case 117: { action. consumeStatementDoLoop(); break; + case 117: { action. consumeStatementDoLoop(true); break; } // - // Rule 118: iteration_statement ::= while ( expression ) statement + // Rule 118: iteration_statement ::= do statement // - case 118: { action. consumeStatementWhileLoop(); break; + case 118: { action. consumeStatementDoLoop(false); break; } // - // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 119: iteration_statement ::= while ( expression ) statement // - case 119: { action. consumeStatementForLoop(); break; + case 119: { action. consumeStatementWhileLoop(); break; } // - // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 120: { action. consumeStatementForLoop(); break; } // - // Rule 121: jump_statement ::= goto identifier_token ; + // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 121: { action. consumeStatementGoto(); break; + case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= continue ; + // Rule 122: jump_statement ::= goto identifier_token ; // - case 122: { action. consumeStatementContinue(); break; + case 122: { action. consumeStatementGoto(); break; } // - // Rule 123: jump_statement ::= break ; + // Rule 123: jump_statement ::= continue ; // - case 123: { action. consumeStatementBreak(); break; + case 123: { action. consumeStatementContinue(); break; } // - // Rule 124: jump_statement ::= return ; + // Rule 124: jump_statement ::= break ; // - case 124: { action. consumeStatementReturn(false); break; + case 124: { action. consumeStatementBreak(); break; } // - // Rule 125: jump_statement ::= return expression ; + // Rule 125: jump_statement ::= return ; // - case 125: { action. consumeStatementReturn(true); break; + case 125: { action. consumeStatementReturn(false); break; } // - // Rule 126: declaration ::= declaration_specifiers ; + // Rule 126: jump_statement ::= return expression ; // - case 126: { action. consumeDeclarationSimple(false); break; + case 126: { action. consumeStatementReturn(true); break; } // - // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 127: declaration ::= declaration_specifiers ; // - case 127: { action. consumeDeclarationSimple(true); break; + case 127: { action. consumeDeclarationSimple(false); break; } // - // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 128: { action. consumeDeclarationSpecifiersSimple(); break; + case 128: { action. consumeDeclarationSimple(true); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 129: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 132: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 157: init_declarator ::= complete_declarator = initializer + // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 157: { action. consumeDeclaratorWithInitializer(true); break; + case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 159: storage_class_specifier ::= storage_class_specifier_token + // Rule 158: init_declarator ::= complete_declarator = initializer // - case 159: { action. consumeToken(); break; + case 158: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 165: simple_type_specifier ::= simple_type_specifier_token + // Rule 160: storage_class_specifier ::= storage_class_specifier_token // - case 165: { action. consumeToken(); break; + case 160: { action. consumeToken(); break; } // - // Rule 178: type_name_specifier ::= identifier_token + // Rule 166: simple_type_specifier ::= simple_type_specifier_token // - case 178: { action. consumeToken(); break; + case 166: { action. consumeToken(); break; } // - // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: type_name_specifier ::= identifier_token // - case 179: { action. consumeTypeSpecifierComposite(false); break; + case 179: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 180: { action. consumeTypeSpecifierComposite(true); break; + case 180: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 181: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 193: { action. consumeStructDeclaration(true); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 194: { action. consumeStructDeclaration(false); break; + case 194: { action. consumeStructDeclaration(true); break; } // - // Rule 195: struct_declaration ::= ERROR_TOKEN + // Rule 195: struct_declaration ::= specifier_qualifier_list ; // - case 195: { action. consumeDeclarationProblem(); break; + case 195: { action. consumeStructDeclaration(false); break; } // - // Rule 201: struct_declarator ::= : constant_expression + // Rule 196: struct_declaration ::= ERROR_TOKEN // - case 201: { action. consumeBitField(false); break; + case 196: { action. consumeDeclarationProblem(); break; } // - // Rule 202: struct_declarator ::= declarator : constant_expression + // Rule 202: struct_declarator ::= : constant_expression // - case 202: { action. consumeBitField(true); break; + case 202: { action. consumeBitField(false); break; } // - // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: struct_declarator ::= declarator : constant_expression // - case 203: { action. consumeTypeSpecifierEnumeration(false); break; + case 203: { action. consumeBitField(true); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeTypeSpecifierEnumeration(true); break; + case 204: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 210: enumerator ::= identifier_token + // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 210: { action. consumeEnumerator(false); break; + case 205: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 211: enumerator ::= identifier_token = constant_expression + // Rule 211: enumerator ::= identifier_token // - case 211: { action. consumeEnumerator(true); break; + case 211: { action. consumeEnumerator(false); break; } // - // Rule 212: type_qualifier ::= type_qualifier_token + // Rule 212: enumerator ::= identifier_token = constant_expression // - case 212: { action. consumeToken(); break; + case 212: { action. consumeEnumerator(true); break; } // - // Rule 216: function_specifier ::= inline + // Rule 213: type_qualifier ::= type_qualifier_token // - case 216: { action. consumeToken(); break; + case 213: { action. consumeToken(); break; } // - // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 217: function_specifier ::= inline // - case 218: { action. consumeDeclaratorWithPointer(true); break; + case 217: { action. consumeToken(); break; } // - // Rule 223: basic_direct_declarator ::= declarator_id_name + // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 223: { action. consumeDirectDeclaratorIdentifier(); break; + case 219: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 224: basic_direct_declarator ::= ( declarator ) + // Rule 224: basic_direct_declarator ::= declarator_id_name // - case 224: { action. consumeDirectDeclaratorBracketed(); break; + case 224: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 225: declarator_id_name ::= identifier + // Rule 225: basic_direct_declarator ::= ( declarator ) // - case 225: { action. consumeIdentifierName(); break; + case 225: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 226: declarator_id_name ::= identifier // - case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeIdentifierName(); break; } // - // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier // case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 236: identifier_list ::= identifier + // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 236: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 237: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier // case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 238: array_modifier ::= [ ] + // Rule 238: identifier_list ::= identifier_list , identifier // - case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 240: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 242: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 245: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ * ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 248: pointer_seq ::= pointer_hook * pointer_hook + // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 248: { action. consumePointer(); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 249: pointer_seq ::= pointer_hook * pointer_hook // case 249: { action. consumePointer(); break; } // - // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 250: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 255: parameter_type_list ::= parameter_list + // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 255: { action. consumeEmpty(); break; + case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list // - case 256: { action. consumePlaceHolder(); break; + case 256: { action. consumeEmpty(); break; } // - // Rule 257: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= parameter_list , ... // case 257: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 258: parameter_type_list ::= ... // - case 260: { action. consumeParameterDeclaration(); break; + case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclaration(); break; } // - // Rule 264: type_id ::= specifier_qualifier_list + // Rule 262: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeTypeId(false); break; + case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list // - case 265: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(false); break; } // - // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator // - case 267: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeTypeId(true); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq // - case 268: { action. consumeDeclaratorWithPointer(true); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 272: { action. consumeDirectDeclaratorBracketed(); break; + case 269: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 273: array_direct_abstract_declarator ::= array_modifier + // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_modifier // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 276: function_direct_abstract_declarator ::= ( ) + // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 277: function_direct_abstract_declarator ::= ( ) + // + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 280: initializer ::= assignment_expression + // Rule 281: initializer ::= assignment_expression // - case 280: { action. consumeInitializer(); break; + case 281: { action. consumeInitializer(); break; } // - // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 282: { action. consumeInitializerList(); break; + case 283: { action. consumeInitializerList(); break; } // - // Rule 283: initializer_list ::= { <openscope-ast> } + // Rule 284: initializer_list ::= { <openscope-ast> } // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: start_initializer_list ::= $Empty + // Rule 285: start_initializer_list ::= $Empty // - case 284: { action. initializerListStart(); break; + case 285: { action. initializerListStart(); break; } // - // Rule 285: end_initializer_list ::= $Empty + // Rule 286: end_initializer_list ::= $Empty // - case 285: { action. initializerListEnd(); break; + case 286: { action. initializerListEnd(); break; } // - // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer // - case 290: { action. consumeInitializerDesignated(); break; + case 291: { action. consumeInitializerDesignated(); break; } // - // Rule 294: designator_base ::= [ constant_expression ] + // Rule 295: designator_base ::= [ constant_expression ] // - case 294: { action. consumeDesignatorArray(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 295: designator_base ::= . identifier_token + // Rule 296: designator_base ::= . identifier_token // - case 295: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 296: designator ::= [ constant_expression ] + // Rule 297: designator ::= [ constant_expression ] // - case 296: { action. consumeDesignatorArray(); break; + case 297: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator ::= . identifier_token + // Rule 298: designator ::= . identifier_token // - case 297: { action. consumeDesignatorField(); break; + case 298: { action. consumeDesignatorField(); break; } // - // Rule 298: translation_unit ::= external_declaration_list + // Rule 299: translation_unit ::= external_declaration_list // - case 298: { action. consumeTranslationUnit(); break; + case 299: { action. consumeTranslationUnit(); break; } // - // Rule 299: translation_unit ::= $Empty + // Rule 300: translation_unit ::= $Empty // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 304: external_declaration ::= ; + // Rule 305: external_declaration ::= ; // - case 304: { action. consumeDeclarationEmpty(); break; + case 305: { action. consumeDeclarationEmpty(); break; } // - // Rule 305: external_declaration ::= ERROR_TOKEN + // Rule 306: external_declaration ::= ERROR_TOKEN // - case 305: { action. consumeDeclarationProblem(); break; + case 306: { action. consumeDeclarationProblem(); break; } // - // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body // - case 309: { action. consumeFunctionDefinition(false); break; + case 310: { action. consumeFunctionDefinition(false); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 310: { action. consumeFunctionDefinitionKnR(); break; + case 311: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinition(true); break; + case 312: { action. consumeFunctionDefinition(true); break; } // - // Rule 312: function_body ::= { } + // Rule 313: function_body ::= { } // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 313: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 314: function_body ::= { <openscope-ast> block_item_list } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 314: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 315: no_sizeof_type_id_start ::= ERROR_TOKEN + // Rule 316: no_sizeof_type_id_start ::= ERROR_TOKEN // - case 315: { action. consumeEmpty(); break; + case 316: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java index 34a74ba272e..8088f65c433 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -45,171 +45,171 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 3,3,3,3,3,1,1,2,1,0, 1,3,1,1,1,1,1,1,1,1, 3,4,3,2,4,1,2,1,1,1, - 2,5,7,5,1,0,7,5,9,8, - 3,2,2,2,3,2,4,2,2,2, - 2,2,1,1,1,1,2,1,2,2, - 2,1,2,2,1,2,2,1,2,2, - 1,2,2,1,3,1,3,1,1,1, + 2,5,7,5,1,0,7,2,5,9, + 8,3,2,2,2,3,2,4,2,2, + 2,2,2,1,1,1,1,2,1,2, + 2,2,1,2,2,1,2,2,1,2, + 2,1,2,2,1,3,1,3,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,6,8, - 0,0,1,1,3,3,3,0,1,0, - 1,2,4,2,1,1,1,3,1,1, - 2,3,7,8,0,1,0,1,3,1, - 3,1,1,1,1,1,1,3,1,1, - 1,1,1,3,1,2,2,1,5,3, - 1,3,5,1,3,1,3,2,4,3, - 5,4,6,6,3,5,1,3,4,5, - 6,0,1,2,1,3,1,1,3,2, - 1,1,1,1,2,1,2,3,1,1, - 1,3,1,2,2,2,3,4,5,1, - 1,7,3,0,0,1,1,3,3,4, - 1,1,2,3,2,3,2,1,0,1, - 2,1,1,1,1,1,2,1,3,6, - 4,2,4,1,1,-36,0,0,0,0, - 0,0,0,0,0,0,-2,0,0,0, - 0,0,0,0,0,0,0,0,-4,-156, - -115,0,-14,0,0,0,0,-72,0,0, + 1,1,1,1,1,1,1,1,1,6, + 8,0,0,1,1,3,3,3,0,1, + 0,1,2,4,2,1,1,1,3,1, + 1,2,3,7,8,0,1,0,1,3, + 1,3,1,1,1,1,1,1,3,1, + 1,1,1,1,3,1,2,2,1,5, + 3,1,3,5,1,3,1,3,2,4, + 3,5,4,6,6,3,5,1,3,4, + 5,6,0,1,2,1,3,1,1,3, + 2,1,1,1,1,2,1,2,3,1, + 1,1,3,1,2,2,2,3,4,5, + 1,1,7,3,0,0,1,1,3,3, + 4,1,1,2,3,2,3,2,1,0, + 1,2,1,1,1,1,1,2,1,3, + 6,4,2,4,1,1,-36,0,0,0, + 0,0,0,0,0,0,0,-2,0,0, + 0,0,0,0,0,0,0,0,0,-4, + -156,-115,0,-14,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, - -167,0,-29,0,-104,0,0,0,0,-80, - 0,0,-116,0,-16,0,-17,0,0,0, - 0,0,0,0,-138,0,0,0,0,0, + 0,-167,0,-29,0,-104,0,0,0,0, + -80,0,0,-116,0,-16,0,-17,0,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,-174,0,0,0,0, + 0,0,0,0,0,0,-174,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-178,0,-128,-78,0,0,-48,0,0, + 0,0,-178,0,-128,-78,0,0,-48,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-30,0,0,0,-18,0,-42,0, + 0,0,0,-30,0,0,0,-18,0,-42, 0,0,0,0,0,0,0,0,0,0, - 0,-6,0,0,0,0,0,0,0,0, - -189,0,0,0,0,0,0,0,0,0, + 0,0,-6,0,0,0,0,0,0,0, + 0,-189,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-3,0,0,0,0,0,0,0,0, - 0,0,-19,0,0,0,0,0,0,0, - 0,0,0,0,-117,0,0,-118,0,-119, - 0,0,0,-43,0,0,0,0,0,0, - 0,0,0,0,0,-108,0,0,0,0, + 0,0,-3,0,0,0,0,0,0,0, + 0,0,0,-19,0,0,0,0,0,0, + 0,0,0,0,0,-117,0,0,-118,0, + -119,0,0,0,-43,0,0,0,0,0, + 0,0,0,0,0,0,-108,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-5,0,0,0, - 0,0,0,0,-127,0,0,0,0,0, - 0,0,0,0,0,-81,0,0,0,0, - 0,0,0,0,0,-131,0,-158,0,-55, + 0,0,0,0,0,0,0,-5,0,0, + 0,0,0,0,0,-127,0,0,0,0, + 0,0,0,0,0,0,-81,0,0,0, + 0,0,0,0,0,0,-131,0,-158,0, + -55,0,0,0,0,0,0,0,0,0, + 0,-122,0,0,0,0,0,0,0,0, + 0,-20,0,-21,0,0,0,0,-27,0, + 0,0,0,0,0,0,0,0,0,-22, 0,0,0,0,0,0,0,0,0,0, - -122,0,0,0,0,0,0,0,0,0, - -20,0,-21,0,0,0,0,-27,0,0, - 0,0,0,0,0,0,0,0,-22,0, + 0,-23,0,-188,0,-24,0,0,0,0, + -74,0,-12,0,0,0,0,0,0,0, + 0,0,0,0,0,-56,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -23,0,-188,0,-24,0,0,0,0,-74, - 0,-12,0,0,0,0,0,0,0,0, - 0,0,0,0,-56,0,0,0,0,0, + 0,0,0,0,0,0,-57,0,0,0, + 0,0,0,0,0,0,0,-25,0,0, + 0,0,0,0,0,0,0,-58,0,0, + 0,0,0,0,0,0,0,0,-26,0, + 0,0,0,0,0,0,0,0,-59,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,-25,0,0,0, - 0,0,0,0,0,0,-58,0,0,0, - 0,0,0,0,0,0,0,-26,0,0, - 0,0,0,0,0,0,0,-59,0,0, + 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,-60,0, - 0,0,0,0,0,0,0,0,0,-86, - 0,0,0,0,0,0,0,0,0,-61, + -86,0,0,0,0,0,0,0,0,0, + -61,0,0,0,0,0,0,0,0,0, + 0,-87,0,0,0,0,0,0,0,0, + 0,-62,0,0,0,0,0,0,0,0, + 0,0,-88,0,0,0,0,0,0,0, + 0,0,-63,0,0,0,0,0,0,0, + 0,0,0,-89,0,0,0,0,0,0, + 0,0,0,-64,0,0,0,0,0,0, + 0,0,0,0,-90,0,0,0,0,0, + 0,0,0,0,-65,0,0,0,0,0, + 0,0,0,0,0,-91,0,0,0,0, + 0,0,0,0,0,-66,0,0,0,0, + 0,0,0,0,0,0,-92,0,0,0, + 0,0,0,0,0,0,-120,0,0,0, + 0,0,0,0,0,0,0,-93,0,0, + 0,0,0,0,0,0,0,-141,0,0, + 0,0,0,0,0,0,0,0,-94,0, + 0,0,0,0,0,0,0,0,-142,0, + 0,0,0,0,0,0,0,0,0,-95, + 0,0,0,0,0,0,0,0,0,-177, 0,0,0,0,0,0,0,0,0,0, - -87,0,0,0,0,0,0,0,0,0, - -62,0,0,0,0,0,0,0,0,0, - 0,-88,0,0,0,0,0,0,0,0, - 0,-63,0,0,0,0,0,0,0,0, - 0,0,-89,0,0,0,0,0,0,0, - 0,0,-64,0,0,0,0,0,0,0, - 0,0,0,-90,0,0,0,0,0,0, - 0,0,0,-65,0,0,0,0,0,0, - 0,0,0,0,-91,0,0,0,0,0, - 0,0,0,0,-66,0,0,0,0,0, - 0,0,0,0,0,-92,0,0,0,0, - 0,0,0,0,0,-120,0,0,0,0, - 0,0,0,0,0,0,-93,0,0,0, - 0,0,0,0,0,0,-141,0,0,0, - 0,0,0,0,0,0,0,-94,0,0, - 0,0,0,0,0,0,0,-142,0,0, - 0,0,0,0,0,0,0,0,-95,0, - 0,0,0,0,0,0,0,0,-177,0, - 0,0,0,0,0,0,0,0,0,-134, - 0,0,0,0,0,0,0,0,-186,0, - 0,0,0,0,0,0,0,0,0,-197, - 0,0,0,0,0,0,0,0,-13,0, - 0,0,0,0,0,0,-7,0,0,0, - 0,0,0,0,-192,0,0,0,0,0, + -134,0,0,0,0,0,0,0,0,-186, 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,-135,0,0,0,0, - 0,0,0,0,-155,-96,0,-170,0,0, - -97,0,-70,0,0,0,0,0,0,0, - -206,0,0,0,0,0,0,0,0,0, + -197,0,0,0,0,0,0,0,0,-13, + 0,0,0,0,0,0,0,-7,0,0, + 0,0,0,0,0,-192,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -54,0,0,0,0,0,0,0,0,0, - 0,-130,0,0,0,0,0,0,0,-180, - -176,0,0,0,0,-75,0,0,-37,0, - 0,0,0,0,0,0,0,0,-98,-145, - 0,0,-110,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-200,-193,-124,0, - -187,0,0,0,0,0,-99,0,-100,0, - -146,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-31,0,-101,0,0,0, - 0,0,0,0,0,0,0,0,0,-184, - -102,-85,0,-33,0,0,-51,0,0,0, - 0,0,0,0,0,0,0,-121,0,0, - 0,0,0,0,0,-71,0,0,0,0, - 0,0,0,-52,0,0,0,0,0,0, - 0,0,0,0,-164,0,0,0,-137,-154, - 0,-34,0,-105,0,0,0,-183,0,0, - -67,0,0,0,0,-107,0,-123,0,-83, - 0,0,0,-140,0,0,0,0,0,0, + 0,0,0,0,0,-198,0,0,0,0, + 0,0,0,0,0,0,-135,0,0,0, + 0,0,0,0,0,-155,-96,0,-170,0, + 0,-97,0,-70,0,0,0,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,-38,0,0,0, - 0,0,0,0,0,0,-49,0,0,0, - 0,0,0,0,0,0,0,0,0,-50, + 0,-54,0,0,0,0,0,0,0,0, + 0,0,-130,0,0,0,0,0,0,0, + -180,-176,0,0,0,0,-75,0,0,-37, + 0,0,0,0,0,0,0,0,0,-98, + -145,0,0,-110,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-200,-193,-124, + 0,-187,0,0,0,0,0,-99,0,-100, + 0,-146,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-31,0,-101,0,0, 0,0,0,0,0,0,0,0,0,0, - -205,0,0,0,-153,0,-157,-68,0,0, - -132,0,-191,0,-136,0,-151,0,0,-44, + -184,-102,-85,0,-33,0,0,-51,0,0, + 0,0,0,0,0,0,0,0,-121,0, + 0,0,0,0,0,0,-71,0,0,0, + 0,0,0,0,-52,0,0,0,0,0, + 0,0,0,0,0,-164,0,0,0,-137, + -154,0,-34,0,-105,0,0,0,-183,0, + 0,-67,0,0,0,0,-107,0,-123,0, + -83,0,0,0,-140,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, - 0,0,0,0,0,0,0,-166,0,-45, + 0,0,0,0,0,0,0,-38,0,0, + 0,0,0,0,0,0,0,-49,0,0, 0,0,0,0,0,0,0,0,0,0, - -46,0,0,0,0,0,0,0,0,0, - -47,0,0,0,0,0,0,0,0,0, - -73,0,0,-76,-69,-109,0,-112,-139,-165, - -171,0,-111,0,0,0,0,0,0,0, - 0,-172,-175,0,0,0,0,-207,0,0, - 0,0,0,0,0,0,0,-199,-204,0, - -147,0,0,0,0,-144,0,0,0,0, + -50,0,0,0,0,0,0,0,0,0, + 0,-205,0,0,0,-153,0,-157,-68,0, + 0,-132,0,-191,0,-136,0,-151,0,0, + -44,0,0,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,-166,0, + -45,0,0,0,0,0,0,0,0,0, + 0,-46,0,0,0,0,0,0,0,0, + 0,-47,0,0,0,0,0,0,0,0, + 0,-73,0,0,-76,-69,-109,0,-112,-139, + -165,-171,0,-111,0,0,0,0,0,0, + 0,0,-172,-175,0,0,0,0,-207,0, + 0,0,0,0,0,0,0,0,-199,-204, + 0,-147,0,0,0,0,-144,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -9,0,0,0,0,0,0,0,-10,0, - 0,0,0,0,0,0,-11,0,0,0, - 0,0,0,0,-35,-39,0,0,0,0, - 0,0,0,0,-113,0,-40,0,0,0, - 0,0,0,0,-173,0,-103,-126,-143,-162, - 0,-41,0,0,0,0,0,0,0,0, - 0,0,-15,-129,-159,0,0,0,0,-28, - -32,0,0,0,0,-179,0,-160,-148,-190, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-185,0,-77,0,0,0,0, - 0,0,0,0,0,0,0,0,-79,0, - 0,0,-196,-82,0,0,0,0,0,-106, - -169,0,0,0,0,0,0,-84,0,0, + 0,-9,0,0,0,0,0,0,0,-10, + 0,0,0,0,0,0,0,-11,0,0, + 0,0,0,0,0,-35,-39,0,0,0, + 0,0,0,0,0,-113,0,-40,0,0, + 0,0,0,0,0,-173,0,-103,-126,-143, + -162,0,-41,0,0,0,0,0,0,0, + 0,0,0,-15,-129,-159,0,0,0,0, + -28,-32,0,0,0,0,-179,0,-160,-148, + -190,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-185,0,-77,0,0,0, + 0,0,0,0,0,0,0,0,0,-79, + 0,0,0,-196,-82,0,0,0,0,0, + -106,-169,0,0,0,0,0,0,-84,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -125,0,0,-152,-181,0,0,0,0,-182, - 0,0,0,0,0,0,-133,0,0,-168, - 0,0,0,-150,-1,-114,-163,0,0,0, - 0,0,-53,0,0,0,0,0,0,-161, - -149,0,-202,0,0,0,0,0,0,0, - -203,0,0,0,0,0,0,-201,0,0, + 0,-125,0,0,-152,-181,0,0,0,0, + -182,0,0,0,0,0,0,-133,0,0, + -168,0,0,0,-150,-1,-114,-163,0,0, + 0,0,0,-53,0,0,0,0,0,0, + -161,-149,0,-202,0,0,0,0,0,0, + 0,-203,0,0,0,0,0,0,-201,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-194,0,0,-195,0, + 0,0,0,0,0,0,-194,0,0,-195, 0,0,0,0,0,0,0,0,0,0, 0,0,0,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; @@ -231,171 +231,171 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 88,72,72,47,104,104,104,104,104,104, 104,105,105,105,106,106,111,111,112,112, 107,107,108,108,108,114,114,109,109,109, - 109,110,110,110,110,110,113,113,25,25, - 25,25,25,28,28,28,78,78,73,73, - 73,73,74,74,74,75,75,75,76,76, - 76,77,77,77,115,115,116,116,117,29, - 31,31,31,31,31,53,54,54,54,54, - 54,54,54,54,54,54,54,54,63,60, - 60,89,90,65,65,61,61,61,66,79, - 79,80,80,67,67,67,49,91,91,81, - 82,82,82,62,62,92,83,83,84,84, - 68,68,21,22,22,22,30,48,48,32, - 32,32,32,35,35,37,33,33,34,38, - 38,118,118,36,119,119,93,93,26,26, - 26,26,26,26,26,26,26,85,50,50, - 50,50,27,56,56,55,55,55,57,57, - 51,51,94,94,71,71,58,58,58,41, - 41,41,42,43,43,43,44,44,44,44, - 64,64,46,46,52,96,95,95,95,95, - 86,97,98,98,99,99,100,100,120,120, - 121,121,122,122,122,122,124,124,123,123, - 123,125,126,126,87,87,1,780,17,21, - 18,343,738,44,387,385,523,31,467,633, - 631,661,649,717,665,74,91,134,212,15, - 668,329,990,607,136,133,135,159,275,20, - 17,21,18,343,738,44,387,385,523,1153, - 467,633,631,661,649,717,665,74,1426,138, - 165,692,238,360,31,50,142,145,148,151, - 421,445,1268,360,186,241,1228,194,339,1424, - 1586,1599,1604,1618,1212,441,20,17,21,18, - 343,738,44,387,385,523,340,467,633,631, - 661,649,717,665,74,280,336,20,17,21, - 18,343,738,44,387,385,523,340,467,633, - 631,661,649,717,665,74,280,1443,442,292, - 194,281,693,25,575,97,383,1264,489,20, - 17,21,18,343,42,44,387,385,523,286, - 467,969,281,360,31,254,212,12,1264,489, - 20,17,21,18,343,42,44,387,385,843, - 288,287,489,20,17,21,18,343,42,40, - 1075,465,20,17,21,18,343,738,44,387, - 385,523,289,467,633,631,661,649,717,665, - 74,280,489,20,17,21,18,343,738,44, - 387,385,523,30,467,633,631,661,649,717, - 665,74,91,24,341,360,185,281,576,1355, - 360,187,293,1264,489,20,17,21,18,343, - 42,44,387,385,864,290,537,20,17,21, - 18,343,738,44,387,385,523,1641,467,633, - 631,661,649,717,665,74,1538,513,20,17, - 21,18,343,41,339,299,20,17,21,18, - 343,738,44,387,385,523,446,467,633,631, - 661,649,717,665,74,1539,189,178,236,239, - 489,20,17,21,18,343,42,44,387,385, - 523,50,467,633,631,661,1211,134,212,253, - 212,580,395,63,136,133,135,159,489,20, - 17,21,18,343,738,44,387,385,523,219, - 467,633,631,661,649,717,665,74,92,138, - 165,313,535,282,1130,327,142,145,148,151, - 323,445,513,20,17,21,18,343,34,1424, - 1586,1599,1604,1618,1212,489,20,17,21,18, - 343,738,44,387,385,523,274,467,633,631, - 661,649,717,665,74,85,489,20,17,21, - 18,343,738,44,387,385,523,413,467,633, - 631,661,649,717,665,74,84,489,20,17, - 21,18,343,738,44,387,385,523,524,467, - 633,631,661,649,717,665,74,83,489,20, - 17,21,18,343,738,44,387,385,523,282, - 467,633,631,661,649,717,665,74,82,489, - 20,17,21,18,343,738,44,387,385,523, - 561,467,633,631,661,649,717,665,74,81, - 489,20,17,21,18,343,738,44,387,385, - 523,199,467,633,631,661,649,717,665,74, - 80,489,20,17,21,18,343,738,44,387, - 385,523,201,467,633,631,661,649,717,665, - 74,79,489,20,17,21,18,343,738,44, - 387,385,523,110,467,633,631,661,649,717, - 665,74,78,489,20,17,21,18,343,738, - 44,387,385,523,117,467,633,631,661,649, - 717,665,74,77,489,20,17,21,18,343, - 738,44,387,385,523,448,467,633,631,661, - 649,717,665,74,76,489,20,17,21,18, - 343,738,44,387,385,523,472,467,633,631, - 661,649,717,665,74,75,489,20,17,21, - 18,343,738,44,387,385,523,657,467,633, - 631,661,649,717,665,74,73,489,20,17, - 21,18,343,738,44,387,385,523,678,467, - 633,631,661,649,717,665,74,1555,489,20, - 17,21,18,343,738,44,387,385,523,200, - 467,633,631,661,649,717,665,74,1568,489, - 20,17,21,18,343,42,44,387,385,523, - 191,467,633,631,661,649,717,665,93,489, - 20,17,21,18,343,42,44,387,385,523, - 685,467,633,631,661,649,717,665,93,513, - 20,17,21,18,343,33,1570,489,20,17, - 21,18,343,42,39,489,20,17,21,18, - 343,42,44,387,385,523,211,467,633,631, - 661,649,717,665,93,489,20,17,21,18, - 343,42,44,387,385,523,50,467,633,631, - 661,649,717,665,93,394,57,1644,696,193, - 1357,104,1691,416,20,17,21,18,343,42, - 43,489,20,17,21,18,343,42,44,387, - 385,523,201,467,633,631,661,649,717,665, - 93,489,20,17,21,18,343,42,44,387, - 385,523,105,467,633,631,661,649,1197,28, - 648,360,295,1569,1535,1264,562,1584,202,489, - 20,17,21,18,343,42,44,801,273,650, - 207,254,212,236,217,1181,220,1461,222,223, - 228,1540,275,266,1136,670,271,701,676,59, - 262,360,1431,276,253,212,273,711,1698,6, - 263,718,217,1181,220,1461,222,223,228,254, - 212,266,1136,670,271,373,1284,429,1680,217, - 1181,220,1461,222,223,228,512,227,1428,444, - 696,246,189,178,397,1680,260,489,20,17, - 21,18,343,42,44,387,385,523,206,467, - 633,631,1149,134,212,89,59,1083,585,209, - 137,133,135,159,489,20,17,21,18,343, - 42,44,387,385,523,152,467,633,1177,50, - 542,1431,397,1276,400,139,165,283,305,1683, - 1260,397,143,146,149,152,715,445,717,1698, - 470,273,1278,1348,608,19,1610,218,1181,220, - 1461,222,223,228,1537,608,268,1136,670,271, - 217,1181,220,1461,222,223,228,489,20,17, - 21,18,343,42,44,822,1458,489,20,17, - 21,18,343,42,44,387,385,523,208,1076, - 489,20,17,21,18,343,42,44,387,385, - 523,305,1081,1078,1442,50,540,627,397,197, - 199,333,1698,360,297,716,1611,722,1566,1010, - 489,20,17,21,18,343,42,44,387,385, - 885,23,538,217,1181,220,1461,222,223,228, - 489,20,17,21,18,343,42,38,206,1458, - 489,20,17,21,18,343,42,44,387,385, - 906,489,20,17,21,18,343,42,44,387, - 927,489,20,17,21,18,343,42,44,387, - 948,675,198,199,232,281,281,179,397,59, - 50,58,1525,365,20,17,21,18,343,42, - 36,1650,698,144,276,134,212,273,706,22, - 240,272,141,133,135,159,1347,245,151,171, - 1764,689,266,1136,670,271,365,20,17,21, - 18,343,42,36,1764,1278,1764,140,165,1428, - 218,1181,220,1461,222,223,228,226,1764,1764, - 246,489,20,17,21,18,343,42,37,489, - 20,17,21,18,343,42,36,489,20,17, - 21,18,343,42,35,60,489,20,17,21, - 18,343,42,47,1764,544,1236,489,20,17, - 21,18,343,42,46,206,606,52,281,281, - 544,273,489,20,17,21,18,343,42,45, - 1122,606,1276,50,397,281,266,1136,670,271, - 50,50,242,241,316,1122,236,1276,281,59, - 281,316,512,265,663,1610,258,278,196,243, - 1554,1764,1351,28,206,196,604,253,212,1264, - 1255,258,244,87,294,1554,1276,1351,1262,613, - 87,87,1515,206,636,1262,1425,134,212,1515, - 324,542,1431,1764,144,133,135,159,645,1255, - 134,212,1168,203,1214,134,212,147,133,135, - 159,1271,150,133,135,159,273,1278,1764,134, - 212,236,180,1764,48,646,153,133,135,159, - 142,268,1136,670,271,606,606,454,1764,1764, - 95,606,253,212,397,389,497,497,606,196, - 1122,606,1764,50,1764,196,512,1657,1645,208, - 397,521,1122,206,512,196,1764,279,1764,277, - 230,281,606,371,1210,1442,258,444,59,371, - 1716,1764,1351,224,1764,87,1122,1764,258,371, - 314,191,1664,87,1351,296,397,191,1179,342, - 1764,1764,204,1388,1660,1276,937,192,1764,1603, - 1660,1764,259,1764,1764,1764,1764,1764,1719,229, - 1764,1764,233,1764,1764,1764,1764,1764,1448,1764, - 1764,1764,327,1764,0,20,178,0,1,1989, - 0,1,2000,0 + 109,109,110,110,110,110,110,113,113,25, + 25,25,25,25,28,28,28,78,78,73, + 73,73,73,74,74,74,75,75,75,76, + 76,76,77,77,77,115,115,116,116,117, + 29,31,31,31,31,31,53,54,54,54, + 54,54,54,54,54,54,54,54,54,63, + 60,60,89,90,65,65,61,61,61,66, + 79,79,80,80,67,67,67,49,91,91, + 81,82,82,82,62,62,92,83,83,84, + 84,68,68,21,22,22,22,30,48,48, + 32,32,32,32,35,35,37,33,33,34, + 38,38,118,118,36,119,119,93,93,26, + 26,26,26,26,26,26,26,26,85,50, + 50,50,50,27,56,56,55,55,55,57, + 57,51,51,94,94,71,71,58,58,58, + 41,41,41,42,43,43,43,44,44,44, + 44,64,64,46,46,52,96,95,95,95, + 95,86,97,98,98,99,99,100,100,120, + 120,121,121,122,122,122,122,124,124,123, + 123,123,125,126,126,87,87,1,781,17, + 21,18,344,739,44,388,386,524,31,468, + 634,632,662,650,718,666,74,91,135,213, + 15,668,329,991,607,137,134,136,160,275, + 20,17,21,18,344,739,44,388,386,524, + 1154,468,634,632,662,650,718,666,74,1427, + 139,166,692,239,360,31,50,143,146,149, + 152,421,446,1269,360,187,241,1229,194,340, + 1425,1587,1600,1605,1619,1213,441,20,17,21, + 18,344,739,44,388,386,524,341,468,634, + 632,662,650,718,666,74,281,336,20,17, + 21,18,344,739,44,388,386,524,341,468, + 634,632,662,650,718,666,74,281,1444,443, + 293,195,282,693,25,575,97,384,1265,489, + 20,17,21,18,344,42,44,388,386,524, + 287,468,970,282,360,31,255,213,12,1265, + 489,20,17,21,18,344,42,44,388,386, + 844,289,288,489,20,17,21,18,344,42, + 40,1076,465,20,17,21,18,344,739,44, + 388,386,524,290,468,634,632,662,650,718, + 666,74,281,489,20,17,21,18,344,739, + 44,388,386,524,30,468,634,632,662,650, + 718,666,74,91,24,342,360,186,282,576, + 1356,360,188,294,1265,489,20,17,21,18, + 344,42,44,388,386,865,291,537,20,17, + 21,18,344,739,44,388,386,524,1642,468, + 634,632,662,650,718,666,74,1539,513,20, + 17,21,18,344,41,340,299,20,17,21, + 18,344,739,44,388,386,524,446,468,634, + 632,662,650,718,666,74,1540,189,179,236, + 240,489,20,17,21,18,344,42,44,388, + 386,524,50,468,634,632,662,1212,135,213, + 254,213,580,396,63,137,134,136,160,489, + 20,17,21,18,344,739,44,388,386,524, + 219,468,634,632,662,650,718,666,74,92, + 139,166,313,536,282,1131,327,143,146,149, + 152,323,446,513,20,17,21,18,344,34, + 1425,1587,1600,1605,1619,1213,489,20,17,21, + 18,344,739,44,388,386,524,275,468,634, + 632,662,650,718,666,74,85,489,20,17, + 21,18,344,739,44,388,386,524,413,468, + 634,632,662,650,718,666,74,84,489,20, + 17,21,18,344,739,44,388,386,524,524, + 468,634,632,662,650,718,666,74,83,489, + 20,17,21,18,344,739,44,388,386,524, + 283,468,634,632,662,650,718,666,74,82, + 489,20,17,21,18,344,739,44,388,386, + 524,561,468,634,632,662,650,718,666,74, + 81,489,20,17,21,18,344,739,44,388, + 386,524,199,468,634,632,662,650,718,666, + 74,80,489,20,17,21,18,344,739,44, + 388,386,524,201,468,634,632,662,650,718, + 666,74,79,489,20,17,21,18,344,739, + 44,388,386,524,110,468,634,632,662,650, + 718,666,74,78,489,20,17,21,18,344, + 739,44,388,386,524,117,468,634,632,662, + 650,718,666,74,77,489,20,17,21,18, + 344,739,44,388,386,524,448,468,634,632, + 662,650,718,666,74,76,489,20,17,21, + 18,344,739,44,388,386,524,472,468,634, + 632,662,650,718,666,74,75,489,20,17, + 21,18,344,739,44,388,386,524,657,468, + 634,632,662,650,718,666,74,73,489,20, + 17,21,18,344,739,44,388,386,524,678, + 468,634,632,662,650,718,666,74,1556,489, + 20,17,21,18,344,739,44,388,386,524, + 200,468,634,632,662,650,718,666,74,1569, + 489,20,17,21,18,344,42,44,388,386, + 524,191,468,634,632,662,650,718,666,93, + 489,20,17,21,18,344,42,44,388,386, + 524,685,468,634,632,662,650,718,666,93, + 513,20,17,21,18,344,33,1571,489,20, + 17,21,18,344,42,39,489,20,17,21, + 18,344,42,44,388,386,524,212,468,634, + 632,662,650,718,666,93,489,20,17,21, + 18,344,42,44,388,386,524,50,468,634, + 632,662,650,718,666,93,394,57,1645,696, + 194,1358,104,1692,416,20,17,21,18,344, + 42,43,489,20,17,21,18,344,42,44, + 388,386,524,202,468,634,632,662,650,718, + 666,93,489,20,17,21,18,344,42,44, + 388,386,524,105,468,634,632,662,650,1198, + 28,648,360,296,1570,1536,1265,562,1585,203, + 489,20,17,21,18,344,42,44,802,274, + 650,207,255,213,236,218,1182,221,1462,223, + 224,229,1541,276,267,1137,671,272,701,676, + 59,263,360,1432,277,254,213,274,711,1699, + 6,264,718,218,1182,221,1462,223,224,229, + 255,213,267,1137,671,272,373,1285,429,1681, + 218,1182,221,1462,223,224,229,513,228,1429, + 445,696,246,189,179,397,1681,261,489,20, + 17,21,18,344,42,44,388,386,524,206, + 468,634,632,1150,135,213,89,59,1084,586, + 210,138,134,136,160,489,20,17,21,18, + 344,42,44,388,386,524,152,468,634,1178, + 50,542,1432,397,1277,400,140,166,284,305, + 1684,1261,397,144,147,150,153,715,446,717, + 1699,470,274,1279,1349,608,19,1611,219,1182, + 221,1462,223,224,229,1538,609,269,1137,671, + 272,218,1182,221,1462,223,224,229,489,20, + 17,21,18,344,42,44,823,1459,489,20, + 17,21,18,344,42,44,388,386,524,209, + 1077,489,20,17,21,18,344,42,44,388, + 386,524,305,1082,1079,1443,50,541,627,397, + 198,200,333,1699,360,298,716,1612,722,1567, + 1011,489,20,17,21,18,344,42,44,388, + 386,886,23,539,218,1182,221,1462,223,224, + 229,489,20,17,21,18,344,42,38,206, + 1459,489,20,17,21,18,344,42,44,388, + 386,907,489,20,17,21,18,344,42,44, + 388,928,489,20,17,21,18,344,42,44, + 388,949,675,199,200,232,281,281,180,397, + 59,50,58,1526,365,20,17,21,18,344, + 42,36,1651,698,144,277,135,213,274,706, + 22,241,273,142,134,136,160,1348,246,151, + 171,1765,689,267,1137,671,272,365,20,17, + 21,18,344,42,36,1765,1279,1765,141,166, + 1429,219,1182,221,1462,223,224,229,227,1765, + 1765,247,489,20,17,21,18,344,42,37, + 489,20,17,21,18,344,42,36,489,20, + 17,21,18,344,42,35,60,489,20,17, + 21,18,344,42,47,1765,544,1237,489,20, + 17,21,18,344,42,46,206,607,52,281, + 281,544,274,489,20,17,21,18,344,42, + 45,1123,607,1277,50,397,281,267,1137,671, + 272,50,50,243,242,317,1123,236,1277,281, + 59,281,317,513,266,664,1611,259,279,197, + 244,1555,1765,1352,28,206,197,604,254,213, + 1265,1256,259,245,87,295,1555,1277,1352,1263, + 613,87,87,1516,206,636,1263,1426,135,213, + 1516,324,542,1432,1765,145,134,136,160,645, + 1256,135,213,1169,204,1215,135,213,148,134, + 136,160,1272,151,134,136,160,274,1279,1765, + 135,213,236,181,1765,48,646,154,134,136, + 160,142,269,1137,671,272,607,607,454,1765, + 1765,95,607,254,213,397,389,497,497,607, + 197,1123,607,1765,50,1765,197,513,1658,1646, + 209,397,521,1123,206,513,197,1765,280,1765, + 278,231,281,607,372,1211,1443,259,445,59, + 372,1717,1765,1352,225,1765,87,1123,1765,259, + 372,315,192,1665,87,1352,297,397,192,1180, + 342,1765,1765,205,1389,1661,1277,938,193,1765, + 1604,1661,1765,260,1765,1765,1765,1765,1765,1720, + 230,1765,1765,234,1765,1765,1765,1765,1765,1449, + 1765,1765,1765,328,1765,0,20,179,0,1, + 1991,0,1,2002,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -495,82 +495,82 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1764,1775,1553,1776,1499,1764,1977,1978,1979,1491, - 1380,59,1507,1926,88,1019,672,577,1777,1778, - 1779,1780,1027,482,1927,1925,1980,1928,1924,54, - 1764,1931,1936,1935,1933,1934,1932,1937,1938,1930, - 1939,1940,1941,638,1280,596,380,1764,1,1, - 1,1764,190,1,1,1,61,210,252,264, - 1,1421,62,1,916,2773,1390,1360,544,469, - 348,1,1,1,1,1,1401,1411,1,1, + 1765,1776,1554,1777,1500,1765,1979,1980,1981,1492, + 1381,59,1508,1928,88,1020,673,578,1778,1779, + 1780,1781,1028,483,1929,1927,1982,1930,1926,54, + 1765,1933,1938,1937,1935,1936,1934,1939,1940,1932, + 1941,1942,1943,639,1281,597,381,1765,1,1, + 1,1765,191,1,1,1,61,211,253,265, + 1,1422,62,1,917,2775,1391,1361,545,470, + 349,1,1,1,1,1,1402,1412,1,1, 1,1,1,1,1,1,1,1,1,1, - 190,1,1,1,1764,1,181,1,1959,189, - 1,1,1,60,261,1989,1150,1,1,58, - 1754,1390,1360,544,469,348,57,999,1,1, - 1,1,1,1330,1317,1,1,1,1,1, - 1,1,1,1,1,1,1,189,1,1, - 1,1764,1,1764,1,1959,190,1,1,1, - 200,267,1989,1150,1,252,1401,1411,1390,1360, - 544,469,348,1401,1411,1,1,1,1,1, - 1764,2001,1,1,1,1,1,1,1,1, - 1,1,1,1,190,1,1,1,1764,1775, - 182,1776,1959,48,1977,1978,1979,1542,50,63, - 49,1926,1542,491,1542,1764,1,1758,1150,1091, - 1772,1770,1927,1925,1980,1928,1924,348,68,1931, - 1936,1935,1933,1934,1932,1937,1938,1930,1939,1940, - 1941,128,1280,596,380,1764,1769,1977,1978,1979, - 51,1977,1978,1979,1926,69,1527,1516,1771,1307, - 1139,1527,1516,1527,1516,1927,1925,1980,1928,1924, - 1330,1317,1931,1936,1935,1933,1934,1932,1937,1938, - 1930,1939,1940,1941,1,1775,1553,1776,1433,1768, - 1764,285,1217,1491,1380,1768,1507,556,1764,1019, - 672,577,1777,1778,1779,1780,1027,482,1764,1775, - 1553,1776,1466,1768,1,1989,1167,1491,1380,1217, - 1507,958,66,1019,672,577,1777,1778,1779,1780, - 1027,482,270,267,1767,1421,72,252,1764,1775, - 1767,1776,255,348,348,1,1775,1553,1776,1499, - 29,1764,1066,1764,1491,1380,1770,1507,1767,2773, - 1019,672,577,1777,1778,1779,1780,1027,482,1764, - 1775,1681,1776,1055,1764,1775,1553,1776,1499,1768, - 1459,1769,1,1491,1380,1244,1507,90,29,1019, - 672,577,1777,1778,1779,1780,1027,482,1764,1, - 1,1,1,30,1111,1673,1764,1,1,1764, - 1,1770,90,1,1,1,1,1,1,1, - 1,1,70,621,1767,1764,1775,1553,1776,1499, - 184,2803,416,2803,1491,1380,1769,1507,71,2773, - 1019,672,577,1777,1778,1779,1780,1027,482,2079, - 1,1775,1553,1776,1499,183,2805,56,2805,1491, - 1380,1764,1507,1,2773,1019,672,577,1777,1778, - 1779,1780,1027,482,1764,1775,1553,1776,1499,205, - 2807,55,2807,1491,1380,1764,1507,610,2773,1019, - 672,577,1777,1778,1779,1780,1027,482,1764,1775, - 1553,1776,1499,610,1401,1411,1,1491,1380,1764, - 1507,1770,2021,1019,672,577,1777,1778,1779,1780, - 1027,482,1764,1775,1560,1776,1499,1764,1401,1411, - 1,1491,1380,42,1507,1764,1769,1019,672,577, - 1777,1778,1779,1780,1027,482,1,1775,1553,1776, - 1499,207,1775,1,1776,1491,1380,252,1507,1764, - 1764,1019,672,577,1777,1778,1779,1780,1027,482, - 20,269,1755,1666,1755,1755,178,178,178,2020, - 1764,1755,348,178,247,1764,1775,1764,1776,64, - 1977,1978,1979,895,178,178,178,178,178,1259, - 1755,448,2021,874,853,832,811,790,748,769, - 727,706,685,129,1764,1764,32,248,1195,1977, - 1978,1979,130,1,1,1,1926,1561,1977,1978, - 1979,1790,1791,1764,1764,1926,249,1927,1925,1980, - 1928,1924,1,1,1,131,1927,1925,1980,1928, - 1924,1977,1978,1979,132,1,1761,250,1926,67, - 1977,1978,1979,1977,1978,1979,53,1926,463,1927, - 1925,1980,1928,1924,1764,1307,1139,1764,1927,1925, - 1980,1928,1924,373,1,251,1421,52,979,1770, - 1764,1977,1978,1979,1764,348,1307,1139,221,1774, - 1667,1,291,284,2021,30,1774,206,375,348, - 1,1989,1167,1035,1769,252,1989,1167,206,1171, - 65,1171,1244,1341,1764,1764,1764,219,1169,1131, - 1429,1764,448,188,1793,188,2788,188,348,1345, - 1764,1764,1764,1764,1764,1430,375,184,1764,183, - 1764,205,1764,1764,1353,1764,1764,1764,1764,1764, - 1773,1764,1764,1764,1764,1764,1764,1773 + 191,1,1,1,1765,1,182,1,1961,190, + 1,1,1,60,262,1991,1151,1,1,58, + 1755,1391,1361,545,470,349,57,1000,1,1, + 1,1,1,1331,1318,1,1,1,1,1, + 1,1,1,1,1,1,1,190,1,1, + 1,1765,1,1765,1,1961,191,1,1,1, + 201,268,1991,1151,1,253,1402,1412,1391,1361, + 545,470,349,1402,1412,1,1,1,1,1, + 1765,2003,1,1,1,1,1,1,1,1, + 1,1,1,1,191,1,1,1,1765,1776, + 183,1777,1961,48,1979,1980,1981,1543,50,63, + 49,1928,1543,492,1543,1765,1,1759,1151,1092, + 1773,1771,1929,1927,1982,1930,1926,349,68,1933, + 1938,1937,1935,1936,1934,1939,1940,1932,1941,1942, + 1943,129,1281,597,381,1765,1770,1979,1980,1981, + 51,1979,1980,1981,1928,69,1528,1517,1772,1308, + 1140,1528,1517,1528,1517,1929,1927,1982,1930,1926, + 1331,1318,1933,1938,1937,1935,1936,1934,1939,1940, + 1932,1941,1942,1943,1,1776,1554,1777,1434,1769, + 1765,286,1218,1492,1381,1769,1508,557,1765,1020, + 673,578,1778,1779,1780,1781,1028,483,1765,1776, + 1554,1777,1467,1769,1,1991,1168,1492,1381,1218, + 1508,959,66,1020,673,578,1778,1779,1780,1781, + 1028,483,271,268,1768,1422,72,253,1765,1776, + 1768,1777,256,349,349,1,1776,1554,1777,1500, + 29,1765,1067,1765,1492,1381,1771,1508,1768,2775, + 1020,673,578,1778,1779,1780,1781,1028,483,1765, + 1776,1682,1777,1056,1765,1776,1554,1777,1500,1769, + 1460,1770,1,1492,1381,1245,1508,90,29,1020, + 673,578,1778,1779,1780,1781,1028,483,1765,1, + 1,1,1,30,1112,1674,1765,1,1,1765, + 1,1771,90,1,1,1,1,1,1,1, + 1,1,70,622,1768,1765,1776,1554,1777,1500, + 185,2805,417,2805,1492,1381,1770,1508,71,2775, + 1020,673,578,1778,1779,1780,1781,1028,483,2081, + 1,1776,1554,1777,1500,184,2807,56,2807,1492, + 1381,1765,1508,1,2775,1020,673,578,1778,1779, + 1780,1781,1028,483,1765,1776,1554,1777,1500,206, + 2809,55,2809,1492,1381,1765,1508,611,2775,1020, + 673,578,1778,1779,1780,1781,1028,483,1765,1776, + 1554,1777,1500,611,1402,1412,1,1492,1381,1765, + 1508,1771,2023,1020,673,578,1778,1779,1780,1781, + 1028,483,1765,1776,1561,1777,1500,1765,1402,1412, + 1,1492,1381,42,1508,1765,1770,1020,673,578, + 1778,1779,1780,1781,1028,483,1,1776,1554,1777, + 1500,208,1776,1,1777,1492,1381,253,1508,1765, + 1765,1020,673,578,1778,1779,1780,1781,1028,483, + 20,270,1756,1667,1756,1756,179,179,179,2022, + 1765,1756,349,179,248,1765,1776,1765,1777,64, + 1979,1980,1981,896,179,179,179,179,179,1260, + 1756,449,2023,875,854,833,812,791,749,770, + 728,707,686,130,1765,1765,32,249,1196,1979, + 1980,1981,131,1,1,1,1928,1562,1979,1980, + 1981,1791,1792,1765,1765,1928,250,1929,1927,1982, + 1930,1926,1,1,1,132,1929,1927,1982,1930, + 1926,1979,1980,1981,133,1,1762,251,1928,67, + 1979,1980,1981,1979,1980,1981,53,1928,464,1929, + 1927,1982,1930,1926,1765,1308,1140,1765,1929,1927, + 1982,1930,1926,374,1,252,1422,52,980,1771, + 1765,1979,1980,1981,1765,349,1308,1140,222,1775, + 1668,1,292,285,2023,30,1775,207,376,349, + 1,1991,1168,1036,1770,253,1991,1168,207,1172, + 65,1172,1245,1342,1765,1765,1765,220,1170,1132, + 1430,1765,449,189,1794,189,2790,189,349,1346, + 1765,1765,1765,1765,1765,1431,376,185,1765,184, + 1765,206,1765,1765,1354,1765,1765,1765,1765,1765, + 1774,1765,1765,1765,1765,1765,1765,1774 }; }; public final static char termAction[] = TermAction.termAction; @@ -818,16 +818,16 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 442,0,340,0,1650,1660,1644,0,1448,1341, - 1167,1268,1255,1150,1122,0,491,416,395,1537, - 1083,0,606,1212,316,0,1461,1181,1136,670, - 1255,1150,1122,1610,1421,1515,0,1019,672,577, - 1466,1433,1083,610,1111,1244,1217,1330,1317,448, - 1411,1401,1390,1360,544,469,1542,1527,1516,1307, - 1139,1507,1499,1491,1380,1027,482,1091,1055,1035, - 491,999,979,958,937,585,916,556,348,895, - 874,853,832,811,790,769,748,727,706,685, - 316,638,512,416,395,0 + 443,0,341,0,1651,1661,1645,0,1449,1342, + 1168,1269,1256,1151,1123,0,492,417,396,1538, + 1084,0,607,1213,317,0,1462,1182,1137,671, + 1256,1151,1123,1611,1422,1516,0,1020,673,578, + 1467,1434,1084,611,1112,1245,1218,1331,1318,449, + 1412,1402,1391,1361,545,470,1543,1528,1517,1308, + 1140,1508,1500,1492,1381,1028,483,1092,1056,1036, + 492,1000,980,959,938,586,917,557,349,896, + 875,854,833,812,791,770,749,728,707,686, + 317,639,513,417,396,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1053,18 +1053,18 @@ public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 207, NT_OFFSET = 93, - LA_STATE_OFFSET = 2079, + LA_STATE_OFFSET = 2081, MAX_LA = 2, - NUM_RULES = 315, + NUM_RULES = 316, NUM_NONTERMINALS = 126, NUM_SYMBOLS = 219, SEGMENT_SIZE = 8192, - START_STATE = 1665, + START_STATE = 1666, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 80, EOLT_SYMBOL = 80, - ACCEPT_ACTION = 1754, - ERROR_ACTION = 1764; + ACCEPT_ACTION = 1755, + ERROR_ACTION = 1765; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java index eefc6ac8588..835fb2ab217 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/c99/C99SizeofExpressionParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java index fb5dba1fcf4..238e9170c18 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParser.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -1003,985 +1003,937 @@ public CPPExpressionParser(ITokenStream stream, Map<String,String> properties) { // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= char + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 263: simple_type_specifier ::= wchar_t + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // case 263: { action. consumeToken(); break; } // - // Rule 264: simple_type_specifier ::= bool + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 264: { action. consumeToken(); break; - } - - // - // Rule 265: simple_type_specifier ::= short - // - case 265: { action. consumeToken(); break; - } - - // - // Rule 266: simple_type_specifier ::= int - // - case 266: { action. consumeToken(); break; - } - - // - // Rule 267: simple_type_specifier ::= long - // - case 267: { action. consumeToken(); break; - } - - // - // Rule 268: simple_type_specifier ::= signed - // - case 268: { action. consumeToken(); break; - } - - // - // Rule 269: simple_type_specifier ::= unsigned - // - case 269: { action. consumeToken(); break; - } - - // - // Rule 270: simple_type_specifier ::= float - // - case 270: { action. consumeToken(); break; - } - - // - // Rule 271: simple_type_specifier ::= double - // - case 271: { action. consumeToken(); break; + case 277: { action. consumeQualifiedId(false); break; } // - // Rule 272: simple_type_specifier ::= void + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 272: { action. consumeToken(); break; + case 278: { action. consumeQualifiedId(false); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 275: { action. consumeQualifiedId(false); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 276: { action. consumeQualifiedId(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 277: { action. consumeQualifiedId(false); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 278: { action. consumeQualifiedId(true); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 280: { action. consumeTypeSpecifierElaborated(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 281: { action. consumeTypeSpecifierElaborated(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 282: { action. consumeTypeSpecifierElaborated(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } + // Rule 295: enumerator_definition ::= identifier_token // - case 284: { action. consumeTypeSpecifierEnumeration(false); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 285: { action. consumeTypeSpecifierEnumeration(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 291: enumerator_definition ::= identifier_token + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 291: { action. consumeEnumerator(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 292: enumerator_definition ::= identifier_token = constant_expression + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 292: { action. consumeEnumerator(true); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 294: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 294: { action. consumeNamespaceDefinition(true); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 295: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 295: { action. consumeNamespaceDefinition(false); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: typename_opt ::= typename // - case 297: { action. consumeNamespaceAliasDefinition(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 304: typename_opt ::= $Empty // - case 298: { action. consumeUsingDeclaration(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 299: typename_opt ::= typename + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action. consumePlaceHolder(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 300: typename_opt ::= $Empty + // Rule 306: asm_definition ::= asm ( stringlit ) ; // - case 300: { action. consumeEmpty(); break; + case 306: { action. consumeDeclarationASM(); break; } // - // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 307: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 301: { action. consumeUsingDirective(); break; + case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 302: asm_definition ::= asm ( stringlit ) ; + // Rule 308: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 302: { action. consumeDeclarationASM(); break; + case 308: { action. consumeLinkageSpecification(); break; } // - // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 313: init_declarator_complete ::= init_declarator // - case 303: { action. consumeLinkageSpecification(); break; + case 313: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 315: init_declarator ::= complete_declarator initializer // - case 304: { action. consumeLinkageSpecification(); break; + case 315: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 309: init_declarator_complete ::= init_declarator + // Rule 318: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 309: { action. consumeInitDeclaratorComplete(); break; + case 318: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 311: init_declarator ::= complete_declarator initializer + // Rule 320: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 311: { action. consumeDeclaratorWithInitializer(true); break; + case 320: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 324: basic_direct_declarator ::= declarator_id_name // - case 314: { action. consumeDeclaratorWithPointer(true); break; + case 324: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 325: basic_direct_declarator ::= ( declarator ) // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 325: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 320: basic_direct_declarator ::= declarator_id_name + // Rule 326: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 320: { action. consumeDirectDeclaratorIdentifier(); break; + case 326: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 321: basic_direct_declarator ::= ( declarator ) + // Rule 327: array_direct_declarator ::= array_direct_declarator array_modifier // - case 321: { action. consumeDirectDeclaratorBracketed(); break; + case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 328: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 328: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 329: array_modifier ::= [ constant_expression ] // - case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 330: array_modifier ::= [ ] // - case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 330: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 325: array_modifier ::= [ constant_expression ] + // Rule 331: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 325: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 331: { action. consumePointer(); break; } // - // Rule 326: array_modifier ::= [ ] + // Rule 332: ptr_operator ::= pointer_hook & pointer_hook // - case 326: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 332: { action. consumeReferenceOperator(); break; } // - // Rule 327: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 333: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 327: { action. consumePointer(); break; + case 333: { action. consumePointerToMember(); break; } // - // Rule 328: ptr_operator ::= pointer_hook & pointer_hook + // Rule 340: cv_qualifier ::= const // - case 328: { action. consumeReferenceOperator(); break; + case 340: { action. consumeToken(); break; } // - // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 341: cv_qualifier ::= volatile // - case 329: { action. consumePointerToMember(); break; + case 341: { action. consumeToken(); break; } // - // Rule 336: cv_qualifier ::= const + // Rule 343: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 336: { action. consumeToken(); break; + case 343: { action. consumeQualifiedId(false); break; } // - // Rule 337: cv_qualifier ::= volatile + // Rule 344: type_id ::= type_specifier_seq // - case 337: { action. consumeToken(); break; + case 344: { action. consumeTypeId(false); break; } // - // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 345: type_id ::= type_specifier_seq abstract_declarator // - case 339: { action. consumeQualifiedId(false); break; + case 345: { action. consumeTypeId(true); break; } // - // Rule 340: type_id ::= type_specifier_seq + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 340: { action. consumeTypeId(false); break; + case 348: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 341: type_id ::= type_specifier_seq abstract_declarator + // Rule 349: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 341: { action. consumeTypeId(true); break; + case 349: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 353: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 344: { action. consumeDeclaratorWithPointer(false); break; + case 353: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 354: basic_direct_abstract_declarator ::= ( ) // - case 345: { action. consumeDeclaratorWithPointer(true); break; + case 354: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 355: array_direct_abstract_declarator ::= array_modifier // - case 349: { action. consumeDirectDeclaratorBracketed(); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( ) + // Rule 356: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 350: { action. consumeAbstractDeclaratorEmpty(); break; + case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_modifier + // Rule 357: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 357: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 358: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 359: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 359: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 360: { action. consumePlaceHolder(); break; } // - // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 361: { action. consumeEmpty(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 362: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 356: { action. consumePlaceHolder(); break; + case 362: { action. consumePlaceHolder(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 368: abstract_declarator_opt ::= $Empty // - case 357: { action. consumeEmpty(); break; + case 368: { action. consumeEmpty(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 369: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 358: { action. consumePlaceHolder(); break; + case 369: { action. consumeParameterDeclaration(); break; } // - // Rule 364: abstract_declarator_opt ::= $Empty + // Rule 370: parameter_declaration ::= declaration_specifiers // - case 364: { action. consumeEmpty(); break; + case 370: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 372: parameter_init_declarator ::= declarator = parameter_initializer // - case 365: { action. consumeParameterDeclaration(); break; + case 372: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers + // Rule 374: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 374: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 375: parameter_init_declarator ::= = parameter_initializer // - case 368: { action. consumeDeclaratorWithInitializer(true); break; + case 375: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 376: parameter_initializer ::= assignment_expression // - case 370: { action. consumeDeclaratorWithInitializer(true); break; + case 376: { action. consumeInitializer(); break; } // - // Rule 371: parameter_init_declarator ::= = parameter_initializer + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 371: { action. consumeDeclaratorWithInitializer(false); break; + case 377: { action. consumeFunctionDefinition(false); break; } // - // Rule 372: parameter_initializer ::= assignment_expression + // Rule 378: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 372: { action. consumeInitializer(); break; + case 378: { action. consumeFunctionDefinition(true); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 381: initializer ::= ( expression_list ) // - case 373: { action. consumeFunctionDefinition(false); break; + case 381: { action. consumeInitializerConstructor(); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 382: initializer_clause ::= assignment_expression // - case 374: { action. consumeFunctionDefinition(true); break; + case 382: { action. consumeInitializer(); break; } // - // Rule 377: initializer ::= ( expression_list ) + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // - case 377: { action. consumeInitializerConstructor(); break; + case 384: { action. consumeInitializerList(); break; } // - // Rule 378: initializer_clause ::= assignment_expression + // Rule 385: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // - case 378: { action. consumeInitializer(); break; + case 385: { action. consumeInitializerList(); break; } // - // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 386: initializer_list ::= { <openscope-ast> } // - case 380: { action. consumeInitializerList(); break; + case 386: { action. consumeInitializerList(); break; } // - // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 387: start_initializer_list ::= $Empty // - case 381: { action. consumeInitializerList(); break; + case 387: { action. initializerListStart(); break; } // - // Rule 382: initializer_list ::= { <openscope-ast> } + // Rule 388: end_initializer_list ::= $Empty // - case 382: { action. consumeInitializerList(); break; + case 388: { action. initializerListEnd(); break; } // - // Rule 383: start_initializer_list ::= $Empty + // Rule 393: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 383: { action. initializerListStart(); break; + case 393: { action. consumeClassSpecifier(); break; } // - // Rule 384: end_initializer_list ::= $Empty + // Rule 394: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // - case 384: { action. initializerListEnd(); break; + case 394: { action. consumeClassHead(false); break; } // - // Rule 389: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 395: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 389: { action. consumeClassSpecifier(); break; + case 395: { action. consumeClassHead(false); break; } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 390: { action. consumeClassHead(false); break; + case 396: { action. consumeClassHead(true); break; } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 397: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 391: { action. consumeClassHead(false); break; + case 397: { action. consumeClassHead(true); break; } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 401: identifier_name_opt ::= $Empty // - case 392: { action. consumeClassHead(true); break; - } + case 401: { action. consumeEmpty(); break; + } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 405: visibility_label ::= access_specifier_keyword : // - case 393: { action. consumeClassHead(true); break; + case 405: { action. consumeVisibilityLabel(); break; } // - // Rule 397: identifier_name_opt ::= $Empty - // - case 397: { action. consumeEmpty(); break; - } - - // - // Rule 401: visibility_label ::= access_specifier_keyword : + // Rule 406: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 401: { action. consumeVisibilityLabel(); break; + case 406: { action. consumeDeclarationSimple(true); break; } // - // Rule 402: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 407: member_declaration ::= declaration_specifiers_opt ; // - case 402: { action. consumeDeclarationSimple(true); break; + case 407: { action. consumeDeclarationSimple(false); break; } // - // Rule 403: member_declaration ::= declaration_specifiers_opt ; + // Rule 410: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 403: { action. consumeDeclarationSimple(false); break; + case 410: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 406: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 416: member_declaration ::= ERROR_TOKEN // - case 406: { action. consumeMemberDeclarationQualifiedId(); break; + case 416: { action. consumeDeclarationProblem(); break; } // - // Rule 412: member_declaration ::= ERROR_TOKEN + // Rule 425: member_declarator ::= declarator constant_initializer // - case 412: { action. consumeDeclarationProblem(); break; + case 425: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 421: member_declarator ::= declarator constant_initializer + // Rule 426: member_declarator ::= bit_field_declarator : constant_expression // - case 421: { action. consumeMemberDeclaratorWithInitializer(); break; + case 426: { action. consumeBitField(true); break; } // - // Rule 422: member_declarator ::= bit_field_declarator : constant_expression + // Rule 427: member_declarator ::= : constant_expression // - case 422: { action. consumeBitField(true); break; + case 427: { action. consumeBitField(false); break; } // - // Rule 423: member_declarator ::= : constant_expression + // Rule 428: bit_field_declarator ::= identifier_name // - case 423: { action. consumeBitField(false); break; + case 428: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 424: bit_field_declarator ::= identifier_name + // Rule 429: constant_initializer ::= = constant_expression // - case 424: { action. consumeDirectDeclaratorIdentifier(); break; + case 429: { action. consumeInitializer(); break; } // - // Rule 425: constant_initializer ::= = constant_expression + // Rule 435: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 425: { action. consumeInitializer(); break; + case 435: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 431: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 431: { action. consumeBaseSpecifier(false, false); break; + case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 432: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 437: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 432: { action. consumeBaseSpecifier(true, true); break; + case 437: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 433: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 438: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 433: { action. consumeBaseSpecifier(true, true); break; + case 438: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 434: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 439: access_specifier_keyword ::= private // - case 434: { action. consumeBaseSpecifier(true, false); break; + case 439: { action. consumeToken(); break; } // - // Rule 435: access_specifier_keyword ::= private + // Rule 440: access_specifier_keyword ::= protected // - case 435: { action. consumeToken(); break; + case 440: { action. consumeToken(); break; } // - // Rule 436: access_specifier_keyword ::= protected + // Rule 441: access_specifier_keyword ::= public // - case 436: { action. consumeToken(); break; + case 441: { action. consumeToken(); break; } // - // Rule 437: access_specifier_keyword ::= public + // Rule 443: access_specifier_keyword_opt ::= $Empty // - case 437: { action. consumeToken(); break; + case 443: { action. consumeEmpty(); break; } // - // Rule 439: access_specifier_keyword_opt ::= $Empty + // Rule 445: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 439: { action. consumeEmpty(); break; + case 445: { action. consumeTemplateId(); break; } // - // Rule 441: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 446: conversion_function_id ::= operator conversion_type_id // - case 441: { action. consumeTemplateId(); break; + case 446: { action. consumeConversionName(); break; } // - // Rule 442: conversion_function_id ::= operator conversion_type_id + // Rule 447: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 442: { action. consumeConversionName(); break; + case 447: { action. consumeTypeId(true); break; } // - // Rule 443: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 448: conversion_type_id ::= type_specifier_seq // - case 443: { action. consumeTypeId(true); break; + case 448: { action. consumeTypeId(false); break; } // - // Rule 444: conversion_type_id ::= type_specifier_seq + // Rule 449: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 444: { action. consumeTypeId(false); break; + case 449: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 445: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 455: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 445: { action. consumeDeclaratorWithPointer(false); break; + case 455: { action. consumeConstructorChainInitializer(); break; } // - // Rule 451: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 456: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 451: { action. consumeConstructorChainInitializer(); break; + case 456: { action. consumeQualifiedId(false); break; } // - // Rule 452: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 459: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 452: { action. consumeQualifiedId(false); break; + case 459: { action. consumeTemplateId(); break; } // - // Rule 455: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 460: operator_id_name ::= operator overloadable_operator // - case 455: { action. consumeTemplateId(); break; + case 460: { action. consumeOperatorName(); break; } // - // Rule 456: operator_id_name ::= operator overloadable_operator + // Rule 503: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 456: { action. consumeOperatorName(); break; + case 503: { action. consumeTemplateDeclaration(); break; } // - // Rule 499: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 504: export_opt ::= export // - case 499: { action. consumeTemplateDeclaration(); break; + case 504: { action. consumePlaceHolder(); break; } // - // Rule 500: export_opt ::= export + // Rule 505: export_opt ::= $Empty // - case 500: { action. consumePlaceHolder(); break; + case 505: { action. consumeEmpty(); break; } // - // Rule 501: export_opt ::= $Empty + // Rule 509: template_parameter ::= parameter_declaration // - case 501: { action. consumeEmpty(); break; + case 509: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 505: template_parameter ::= parameter_declaration + // Rule 510: type_parameter ::= class identifier_name_opt // - case 505: { action. consumeTemplateParamterDeclaration(); break; + case 510: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 506: type_parameter ::= class identifier_name_opt + // Rule 511: type_parameter ::= class identifier_name_opt = type_id // - case 506: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 507: type_parameter ::= class identifier_name_opt = type_id + // Rule 512: type_parameter ::= typename identifier_name_opt // - case 507: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 508: type_parameter ::= typename identifier_name_opt + // Rule 513: type_parameter ::= typename identifier_name_opt = type_id // - case 508: { action. consumeSimpleTypeTemplateParameter(false); break; + case 513: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 509: type_parameter ::= typename identifier_name_opt = type_id + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 509: { action. consumeSimpleTypeTemplateParameter(true); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 515: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 510: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 515: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 516: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 511: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 516: { action. consumeTemplateId(); break; } // - // Rule 512: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 521: template_argument ::= assignment_expression // - case 512: { action. consumeTemplateId(); break; + case 521: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 517: template_argument ::= assignment_expression + // Rule 522: template_argument ::= type_id // - case 517: { action. consumeTemplateArgumentExpression(); break; + case 522: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 518: template_argument ::= type_id + // Rule 523: explicit_instantiation ::= template declaration // - case 518: { action. consumeTemplateArgumentTypeId(); break; + case 523: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 519: explicit_instantiation ::= template declaration + // Rule 524: explicit_specialization ::= template < > declaration // - case 519: { action. consumeTemplateExplicitInstantiation(); break; + case 524: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 520: explicit_specialization ::= template < > declaration + // Rule 525: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 520: { action. consumeTemplateExplicitSpecialization(); break; + case 525: { action. consumeStatementTryBlock(true); break; } // - // Rule 521: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 526: try_block ::= try compound_statement // - case 521: { action. consumeStatementTryBlock(); break; + case 526: { action. consumeStatementTryBlock(false); break; } // - // Rule 524: handler ::= catch ( exception_declaration ) compound_statement + // Rule 529: handler ::= catch ( exception_declaration ) compound_statement // - case 524: { action. consumeStatementCatchHandler(false); break; + case 529: { action. consumeStatementCatchHandler(false); break; } // - // Rule 525: handler ::= catch ( ... ) compound_statement + // Rule 530: handler ::= catch ( ... ) compound_statement // - case 525: { action. consumeStatementCatchHandler(true); break; + case 530: { action. consumeStatementCatchHandler(true); break; } // - // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 526: { action. consumeDeclarationSimple(true); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 532: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 527: { action. consumeDeclarationSimple(true); break; + case 532: { action. consumeDeclarationSimple(true); break; } // - // Rule 528: exception_declaration ::= type_specifier_seq + // Rule 533: exception_declaration ::= type_specifier_seq // - case 528: { action. consumeDeclarationSimple(false); break; + case 533: { action. consumeDeclarationSimple(false); break; } // - // Rule 530: exception_specification ::= throw ( ) + // Rule 535: exception_specification ::= throw ( ) // - case 530: { action. consumePlaceHolder(); break; + case 535: { action. consumePlaceHolder(); break; } // - // Rule 536: expression_parser_start ::= ERROR_TOKEN + // Rule 541: expression_parser_start ::= ERROR_TOKEN // - case 536: { action. consumeEmpty(); break; + case 541: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java index c43c13c0990..da47ac3a6a7 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParserprs.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -56,473 +56,486 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 0,5,7,8,1,1,2,2,3,2, - 3,1,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,1,0,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, + 0,5,7,2,8,1,1,2,2,3, + 2,3,1,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,1,0, + 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,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3,4,4,5,2,5, - 6,5,0,6,7,0,1,3,1,0, - 1,3,1,7,6,0,7,6,1,0, - 6,5,6,4,1,3,1,0,1,1, - 2,1,1,3,1,3,1,1,1,1, - 3,9,2,2,3,2,5,3,7,0, - 1,2,2,1,0,1,1,1,3,1, - 2,1,1,2,3,1,1,1,3,2, - 1,2,2,9,8,2,1,3,1,3, - 1,0,1,0,2,1,1,3,1,3, - 2,1,5,8,1,2,3,1,1,7, - 6,3,0,0,1,3,1,1,5,6, - 6,7,7,0,0,1,0,1,1,1, - 2,4,2,2,1,5,1,1,1,1, - 1,1,1,2,1,0,1,3,1,1, - 2,3,2,1,2,2,1,0,1,3, - 3,5,5,4,1,1,1,1,0,1, - 5,2,2,1,2,2,1,0,1,3, - 4,3,1,1,5,2,1,1,3,3, + 1,1,1,1,1,1,3,4,4,5, + 2,5,6,5,0,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 7,6,1,0,6,5,6,4,1,3, + 1,0,1,1,2,1,1,3,1,3, + 1,1,1,1,3,9,2,2,3,2, + 5,3,7,0,1,2,2,1,0,1, + 1,1,3,1,2,1,1,2,3,1, + 1,1,3,2,1,2,2,9,8,2, + 1,3,1,3,1,0,1,0,2,1, + 1,3,1,3,2,1,5,8,1,2, + 3,1,1,7,6,3,0,0,1,3, + 1,1,5,6,6,7,7,0,0,1, + 0,1,1,1,2,4,2,2,1,5, + 1,1,1,1,1,1,1,2,1,0, + 1,3,1,1,2,3,2,1,2,2, + 1,0,1,3,3,5,5,4,1,1, + 1,1,0,1,5,2,2,1,2,2, + 1,0,1,3,4,3,1,1,5,2, + 1,1,3,3,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2,2,7,1, - 0,1,3,1,1,2,4,2,4,7, - 9,5,1,3,1,0,1,1,2,4, - 4,1,2,5,5,3,3,1,4,3, - 1,0,1,3,1,1,-62,0,0,0, - -2,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-4,0, - 0,0,0,0,0,-221,0,0,-5,0, - 0,0,0,0,-6,-222,0,0,-179,0, - 0,-283,0,0,0,0,0,0,0,0, - 0,0,0,0,-58,0,0,0,0,-54, - -308,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-209,0,0,0,-358, - 0,0,0,0,0,-189,0,-16,0,0, - 0,0,0,0,0,0,0,0,-124,-465, - 0,0,0,0,0,0,-274,0,0,0, - -59,0,0,0,0,0,0,0,0,0, - 0,0,-7,0,0,-51,0,0,0,0, - -8,-257,0,0,0,0,0,0,0,-469, - 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,0,0,0,0,0,0,-226,0, - 0,0,0,-61,0,0,0,0,-223,0, - 0,-127,0,0,0,0,0,-120,0,0, - -128,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,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-142,0,0, - 0,0,0,-240,0,0,-536,0,0,0, - 0,-71,0,0,0,-137,0,0,0,0, - 0,0,0,0,0,0,0,0,-289,-244, - 0,0,0,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, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-138,-113,0,0,0,-119, - -64,0,-178,0,0,0,0,0,-9,0, - 0,0,-220,0,0,0,0,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,-302,0,-146,0,0,0, - 0,-10,0,0,-49,-230,0,0,0,0, - 0,0,-225,0,0,0,0,0,-387,0, - 0,-72,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-513,0,0,0,0,0,0, + 2,2,7,1,0,1,3,1,1,2, + 4,2,4,7,9,5,1,3,1,0, + 1,1,2,4,4,2,1,2,5,5, + 3,3,1,4,3,1,0,1,3,1, + 1,-62,0,0,0,-2,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,-362,0,-243,0,0, - 0,0,-53,0,0,0,-537,0,0,0, - -12,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-13,0, + 0,0,0,0,-4,0,0,0,0,0, + 0,-384,0,0,-5,0,0,0,0,0, + -6,-408,0,0,-243,0,-283,0,0,0, + 0,0,0,0,0,0,0,0,0,-442, + -466,0,-113,0,0,-308,0,0,0,0, + 0,0,0,0,0,0,0,0,-64,0, + -293,0,0,-58,0,0,0,0,0,0, + -189,0,0,-16,0,0,0,0,0,0, + 0,0,0,0,-54,0,0,0,0,0, + 0,0,-179,0,0,0,-330,0,0,0, + 0,0,0,0,-53,0,0,0,0,0, + 0,-334,0,0,-65,-273,0,0,0,0, + 0,0,0,-127,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, - -206,0,0,0,0,0,0,0,0,-389, - 0,-135,0,0,0,-301,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-395,0,0,0,0, - 0,0,0,-332,0,0,0,0,0,0, + -10,0,0,0,0,0,0,0,-119,0, + 0,0,-178,0,0,0,0,-128,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,-15,0,0,0,0, - 0,0,-349,0,0,-28,0,0,0,0, - 0,0,0,0,0,0,0,0,-74,0, - 0,0,0,-298,-122,-444,0,0,0,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,0,0,0, - 0,0,0,0,0,0,0,0,0,-417, - 0,0,0,0,0,0,0,0,-3,0, + 0,0,-142,0,0,0,0,0,0,-71, + 0,0,0,-349,0,0,0,0,0,0, + 0,0,-289,-244,0,0,0,0,0,-259, + 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,0,0,0, - -264,0,0,0,0,0,0,0,0,0, - -339,0,-50,0,0,0,0,-60,0,0, - -277,0,0,0,-29,0,0,0,0,0, + 0,0,0,0,0,0,-129,0,0,0, + 0,0,-148,0,0,0,-274,0,0,0, + -117,-188,0,-190,0,0,0,0,0,0, + -220,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,0,0,-312,0,0,0,-313,-259, - 0,0,0,0,0,-320,0,0,0,-478, 0,0,0,0,0,0,0,0,0,0, + -120,0,0,-302,0,-7,0,0,0,-51, + 0,0,0,0,-359,0,0,-59,0,0, + -416,0,0,0,0,0,0,-424,0,0, + -72,0,0,0,-8,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,0,0,0,0,-538,0,0, + 0,-515,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -293,0,0,0,-321,0,0,0,-30,0, + 0,0,0,0,-9,0,0,0,0,0, + 0,0,0,0,-363,0,0,0,0,0, + 0,0,0,0,0,-539,0,0,0,-137, 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,0, + -206,0,0,0,0,0,0,0,0,-391, + -135,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,-344,0, - 0,0,0,0,0,0,0,0,-188,-39, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-471,0,0,0,0,0,0, + 0,0,-412,-332,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-31,0, - 0,-528,0,0,0,0,0,0,0,0, - 0,-41,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, - -190,0,0,0,0,0,0,0,0,-377, - 0,0,0,-94,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-32,0,0,0,0, - 0,0,0,0,0,-33,0,-57,0,0, - 0,0,-107,0,0,-95,0,0,0,-34, - 0,0,0,0,0,0,0,0,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,-108,0,0,-96,0,0, - 0,-35,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,-529, - 0,-200,0,0,0,0,-356,0,0,-97, - 0,0,0,-392,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-37,0,0,0,0,0,0,0,0, - 0,0,0,-205,0,0,0,0,0,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,-226,0, + 0,0,0,0,0,0,0,-230,-74,0, + 0,0,0,-454,-257,-446,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-114,0,-231,0,0,0,0, - -149,0,0,-99,0,0,0,-38,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-129,0,-256,0,0, - 0,0,-153,0,0,-100,0,0,0,-40, + 0,0,0,0,0,0,0,0,0,-3, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-55,0,0, - 0,0,0,0,0,0,0,-130,0,-269, - 0,0,0,0,-418,0,0,-101,0,0, - 0,-56,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-422, - 0,0,0,0,0,0,0,0,0,-144, - 0,-270,0,0,0,0,-475,0,0,-102, - 0,0,0,-66,0,0,0,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,0,-272,0,0,0,0,-67,0, - 0,-103,0,0,0,-69,0,0,0,0, + 0,0,-15,0,-397,0,0,0,0,-316, + 0,0,-347,0,0,0,0,0,0,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,-276,0,0,0,0, - -499,0,0,-104,0,0,0,-70,0,0, + 0,0,0,0,0,-221,0,0,0,0, + 0,-28,-130,0,0,0,-277,0,0,0, + -29,0,0,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,-31, + 0,-183,0,0,0,0,0,0,0,-147, + 0,0,0,0,-222,0,0,0,0,0, + -419,-320,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-196,0,-288,0,0, - 0,0,-109,0,0,-213,0,0,0,-110, + 0,0,0,0,-299,0,-32,0,0,0, + 0,-144,0,0,0,-18,0,0,0,-344, + -321,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-498,0,0,-111,0,-305, - 0,0,0,0,0,0,0,-531,0,0, - 0,-112,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-299, - 0,0,0,0,0,0,0,0,0,-207, - 0,-280,0,0,0,-346,-235,0,0,-347, - 0,0,0,-333,0,0,0,0,0,0, + 0,0,0,-33,0,-154,0,0,0,0, + 0,0,0,-39,0,0,0,0,0,0, 0,0,0,0,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,-542,0,0,0,0,0,-357,0,0, + 0,0,0,0,0,0,0,-41,0,0, + 0,-301,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-132, + -34,0,0,0,0,0,0,0,0,0, + -379,0,-49,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,0, - 0,-306,0,0,0,0,0,0,-533,0, - -281,-366,0,-121,0,-381,0,0,0,0, + 0,0,0,-223,0,0,0,0,0,0, + 0,0,0,0,0,-50,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,0,0,0,0,-35,0,0,0, + 0,0,0,0,0,0,-407,0,-57,0, + 0,0,0,-60,0,0,-96,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,-382,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-298, 0,0,0,0,0,0,0,0,0,0, + 0,-186,0,0,0,0,0,0,0,-97, 0,0,0,0,0,0,0,0,0,0, - 0,0,-386,0,0,0,0,0,0,0, - 0,-234,0,0,0,-404,-202,-140,0,0, - 0,-455,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -334,0,0,0,0,-364,0,0,0,-106, + 0,0,-500,0,-36,0,0,0,-196,-107, + 0,0,-98,0,0,0,-339,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-37,0,0,0,0, + 0,0,0,0,0,-530,0,-200,0,0, + 0,0,-108,0,0,-99,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,-421,0,-141,0,-147,0,0,0,-464, - 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,0, - 0,0,0,0,0,0,0,0,0,-374, - 0,-91,0,0,0,-242,0,0,0,0, + 0,0,0,0,-38,-138,0,0,-100,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -267,0,0,-92,0,0,0,0,0,0, + 0,-480,0,0,0,0,0,0,0,0, + 0,-531,0,-205,0,0,0,0,0,0, + 0,-101,0,0,0,-40,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-354,0,-88,0,0,0,-155,0, + 0,0,0,0,0,0,-231,0,0,0, + 0,-114,0,0,-102,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-156,0,0,0, - 0,0,0,-396,0,0,0,0,0,0, - 0,0,0,0,0,0,-89,0,0,0, - -157,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-158,0, - 0,0,0,0,-148,-468,0,0,-150,0, + 0,0,0,0,0,0,0,-55,0,0, + 0,0,0,0,0,0,0,-149,0,-256, + 0,0,0,0,-153,0,0,-103,0,0, + 0,-375,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-337,0, - 0,0,-268,-512,0,0,0,0,0,0, - 0,0,-211,0,0,0,-159,-90,0,0, 0,0,0,0,0,0,0,0,0,0, + -198,0,-269,0,0,0,0,-280,0,0, + -104,0,0,0,-56,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-160,0,-161,-233,0, - 0,-241,0,0,0,0,0,0,-237,0, 0,0,0,0,0,0,0,0,0,0, - 0,-247,0,0,0,-152,0,0,0,0, - 0,0,0,0,0,0,0,0,-249,-162, - 0,-248,0,0,0,-307,0,0,0,0, + -378,0,0,-207,0,-270,0,0,0,0, + -514,0,0,-213,0,0,0,-66,0,0, 0,0,0,0,0,0,0,0,0,0, - -355,0,0,0,0,0,-250,0,0,0, - 0,0,0,-43,-310,0,-482,0,0,-376, 0,0,0,0,0,0,0,0,0,0, - -414,0,0,0,0,0,-163,-164,0,0, + 0,0,0,0,0,0,-235,0,-272,0, + 0,0,0,-242,0,0,-533,0,0,0, + -227,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -275,0,0,0,0,-379,0,0,0,-165, - 0,0,-443,-212,0,-166,0,-167,0,-82, 0,0,0,0,0,0,0,0,0,0, + 0,-276,0,0,0,0,-249,0,0,-358, + 0,0,0,-333,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-83,0,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,-187,0,0,0,0,0,-19, + 0,0,-67,0,-69,0,0,0,-382,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,-169,-271,0,0,0,-287,0, - 0,0,-314,0,0,0,0,0,0,-251, - -84,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-225,0,0, + 0,-437,0,0,0,0,-383,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-85,0,0, + 0,0,0,0,0,0,0,0,0,-346, + 0,0,0,0,0,0,0,0,0,-367, + 0,-109,0,0,0,-457,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-433,0,0,0,0,0, - -402,0,0,-406,-239,-252,-440,0,0,-14, - 0,-286,-300,0,-319,-170,0,-171,-311,-434, - 0,0,0,0,0,-322,0,-172,0,0, - -17,0,0,0,0,-173,0,0,0,-245, - 0,0,0,0,0,0,0,0,0,-453, - 0,0,0,0,0,-435,0,0,0,0, + 0,0,0,0,0,-305,0,0,0,0, + 0,0,0,0,-234,0,0,0,-439,0, + 0,0,-110,-106,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-261,0,0,0,0,0,0,-52, - 0,0,0,-174,0,0,-328,0,0,0, - 0,0,0,0,-324,0,0,0,-175,0, + 0,0,0,0,0,0,-406,0,0,0, + 0,0,0,0,0,0,-288,0,-267,0, + 0,-202,-93,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -335,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-530,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,-357,0,0,-111,0,-91,0,0, + 0,-250,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-176,0,0,0,-143,0,0, - 0,-383,-177,0,0,0,0,0,-18,0, - 0,0,-296,0,0,0,-180,0,0,0, - 0,0,-181,0,0,0,0,0,0,0, - 0,0,-182,0,0,0,-373,0,0,0, - 0,0,0,-185,0,0,0,0,0,-525, - 0,0,0,0,0,-193,0,0,0,0, - 0,0,-87,0,0,0,0,0,0,0, + -251,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,0,0,0,0, - 0,0,0,0,-194,0,0,0,-327,0, - 0,0,-197,0,0,0,0,0,0,0, - 0,-77,0,0,0,-526,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-208,0,0,-218,-151,0,0, - 0,-229,0,0,0,-297,-219,0,0,-338, - -44,-136,-228,0,0,0,0,0,0,0, - -236,0,0,-238,-462,-375,-118,0,0,0, - 0,0,0,0,-427,0,-246,0,0,0, - 0,0,0,0,0,0,0,0,-255,0, - 0,0,0,0,0,0,0,-341,0,-325, - -48,0,0,0,0,0,0,-448,0,0, - 0,0,0,-260,0,0,0,0,0,-485, - 0,-343,-399,0,-363,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-273, - 0,0,0,0,0,0,-262,-263,0,-330, - 0,0,0,0,0,-42,0,0,0,0, - -360,0,-278,0,0,0,0,0,-279,0, - 0,0,0,0,-487,0,-359,0,0,-105, - 0,-412,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-413, - 0,-285,-390,0,0,0,0,0,0,0, - 0,-290,0,0,-294,-45,0,-295,0,0, - 0,0,0,0,0,0,0,0,0,-504, - 0,-449,-368,0,0,0,0,0,0,-303, - 0,-304,0,0,0,0,0,0,0,0, - -391,0,-416,0,0,-424,0,-1,0,0, - 0,0,-336,0,0,0,-446,0,0,-224, - 0,0,-457,0,0,0,0,0,-309,0, - 0,0,0,0,-518,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-420,0,-315,0,0, - 0,-317,-318,0,-425,0,0,0,-329,0, - 0,-429,0,0,0,0,0,-348,-410,-350, - 0,0,0,0,0,0,0,0,0,-520, - 0,-432,-369,0,-466,0,0,0,0,0, - 0,-470,0,0,0,0,0,0,0,0, - 0,0,-473,0,0,-403,0,0,0,0, - -372,-385,-192,0,0,0,-397,0,0,-398, - -123,0,0,0,-361,0,0,0,-400,0, - 0,0,0,0,0,0,-232,0,0,0, - -282,0,0,0,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,-401, - 0,0,0,0,0,-323,0,0,0,0, - 0,-524,0,0,0,0,0,-214,-474,-407, - -195,0,0,0,-477,0,0,0,0,0, - -409,0,0,0,-467,0,0,0,0,0, - 0,0,-415,0,0,0,0,0,0,0, - 0,0,0,0,-476,-505,0,0,0,0, - 0,0,0,0,0,0,0,0,-117,0, - -488,-199,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-342,0, - 0,0,0,0,-489,0,-539,-423,0,0, - 0,0,-514,0,0,-183,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-480, - 0,-507,0,0,-125,0,0,-430,-431,0, - 0,0,0,0,0,0,-46,-454,0,0, + 0,0,-88,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-544,0,0,0,0,0,0,0,0, - 0,-456,0,0,0,0,0,0,0,0, - 0,0,-458,0,0,0,0,-479,0,0, - 0,0,-437,0,0,0,0,-459,-460,0, - 0,0,-493,0,-461,0,-496,0,0,0, - 0,0,0,0,0,0,-463,0,0,0, - 0,0,-481,-483,-500,-484,0,0,0,0, - 0,0,0,0,0,0,-78,0,0,0, + 0,0,0,0,0,-388,0,0,0,0, + 0,0,-89,0,0,0,-112,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-486,0, - 0,-79,0,0,0,-491,0,0,0,0, + 0,0,0,0,0,-132,0,0,0,0, + 0,-90,0,0,0,-139,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-495,0,-80,0,0,0,0, + 0,0,0,0,-140,0,0,0,0,0, + -398,0,0,0,0,0,0,0,0,0, + 0,0,0,-82,0,0,0,-141,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-502,0,-81, - 0,0,0,-510,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-519,0,-380,0,0,0,0,0,0, - 0,0,0,0,0,0,-527,-445,0,0, + 0,-105,-233,0,0,0,-150,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -20,0,0,0,-494,0,0,0,0,0, + 0,0,0,-281,0,0,-337,0,0,0, + -268,0,0,0,0,0,0,0,-380,0, + 0,0,-155,0,-252,-83,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-471,0,0,0,-509,-517,-532,-543, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-241,0,0,0,0,-473,0, + 0,0,-156,0,0,0,-540,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-511,0,0,0,0,0,-21, + -212,0,-377,0,0,0,-157,0,0,0, + 0,0,0,0,-286,-84,0,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,0,0,0,0,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,-472,0,0,0,-501,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,0,0,-515,0,0,0,0, - 0,-24,0,0,0,0,0,0,0,0, + 0,-237,0,0,0,0,0,0,0,0, + 0,0,0,0,-124,-143,0,0,0,-271, + 0,0,-307,0,0,0,0,0,0,0, + 0,0,0,0,0,-423,-192,0,0,0, + 0,0,0,-300,-52,0,0,0,-245,0, + 0,-470,0,-47,0,0,0,0,0,0, + 0,0,0,0,-158,0,0,-296,-240,0, + 0,0,0,0,0,-159,-467,0,0,0, + 0,0,0,0,0,0,0,0,0,-247, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-25,0,0,0,0,0,0, + 0,0,-248,0,0,0,0,0,-61,0, + -160,0,0,-161,0,0,0,-345,0,0, + 0,-162,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-356,-297,-20,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, - 0,0,0,0,0,0,0,-27,0,0, + 0,0,0,0,0,-315,0,0,0,0, + -163,-211,0,0,0,0,0,0,0,0, + -164,0,0,-165,0,-312,0,0,0,0, + 0,0,0,0,0,0,0,0,-166,0, + 0,0,0,0,-167,0,0,-325,0,-86, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-63, 0,0,0,0,0,0,0,0,0,0, + 0,0,-168,0,0,0,-87,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,0,0,0,-435, + 0,0,0,0,-152,0,0,0,0,0, + 0,0,0,0,0,0,0,-275,0,0, + 0,-365,0,-169,-170,0,0,-146,-292,0, + 0,0,-306,0,0,0,0,-455,0,0, + -310,0,0,-313,0,-445,0,0,0,0, + 0,0,0,0,0,-171,0,0,-353,-239, + 0,0,0,0,-324,-172,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-361, + 0,-173,0,0,0,0,0,0,0,0, + 0,0,0,-390,0,-311,-436,0,0,0, + -174,0,0,0,0,0,0,0,0,0, + 0,0,0,-532,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,-76,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, + 0,0,0,0,-387,-261,0,0,-145,0, + -175,0,0,0,0,0,-322,0,0,0, + 0,0,-176,0,0,0,-121,0,0,-484, + 0,0,-177,0,0,0,-404,0,0,0, + 0,-327,0,0,0,-180,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,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,-367, - -516,-535,-540,0,-521,-534,0,0,-394,-73, - -541,0,0,0,0,-253,0,0,-442,0, - 0,0,0,0,0,0,-134,-365,0,0, - 0,0,0,0,0,-145,0,0,0,0, + 0,0,-364,0,0,-118,-17,-181,-328,0, + 0,0,0,-182,-151,0,0,0,0,0, + 0,0,0,0,-185,0,0,-464,0,0, + -193,0,0,0,0,0,0,0,0,0, + 0,-394,-187,0,0,0,0,0,-194,0, + 0,-197,0,0,0,0,0,0,0,0, + -335,0,0,0,0,-487,0,0,0,0, + 0,-448,0,-527,0,0,0,0,0,0, + 0,0,0,-208,0,-338,0,0,0,0, + -354,0,0,0,0,0,0,0,0,0, + 0,0,0,-489,0,0,0,0,0,0, + 0,-341,0,0,0,0,0,0,0,0, + 0,-14,0,-218,-219,0,0,-323,0,0, + 0,-228,0,0,0,0,0,0,0,0, + 0,-506,0,0,0,0,0,-236,-401,0, + 0,0,0,0,0,0,0,0,0,-343, + 0,-214,0,0,0,0,-238,0,-246,-420, + 0,0,0,0,0,0,0,0,0,-520, + 0,0,-360,0,0,0,0,-392,0,0, + 0,0,0,0,0,0,0,-255,0,0, + 0,0,0,-260,-262,-374,0,0,0,0, + 0,0,0,0,0,0,0,-522,0,0, + 0,0,0,-459,0,-369,0,0,0,0, + 0,0,0,0,0,-505,0,0,-263,0, + 0,-209,0,0,0,-278,0,0,0,0, + 0,0,0,0,0,-279,0,0,0,-285, + 0,-290,0,0,0,0,0,-319,0,0, + 0,0,0,-294,0,-295,0,-229,0,0, + 0,0,0,-426,0,0,0,0,0,0, + 0,0,0,-524,0,0,0,0,0,0, + 0,0,0,0,0,0,-136,-303,0,-393, + 0,-1,0,0,-429,0,0,0,0,0, + -526,0,0,-123,0,-468,-134,0,-418,-376, + 0,0,0,0,-422,0,-431,0,0,0, + 0,0,-125,0,-474,0,0,0,-304,0, + 0,0,0,0,0,0,-414,0,0,0, + 0,0,-336,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-415,0, + -362,-469,0,0,-541,0,0,0,0,0, + 0,0,0,0,0,0,-309,-427,0,0, + 0,0,0,-317,0,0,0,0,-434,0, + 0,0,0,-318,0,0,0,0,0,0, + 0,-329,-340,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-546,0,-348,0,0,0,0,-482, + -472,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-476,0,-350,-370,0,0, + 0,0,0,0,0,0,0,0,0,0, + -479,0,0,0,0,0,-373,0,0,0, + 0,0,-386,0,0,0,0,0,-477,0, + 0,0,0,0,0,0,0,0,-475,0, + -399,0,0,0,0,0,0,0,-79,0, + 0,0,-400,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-80,0,0,0,-402,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-81,0, + 0,0,-403,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-409,0,-21,0,0,0,-411,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-22,0,0,0, + -417,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-23, + 0,0,0,-425,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-24,0,0,0,-432,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-25,0,0,0,-433, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-26,0, + 0,0,-456,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-27,0,0,0,-458,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-63,0,0,0,-460,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-75,0,0, + 0,-461,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -76,0,0,0,-462,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-133,0,0,0,-463,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-203,0,0,0, + -538,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-381, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-501,-447,0,0,0,0,0,0, + 0,0,0,0,0,0,-19,0,0,0, + -495,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-368,-478, + -465,-215,0,-48,-73,0,-528,0,0,0, + 0,0,-396,0,0,-483,0,-485,-216,0, + -486,0,0,0,0,0,0,0,0,-496, + 0,0,0,0,0,0,-503,-544,-498,-253, + 0,0,0,0,-488,0,0,0,0,0, + 0,0,0,0,-287,0,0,0,0,0, + 0,0,-523,0,0,0,0,0,0,0, + -232,0,0,0,0,0,0,0,0,0, + -502,0,0,0,0,-444,0,0,0,0, + 0,0,0,0,0,0,0,0,-507,0, + 0,0,-493,-43,-366,0,-44,0,0,-536, + 0,0,-509,0,0,0,0,0,0,-511, + -217,-497,-543,0,0,0,0,0,0,0, + -504,0,0,0,0,0,0,0,0,0, + 0,-126,0,0,0,0,0,-519,0,0, + 0,0,0,-512,0,0,-405,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-521,-385,0,0,0,0,0,0,0, + 0,0,0,0,0,-508,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-529, + 0,0,0,0,0,-265,0,0,0,0, + 0,0,0,0,0,0,0,0,-534,-199, + -513,-517,0,0,0,-284,-545,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -518,-537,0,0,0,0,0,0,-371,0, + 0,-355,0,0,0,0,0,0,0,0, + 0,0,0,0,-395,0,0,0,0,0, + 0,0,0,0,0,0,-254,-331,0,0, + 0,0,0,0,0,0,0,0,-314,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-542,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -421,0,0,0,0,0,-492,0,0,0, + 0,0,0,0,0,0,-430,0,0,0, + 0,0,0,0,0,0,-291,-326,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-503,0,0,-254,0, - 0,0,0,0,0,0,-441,0,0,0, - 0,0,0,-292,0,0,0,0,0,0, - 0,0,0,-345,0,0,0,0,0,0, - 0,0,0,0,0,0,-384,0,0,0, - 0,0,0,0,0,0,0,0,0,-506, + 0,0,0,0,0,0,0,-438,0,0, + 0,0,-443,0,0,0,0,0,0,0, + 0,0,0,0,-450,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-516,0, + 0,0,0,-195,0,0,0,0,0,0, + 0,0,-372,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-224,0, + 0,0,0,0,-266,0,0,0,0,0, + 0,0,0,0,0,-282,0,0,0,0, + 0,0,0,0,-481,0,0,0,0,0, + 0,0,0,0,0,0,-342,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,-47,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-490,-492, - -340,-378,0,0,0,0,0,-265,0,0, + 0,0,0,0,0,0,-351,0,0,0, + -389,0,0,0,0,0,0,0,0,0, + 0,-410,0,0,0,0,0,0,-413,0, + 0,0,0,0,0,0,-428,0,0,0, + 0,0,0,0,0,0,0,0,-525,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,-441,0,0,0,0,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,-510,0,0,0,0,0, + 0,0,-42,0,0,0,0,0,0,0, + 0,0,-451,0,-68,-45,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-352,0,0,0,0,0,0,0,-184, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-370,0,0,0,0, - 0,-284,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-184,0, - 0,0,0,0,0,0,-351,0,0,0, - 0,0,0,0,-393,-331,0,0,0,0, + 0,0,-191,0,0,0,-201,0,0,0, + 0,0,0,-210,0,0,0,-258,0,0, + 0,-46,0,0,0,0,-490,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 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,0,0,-491, + -494,0,0,0,0,-204,0,0,0,0, + 0,0,0,0,-452,0,0,0,0,0, + -453,0,0,0,0,0,0,-499,0,0, + 0,0,-535,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -215,0,0,-428,0,0,0,0,0,-436, 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, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-371,0, 0,0,0,0,0,0,0,0,0,0, - 0,-388,0,0,0,0,0,0,0,0, - 0,0,0,0,-326,0,0,0,0,0, - 0,-408,0,0,0,-411,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-216,0,0,0,0,0,0,0, - -426,0,0,0,0,0,-352,0,0,0, - 0,0,-217,0,0,0,0,0,0,0, - -204,0,0,0,0,0,0,0,0,-405, - 0,0,0,0,0,0,-438,0,0,0, - 0,0,0,0,0,0,0,-439,0,0, - 0,0,0,0,0,0,0,0,-447,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-508,0, - 0,0,0,-68,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-191,0, - 0,0,0,0,-450,0,0,0,0,0, - 0,0,0,0,-201,0,0,0,0,-210, - 0,0,0,-451,0,-497,0,0,0,0, - 0,0,0,-258,0,0,0,0,0,0, - 0,0,0,0,0,0,-291,0,0,0, - 0,0,-523,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -531,7 +544,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 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; @@ -541,538 +554,551 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface BaseAction { public final static char baseAction[] = { - 174,4,136,81,81,32,32,67,67,38, - 38,42,42,200,1,1,15,15,15,15, - 15,15,15,16,16,16,14,11,11,6, - 6,6,6,6,6,2,65,65,5,5, - 12,12,44,44,137,137,138,57,57,43, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17, - 139,139,139,113,113,18,18,18,18,18, - 18,18,18,18,18,18,18,18,19,19, - 175,175,176,176,177,142,142,143,143,140, - 140,144,141,141,20,20,21,21,23,23, - 23,24,24,24,24,25,25,25,26,26, - 26,27,27,27,27,27,28,28,28,30, - 30,31,31,33,33,35,35,36,36,37, - 37,41,41,40,40,40,40,40,40,40, - 40,40,40,40,40,40,39,29,145,145, - 95,95,178,178,90,201,201,68,68,68, - 68,68,68,68,68,68,69,69,69,66, - 66,56,56,179,179,70,70,70,101,101, - 180,180,71,71,71,181,181,72,72,72, - 72,72,73,73,82,82,82,82,82,82, - 82,82,50,50,50,50,50,114,114,112, - 112,51,182,22,22,22,22,22,48,48, - 85,85,85,85,85,152,152,147,147,147, - 147,147,148,148,148,149,149,149,150,150, - 150,151,151,151,86,86,86,86,86,87, - 87,87,13,13,13,13,13,13,13,13, - 13,13,13,96,118,118,118,118,118,118, - 116,116,116,153,117,117,183,155,155,154, - 154,120,120,102,79,79,121,53,47,156, - 156,54,52,84,84,157,157,146,146,122, - 123,123,124,76,76,158,158,63,63,63, - 60,60,59,64,64,75,75,58,58,58, - 49,88,88,98,97,97,62,62,61,61, - 55,55,45,99,99,99,91,91,91,92, - 92,93,93,93,94,94,103,103,103,105, - 105,104,104,202,202,89,89,185,185,185, - 185,185,126,46,46,160,184,184,127,127, - 128,128,128,129,162,186,186,34,34,115, - 130,130,130,130,188,107,106,106,119,119, - 119,163,164,164,164,164,164,164,164,164, - 164,164,164,190,190,187,187,189,189,165, - 166,166,166,166,167,191,109,108,108,192, - 192,168,168,168,168,100,100,100,193,193, - 8,8,9,194,194,195,169,159,159,170, - 170,171,172,172,7,7,10,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,77, - 80,80,173,173,132,132,133,133,133,133, - 133,133,3,134,134,131,131,110,110,83, - 78,74,161,161,111,111,197,197,197,135, - 135,125,125,198,198,174,174,1119,35,2254, - 2178,1278,2968,27,30,31,1029,1116,26,28, - 2125,25,23,50,1126,106,76,77,108,2039, - 1235,1409,1339,1496,1486,1552,135,1510,1612,71, - 1570,273,1678,1720,143,1267,135,158,144,588, - 35,3107,1888,35,1011,32,4655,3461,27,30, - 31,1029,1116,338,28,588,1846,2070,34,232, - 1614,1691,35,1011,32,4697,3461,27,30,31, - 1029,1116,338,28,350,3149,588,35,1839,388, - 588,3372,235,230,231,328,2129,926,1500,35, - 1011,32,497,274,41,30,31,1029,1116,241, - 2717,318,2091,320,1189,313,2002,588,35,282, - 49,1614,242,245,248,251,1145,351,3160,46, - 318,2091,320,2023,313,2002,1599,738,1666,156, - 3559,2154,322,343,865,806,348,3160,200,3845, - 1330,1874,559,4136,3127,870,2094,3441,3615,4355, - 2316,35,1011,32,2880,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,106,76, - 77,108,342,1235,1409,1339,1496,1486,1552,142, - 1510,1612,2804,1570,2147,1678,1720,143,4207,135, - 517,144,327,35,279,724,3687,4799,1330,389, - 288,929,35,1839,388,518,2316,35,1011,32, - 2880,2979,27,30,31,1029,1116,26,28,912, - 25,23,50,1126,106,76,77,108,342,1235, - 1409,1339,1496,1486,1552,49,1510,1612,1708,1570, - 1540,1678,1720,143,1804,3026,517,144,327,35, - 279,724,1451,4815,2079,35,277,221,3433,351, - 513,518,1217,35,1011,32,1873,3098,27,30, - 31,1029,1116,57,28,343,865,806,348,2615, - 1607,2987,626,341,2993,4499,1750,2316,35,1011, - 32,2880,2979,27,30,31,1029,1116,26,28, - 912,25,23,50,1126,106,76,77,108,342, - 1235,1409,1339,1496,1486,1552,513,1510,1612,2729, - 1570,443,1678,1720,143,1699,1279,517,144,3014, - 1225,1017,724,588,35,2070,3097,3003,4304,2168, - 2993,352,518,2524,35,1011,32,2880,2979,27, - 30,31,1029,1116,26,28,912,25,23,50, - 1126,106,76,77,108,342,1235,1409,1339,1496, - 1486,1552,1016,1510,1612,159,1570,56,1678,1720, - 143,1189,69,517,144,56,1330,4364,724,690, - 579,873,232,588,35,2463,2331,513,518,314, - 353,61,1860,35,1011,32,2000,3098,27,30, - 31,1029,1116,56,28,244,230,231,3055,381, - 88,2993,94,102,2659,35,1011,32,1834,2979, - 27,30,31,1029,1116,26,28,912,25,23, - 50,1126,106,76,77,108,2121,1235,1409,1339, - 1496,1486,1552,514,1510,1612,2615,1570,2060,1678, - 1720,143,579,1010,378,144,3515,2385,35,1011, - 32,2493,2979,27,30,31,1029,1116,26,28, - 912,25,23,50,1126,106,76,77,108,2681, - 1235,1409,1339,1496,1486,1552,1221,1510,1612,438, - 1570,1868,1678,1720,143,820,4216,378,144,3515, - 1721,2256,2832,35,1011,32,1330,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,108,2042,1235,1409,1339,1496,1486, - 1552,60,1510,1612,498,1570,2271,1678,3063,164, - 4535,385,379,1280,3121,35,1011,32,3110,2979, - 27,30,31,1029,1116,26,28,912,25,23, - 50,1126,106,76,77,108,2682,1235,1409,1339, - 1496,1486,1552,2729,1510,1612,2245,1570,3366,1678, - 3063,164,3260,326,386,379,1280,89,819,56, - 102,3272,1916,1189,135,1229,2591,35,1011,32, - 3076,2979,27,30,31,1029,1116,26,28,912, - 25,23,50,1126,106,76,77,108,156,1235, - 1409,1339,1496,1486,1552,355,1510,1612,1832,1570, - 1721,1678,1720,143,2216,531,378,144,3515,2887, - 35,1011,32,2911,2979,27,30,31,1029,1116, - 26,28,912,25,23,50,1126,106,76,77, - 108,236,1235,1409,1339,1496,1486,1552,93,1510, - 1612,1330,1570,56,1678,1720,143,746,1614,158, - 144,2887,35,1011,32,413,2979,27,30,31, - 1029,1116,26,28,912,25,23,50,1126,106, - 76,77,108,1088,1235,1409,1339,1496,1486,1552, - 24,1510,1612,3293,1570,2582,1678,1720,143,2582, - 2049,372,144,376,379,1280,2887,35,1011,32, - 1330,2979,27,30,31,1029,1116,26,28,912, - 25,23,50,1126,106,76,77,108,1379,1235, - 1409,1339,1496,1486,1552,354,1510,1612,404,1570, - 2582,1678,1720,143,421,531,372,144,2344,35, - 1011,32,3705,4820,27,30,31,1029,1116,26, - 28,666,511,2694,559,2887,35,1011,32,1445, - 2979,27,30,31,1029,1116,26,28,912,25, - 23,50,1126,106,76,77,108,371,1235,1409, - 1339,1496,1486,1552,522,1510,1612,1960,1570,2655, - 1678,1720,143,390,427,372,144,391,427,69, - 2457,35,1011,32,3102,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,106,76, - 77,108,370,1235,1409,1339,1496,1486,1552,64, - 1510,1612,1330,1570,2587,1678,1720,143,393,427, - 142,144,2887,35,1011,32,322,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,108,70,1235,1409,1339,1496,1486, - 1552,69,1510,1612,2804,1570,3457,1678,1720,143, - 2655,368,159,144,2887,35,1011,32,525,2979, - 27,30,31,1029,1116,26,28,912,25,23, - 50,1126,106,76,77,108,2284,1235,1409,1339, - 1496,1486,1552,284,1510,1612,587,1570,56,1678, - 1720,143,827,1614,155,144,2887,35,1011,32, - 494,2979,27,30,31,1029,1116,26,28,912, - 25,23,50,1126,106,76,77,108,4412,1235, - 1409,1339,1496,1486,1552,69,1510,1612,447,1570, - 56,1678,1720,143,3330,1614,154,144,2887,35, - 1011,32,1355,2979,27,30,31,1029,1116,26, - 28,912,25,23,50,1126,106,76,77,108, - 400,1235,1409,1339,1496,1486,1552,68,1510,1612, - 1330,1570,56,1678,1720,143,2805,322,153,144, - 2887,35,1011,32,322,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,106,76, - 77,108,1226,1235,1409,1339,1496,1486,1552,4720, - 1510,1612,2804,1570,56,1678,1720,143,998,447, - 152,144,2887,35,1011,32,524,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,108,285,1235,1409,1339,1496,1486, - 1552,295,1510,1612,1614,1570,56,1678,1720,143, - 3200,1614,151,144,2887,35,1011,32,1146,2979, - 27,30,31,1029,1116,26,28,912,25,23, - 50,1126,106,76,77,108,53,1235,1409,1339, - 1496,1486,1552,87,1510,1612,1010,1570,56,1678, - 1720,143,1990,1614,150,144,2887,35,1011,32, - 1617,2979,27,30,31,1029,1116,26,28,912, - 25,23,50,1126,106,76,77,108,1625,1235, - 1409,1339,1496,1486,1552,52,1510,1612,1010,1570, - 56,1678,1720,143,1265,322,149,144,2887,35, - 1011,32,1627,2979,27,30,31,1029,1116,26, - 28,912,25,23,50,1126,106,76,77,108, - 2244,1235,1409,1339,1496,1486,1552,460,1510,1612, - 1010,1570,56,1678,1720,143,1269,322,148,144, - 2887,35,1011,32,1174,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,106,76, - 77,108,294,1235,1409,1339,1496,1486,1552,459, - 1510,1612,1010,1570,56,1678,1720,143,3368,2683, - 147,144,2887,35,1011,32,1323,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,108,303,1235,1409,1339,1496,1486, - 1552,4158,1510,1612,1614,1570,56,1678,1720,143, - 2815,322,146,144,2887,35,1011,32,1441,2979, - 27,30,31,1029,1116,26,28,912,25,23, - 50,1126,106,76,77,108,349,1235,1409,1339, - 1496,1486,1552,51,1510,1612,1010,1570,56,1678, - 1720,143,3210,160,145,144,2887,35,1011,32, - 676,2979,27,30,31,1029,1116,26,28,912, - 25,23,50,1126,106,76,77,108,382,1235, - 1409,1339,1496,1486,1552,1721,1510,1612,848,1570, - 69,1678,1720,143,311,3579,140,144,3005,35, - 1011,32,1167,2979,27,30,31,1029,1116,26, - 28,912,25,23,50,1126,106,76,77,108, - 737,1235,1409,1339,1496,1486,1552,325,1510,1612, - 1614,1570,2551,1678,1720,143,1604,1614,189,144, - 3121,35,1011,32,1010,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,106,76, - 77,108,90,1235,1409,1339,1496,1486,1552,1876, - 1510,1612,221,1570,402,1678,3063,164,3121,35, - 1011,32,3323,2979,27,30,31,1029,1116,26, - 28,912,25,23,50,1126,106,76,77,108, - 2690,1235,1409,1339,1496,1486,1552,323,1510,1612, - 322,1570,1390,1678,3063,164,1369,327,334,2481, - 531,2380,2552,1189,1240,97,3121,35,1011,32, - 423,2979,27,30,31,1029,1116,26,28,912, - 25,23,50,1126,106,76,77,108,156,1235, - 1409,1339,1496,1486,1552,1503,1510,1612,162,1570, - 406,1678,3063,164,3121,35,1011,32,292,2979, - 27,30,31,1029,1116,26,28,912,25,23, - 50,1126,106,76,77,108,232,1235,1409,1339, - 1496,1486,1552,2627,1510,1612,324,1570,4666,1678, - 3063,164,588,35,2070,276,2552,1818,3321,247, - 230,231,3176,35,1011,32,422,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,108,380,1235,1409,1339,1496,1486, - 1552,666,1510,1612,298,1570,1010,1678,3063,164, - 3121,35,1011,32,425,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,106,76, - 77,108,2256,1235,1409,1339,1496,1486,1552,2135, - 1510,1612,2552,1570,1453,2836,2407,35,1011,32, - 588,3683,40,30,31,1029,1116,4183,3121,35, - 1011,32,3739,2979,27,30,31,1029,1116,26, - 28,912,25,23,50,1126,106,76,77,108, - 221,1235,1409,1339,1496,1486,1552,98,1510,1612, - 2221,2818,3121,35,1011,32,1614,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,108,71,1235,1409,1339,1496,1486, - 1552,142,1510,2724,3121,35,1011,32,1918,2979, - 27,30,31,1029,1116,26,28,912,25,23, - 50,1126,106,76,77,108,1792,1235,1409,1339, - 1496,1486,1552,2582,2816,3121,35,1011,32,408, - 2979,27,30,31,1029,1116,26,28,912,25, - 23,50,1126,106,76,77,108,580,1235,1409, - 1339,1496,1486,2636,1518,35,1011,32,4697,4507, - 27,30,31,1029,1116,338,28,3121,35,1011, - 32,1015,2979,27,30,31,1029,1116,26,28, - 912,25,23,50,1126,106,76,77,108,1700, - 1235,1409,1339,1496,2638,1351,588,3764,2585,1715, - 35,1011,32,3014,4820,27,30,31,1029,1116, - 59,28,331,318,2091,320,1960,313,2002,2407, - 35,1011,32,2693,1088,2092,30,31,1029,1116, - 312,392,427,757,35,1839,388,1787,3121,35, - 1011,32,4314,2979,27,30,31,1029,1116,26, - 28,912,25,23,50,1126,106,76,77,108, - 616,1235,1409,1339,1496,2689,1223,273,1385,1947, - 35,277,1543,35,2070,276,305,309,1780,1400, - 35,1011,32,4482,3461,27,30,31,1029,1116, - 338,28,588,3275,2070,74,1715,35,1011,32, - 2252,4820,27,30,31,1029,1116,58,28,1614, - 1559,3588,1543,35,2070,3278,1898,35,3390,32, - 4697,4507,27,30,31,1029,1116,338,28,3137, - 2819,2122,42,3094,2621,522,4642,1614,318,2091, - 320,67,313,2002,56,56,72,1964,2880,1310, - 2407,35,1011,32,351,3229,2176,30,31,1029, - 1116,588,35,1839,388,3014,342,1875,1965,66, - 343,865,806,348,331,318,2091,320,3223,313, - 2002,588,35,2070,278,3020,327,35,453,724, - 2022,4662,1123,56,1334,431,1709,1189,2491,1923, - 3121,35,1011,32,4314,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,106,76, - 77,108,3545,1235,1409,1339,2506,3121,35,1011, - 32,2163,2979,27,30,31,1029,1116,26,28, - 912,25,23,50,1126,106,76,77,108,2558, - 1235,1409,1339,2508,1243,35,3113,2249,523,2256, - 3066,35,1011,32,365,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,86,76, - 77,417,419,3388,1701,2449,35,280,49,588, - 35,2070,3379,588,35,2070,281,1804,933,429, - 1614,3121,35,1011,32,2006,2979,27,30,31, - 1029,1116,26,28,912,25,23,50,1126,106, - 76,77,108,3432,1235,1409,1339,2550,3121,35, - 1011,32,65,2979,27,30,31,1029,1116,26, - 28,912,25,23,50,1126,106,76,77,108, - 2733,1235,1409,1339,2607,259,446,3510,3521,537, - 719,1243,35,396,838,2234,1614,2208,2795,2880, - 2715,2880,1614,2121,2880,737,1703,228,486,56, - 843,35,453,2363,156,4662,56,2519,1374,342, - 3221,56,342,180,3333,537,1515,2804,64,530, - 2440,203,215,4629,2887,202,212,213,214,216, - 1,169,724,342,537,666,588,35,1839,388, - 156,168,533,183,167,170,171,172,173,174, - 1228,182,228,1643,35,293,724,3323,2459,156, - 3231,35,1839,388,1883,741,651,56,180,3333, - 452,3445,2804,237,359,2484,203,215,4629,2125, - 202,212,213,214,216,616,169,3618,2812,3121, - 3124,56,3237,334,273,4208,168,181,184,167, - 170,171,172,173,174,2070,35,1011,32,4482, - 3461,27,30,31,1029,1116,338,28,3121,35, - 1011,32,232,2979,27,30,31,1029,1116,26, - 28,912,25,23,50,1126,106,76,77,108, - 2256,1235,1409,2608,2413,235,230,231,2212,35, - 1839,388,2371,2415,2850,915,274,44,3094,1976, - 35,1839,388,1614,318,2091,320,2306,313,2002, - 450,3510,3521,2305,1056,242,245,248,251,1145, - 351,526,49,2453,442,3423,456,1643,3440,293, - 738,1804,2177,49,1096,55,343,865,806,348, - 2044,3149,1804,986,527,3433,2149,3127,870,2094, - 3441,3615,4355,3121,35,1011,32,2256,2979,27, - 30,31,1029,1116,26,28,912,25,23,50, - 1126,106,76,77,108,2487,1235,1409,2630,1363, - 35,1011,32,49,4507,27,30,31,1029,1116, - 338,28,3121,35,1011,32,1778,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,108,1817,1235,2369,2515,932,35, - 1839,388,932,35,1839,388,1614,2553,3014,915, - 56,56,2417,2218,4180,2880,3562,332,318,2091, - 320,1250,314,2002,2513,345,2646,3347,1056,537, - 2880,523,49,342,351,2646,49,2272,54,2880, - 239,1804,2634,797,350,1804,47,228,2519,1790, - 345,865,806,348,156,2473,724,2519,56,2725, - 1614,1354,3126,180,3333,1189,1930,2804,588,35, - 293,203,215,4629,2433,202,212,213,214,216, - 431,169,56,69,537,1614,1460,351,4691,232, - 160,168,321,3746,167,170,171,172,173,174, - 2050,3372,228,343,865,806,348,2691,2572,156, - 2060,1874,240,230,231,505,56,101,180,3333, - 537,2234,2804,1714,505,2880,203,215,4629,1906, - 202,212,213,214,216,517,169,56,342,537, - 56,1050,69,2519,1189,156,168,4727,178,167, - 170,171,172,173,174,1545,1664,228,502,504, - 69,724,2624,1614,156,4738,2880,503,504,156, - 3610,1503,2587,180,3333,2699,56,2804,2343,2828, - 2880,203,215,4629,2519,202,212,213,214,216, - 603,169,2647,56,537,3313,2880,4189,342,3449, - 2557,168,2707,176,167,170,171,172,173,174, - 359,56,228,56,2519,1180,1614,4297,2249,156, - 287,724,1189,737,3263,3121,3124,2552,180,3333, - 1180,1958,2804,2552,2880,4834,203,215,4629,2619, - 202,212,213,214,216,689,169,156,3327,537, - 996,360,228,3272,1426,3373,168,535,177,167, - 170,171,172,173,174,302,56,228,2050,3372, - 4199,179,2689,2716,156,69,1270,407,4418,2728, - 4749,505,56,180,3333,3323,3292,2804,2723,2122, - 2492,203,215,4629,4642,202,212,213,214,216, - 775,169,56,2732,537,2552,1253,408,409,410, - 3208,168,1614,187,167,170,171,172,173,174, - 333,334,228,2446,502,504,1243,35,396,156, - 3174,2739,2735,588,35,1839,388,2733,180,3333, - 2750,1606,2804,198,451,737,203,215,4629,2068, - 202,212,213,214,216,529,169,929,35,1839, - 388,929,35,1839,388,3703,168,273,3869,167, - 170,171,172,173,174,1952,35,1011,32,4697, - 3461,27,30,31,1029,1116,338,28,287,2163, - 2734,49,541,411,413,49,588,35,1839,388, - 1804,47,861,232,1804,2895,537,3323,56,56, - 2747,1983,1189,1955,647,56,4499,672,3496,1881, - 4601,2757,1587,3373,228,2552,250,230,231,275, - 273,156,3619,2761,318,2091,320,156,313,2002, - 180,3333,3311,334,2804,1614,1614,2549,203,215, - 4629,312,202,212,213,214,216,430,169,1607, - 3014,56,1375,197,4499,537,2880,4499,168,332, - 192,167,170,171,172,173,174,377,3345,932, - 35,1839,388,342,2519,56,351,947,2751,537, - 156,537,339,1243,35,396,1773,305,309,1780, - 188,4499,345,865,806,348,4340,342,3014,228, - 2552,3014,1614,49,156,1780,156,331,2787,2790, - 331,4186,1804,47,188,180,3333,56,2782,2804, - 4340,2880,3588,203,215,4629,2590,202,212,213, - 214,216,1033,169,3400,3014,537,3596,301,342, - 3511,359,2788,168,332,186,167,170,171,172, - 173,174,3546,87,228,2007,3121,3124,588,35, - 293,156,724,588,35,1839,388,232,2763,2765, - 180,3333,1972,2552,2804,2773,3612,56,203,215, - 4629,2464,202,212,213,214,216,2774,169,3827, - 253,230,231,2444,2791,56,173,434,168,964, - 194,167,170,171,172,173,174,3121,35,1011, - 32,201,2979,27,30,31,1029,1116,26,28, - 912,25,23,50,1126,106,76,77,108,2792, - 1235,2387,3121,35,1011,32,2793,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,108,2796,2411,3121,35,1011,32, - 3948,2979,27,30,31,1029,1116,26,28,912, - 25,23,50,1126,106,76,77,108,1761,2429, - 3121,35,1011,32,2797,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,106,76, - 77,108,2866,2477,2062,35,3390,32,4697,3461, - 27,30,31,1029,1116,338,28,2909,1691,35, - 1011,32,4697,3461,27,30,31,1029,1116,338, - 28,3121,35,1011,32,2552,2979,27,30,31, - 1029,1116,26,28,912,25,23,50,1126,106, - 76,77,85,588,35,1839,388,56,2447,2648, - 1337,3475,2925,318,2091,320,5316,313,2002,5316, - 5316,5316,5316,199,5316,5316,5316,318,2091,320, - 1123,313,2002,5316,1614,5316,5316,433,5316,5316, - 3121,1846,1011,1888,312,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,106,76, - 77,84,3121,35,1011,32,3502,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,83,588,35,1839,388,2552,5316, - 306,309,1780,3121,35,1011,32,5316,2979,27, - 30,31,1029,1116,26,28,912,25,23,50, - 1126,106,76,77,82,5316,1614,5316,432,418, - 419,3388,3121,35,1011,32,297,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,81,3121,35,1011,32,1412,2979, - 27,30,31,1029,1116,26,28,912,25,23, - 50,1126,106,76,77,80,3121,35,1011,32, - 5316,2979,27,30,31,1029,1116,26,28,912, - 25,23,50,1126,106,76,77,79,3121,35, - 1011,32,5316,2979,27,30,31,1029,1116,26, - 28,912,25,23,50,1126,106,76,77,78, - 2950,35,1011,32,5316,2979,27,30,31,1029, - 1116,26,28,912,25,23,50,1126,106,76, - 77,104,3121,35,1011,32,5316,2979,27,30, - 31,1029,1116,26,28,912,25,23,50,1126, - 106,76,77,110,3121,35,1011,32,5316,2979, - 27,30,31,1029,1116,26,28,912,25,23, - 50,1126,106,76,77,109,3121,35,1011,32, - 5316,2979,27,30,31,1029,1116,26,28,912, - 25,23,50,1126,106,76,77,107,3121,35, - 1011,32,5316,2979,27,30,31,1029,1116,26, - 28,912,25,23,50,1126,106,76,77,105, - 1562,1614,1614,1614,2880,2552,2552,5316,5316,1823, - 1354,2552,5316,2880,1189,5316,1354,5316,5316,1910, - 1189,5316,228,2880,5316,5316,5316,1607,737,5316, - 5316,228,4499,1580,4191,3642,1785,5316,5316,160, - 2880,228,5316,2089,222,160,205,215,4629,193, - 204,212,213,214,216,205,215,4629,342,204, - 212,213,214,216,5316,205,215,4629,5316,204, - 212,213,214,216,5316,5316,3014,206,208,210, - 3208,1041,217,207,209,331,206,208,210,3208, - 3323,217,207,209,5316,5316,206,208,210,3208, - 5316,217,207,209,5316,1713,2855,5316,5316,1354, - 2880,2983,1594,1189,4515,3511,5316,737,5316,5316, - 5316,1755,5316,4515,2034,329,334,5316,342,4499, - 5316,1797,5316,4515,2156,35,1011,32,160,4507, - 27,30,31,1029,1116,338,28,2156,35,1011, - 32,3868,4507,27,30,31,1029,1116,338,28, - 1691,35,1011,32,4697,3461,27,30,31,1029, - 1116,338,28,3014,5316,3280,35,1839,388,3323, - 741,5316,4304,3014,588,35,1839,388,238,5316, - 5316,5316,332,318,2091,320,3014,316,2002,5316, - 5316,5316,5316,5316,3106,332,318,2091,320,273, - 314,2002,1624,5316,3509,334,5316,5316,49,318, - 2091,320,5316,313,2002,5316,5316,1804,866,2717, - 56,1997,1330,537,537,2880,3812,232,1490,35, - 1011,32,2556,3461,27,30,31,1029,1116,338, - 28,3867,342,228,5316,5316,5316,5316,156,156, - 236,230,231,5316,5316,5316,96,180,3333,188, - 5316,274,5316,5316,2804,4340,403,205,215,4629, - 5316,204,212,213,214,216,5316,5316,375,5316, - 243,246,249,252,1145,195,1649,315,3339,320, - 2880,5316,1607,4181,5316,738,5316,4499,206,208, - 210,3208,5316,520,207,209,5316,5316,228,588, - 35,1839,388,5316,5316,5316,5316,929,35,1839, - 388,3894,5316,5316,5316,1736,1354,5316,5316,2880, - 1189,5316,205,215,4629,5316,204,212,213,214, - 216,3014,5316,49,5316,2084,5316,228,5316,2880, - 331,49,1804,566,5316,160,5316,5316,5316,5316, - 1804,2972,5316,206,208,210,3208,228,519,207, - 209,205,215,4629,3496,204,212,213,214,216, - 3059,56,373,5316,2171,1189,2082,5316,2880,5316, - 1354,205,215,4629,1189,204,212,213,214,216, - 4769,196,206,208,210,3208,228,218,207,209, - 156,1285,5316,5316,5316,2880,4834,5316,5316,160, - 2577,3185,206,208,210,3208,5316,304,207,209, - 205,215,4629,228,204,212,213,214,216,2236, - 35,1011,32,2394,3461,27,30,31,1029,1116, - 338,28,929,35,1839,388,5316,1270,407,4418, - 5316,206,208,210,3208,1375,499,207,209,2880, - 4499,5316,929,35,1839,388,929,35,1839,388, - 5316,5316,5316,5316,5316,3412,49,2519,408,409, - 410,3208,5316,56,5316,1804,47,1189,315,3339, - 320,2151,35,1839,388,5316,49,1607,5316,2601, - 49,3174,4499,56,3014,1804,47,1189,5316,1804, - 47,56,156,331,5316,2880,5316,5316,5316,2856, - 1330,5316,2740,3673,5316,49,5316,929,35,1839, - 388,5316,156,342,1804,47,5316,5316,929,35, - 1839,388,2806,3059,359,5316,3014,5316,3168,2164, - 35,1839,388,5316,5316,331,724,5316,2007,3121, - 3124,49,2804,5316,411,414,2306,5316,5316,2722, - 1804,47,49,537,56,5316,375,5316,537,5316, - 5316,1804,47,49,3863,4327,5316,2082,5316,5316, - 5316,342,1804,47,5316,3944,342,5316,156,588, - 35,1839,388,156,5316,56,3668,5316,188,2880, - 5316,5316,5316,1228,4340,588,35,1839,388,724, - 588,35,1839,388,56,5316,56,342,2880,1671, - 2880,5316,5316,49,588,35,1839,388,5316,5316, - 5316,5316,1804,2509,5316,5316,342,56,342,49, - 724,1189,5316,56,49,5316,5316,1189,1804,794, - 509,5316,5316,1804,986,5316,5316,5316,49,724, - 190,724,5316,5316,5316,5316,156,1804,2813,507, - 3402,534,156,5316,5316,5316,2014,5316,5316,5316, - 5316,5316,4182,5316,5316,5316,5316,5316,5316,5316, - 5316,5316,5316,5316,5316,5316,5316,5316,5316,5316, - 5316,5316,5316,5316,5316,5316,5316,5316,5316,5316, - 5316,5316,5316,5316,5316,5316,5316,5316,5316,5316, - 5316,5316,5316,5316,5316,5316,5316,5316,5316,5316, - 5316,5316,5316,5316,5316,5316,5316,5316,5316,4185, - 5316,0,39,5331,0,39,5330,0,925,29, - 0,440,1223,0,454,1498,0,38,595,0, - 38,5331,0,38,5330,0,2741,126,0,1, - 444,0,458,1706,0,457,1748,0,917,91, - 0,925,387,0,35,33,0,32,34,0, - 39,595,0,1,922,0,1,5588,0,1, - 5587,0,1,5586,0,1,5585,0,1,5584, - 0,1,5583,0,1,5582,0,1,5581,0, - 1,5580,0,1,5579,0,1,5578,0,39, - 1,5331,0,39,1,5330,0,628,1,0, - 283,394,0,283,286,0,5550,241,0,5549, - 241,0,5653,241,0,5652,241,0,5577,241, - 0,5576,241,0,5575,241,0,5574,241,0, - 5573,241,0,5572,241,0,5571,241,0,5570, - 241,0,5588,241,0,5587,241,0,5586,241, - 0,5585,241,0,5584,241,0,5583,241,0, - 5582,241,0,5581,241,0,5580,241,0,5579, - 241,0,5578,241,0,39,5331,241,0,39, - 5330,241,0,5354,241,0,5331,48,0,5330, - 48,0,5322,1,0,5321,1,0,3161,237, - 0,32,388,0,29,387,0,43,5352,0, - 43,37,0,2741,128,0,2741,127,0,330, - 445,0,5354,1,0,39,1,0,47,37, - 0,1,92,0,501,3207,0,5354,1,229, - 0,39,1,229,0,229,416,0,5331,37, - 0,5330,37,0,5331,2,37,0,5330,2, - 37,0,5331,36,0,5330,36,0,5352,45, - 0,37,45,0,5326,405,0,5325,405,0, - 1,601,0,1,2810,0,1,595,0,229, - 415,0,2826,317,0,330,95,0,35,73, - 0,1,330,0,4196,278,0,501,4476,0, - 1,229,0,229,220,0,1,2801,0,1, - 3426,0,229,219,0,5328,1,0,5324,1, - 0,1,229,3652,0,5325,229,0,3663,229, - 0,5328,383,0,5327,383,0,3706,229,0, - 10,12,0,8,10,12,0,185,3587,0, - 3870,383,0,8,12,0 + 176,4,137,82,82,33,33,68,68,39, + 39,43,43,202,1,1,16,16,16,16, + 16,16,16,17,17,17,15,11,11,6, + 6,6,6,6,6,2,66,66,5,5, + 12,12,45,45,138,138,139,58,58,44, + 18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18, + 140,140,140,114,114,19,19,19,19,19, + 19,19,19,19,19,19,19,19,20,20, + 177,177,178,178,179,143,143,144,144,141, + 141,145,142,142,21,21,22,22,24,24, + 24,25,25,25,25,26,26,26,27,27, + 27,28,28,28,28,28,29,29,29,31, + 31,32,32,34,34,36,36,37,37,38, + 38,42,42,41,41,41,41,41,41,41, + 41,41,41,41,41,41,40,30,146,146, + 96,96,180,180,91,203,203,69,69,69, + 69,69,69,69,69,69,70,70,70,67, + 67,57,57,181,181,71,71,71,102,102, + 182,182,72,72,72,72,183,183,73,73, + 73,73,73,74,74,83,83,83,83,83, + 83,83,83,51,51,51,51,51,115,115, + 113,113,52,184,23,23,23,23,23,49, + 49,86,86,86,86,86,153,153,148,148, + 148,148,148,149,149,149,150,150,150,151, + 151,151,152,152,152,87,87,87,87,87, + 88,88,88,13,14,14,14,14,14,14, + 14,14,14,14,14,97,119,119,119,119, + 119,119,117,117,117,154,155,155,118,118, + 185,157,157,156,156,121,121,103,80,80, + 122,54,48,158,158,55,53,85,85,159, + 159,147,147,123,124,124,125,77,77,160, + 160,64,64,64,61,61,60,65,65,76, + 76,59,59,59,50,89,89,99,98,98, + 63,63,62,62,56,56,46,100,100,100, + 92,92,92,93,93,94,94,94,95,95, + 104,104,104,106,106,105,105,204,204,90, + 90,187,187,187,187,187,127,47,47,162, + 186,186,128,128,129,129,129,130,164,188, + 188,35,35,116,131,131,131,131,190,108, + 107,107,120,120,120,165,166,166,166,166, + 166,166,166,166,166,166,166,192,192,189, + 189,191,191,167,168,168,168,168,169,193, + 110,109,109,194,194,170,170,170,170,101, + 101,101,195,195,8,8,9,196,196,197, + 171,161,161,172,172,173,174,174,7,7, + 10,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,78,81,81,175,175,133,133, + 134,134,134,134,134,134,3,135,135,132, + 132,111,111,84,79,75,75,163,163,112, + 112,199,199,199,136,136,126,126,200,200, + 176,176,1119,35,2498,2475,1791,2706,27,30, + 31,1065,1233,26,28,2456,263,25,23,50, + 1282,106,76,77,108,73,1291,1320,1310,1424, + 1377,1587,1777,1501,1716,71,1685,275,1775,1826, + 143,1592,1882,158,144,1631,2950,1892,35,1049, + 32,4458,4566,27,30,31,1065,1233,342,28, + 2450,587,4081,1280,2735,233,1869,35,1049,32, + 4782,4566,27,30,31,1065,1233,342,28,1547, + 354,666,3378,346,587,2115,2446,34,236,231, + 232,2275,1148,535,1504,35,1049,32,1330,276, + 41,30,31,1065,1233,1618,2799,322,2544,324, + 182,317,1948,587,35,3305,538,1631,243,246, + 249,252,1457,355,2898,1088,322,2544,324,743, + 317,1948,666,921,1857,1312,1476,3584,501,347, + 1776,1020,352,2898,327,35,281,1941,565,4803, + 3186,739,3127,3504,3523,4242,2320,35,1049,32, + 2735,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,346, + 1291,1320,1310,1424,1377,1587,823,1501,1716,3442, + 1685,155,1775,1826,143,70,2744,521,144,1225, + 653,1330,2799,587,35,2446,3304,502,674,35, + 2113,392,522,2320,35,1049,32,2735,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,346,1291,1320,1310, + 1424,1377,1587,49,1501,1716,71,1685,322,1775, + 1826,143,1998,3211,521,144,3109,291,1005,2799, + 3689,3442,233,327,35,281,2727,517,4807,522, + 1217,35,1049,32,2685,3195,27,30,31,1065, + 1233,57,28,2619,1446,245,231,232,3146,4790, + 1621,3188,1240,3594,2320,35,1049,32,2735,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,346,1291,1320, + 1310,1424,1377,1587,517,1501,1716,1088,1685,408, + 1775,1826,143,1352,3205,521,144,587,35,284, + 2799,1446,155,2979,155,3194,4790,3458,3188,4171, + 522,2528,35,1049,32,2735,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,346,1291,1320,1310,1424,1377, + 1587,1611,1501,1716,135,1685,1766,1775,1826,143, + 1603,3205,521,144,881,587,3584,2799,1618,3422, + 335,587,35,2113,392,517,2236,522,1356,464, + 61,1381,35,1049,32,1853,3195,27,30,31, + 1065,1233,56,28,1642,88,3229,94,102,3188, + 1322,4004,2663,35,1049,32,435,1386,27,30, + 31,1065,1233,26,28,1039,263,25,23,50, + 1282,106,76,77,108,2086,1291,1320,1310,1424, + 1377,1587,518,1501,1716,2619,1685,425,1775,1826, + 143,42,3264,382,144,3661,2389,35,1049,32, + 1456,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,1377, + 1291,1320,1310,1424,1377,1587,1697,1501,1716,2229, + 1685,2125,1775,1826,143,824,292,382,144,3661, + 1906,2837,35,1049,32,2230,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,4138,1291,1320,1310,1424,1377, + 1587,60,1501,1716,1611,1685,356,1775,3232,164, + 389,383,1802,2447,3127,35,1049,32,4641,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,447,1291,1320, + 1310,1424,1377,1587,315,1501,1716,582,1685,69, + 1775,3232,164,330,390,383,1802,89,1611,49, + 102,4139,1689,1200,2762,752,2595,35,1049,32, + 4107,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,156, + 1291,1320,1310,1424,1377,1587,359,1501,1716,1426, + 1685,2029,1775,1826,143,2972,536,382,144,3661, + 2892,35,1049,32,3105,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,108,393,1291,1320,1310,1424,1377,1587, + 93,1501,1716,2246,1685,2075,1775,1826,143,4431, + 2315,158,144,3127,35,1049,32,1943,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,527,1291,1320,1310, + 1424,1377,1587,434,1501,1716,56,1685,3515,1775, + 3232,164,2249,1088,380,383,1802,2892,35,1049, + 32,413,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 1449,1291,1320,1310,1424,1377,1587,3130,1501,1716, + 64,1685,2038,1775,1826,143,3378,4790,376,144, + 1718,35,1049,32,427,56,40,30,31,1065, + 1233,1906,2892,35,1049,32,565,1386,27,30, + 31,1065,1233,26,28,1039,263,25,23,50, + 1282,106,76,77,108,463,1291,1320,1310,1424, + 1377,1587,3205,1501,1716,1800,1685,2288,1775,1826, + 143,336,1088,376,144,332,2156,35,2113,392, + 2437,2892,35,1049,32,2323,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,375,1291,1320,1310,1424,1377, + 1587,49,1501,1716,330,1685,1088,1775,1826,143, + 1998,675,376,144,2461,35,1049,32,3543,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,1229,1291,1320, + 1310,1424,1377,1587,4027,1501,1716,358,1685,374, + 1775,1826,143,331,338,142,144,536,2892,35, + 1049,32,1611,1386,27,30,31,1065,1233,26, + 28,1039,263,25,23,50,1282,106,76,77, + 108,494,1291,1320,1310,1424,1377,1587,51,1501, + 1716,1611,1685,49,1775,1826,143,696,372,159, + 144,2892,35,1049,32,3266,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,56,1291,1320,1310,1424,1377, + 1587,1511,1501,1716,582,1685,49,1775,1826,143, + 753,451,155,144,2892,35,1049,32,379,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,1243,1291,1320, + 1310,1424,1377,1587,1900,1501,1716,1611,1685,49, + 1775,1826,143,834,1618,154,144,2892,35,1049, + 32,882,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 56,1291,1320,1310,1424,1377,1587,24,1501,1716, + 582,1685,49,1775,1826,143,4549,3223,153,144, + 2892,35,1049,32,379,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,108,377,1291,1320,1310,1424,1377,1587, + 3241,1501,1716,1906,1685,400,1775,1826,143,1088, + 1618,152,144,2892,35,1049,32,1611,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,1409,1291,1320,1310, + 1424,1377,1587,69,1501,1716,1611,1685,49,1775, + 1826,143,3010,1618,151,144,2892,35,1049,32, + 3406,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,3589, + 1291,1320,1310,1424,1377,1587,68,1501,1716,582, + 1685,329,1775,1826,143,1105,1877,150,144,2892, + 35,1049,32,530,1386,27,30,31,1065,1233, + 26,28,1039,263,25,23,50,1282,106,76, + 77,108,1611,1291,1320,1310,1424,1377,1587,326, + 1501,1716,1611,1685,49,1775,1826,143,585,536, + 149,144,2892,35,1049,32,1620,1386,27,30, + 31,1065,1233,26,28,1039,263,25,23,50, + 1282,106,76,77,108,4181,1291,1320,1310,1424, + 1377,1587,357,1501,1716,582,1685,49,1775,1826, + 143,676,1618,148,144,2892,35,1049,32,529, + 1386,27,30,31,1065,1233,26,28,1039,263, + 25,23,50,1282,106,76,77,108,416,1291, + 1320,1310,1424,1377,1587,53,1501,1716,1618,1685, + 49,1775,1826,143,1375,1618,147,144,2892,35, + 1049,32,1706,1386,27,30,31,1065,1233,26, + 28,1039,263,25,23,50,1282,106,76,77, + 108,87,1291,1320,1310,1424,1377,1587,52,1501, + 1716,1618,1685,49,1775,1826,143,2876,1988,146, + 144,2892,35,1049,32,1447,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,353,1291,1320,1310,1424,1377, + 1587,2437,1501,1716,1618,1685,49,1775,1826,143, + 2994,2762,145,144,2892,35,1049,32,1174,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,90,1291,1320, + 1310,1424,1377,1587,327,1501,1716,1618,1685,49, + 1775,1826,143,2856,1618,140,144,3011,35,1049, + 32,2448,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 2072,1291,1320,1310,1424,1377,1587,2287,1501,1716, + 2236,1685,49,1775,1826,143,3448,1618,189,144, + 3127,35,1049,32,1088,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,108,527,1291,1320,1310,1424,1377,1587, + 67,1501,1716,2563,1685,1324,1775,3232,164,3127, + 35,1049,32,1445,1386,27,30,31,1065,1233, + 26,28,1039,263,25,23,50,1282,106,76, + 77,108,1597,1291,1320,1310,1424,1377,1587,1986, + 1501,1716,451,1685,3254,1775,3232,164,587,35, + 2551,2289,587,35,2113,392,97,3127,35,1049, + 32,296,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 2556,1291,1320,1310,1424,1377,1587,456,1501,1716, + 1795,1685,160,1775,3232,164,3182,35,1049,32, + 426,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,406, + 1291,1320,1310,1424,1377,1587,155,1501,1716,410, + 1685,4587,1775,3232,164,587,35,2446,278,587, + 35,2113,392,246,3127,35,1049,32,429,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,1795,1291,1320, + 1310,1424,1377,1587,438,1501,1716,49,1685,69, + 3032,657,1864,3127,35,1049,32,4145,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,302,1291,1320,1310, + 1424,1377,1587,752,1501,1716,590,3006,3127,35, + 1049,32,1618,1386,27,30,31,1065,1233,26, + 28,1039,263,25,23,50,1282,106,76,77, + 108,1618,1291,1320,1310,1424,1377,1587,1330,1501, + 2974,3127,35,1049,32,66,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,108,65,1291,1320,1310,1424,1377, + 1587,288,2975,3127,35,1049,32,2991,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,1951,1291,1320,1310, + 1424,1377,2889,3127,35,1049,32,848,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,108,2687,1291,1320,1310, + 1424,2895,3127,35,1049,32,1878,1386,27,30, + 31,1065,1233,26,28,1039,263,25,23,50, + 1282,106,76,77,108,3327,1291,1320,1310,1424, + 2923,1522,35,1049,32,4782,4637,27,30,31, + 1065,1233,342,28,3127,35,1049,32,1457,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,442,1291,1320, + 1310,2801,49,2375,35,279,1200,1785,35,1049, + 32,3205,4814,27,30,31,1065,1233,59,28, + 335,322,2544,324,1964,317,1948,1718,35,1049, + 32,2694,156,2200,30,31,1065,1233,316,327, + 35,457,3016,408,4652,1618,3127,35,1049,32, + 2808,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,2968, + 1291,1320,1310,2804,1101,35,2446,278,64,587, + 35,2113,392,580,309,313,948,2347,35,1049, + 32,3559,4814,27,30,31,1065,1233,26,28, + 328,1336,515,1718,35,1049,32,1015,2726,2277, + 30,31,1065,1233,437,1618,3127,35,1049,32, + 3824,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,108,3046, + 1291,1320,1310,2812,3127,35,1049,32,3189,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,1330,1291,1320, + 1310,2861,2067,35,1049,32,4326,4566,27,30, + 31,1065,1233,342,28,241,2216,35,2113,392, + 2453,35,282,1401,35,3647,32,4782,4637,27, + 30,31,1065,1233,342,28,1795,587,35,2113, + 392,450,3772,3778,1312,3237,35,2113,392,2444, + 748,49,587,4222,587,35,2113,392,238,263, + 1998,2292,322,2544,324,1234,317,1948,1618,2411, + 35,279,275,3205,2727,222,1378,2560,355,3436, + 275,1200,335,322,2544,324,4389,317,1948,49, + 587,3454,2446,74,347,1776,1020,352,1998,603, + 814,55,3426,1101,35,2446,3456,156,233,2151, + 2547,846,2808,3507,932,3422,201,4130,1956,35, + 1049,32,1311,4637,27,30,31,1065,1233,342, + 28,236,231,232,277,4155,2315,1618,3127,35, + 1049,32,276,1386,27,30,31,1065,1233,26, + 28,1039,263,25,23,50,1282,106,76,77, + 85,243,246,249,252,1457,1476,3584,3205,884, + 54,1548,757,35,2113,392,921,336,322,2544, + 324,1591,320,1948,1679,355,2425,44,3264,369, + 421,423,3625,3186,739,3127,3504,3523,4242,1278, + 631,347,1776,1020,352,2562,653,275,1618,345, + 3127,35,1049,32,2190,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,108,2643,1291,1320,2871,3127,35,1049, + 32,325,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 259,1291,1320,2874,542,1785,35,1049,32,3349, + 4814,27,30,31,1065,1233,58,28,587,35, + 2446,280,1088,229,1707,2139,72,291,49,2241, + 156,3044,1200,2576,4790,394,431,1390,1,180, + 3404,49,542,582,2425,3009,49,204,216,4533, + 1200,203,213,214,215,217,486,169,1984,2425, + 1879,229,2826,3594,2735,2488,2066,168,156,183, + 167,170,171,172,173,174,4100,180,3404,3205, + 1879,582,1127,2692,2735,204,216,4533,2979,203, + 213,214,215,217,752,169,49,843,35,457, + 3271,2132,4652,2692,98,168,181,184,167,170, + 171,172,173,174,2077,35,1049,32,4326,4566, + 27,30,31,1065,1233,342,28,3127,35,1049, + 32,1330,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,108, + 363,1291,2563,395,431,2631,1244,35,297,2050, + 4659,2225,289,2735,2635,3328,3347,49,397,431, + 363,3030,96,2235,322,2544,324,1240,317,1948, + 2770,2988,346,2350,3368,3328,3347,1016,35,400, + 355,531,1364,35,1049,32,1267,4637,27,30, + 31,1065,1233,342,28,1051,347,1776,1020,352, + 3127,35,1049,32,532,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,108,1618,1291,2603,3353,49,761,49, + 233,542,3205,3561,1726,929,35,2113,392,240, + 263,336,322,2544,324,1226,318,1948,345,924, + 346,2085,542,248,231,232,101,156,355,454, + 3772,3778,752,1016,35,3312,2041,1604,1482,2310, + 49,229,2280,2799,349,1776,1020,352,156,1998, + 2621,49,528,938,3847,4205,431,180,3404,233, + 542,582,1795,2862,2783,204,216,4533,49,203, + 213,214,215,217,2416,169,49,1998,2158,229, + 4099,2425,241,231,232,168,156,4203,167,170, + 171,172,173,174,517,180,3404,1814,542,582, + 299,306,49,204,216,4533,3510,203,213,214, + 215,217,2719,169,2419,2517,2735,229,587,35, + 2113,392,2289,168,156,178,167,170,171,172, + 173,174,603,180,3404,346,542,582,2226,155, + 1139,204,216,4533,4667,203,213,214,215,217, + 49,169,49,275,1981,229,1200,2143,930,2491, + 752,168,156,176,167,170,171,172,173,174, + 689,180,3404,49,542,582,528,1060,1618,204, + 216,4533,156,203,213,214,215,217,2519,169, + 396,431,2077,229,2155,2692,1244,3703,297,168, + 156,177,167,170,171,172,173,174,775,180, + 3404,3509,542,582,1795,343,49,204,216,4533, + 4113,203,213,214,215,217,2778,169,298,2153, + 2735,229,587,35,2113,392,2522,168,156,187, + 167,170,171,172,173,174,2557,180,3404,346, + 2328,582,2496,179,2735,204,216,4533,1800,203, + 213,214,215,217,2695,169,2586,49,929,35, + 2113,392,4248,2692,1618,168,46,4319,167,170, + 171,172,173,174,1695,35,1049,32,4782,4566, + 27,30,31,1065,1233,342,28,2421,2555,924, + 49,4320,2253,49,1341,2651,1200,3252,446,2735, + 460,861,1998,47,1610,542,1795,1446,1482,49, + 2651,3543,4790,4493,2735,49,2710,49,2692,4186, + 354,4753,156,1784,229,587,35,2113,392,2697, + 364,156,540,2692,322,2544,324,155,317,1948, + 180,3404,4688,1800,582,199,3363,338,204,216, + 4533,316,203,213,214,215,217,3205,169,155, + 436,1800,1795,355,4705,947,335,233,168,542, + 192,167,170,171,172,173,174,2626,155,347, + 1776,1020,352,4726,2584,509,233,1941,229,49, + 251,231,232,1154,2591,156,4524,309,313,948, + 509,198,2690,2001,180,3404,3543,2735,582,254, + 231,232,204,216,4533,4341,203,213,214,215, + 217,4210,169,1033,3543,2703,229,542,507,508, + 1795,1618,168,3824,186,167,170,171,172,173, + 174,337,338,506,508,49,229,1738,2585,1683, + 206,216,4533,156,205,213,214,215,217,3490, + 338,49,180,3404,455,4063,582,2743,546,305, + 204,216,4533,2658,203,213,214,215,217,752, + 169,207,209,211,3419,3728,524,208,210,1979, + 168,2720,195,167,170,171,172,173,174,3127, + 35,1049,32,2732,1386,27,30,31,1065,1233, + 26,28,1039,263,25,23,50,1282,106,76, + 77,108,534,2627,3127,35,1049,32,1713,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,108,307,2755,3127, + 35,1049,32,2718,1386,27,30,31,1065,1233, + 26,28,1039,263,25,23,50,1282,106,76, + 77,108,2741,2766,3127,2115,1049,2123,2751,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,84,3127,35,1049, + 32,2758,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,83, + 3127,35,1049,32,2753,1386,27,30,31,1065, + 1233,26,28,1039,263,25,23,50,1282,106, + 76,77,82,3127,35,1049,32,2733,1386,27, + 30,31,1065,1233,26,28,1039,263,25,23, + 50,1282,106,76,77,81,3127,35,1049,32, + 2739,1386,27,30,31,1065,1233,26,28,1039, + 263,25,23,50,1282,106,76,77,80,3127, + 35,1049,32,2793,1386,27,30,31,1065,1233, + 26,28,1039,263,25,23,50,1282,106,76, + 77,79,3127,35,1049,32,2794,1386,27,30, + 31,1065,1233,26,28,1039,263,25,23,50, + 1282,106,76,77,78,2956,35,1049,32,87, + 1386,27,30,31,1065,1233,26,28,1039,263, + 25,23,50,1282,106,76,77,104,3127,35, + 1049,32,2763,1386,27,30,31,1065,1233,26, + 28,1039,263,25,23,50,1282,106,76,77, + 110,3127,35,1049,32,2764,1386,27,30,31, + 1065,1233,26,28,1039,263,25,23,50,1282, + 106,76,77,109,3127,35,1049,32,2765,1386, + 27,30,31,1065,1233,26,28,1039,263,25, + 23,50,1282,106,76,77,107,3127,35,1049, + 32,150,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,106,76,77,105, + 1992,35,3647,32,4782,4566,27,30,31,1065, + 1233,342,28,752,1869,35,1049,32,4782,4566, + 27,30,31,1065,1233,342,28,3072,35,1049, + 32,1795,1386,27,30,31,1065,1233,26,28, + 1039,263,25,23,50,1282,86,76,77,1566, + 1618,2769,49,2735,1355,1355,1200,2240,1200,1200, + 322,2544,324,1827,317,1948,1977,2735,2776,49, + 202,173,229,1200,322,2544,324,814,317,1948, + 1795,386,156,381,160,160,229,1795,150,2771, + 1355,316,2332,1991,1200,2795,206,216,4533,156, + 205,213,214,215,217,587,35,2446,3602,2351, + 206,216,4533,1795,205,213,214,215,217,200, + 160,674,35,2113,392,4031,301,207,209,211, + 3419,49,218,208,210,972,1914,310,313,948, + 2735,207,209,211,3419,385,218,208,210,1618, + 1862,1905,4893,2796,49,1800,49,49,2735,229, + 1795,2735,3222,1618,4365,1998,47,422,423,3625, + 49,49,2790,1795,3474,1200,3350,346,4365,877, + 346,2417,3360,206,216,4533,2758,205,213,214, + 215,217,3286,35,2113,392,3398,748,2485,223, + 2799,156,3064,2799,2777,239,263,1016,35,400, + 2202,2565,193,2253,207,209,211,3419,3543,218, + 208,210,2799,1956,35,1049,32,275,4637,27, + 30,31,1065,1233,342,28,1869,35,1049,32, + 4782,4566,27,30,31,1065,1233,342,28,3679, + 2800,4365,384,333,338,233,1494,35,1049,32, + 2713,4566,27,30,31,1065,1233,342,28,2798, + 1901,1618,1618,3205,2735,4790,1446,1990,237,231, + 232,4790,336,322,2544,324,5443,318,1948,276, + 5443,1618,1618,2692,5443,407,322,2544,324,1653, + 317,1948,2447,2735,3501,1726,5443,4641,244,247, + 250,253,1457,4272,3870,1740,319,3577,324,2735, + 3205,5443,229,921,1812,4223,3205,1355,1355,335, + 5443,1200,1200,5443,5443,335,5443,5443,229,587, + 35,2446,283,5443,5443,5443,206,216,4533,5443, + 205,213,214,215,217,1618,5443,160,160,4524, + 363,5443,206,216,4533,3142,205,213,214,215, + 217,5443,5443,5443,2027,3328,3347,207,209,211, + 3419,2088,523,208,210,2735,5443,2560,3623,5443, + 5443,542,5443,207,209,211,3419,2175,219,208, + 210,2735,5443,3105,229,5443,5443,49,1901,5443, + 4220,1200,2735,4790,5443,5443,2983,156,5443,5443, + 229,5443,5443,2827,3183,5443,180,3404,206,216, + 4533,2692,205,213,214,215,217,156,1355,5443, + 5443,5443,1200,1800,206,216,4533,2084,205,213, + 214,215,217,5443,196,587,35,297,3205,207, + 209,211,3419,5443,308,208,210,335,160,1016, + 35,400,433,5443,1980,207,209,211,3419,4790, + 503,208,210,2160,35,1049,32,2481,4566,27, + 30,31,1065,1233,342,28,3673,3142,363,1180, + 5443,5443,5443,2735,4818,1286,3543,5443,5443,2735, + 4818,5443,2027,3328,3347,5443,674,35,2113,392, + 5443,5443,229,5443,3205,587,35,297,229,5443, + 5443,5443,5443,336,3631,5443,5443,929,35,2113, + 392,3645,338,319,3577,324,830,411,4306,5443, + 355,49,830,411,4306,5443,5443,5443,3630,5443, + 1998,3015,5443,5443,5443,5443,349,1776,1020,352, + 4735,197,49,5443,3308,5443,4300,412,413,414, + 3419,1998,47,412,413,414,3419,674,35,2113, + 392,674,35,2113,392,2623,5443,5443,5443,5443, + 3384,5443,674,35,2113,392,3384,5443,5443,674, + 35,2113,392,5443,5443,5443,5443,1649,35,2113, + 392,5443,49,5443,5443,5443,49,5443,4137,49, + 5443,1998,572,1200,5443,1998,47,49,674,35, + 2113,392,5443,2983,49,3308,1998,47,5443,941, + 5443,5443,49,1998,47,674,35,2113,392,156, + 2162,1998,47,5443,415,417,5443,2249,5443,4342, + 415,418,5443,49,5443,4505,2168,35,2113,392, + 5443,5443,1998,47,5443,2721,5443,5443,1155,542, + 49,4555,5443,49,5443,5443,2599,542,5443,1998, + 47,5443,5443,2686,5443,49,49,2735,346,542, + 2735,49,5443,3525,5443,156,346,5443,5443,5443, + 1998,47,5443,156,5443,188,2692,5443,346,346, + 5443,4286,1446,1733,4575,156,5443,4790,5443,2799, + 587,35,2113,392,5443,1604,5443,5443,5443,1690, + 5443,2799,2799,587,35,2113,392,587,35,2113, + 392,1898,2326,5443,587,35,2113,392,587,35, + 2113,392,49,5443,5443,49,2735,49,5443,5443, + 5443,542,3205,5443,1998,1276,5443,190,49,5443, + 5443,335,49,509,5443,346,5443,1998,2523,49, + 346,1998,2759,49,5443,5443,5443,156,1998,675, + 49,49,1998,2734,542,542,49,188,2799,5443, + 2735,4273,5443,4286,5443,49,5443,5443,2427,2735, + 5443,49,5443,346,346,2735,506,508,49,346, + 156,156,2735,2516,5443,5443,5443,1200,346,5443, + 188,188,5443,5443,346,5443,4286,4286,5443,5443, + 5443,346,2799,5443,5443,5443,5443,4163,5443,5443, + 5443,2799,2034,156,5443,5443,5443,2799,4116,4199, + 5443,513,5443,162,2799,5443,5443,511,5443,5443, + 5443,5443,5443,5443,539,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,4213,4321,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,4405,5443,0,39,5458,0,39, + 5457,0,1513,29,0,444,1556,0,458,1599, + 0,38,624,0,38,5458,0,38,5457,0, + 2636,126,0,1,448,0,462,867,0,461, + 1283,0,2978,91,0,1513,391,0,35,33, + 0,32,34,0,39,624,0,1,731,0, + 1,5717,0,1,5716,0,1,5715,0,1, + 5714,0,1,5713,0,1,5712,0,1,5711, + 0,1,5710,0,1,5709,0,1,5708,0, + 1,5707,0,39,1,5458,0,39,1,5457, + 0,634,1,0,285,398,0,285,290,0, + 5678,242,0,5677,242,0,5784,242,0,5783, + 242,0,5705,242,0,5704,242,0,5703,242, + 0,5702,242,0,5701,242,0,5700,242,0, + 5699,242,0,5698,242,0,5717,242,0,5716, + 242,0,5715,242,0,5714,242,0,5713,242, + 0,5712,242,0,5711,242,0,5710,242,0, + 5709,242,0,5708,242,0,5707,242,0,39, + 5458,242,0,39,5457,242,0,5481,242,0, + 5458,48,0,5457,48,0,5449,1,0,5448, + 1,0,4104,238,0,32,392,0,29,391, + 0,43,5479,0,43,37,0,2636,128,0, + 2636,127,0,334,449,0,5481,1,0,39, + 1,0,47,37,0,1,92,0,505,3385, + 0,5481,1,230,0,39,1,230,0,230, + 420,0,5458,37,0,5457,37,0,5458,2, + 37,0,5457,2,37,0,5458,36,0,5457, + 36,0,5479,45,0,37,45,0,5453,409, + 0,5452,409,0,1,606,0,1,3302,0, + 1,624,0,230,419,0,3117,321,0,334, + 95,0,35,73,0,1,334,0,4140,280, + 0,505,4349,0,1,230,0,230,221,0, + 1,3137,0,1,4257,0,230,220,0,5455, + 1,0,5451,1,0,1,230,3916,0,5452, + 230,0,3939,230,0,5455,387,0,5454,387, + 0,4121,230,0,10,12,0,8,10,12, + 0,4254,194,0,185,3565,0,4327,387,0, + 8,12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1089,15 +1115,15 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,0,56,57,58,59, 60,61,62,0,64,65,66,67,0,6, - 0,71,4,3,74,75,76,77,78,79, + 0,71,0,3,74,75,76,77,78,79, 80,81,82,83,84,85,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,0,49,50,51,52,53, - 54,0,56,57,58,59,60,61,62,101, - 64,65,66,67,106,92,93,71,0,0, + 54,69,56,57,58,59,60,61,62,0, + 64,65,66,67,0,92,93,71,4,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1106,30 +1132,30 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,1,2,71,4,10,74,75,76,77, + 0,1,2,71,4,0,74,75,76,77, 78,79,80,81,82,83,84,85,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,0,49,50,51, - 52,53,54,0,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,8, - 4,0,74,75,76,77,78,79,80,81, + 52,53,54,68,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,0, + 4,10,74,75,76,77,78,79,80,81, 82,83,84,85,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,71,49,50,51,52,53,54,0, + 46,47,0,49,50,51,52,53,54,0, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,6,0,102,103,104,74,75, + 66,67,0,6,0,0,87,88,74,75, 76,77,78,79,80,81,82,83,84,85, 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,0,49, + 40,41,42,43,44,45,46,47,63,49, 50,51,52,53,54,0,56,57,58,59, 60,61,62,0,64,65,66,67,99,92, 93,89,9,91,74,75,76,77,78,79, @@ -1140,42 +1166,42 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,99,6,0,0,1,2, + 64,65,66,67,99,6,0,1,2,0, 74,75,76,77,78,79,80,81,82,83, 84,85,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, - 0,49,50,51,52,53,54,0,56,57, + 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 5,92,93,87,88,0,74,75,76,77, + 5,92,93,0,1,2,74,75,76,77, 78,79,80,81,82,83,84,85,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,0,49,50,51, - 52,53,54,68,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,23, - 24,5,74,75,76,77,78,79,80,81, + 52,53,54,0,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,8, + 0,5,74,75,76,77,78,79,80,81, 82,83,84,85,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,0,49,50,51,52,53,54,0, + 46,47,71,49,50,51,52,53,54,69, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,1,2,8,4,0,74,75, + 66,67,0,1,2,0,4,0,74,75, 76,77,78,79,80,81,82,83,84,85, 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,71,49, + 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,68,56,57,58,59, 60,61,62,0,64,65,66,67,0,1, - 2,0,1,2,74,75,76,77,78,79, + 2,0,87,88,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1183,7 +1209,7 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,0,0,8,3,3, + 64,65,66,67,0,0,1,2,87,88, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1191,10 +1217,10 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,0,56,57, - 58,59,60,61,62,0,64,65,66,67, - 0,6,0,89,9,91,74,75,76,77, + 58,59,60,61,62,8,64,65,66,67, + 0,1,2,89,0,91,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, - 2,3,4,5,6,7,117,9,10,11, + 2,3,4,5,6,7,0,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,0,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, @@ -1202,233 +1228,234 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 52,53,54,0,56,57,58,4,60,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,0,118,27,28,29,30, + 21,22,23,24,100,118,27,28,29,30, 31,32,33,34,35,36,0,1,2,40, - 4,5,0,7,0,0,0,48,0,1, - 2,0,4,0,68,56,57,58,59,0, - 61,62,0,1,2,100,22,23,24,0, + 4,5,0,7,0,0,100,48,0,1, + 2,6,4,0,9,56,57,58,59,0, + 61,62,0,0,1,2,22,23,24,0, 71,72,28,29,30,31,32,33,34,35, 36,22,23,24,48,86,0,28,29,30, - 31,32,33,34,35,36,48,0,0,1, - 2,102,103,104,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,87, - 88,27,28,29,30,31,32,33,34,35, - 36,55,0,98,40,3,48,0,6,0, - 8,9,48,0,1,2,0,8,5,90, - 56,57,58,59,8,61,62,25,26,27, - 0,1,2,0,0,71,72,0,0,37, - 38,8,0,1,2,3,4,5,6,7, - 86,9,0,0,0,1,2,55,4,0, - 6,48,8,9,0,63,102,103,104,0, - 68,69,70,71,72,73,67,120,48,0, - 1,2,3,4,5,6,7,71,9,87, - 88,89,90,91,92,93,94,95,96,97, - 98,99,100,101,0,63,73,105,106,107, - 108,109,110,111,112,113,114,115,116,117, - 0,119,120,3,0,72,6,73,8,9, - 96,97,0,1,2,3,4,5,6,7, - 8,9,63,74,90,25,26,27,69,25, - 26,87,88,0,22,23,24,37,38,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,3,4,5,55,7,8,0,0, - 1,2,0,63,5,3,7,55,68,69, - 70,71,72,73,0,63,27,0,1,2, - 3,4,5,6,7,73,9,87,88,89, - 90,91,92,93,94,95,96,97,98,99, - 100,101,0,1,2,105,106,107,108,109, - 110,111,112,113,114,115,116,117,0,119, - 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,0,0,27,28, - 29,30,31,32,33,34,35,36,0,1, - 2,40,4,0,6,0,0,9,0,48, - 4,8,6,0,100,9,0,56,57,58, - 59,8,61,62,0,64,0,22,23,24, - 27,0,71,28,29,30,31,32,33,34, - 35,36,0,1,2,87,88,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,70,0,27,28,29,30,31, - 32,33,34,35,36,69,73,63,40,63, - 0,1,2,3,4,5,48,7,0,0, - 0,3,0,55,56,57,58,59,0,61, - 62,9,64,0,0,1,2,101,4,5, - 0,7,106,107,108,109,110,111,112,113, - 114,115,116,0,86,0,1,2,3,4, + 31,32,33,34,35,36,48,0,0,0, + 1,2,103,104,105,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, - 0,63,27,28,29,30,31,32,33,34, + 0,0,27,28,29,30,31,32,33,34, + 35,36,89,0,91,40,3,48,0,6, + 0,8,9,48,68,0,1,2,96,97, + 5,56,57,58,59,0,61,62,25,26, + 27,0,1,2,0,0,71,72,3,48, + 37,38,8,0,1,2,3,4,5,6, + 7,86,9,96,97,0,0,0,55,3, + 0,1,2,48,4,5,63,7,103,104, + 105,68,69,70,71,72,73,87,88,48, + 0,1,2,3,4,5,6,7,0,9, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,70,63,73,48,106, + 107,108,109,110,111,112,113,114,115,116, + 117,118,119,120,0,0,0,3,0,4, + 6,6,8,9,9,0,0,1,2,3, + 4,5,6,7,8,9,89,0,91,25, + 26,27,72,25,26,0,1,2,22,23, + 24,37,38,27,28,29,30,31,32,33, + 34,35,36,0,1,2,3,4,5,55, + 7,8,0,0,1,2,98,63,5,63, + 7,55,68,69,70,71,72,73,63,63, + 27,0,1,2,3,4,5,6,7,73, + 9,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,0,0,0,3, + 106,107,108,109,110,111,112,113,114,115, + 116,117,118,119,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, + 0,0,27,28,29,30,31,32,33,34, 35,36,0,1,2,40,4,0,6,0, - 60,9,69,48,0,8,0,3,89,0, - 91,56,57,58,59,6,61,62,98,64, - 40,22,23,24,96,97,71,28,29,30, - 31,32,33,34,35,36,0,0,1,2, - 4,86,0,1,2,3,4,5,6,7, + 0,9,0,48,0,25,26,0,8,0, + 0,56,57,58,59,8,61,62,8,64, + 0,22,23,24,87,88,71,28,29,30, + 31,32,33,34,35,36,55,27,0,1, + 2,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,70,71,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,40,4,5,48,7,0,1,2, - 48,4,0,6,0,89,9,91,56,57, - 58,59,0,61,62,3,64,0,1,2, - 3,4,5,71,7,8,0,0,1,2, - 3,4,5,6,7,0,9,48,86,0, + 18,19,20,21,22,23,24,67,0,27, + 28,29,30,31,32,33,34,35,36,70, + 73,0,40,63,0,1,2,3,4,5, + 48,7,8,25,26,0,0,55,56,57, + 58,59,0,61,62,10,64,0,1,2, + 101,27,5,0,7,0,107,108,109,110, + 111,112,113,114,115,116,117,0,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,0,63,27,28,29,30, + 21,22,23,24,59,0,27,28,29,30, 31,32,33,34,35,36,0,1,2,40, - 63,0,1,2,3,4,5,48,7,8, - 73,87,88,0,0,56,57,58,59,72, - 61,62,0,64,69,0,1,2,27,0, - 71,0,0,1,2,3,4,0,6,25, - 26,9,0,0,48,86,0,1,2,3, + 68,69,6,0,0,1,2,48,4,5, + 0,7,55,68,0,56,57,58,59,0, + 61,62,8,64,98,22,23,24,0,72, + 71,28,29,30,31,32,33,34,35,36, + 55,27,23,24,48,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,0,0,27,28,29,30,31,32,33, - 34,35,36,0,1,2,40,4,0,6, - 65,66,9,0,48,63,25,26,0,0, - 1,2,56,57,58,59,8,61,62,0, - 64,0,1,2,3,4,5,0,7,0, - 1,2,3,4,5,27,7,55,0,1, - 2,118,86,0,1,2,3,4,5,6, + 34,35,36,0,1,2,40,0,0,1, + 2,3,4,5,48,7,0,0,0,3, + 3,0,56,57,58,59,8,61,62,8, + 64,0,1,2,3,4,5,71,7,8, + 0,1,2,0,4,0,6,55,8,9, + 120,48,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,70,0, + 17,18,19,20,21,22,23,24,0,63, 27,28,29,30,31,32,33,34,35,36, - 0,0,63,40,0,4,48,3,0,1, - 2,48,63,72,0,68,8,70,4,56, - 57,58,59,22,61,62,0,64,0,3, - 0,1,2,0,8,0,1,2,3,4, - 5,118,7,0,1,2,0,0,48,86, + 0,73,71,40,63,0,1,2,3,4, + 5,48,7,0,73,60,3,0,90,56, + 57,58,59,73,61,62,0,64,0,0, + 1,2,3,4,71,6,8,0,9,0, + 90,0,1,2,3,4,5,8,7,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,67,48,27,28,29, - 30,31,32,33,34,35,36,0,55,63, - 40,0,1,2,68,8,70,0,48,73, - 0,4,55,102,103,104,56,57,58,59, - 10,61,62,0,64,0,1,2,3,4, - 5,8,7,0,0,0,3,3,0,1, - 2,3,4,5,6,7,86,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 0,0,55,25,26,4,65,66,8,59, - 73,37,38,0,0,37,38,39,4,41, - 42,43,44,45,46,47,0,49,50,51, - 52,53,54,0,0,0,73,63,60,61, - 0,0,69,65,66,0,1,2,3,4, - 5,6,7,90,9,10,11,12,13,14, - 15,16,17,18,19,20,21,67,55,55, - 25,26,0,0,1,2,4,4,5,105, - 7,68,37,38,39,0,41,42,43,44, - 45,46,47,119,49,50,51,52,53,54, - 0,1,2,68,70,60,6,94,95,0, - 65,66,3,68,0,1,2,3,4,5, + 20,21,22,23,24,0,63,27,28,29, + 30,31,32,33,34,35,36,0,1,2, + 40,4,63,6,68,69,9,69,48,0, + 63,73,3,103,104,105,56,57,58,59, + 71,61,62,72,64,0,0,1,2,3, + 4,5,6,7,0,9,0,1,2,3, + 4,5,8,7,0,0,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,0,0,27,28,29,30,31,32, + 33,34,35,36,0,1,2,40,4,63, + 6,0,48,9,3,48,70,72,0,63, + 55,67,0,56,57,58,59,9,61,62, + 0,64,0,3,0,0,1,2,8,0, + 1,2,3,4,5,0,7,0,1,2, + 0,1,2,86,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,25, - 26,5,0,7,0,3,0,3,48,3, - 0,37,38,39,8,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, - 1,2,63,0,60,0,0,0,0,1, - 2,67,0,8,8,71,0,1,2,3, - 4,5,6,7,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,63, - 0,25,26,0,1,2,0,48,8,73, - 0,0,0,37,38,39,48,41,42,43, - 44,45,46,47,72,49,50,51,52,53, - 54,68,0,70,0,70,60,3,73,73, - 68,65,66,0,1,2,3,4,5,6, - 7,48,9,10,11,12,13,14,15,16, - 17,18,19,20,21,55,55,55,25,26, - 0,0,0,73,68,3,0,0,68,8, - 37,38,39,72,41,42,43,44,45,46, - 47,0,49,50,51,52,53,54,27,0, - 0,0,70,60,94,95,0,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,55,63,0,25,26,3,0,48, - 0,3,0,0,68,68,0,37,38,39, - 4,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,0,0,22,63, - 60,94,95,72,0,10,10,67,0,1, + 16,17,18,19,20,21,22,23,24,0, + 48,27,28,29,30,31,32,33,34,35, + 36,69,0,63,40,0,1,2,68,69, + 65,66,48,73,0,0,72,3,0,0, + 56,57,58,59,0,61,62,3,64,0, + 0,1,2,0,4,0,6,8,0,9, + 0,3,0,1,2,3,4,5,6,7, + 86,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,1,2,25,26,0, + 65,66,8,55,55,37,38,0,0,37, + 38,39,4,41,42,43,44,45,46,47, + 55,49,50,51,52,53,54,0,69,0, + 71,63,60,61,0,90,0,65,66,0, + 1,2,3,4,5,6,7,0,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,67,55,55,25,26,0,1,2,0, + 4,5,3,7,106,68,37,38,39,0, + 41,42,43,44,45,46,47,119,49,50, + 51,52,53,54,0,1,2,68,0,60, + 101,94,95,69,65,66,107,68,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 0,0,0,25,26,40,40,0,0,0, - 0,4,0,48,48,37,38,39,0,41, + 0,1,2,25,26,0,0,90,0,4, + 0,3,48,3,0,37,38,39,8,41, 42,43,44,45,46,47,0,49,50,51, - 52,53,54,90,0,0,0,3,60,5, - 6,0,0,9,8,67,72,0,0,8, - 3,0,0,0,0,55,55,55,0,25, - 26,3,55,27,55,55,0,55,27,0, - 0,37,38,55,0,41,0,69,0,3, - 0,55,0,3,0,3,0,3,121,55, - 39,39,0,0,0,3,3,63,0,65, - 66,0,68,69,70,70,0,0,55,0, - 0,0,0,3,72,0,0,69,0,3, - 0,87,88,89,70,0,92,93,94,95, - 96,97,98,99,100,101,70,39,69,105, - 70,107,108,109,110,111,112,113,114,115, - 116,0,1,2,3,4,5,6,7,8, + 52,53,54,0,1,2,0,0,60,0, + 4,4,0,1,2,67,40,8,48,71, + 0,1,2,3,4,5,6,7,22,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,63,0,25,26,0,1,2, + 0,48,8,73,4,0,72,37,38,39, + 48,41,42,43,44,45,46,47,72,49, + 50,51,52,53,54,0,0,0,0,3, + 60,0,73,8,6,65,66,0,1,2, + 3,4,5,6,7,48,9,10,11,12, + 13,14,15,16,17,18,19,20,21,103, + 104,105,25,26,0,0,0,73,63,0, + 0,0,0,8,37,38,39,8,41,42, + 43,44,45,46,47,0,49,50,51,52, + 53,54,27,0,0,0,27,60,73,4, + 0,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,55,55,0,25, + 26,3,68,39,69,0,70,0,3,68, + 0,37,38,39,4,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,74, + 0,0,22,70,60,94,95,0,0,69, + 10,67,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,0,0,25,26,0, + 40,0,3,0,0,10,0,55,48,37, + 38,39,0,41,42,43,44,45,46,47, + 68,49,50,51,52,53,54,0,0,0, + 0,3,60,5,6,40,69,9,8,67, + 0,0,0,48,4,0,94,95,0,4, + 0,55,0,25,26,3,55,27,55,55, + 0,55,0,3,70,37,38,0,39,41, + 3,0,0,0,0,3,3,3,0,0, + 0,3,55,55,72,0,0,0,3,3, + 0,63,0,65,66,55,68,69,70,0, + 55,0,0,0,0,0,0,0,0,0, + 0,70,70,0,0,87,88,89,70,69, + 92,93,94,95,96,97,98,99,100,101, + 0,69,0,0,106,0,108,109,110,111, + 112,113,114,115,116,117,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,55,70, + 0,25,26,102,72,72,72,90,70,70, + 75,102,102,37,38,39,0,41,42,43, + 44,45,46,47,102,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,39, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,72,0,69,25,26,69,72, - 55,0,0,72,69,0,0,75,37,38, + 19,20,21,0,0,0,25,26,121,0, + 0,0,0,0,0,0,0,0,37,38, 39,0,41,42,43,44,45,46,47,0, - 49,50,51,52,53,54,0,1,2,3, - 4,5,6,7,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,0, - 0,25,26,0,0,0,0,0,0,0, - 0,0,0,37,38,39,0,41,42,43, - 44,45,46,47,69,49,50,51,52,53, - 54,0,0,0,90,0,60,0,117,0, - 1,2,3,4,5,6,7,0,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,25,26,0,69,0,0, - 0,0,0,0,0,0,37,38,39,0, - 41,42,43,44,45,46,47,0,49,50, - 51,52,53,54,0,1,2,3,4,5, - 6,7,63,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,25, - 26,0,0,0,0,0,0,0,0,0, - 0,37,38,39,0,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, - 0,0,0,0,60,0,1,2,3,4, + 49,50,51,52,53,54,0,0,0,0, + 0,60,0,0,118,0,1,2,3,4, 5,6,7,0,9,10,11,12,13,14, 15,16,17,18,19,20,21,0,0,0, 25,26,0,0,0,0,0,0,0,0, 0,0,37,38,39,0,41,42,43,44, 45,46,47,0,49,50,51,52,53,54, - 0,1,2,3,4,5,6,7,0,9, + 0,1,2,3,4,5,6,7,63,9, 10,11,12,13,14,15,16,17,18,19, 20,21,0,0,0,25,26,0,0,0, 0,0,0,0,0,0,0,37,38,39, 0,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 25,26,0,0,0,0,0,0,0,0, - 0,0,37,38,39,0,41,42,43,44, - 45,46,47,0,49,50,51,52,53,54, - 0,1,2,0,4,0,0,0,0,0, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,0,0,28,29, - 30,31,32,33,34,35,36,0,0,0, - 40,0,0,0,0,0,0,0,0,0, - 1,2,0,4,0,0,56,57,58,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,0,0,28,29,30, - 31,32,33,34,35,36,0,0,0,40, - 0,1,2,3,4,5,6,7,8,9, - 0,0,0,0,0,56,57,58,0,0, - 0,0,22,23,24,0,0,27,28,29, - 30,31,32,33,34,35,36,11,12,13, + 50,51,52,53,54,0,0,0,0,0, + 60,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,3, + 4,5,6,7,0,9,10,11,12,13, + 14,15,16,17,18,19,20,21,0,0, + 0,25,26,0,0,0,0,0,0,0, + 0,0,0,37,38,39,0,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,0, + 4,0,0,0,0,0,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,0,0,0,28,29,30,31,32,33, - 34,35,36,63,0,0,0,0,0,0, - 0,0,0,73,0,0,0,0,0,0, + 34,35,36,0,0,0,40,0,0,0, + 0,0,0,0,0,0,1,2,0,4, + 0,0,56,57,58,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 0,0,0,28,29,30,31,32,33,34, + 35,36,0,0,0,40,0,1,2,3, + 4,5,6,7,8,9,0,0,0,0, + 0,56,57,58,0,0,0,0,22,23, + 24,0,0,27,28,29,30,31,32,33, + 34,35,36,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,0,0,0, + 28,29,30,31,32,33,34,35,36,63, + 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,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 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; @@ -1436,346 +1463,346 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface TermAction { public final static char termAction[] = {0, - 5316,5281,5260,5260,5260,5260,5260,5260,5297,5260, + 5443,5405,5384,5384,5384,5384,5384,5384,5421,5384, + 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,5285,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,139,1, - 1,1,1,1,1,1,1,1,1,2436, - 1,5491,2300,115,3431,1,1,5327,39,3790, - 5316,5323,5354,3216,680,3697,3525,2182,3405,3628, - 3125,3685,2260,3679,640,3678,10,5300,5300,5300, - 5300,5300,5300,5300,5300,5300,5300,5300,5300,5300, - 5300,5300,5300,5300,5300,5300,5300,5300,5300,5300, - 5300,5300,5300,5300,5300,5300,5300,5300,5300,5300, - 5300,5300,5300,5300,5300,5300,5300,5300,5300,5300, - 5300,5300,5300,5300,330,5300,5300,5300,5300,5300, - 5300,395,5300,5300,5300,5300,5300,5300,5300,2220, - 5300,5300,5300,5300,3240,3766,3742,5300,296,5316, - 5300,5300,5300,5300,5300,5300,5300,5300,5300,5300, - 5300,5300,8,5303,5303,5303,5303,5303,5303,5303, - 5303,5303,5303,5303,5303,5303,5303,5303,5303,5303, - 5303,5303,5303,5303,5303,5303,5303,5303,5303,5303, - 5303,5303,5303,5303,5303,5303,5303,5303,5303,5303, - 5303,5303,5303,5303,5303,5303,5303,5303,5303,5303, - 384,5303,5303,5303,5303,5303,5303,2884,5303,5303, - 5303,5303,5303,5303,5303,300,5303,5303,5303,5303, - 286,5053,5053,5303,283,5615,5303,5303,5303,5303, - 5303,5303,5303,5303,5303,5303,5303,5303,5316,5281, - 5260,5260,5260,5260,5260,5260,5288,5260,1,1, + 1,1,1,1,1,334,1,1,1,2742, + 1,5618,1912,115,3667,1,1,5454,399,3749, + 5443,5450,157,4743,1094,4101,3562,2206,3506,3893, + 3208,4008,601,3985,2767,3962,10,5424,5424,5424, + 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, + 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, + 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, + 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, + 5424,5424,5424,5424,300,5424,5424,5424,5424,5424, + 5424,1478,5424,5424,5424,5424,5424,5424,5424,388, + 5424,5424,5424,5424,39,3724,3699,5424,5481,5443, + 5424,5424,5424,5424,5424,5424,5424,5424,5424,5424, + 5424,5424,8,5427,5427,5427,5427,5427,5427,5427, + 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427, + 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427, + 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427, + 5427,5427,5427,5427,5427,5427,5427,5427,5427,5427, + 5443,5427,5427,5427,5427,5427,5427,3051,5427,5427, + 5427,5427,5427,5427,5427,5443,5427,5427,5427,5427, + 290,5177,5177,5427,285,5443,5427,5427,5427,5427, + 5427,5427,5427,5427,5427,5427,5427,5427,5443,5405, + 5384,5384,5384,5384,5384,5384,5412,5384,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5285,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,5316,1,1,1, - 1,1,1,439,1,1,1,2436,1,5491, - 2300,5316,3431,1,1,5327,5316,4955,4952,5324, - 5354,5316,680,3697,3525,2182,3405,3628,3125,3685, - 2260,3679,640,3678,5316,5281,5260,5260,5260,5260, - 5260,5260,5288,5260,1,1,1,1,1,1, + 1,1,1,1,1,1,5443,1,1,1, + 1,1,1,3111,1,1,1,2742,1,5618, + 1912,304,3667,1,1,5454,5443,5079,5076,121, + 5481,5746,1094,4101,3562,2206,3506,3893,3208,4008, + 601,3985,2767,3962,5443,5405,5384,5384,5384,5384, + 5384,5384,5412,5384,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5285,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,5323,1,1,1,1,1,1,135, - 1,1,1,2436,1,5491,2300,117,3431,1, - 1,5327,111,3790,5316,5751,5752,5753,680,3697, - 3525,2182,3405,3628,3125,3685,2260,3679,640,3678, - 5316,5281,5260,5260,5260,5260,5260,5260,5288,5260, + 1,1,5443,1,1,1,1,1,1,135, + 1,1,1,2742,1,5618,1912,117,3667,1, + 1,5454,111,3749,5443,462,2900,2927,1094,4101, + 3562,2206,3506,3893,3208,4008,601,3985,2767,3962, + 5443,5405,5384,5384,5384,5384,5384,5384,5412,5384, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5285,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,5316,1, - 1,1,1,1,1,136,1,1,1,2436, - 1,5491,2300,131,3431,1,1,5327,2302,3766, - 3742,4092,2365,4114,680,3697,3525,2182,3405,3628, - 3125,3685,2260,3679,640,3678,5316,5281,5260,5260, - 5260,5260,5260,5260,5288,5260,1,1,1,1, + 1,1,1,1,1,1,1,1,5106,1, + 1,1,1,1,1,136,1,1,1,2742, + 1,5618,1912,131,3667,1,1,5454,2328,3724, + 3699,3958,2393,3981,1094,4101,3562,2206,3506,3893, + 3208,4008,601,3985,2767,3962,5443,5405,5384,5384, + 5384,5384,5384,5384,5412,5384,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5285,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,5316,1,1,1,1,1, - 1,5316,1,1,1,2436,1,5491,2300,116, - 3431,1,1,5327,2302,3790,121,5316,5330,5331, - 680,3697,3525,2182,3405,3628,3125,3685,2260,3679, - 640,3678,5316,5281,5260,5260,5260,5260,5260,5260, - 5288,5260,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5285, + 1,1,1,1,5443,1,1,1,1,1, + 1,5443,1,1,1,2742,1,5618,1912,116, + 3667,1,1,5454,2328,3749,5443,5457,5458,5443, + 1094,4101,3562,2206,3506,3893,3208,4008,601,3985, + 2767,3962,5443,5405,5384,5384,5384,5384,5384,5384, + 5412,5384,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, - 5316,1,1,1,1,1,1,5316,1,1, - 1,2436,1,5491,2300,5316,3431,1,1,5327, - 2532,3766,3742,2938,3033,5316,680,3697,3525,2182, - 3405,3628,3125,3685,2260,3679,640,3678,5316,5281, - 5260,5260,5260,5260,5260,5260,5288,5260,1,1, + 5443,1,1,1,1,1,1,3123,1,1, + 1,2742,1,5618,1912,5443,3667,1,1,5454, + 2780,3724,3699,5443,5263,5260,1094,4101,3562,2206, + 3506,3893,3208,4008,601,3985,2767,3962,5443,5405, + 5384,5384,5384,5384,5384,5384,5412,5384,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5285,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,335,1,1,1, - 1,1,1,2899,1,1,1,2436,1,5491, - 2300,5316,3431,1,1,5327,5316,5330,5331,5652, - 5653,2532,680,3697,3525,2182,3405,3628,3125,3685, - 2260,3679,640,3678,5316,5281,5260,5260,5260,5260, - 5260,5260,5288,5260,1,1,1,1,1,1, + 1,1,1,1,1,1,5443,1,1,1, + 1,1,1,5443,1,1,1,2742,1,5618, + 1912,5443,3667,1,1,5454,5443,5457,5458,5451, + 519,2780,1094,4101,3562,2206,3506,3893,3208,4008, + 601,3985,2767,3962,5443,5405,5384,5384,5384,5384, + 5384,5384,5412,5384,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5285,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,5316,1,1,1,1,1,1,5316, - 1,1,1,2436,1,5491,2300,1,3431,1, - 1,5327,5316,4955,4952,5278,5354,5316,680,3697, - 3525,2182,3405,3628,3125,3685,2260,3679,640,3678, - 5316,5281,5260,5260,5260,5260,5260,5260,5288,5260, + 1,1,5450,1,1,1,1,1,1,891, + 1,1,1,2742,1,5618,1912,5443,3667,1, + 1,5454,5443,5079,5076,125,5481,5443,1094,4101, + 3562,2206,3506,3893,3208,4008,601,3985,2767,3962, + 5443,5405,5384,5384,5384,5384,5384,5384,5412,5384, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5285,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,5323,1, - 1,1,1,1,1,2964,1,1,1,2436, - 1,5491,2300,5316,3431,1,1,5327,5316,5139, - 5136,48,5139,5136,680,3697,3525,2182,3405,3628, - 3125,3685,2260,3679,640,3678,5316,5281,5260,5260, - 5260,5260,5260,5260,5288,5260,1,1,1,1, + 1,1,1,1,1,1,1,1,5443,1, + 1,1,1,1,1,3133,1,1,1,2742, + 1,5618,1912,5443,3667,1,1,5454,48,5263, + 5260,124,2900,2927,1094,4101,3562,2206,3506,3893, + 3208,4008,601,3985,2767,3962,5443,5405,5384,5384, + 5384,5384,5384,5384,5412,5384,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5285,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,5316,1,1,1,1,1, - 1,5316,1,1,1,2436,1,5491,2300,5316, - 3431,1,1,5327,114,5316,91,5320,3161,4988, - 680,3697,3525,2182,3405,3628,3125,3685,2260,3679, - 640,3678,5316,3652,1,1,1,1,1,1, - 3663,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5325, + 1,1,1,1,5443,1,1,1,1,1, + 1,5443,1,1,1,2742,1,5618,1912,5443, + 3667,1,1,5454,114,401,5457,5458,2900,2927, + 1094,4101,3562,2206,3506,3893,3208,4008,601,3985, + 2767,3962,5443,3916,1,1,1,1,1,1, + 3939,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5452, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5316,1,1,1,1,1,1,5316,1,1, - 1,2436,1,5491,2300,5316,3431,1,1,5327, - 5316,729,5316,4092,576,4114,680,3697,3525,2182, - 3405,3628,3125,3685,2260,3679,640,3678,39,4955, - 4952,2831,628,3900,3982,2810,5319,4004,788,5580, - 5578,5587,5586,5582,5583,5581,5584,5585,5588,5579, - 5576,5652,5653,3953,3922,137,5570,5577,5573,5549, - 5575,5574,5571,5572,5550,4048,4026,5335,5714,3841, - 575,879,5337,663,2700,671,5316,5338,5336,569, - 5332,5333,5334,5316,639,5715,5716,2435,1380,5316, - 5191,5191,229,5187,229,229,229,5195,229,1, + 5443,1,1,1,1,1,1,5443,1,1, + 1,2742,1,5618,1912,5447,3667,1,1,5454, + 36,5339,5336,3958,137,3981,1094,4101,3562,2206, + 3506,3893,3208,4008,601,3985,2767,3962,39,5079, + 5076,3187,634,3774,3843,3302,138,3866,803,5709, + 5707,5716,5715,5711,5712,5710,5713,5714,5717,5708, + 5704,5783,5784,3820,3797,5443,5698,5705,5701,5677, + 5703,5702,5699,5700,5678,3912,3889,5462,5845,2828, + 581,995,5464,926,4077,955,5443,5465,5463,575, + 5459,5460,5461,5443,2705,5846,5847,873,1434,5443, + 5315,5315,230,5311,230,230,230,5319,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5316,3704,229,1,1,1, - 1,1,1,1,1,1,5316,4955,4952,1, - 628,5000,125,2810,224,133,5316,5184,394,5050, - 5050,5316,283,5316,2973,1,1,1,2873,225, - 5728,1211,397,5330,5331,2268,5576,5652,5653,357, - 416,229,5570,5577,5573,5549,5575,5574,5571,5572, - 5550,5576,5652,5653,2439,5816,5316,5570,5577,5573, - 5549,5575,5574,5571,5572,5550,283,5316,5316,8658, - 8658,5751,5752,5753,5316,5191,5191,229,5187,229, - 229,229,5239,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2938, - 3033,229,1,1,1,1,1,1,1,1, - 1,2584,33,2334,1,4994,5352,5316,4994,5316, - 4994,4994,5184,37,5178,5178,8,5328,5178,5672, - 1,1,1,2873,5313,5728,1211,4994,4994,4994, - 43,5160,5160,1,129,415,229,5316,5316,4994, - 4994,161,344,4955,4952,582,628,595,330,2810, - 5816,330,5316,5316,1,5175,5175,4994,5172,5316, - 330,2552,362,330,124,4994,5751,5752,5753,1, - 4994,4994,4994,4994,4994,4994,5327,4951,5157,366, - 5043,5039,582,5047,595,1,2810,5313,1,4994, - 4994,4994,4994,4994,4994,4994,4994,4994,4994,4994, - 4994,4994,4994,4994,5316,1052,161,4994,4994,4994, - 4994,4994,4994,4994,4994,4994,4994,4994,4994,4994, - 5316,4994,4994,4997,118,1926,4997,362,4997,4997, - 2478,2407,29,387,387,5154,387,387,5154,387, - 5154,5154,1052,3182,362,4997,4997,4997,1231,3717, - 3072,2938,3033,5316,387,387,387,4997,4997,5154, - 387,387,387,387,387,387,387,387,387,1, - 5043,5039,5230,5047,5236,4997,5233,5326,5316,38, - 4973,4970,237,4997,4967,5148,2810,4958,4997,4997, - 4997,4997,4997,4997,138,5154,5325,308,5043,5039, - 601,5047,595,5251,2810,5154,5251,4997,4997,4997, - 4997,4997,4997,4997,4997,4997,4997,4997,4997,4997, - 4997,4997,36,5215,5212,4997,4997,4997,4997,4997, - 4997,4997,4997,4997,4997,4997,4997,4997,123,4997, - 4997,5316,5260,5260,229,5260,229,229,229,5263, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5316,5316,229,1, - 1,8631,1,1,1,1,1,1,444,1, - 1,1,1,5316,4979,226,39,4979,5316,5257, - 5354,5326,330,5316,2268,330,139,1,1,1, - 3007,5322,5527,2300,458,3431,457,5576,5652,5653, - 5325,5316,220,5570,5577,5573,5549,5575,5574,5571, - 5572,5550,296,5330,5331,2938,3033,5816,5316,5260, - 5260,229,5260,229,229,229,229,229,1,1, + 1,1,1,1,2293,5446,230,1,1,1, + 1,1,1,1,1,1,5443,5079,5076,1, + 634,5124,5443,3302,225,5443,2293,5308,398,5174, + 5174,1544,285,113,1335,1,1,1,3106,226, + 5859,788,129,300,5457,5458,5704,5783,5784,5443, + 420,230,5698,5705,5701,5677,5703,5702,5699,5700, + 5678,5704,5783,5784,2527,5947,5443,5698,5705,5701, + 5677,5703,5702,5699,5700,5678,285,130,5443,5443, + 8788,8788,5882,5883,5884,5443,5315,5315,230,5311, + 230,230,230,5363,230,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3814,5316,229,1,1,8631,1, - 1,1,1,1,1,1884,5321,4982,1,4985, - 1,5043,5039,601,5047,595,5257,2810,346,113, - 134,1582,132,3300,1,1,1,3007,130,5527, - 2300,2365,3431,369,5316,4955,4952,2220,628,595, - 532,2810,3240,1842,1800,1758,1716,1674,1632,1590, - 1548,1506,1464,5316,5816,5316,5260,5260,229,5260, - 229,229,229,5272,229,1,1,1,1,1, + 123,37,230,1,1,1,1,1,1,1, + 1,1,3958,33,3981,1,5118,5479,5443,5118, + 5443,5118,5118,5308,5959,37,5302,5302,2452,2423, + 5302,1,1,1,3106,5443,5859,788,5118,5118, + 5118,43,5284,5284,1,314,419,230,2996,5479, + 5118,5118,161,348,5079,5076,587,634,624,334, + 3302,5947,334,2452,2423,5443,5443,112,5118,4104, + 5443,5079,5076,2793,634,5124,5118,3302,5882,5883, + 5884,5118,5118,5118,5118,5118,5118,2900,2927,5281, + 5443,5167,5163,606,5171,624,5375,3302,133,5375, + 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118, + 5118,5118,5118,5118,5118,1156,1061,161,2955,5118, + 5118,5118,5118,5118,5118,5118,5118,5118,5118,5118, + 5118,5118,5118,5118,5443,39,461,5121,118,5481, + 5121,334,5121,5121,334,351,29,391,391,5278, + 391,391,5278,391,5278,5278,3958,5443,3981,5121, + 5121,5121,1243,3160,3077,294,5457,5458,391,391, + 391,5121,5121,5278,391,391,391,391,391,391, + 391,391,391,1,5167,5163,5354,5171,5360,5121, + 5357,5453,5443,38,5097,5094,2361,5121,5091,5109, + 3302,5082,5121,5121,5121,5121,5121,5121,1061,5278, + 5452,312,5167,5163,606,5171,624,5375,3302,5278, + 5375,5121,5121,5121,5121,5121,5121,5121,5121,5121, + 5121,5121,5121,5121,5121,5121,91,122,5443,5112, + 5121,5121,5121,5121,5121,5121,5121,5121,5121,5121, + 5121,5121,5121,5121,5121,5443,5384,5384,230,5384, + 230,230,230,5387,230,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5316,1052,229,1,1,8631,1,1,1,1, - 1,1,445,39,39,1,5354,5316,5169,227, - 3533,5169,1276,5257,1,5324,112,4711,4092,5316, - 4114,1,1,1,3007,1144,5527,2300,2334,3431, - 3593,5576,5652,5653,2478,2407,219,5570,5577,5573, - 5549,5575,5574,5571,5572,5550,5316,37,5178,5178, - 2840,5816,5316,5260,5260,229,5260,229,229,229, - 5263,229,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1007,5323,229, - 1,1,8631,1,1,1,1,1,1,5316, - 4955,4952,1,628,5000,2512,2810,92,1,1, - 5257,1,347,5181,122,4092,5181,4114,1,1, - 1,3007,5316,5527,2300,3508,3431,1,5043,5039, - 582,5047,595,220,2810,5142,5316,5316,5043,5039, - 601,5047,595,5251,2810,367,5251,2536,5816,5316, - 5260,5260,229,5260,229,229,229,5263,229,1, + 120,5443,230,1,1,8845,1,1,1,1, + 1,1,448,1,1,1,1,5443,5103,227, + 5443,5103,5443,5381,5443,3160,3077,5443,5455,139, + 409,1,1,1,3386,5449,5655,1912,5348,3667, + 100,5704,5783,5784,2900,2927,221,5698,5705,5701, + 5677,5703,5702,5699,5700,5678,4204,5351,5443,8720, + 8715,5947,5443,5384,5384,230,5384,230,230,230, + 230,230,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5454,119,230, + 1,1,8845,1,1,1,1,1,1,1951, + 5448,5443,1,4457,1,5167,5163,606,5171,624, + 5381,3302,312,3160,3077,304,134,3488,1,1, + 1,3386,5443,5655,1912,5746,3667,5443,5457,5458, + 2254,312,624,5443,3302,5443,2522,1908,1865,1822, + 1779,1736,1693,1650,1607,1564,1521,29,5947,5443, + 5384,5384,230,5384,230,230,230,5396,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5316,1052,229,1,1,8631, - 1,1,1,1,1,1,5316,5201,5198,1, - 1052,1,5043,5039,601,5047,595,5257,2810,308, - 5145,2938,3033,374,120,1,1,1,3007,2010, - 5527,2300,5316,3431,1335,5316,5330,5331,308,5316, - 220,5316,344,39,39,3112,5354,5316,330,3717, - 3072,330,5316,5316,5352,5816,5316,5260,5260,229, - 5260,229,229,229,229,229,1,1,1,1, + 1,1,1,1,3329,5443,230,1,1,8845, + 1,1,1,1,1,1,37,5302,5302,1, + 4447,3495,334,228,5443,5079,5076,5381,634,624, + 5443,3302,1513,5888,5443,1,1,1,3386,339, + 5655,1912,5453,3667,2361,5704,5783,5784,5443,428, + 220,5698,5705,5701,5677,5703,5702,5699,5700,5678, + 4207,5452,5783,5784,5479,5947,5443,5384,5384,230, + 5384,230,230,230,5387,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,119,5316,229,1,1,8631,1,1,1, - 1,1,1,95,39,39,1,5354,157,5245, - 4070,871,5245,521,5257,1052,3717,3072,405,290, - 5330,5331,1,1,1,3007,5224,5527,2300,100, - 3431,1,5043,5039,601,5047,595,5316,2810,1, - 5043,5039,582,5047,595,5227,2810,3111,5316,5208, - 5204,3704,5816,5316,5260,5260,229,5260,229,229, - 229,229,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1422,5316, - 229,1,1,8631,1,1,1,1,1,1, - 37,39,4847,1,5316,5354,5352,4571,5316,5330, - 5331,5257,1052,2010,395,4574,5328,3135,388,1, - 1,1,3007,939,5527,2300,1,3431,47,3112, - 5316,8540,8137,5316,340,330,4955,4952,601,628, - 595,3704,2810,5316,8540,8137,5316,5316,5352,5816, - 5316,5260,5260,229,5260,229,229,229,229,229, + 1,5443,5443,230,1,1,8845,1,1,1, + 1,1,1,37,5302,5302,1,5443,1,5167, + 5163,606,5171,624,5381,3302,350,238,1,1728, + 5272,1,1,1,1,3386,366,5655,1912,5402, + 3667,1,5167,5163,587,5171,624,221,3302,5266, + 1,5299,5299,5443,5296,537,334,4756,366,334, + 5075,2594,5947,5443,5384,5384,230,5384,230,230, + 230,5387,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5443,1061, + 230,1,1,8845,1,1,1,1,1,1, + 443,366,5450,1,1061,334,5079,5076,606,634, + 624,5381,3302,321,5269,3801,5366,5443,366,1, + 1,1,3386,366,5655,1912,5443,3667,5443,348, + 39,39,3487,5481,221,334,5449,323,334,8, + 366,1,5167,5163,606,5171,624,5440,3302,5947, + 5443,5384,5384,230,5384,230,230,230,230,230, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5327,2172,229,1,1, - 8631,1,1,1,1,1,1,1,3276,1052, - 1,5316,5139,5136,340,5322,340,396,5257,340, - 300,387,3627,5751,5752,5753,1,1,1,3007, - 5615,5527,2300,1,3431,1,5043,5039,5230,5047, - 5236,362,5233,310,75,5316,2633,4190,5316,1, - 1,1,1,1,1,1,5816,1,1,1, + 1,1,1,1,1,5443,1061,230,1,1, + 8845,1,1,1,1,1,1,449,39,39, + 1,5481,1061,5293,4231,3495,5293,4888,5381,1, + 1061,5448,4866,5882,5883,5884,1,1,1,3386, + 5440,5655,1912,1243,3667,5443,370,5167,5163,587, + 5171,624,1,3302,1,1,1,5167,5163,587, + 5171,624,5399,3302,47,5443,5947,5443,5384,5384, + 230,5384,230,230,230,230,230,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5316,925,1,1,1331,4070,871,5275,3183, - 5321,5378,5379,126,48,1,1,1,5331,1, - 1,1,1,1,1,1,5316,1,1,1, - 1,1,1,5316,515,5316,362,1139,1,5852, - 5316,5316,1146,1,1,1,5043,5039,2831,5047, - 3900,3982,2810,362,4004,5003,5030,5036,5009,5012, - 5024,5021,5027,5018,5015,5006,5033,5327,2768,5331, - 3953,3922,5316,5316,4955,4952,2211,628,595,802, - 2810,4976,4048,4026,5335,5316,3841,575,879,5337, - 663,2700,671,942,5338,5336,569,5332,5333,5334, - 37,5178,5178,5828,883,1380,330,2667,2640,317, - 39,39,5242,516,39,4955,4952,2831,628,3900, - 3982,2810,5310,4004,922,5580,5578,5587,5586,5582, - 5583,5581,5584,5585,5588,5579,5316,5330,5331,3953, - 3922,595,5316,2810,5316,4683,1,4703,5352,3112, - 5316,4048,4026,5335,5142,3841,575,879,5337,663, - 2700,671,5316,5338,5336,569,5332,5333,5334,45, - 5221,5221,1052,5316,1380,5316,1,5316,5316,5201, - 5198,5294,5316,5322,528,5323,141,4955,4952,2831, - 628,3900,3982,2810,5316,4004,922,5580,5578,5587, - 5586,5582,5583,5581,5584,5585,5588,5579,5316,1052, - 1,3953,3922,37,5178,5178,5316,5218,163,5145, - 128,29,29,4048,4026,5335,5352,3841,575,879, - 5337,663,2700,671,5717,5338,5336,569,5332,5333, - 5334,3788,361,3135,5316,4826,1380,4196,5321,528, - 5757,39,39,1,5043,5039,2831,5047,3900,3982, - 2810,5352,4004,5003,5030,5036,5009,5012,5024,5021, - 5027,5018,5015,5006,5033,2768,925,4958,3953,3922, - 319,5316,5316,163,5771,4289,5316,127,5163,5326, - 4048,4026,5335,424,3841,575,879,5337,663,2700, - 671,5316,5338,5336,569,5332,5333,5334,5325,5316, - 5316,428,3262,1380,2667,2640,99,5316,39,39, - 39,4955,4952,2831,628,3900,3982,2810,5291,4004, - 922,5580,5578,5587,5586,5582,5583,5581,5584,5585, - 5588,5579,2768,1052,103,3953,3922,4516,5316,3302, - 5316,2826,5316,1,4411,5166,39,4048,4026,5335, - 5354,3841,575,879,5337,663,2700,671,5316,5338, - 5336,569,5332,5333,5334,1,1,185,3242,1094, - 1380,2667,2640,2571,448,5266,5266,5294,39,4955, - 4952,2831,628,3900,3982,2810,5291,4004,922,5580, - 5578,5587,5586,5582,5583,5581,5584,5585,5588,5579, - 440,454,387,3953,3922,5269,5269,48,291,5316, - 5316,5330,395,3490,3490,4048,4026,5335,73,3841, - 575,879,5337,663,2700,671,5316,5338,5336,569, - 5332,5333,5334,5674,1,289,1,600,1380,5785, - 5779,1,5316,5783,5326,5294,2626,278,420,191, - 5254,5316,5316,5316,426,4961,4964,4991,5316,5777, - 5778,3437,5330,5325,925,3300,449,925,191,35, - 307,5808,5809,5248,5316,5786,5316,2048,5316,4580, - 5316,3158,5316,2807,5316,3561,5316,3585,5307,5788, - 1086,3316,5316,5316,5316,4409,4410,1003,1,1738, - 1762,5316,5789,5787,5810,620,508,5316,3382,506, - 5316,5316,5316,4286,2096,5316,5316,2134,5316,4853, - 5316,5799,5798,5811,3389,2,5780,5781,5804,5805, - 5802,5803,5782,5784,5806,5807,2820,3403,3375,5812, - 3828,5792,5793,5794,5790,5791,5800,5801,5796,5795, - 5797,39,4955,4952,2831,628,3900,3982,2810,5320, - 4004,922,5580,5578,5587,5586,5582,5583,5581,5584, - 5585,5588,5579,3180,1,4805,3953,3922,4824,3235, - 37,5316,5316,3290,3375,5316,5316,3794,4048,4026, - 5335,5316,3841,575,879,5337,663,2700,671,5316, - 5338,5336,569,5332,5333,5334,39,4955,4952,2831, - 628,3900,3982,2810,5316,4004,922,5580,5578,5587, - 5586,5582,5583,5581,5584,5585,5588,5579,510,5316, - 5316,3953,3922,5316,5316,5316,5316,5316,5316,5316, - 5316,5316,5316,4048,4026,5335,5316,3841,575,879, - 5337,663,2700,671,1968,5338,5336,569,5332,5333, - 5334,5316,5316,5316,3976,5316,1380,5316,5319,39, - 4955,4952,2831,628,3900,3982,2810,5316,4004,922, - 5580,5578,5587,5586,5582,5583,5581,5584,5585,5588, - 5579,5316,5316,5316,3953,3922,5316,1318,5316,5316, - 5316,5316,5316,5316,5316,5316,4048,4026,5335,5316, - 3841,575,879,5337,663,2700,671,5316,5338,5336, - 569,5332,5333,5334,39,4955,4952,2831,628,3900, - 3982,2810,1790,4004,922,5580,5578,5587,5586,5582, - 5583,5581,5584,5585,5588,5579,5316,5316,5316,3953, - 3922,5316,5316,5316,5316,5316,5316,5316,5316,5316, - 5316,4048,4026,5335,5316,3841,575,879,5337,663, - 2700,671,5316,5338,5336,569,5332,5333,5334,5316, - 5316,5316,5316,5316,1380,39,4955,4952,4774,628, - 3900,3982,2810,5316,4004,922,5580,5578,5587,5586, - 5582,5583,5581,5584,5585,5588,5579,5316,5316,5316, - 3953,3922,5316,5316,5316,5316,5316,5316,5316,5316, - 5316,5316,4048,4026,5335,5316,3841,575,879,5337, - 663,2700,671,5316,5338,5336,569,5332,5333,5334, - 39,4955,4952,2831,628,3900,3982,2810,5316,4004, - 922,5580,5578,5587,5586,5582,5583,5581,5584,5585, - 5588,5579,5316,5316,5316,3953,3922,5316,5316,5316, - 5316,5316,5316,5316,5316,5316,5316,4048,4026,5335, - 5316,3841,575,879,5337,663,2700,671,5316,5338, - 5336,569,5332,5333,5334,39,4955,4952,2831,628, - 3900,3982,2810,5316,4004,922,5580,5578,5587,5586, - 5582,5583,5581,5584,5585,5588,5579,5316,5316,5316, - 3953,3922,5316,5316,5316,5316,5316,5316,5316,5316, - 5316,5316,4048,4026,5335,5316,3841,575,879,5337, - 663,2700,671,5316,5338,5336,569,5332,5333,5334, - 5316,4955,4952,5316,5354,5316,5316,5316,5316,5316, - 732,5580,5578,5587,5586,5582,5583,5581,5584,5585, - 5588,5579,5576,5652,5653,5316,5316,5316,5570,5577, - 5573,5549,5575,5574,5571,5572,5550,5316,5316,5316, - 5714,5316,5316,5316,5316,5316,5316,5316,5316,241, - 5129,5125,5316,5133,5316,5316,639,5715,5716,732, - 5116,5122,5095,5098,5110,5107,5113,5104,5101,5092, - 5119,5071,5065,5062,5316,5316,5316,5089,5068,5080, - 5059,5074,5077,5086,5083,5056,5316,5316,5316,5714, - 32,388,388,5151,388,388,5151,388,5151,5151, - 5316,5316,5316,5316,5316,639,5715,5716,5316,5316, - 5316,5316,388,388,388,5316,223,5151,388,388, - 388,388,388,388,388,388,388,5580,5578,5587, - 5586,5582,5583,5581,5584,5585,5588,5579,5576,5652, - 5653,5316,5316,5316,5570,5577,5573,5549,5575,5574, - 5571,5572,5550,5151,5316,5316,5316,5316,5316,5316, - 5316,5316,5316,5151 + 1,1,5443,5443,230,1,1,8845,1,1, + 1,1,1,1,92,1,1,1,1,1061, + 5305,5443,2245,5305,3342,5381,1287,1994,132,1061, + 4822,5454,365,1,1,1,3386,2393,5655,1912, + 1,3667,5443,3487,5443,5443,5457,5458,344,1, + 5167,5163,5354,5171,5360,5443,5357,5443,8720,8715, + 293,935,935,5947,5443,5384,5384,230,5384,230, + 230,230,230,230,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5443, + 3529,230,1,1,8845,1,1,1,1,1, + 1,3440,5443,1061,1,5443,5263,5260,344,344, + 3935,619,5381,344,5443,361,5848,4102,29,444, + 1,1,1,3386,5443,5655,1912,4119,3667,5443, + 95,39,39,5443,5481,458,5369,5451,75,5369, + 5443,4105,5443,1,1,1,1,1,1,1, + 5947,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5443,5457,5458,1,1,139, + 3935,619,5455,5082,5085,5505,5506,126,400,1, + 1,1,391,1,1,1,1,1,1,1, + 5088,1,1,1,1,1,1,5443,1016,5443, + 5450,1149,1,5984,287,5803,5443,1,1,1, + 5167,5163,3187,5171,3774,3843,3302,1,3866,5127, + 5154,5160,5133,5136,5148,5145,5151,5142,5139,5130, + 5157,5454,2664,1513,3820,3797,5443,5079,5076,5443, + 634,624,4221,3302,810,5100,3912,3889,5462,5443, + 2828,581,995,5464,926,4077,955,951,5465,5463, + 575,5459,5460,5461,5443,5325,5322,5902,5443,1434, + 2254,2566,2494,5729,39,39,2522,520,39,5079, + 5076,3187,634,3774,3843,3302,5437,3866,731,5709, + 5707,5716,5715,5711,5712,5710,5713,5714,5717,5708, + 5443,5332,5328,3820,3797,5443,5443,5805,5443,2739, + 1,4140,5479,3487,432,3912,3889,5462,5266,2828, + 581,995,5464,926,4077,955,452,5465,5463,575, + 5459,5460,5461,45,5345,5345,39,399,1434,1, + 5481,392,5443,5325,5322,5418,4519,5449,5479,5450, + 141,5079,5076,3187,634,3774,3843,3302,2416,3866, + 731,5709,5707,5716,5715,5711,5712,5710,5713,5714, + 5717,5708,5443,1061,1,3820,3797,37,5302,5302, + 5443,5342,533,5269,621,99,4352,3912,3889,5462, + 5479,2828,581,995,5464,926,4077,955,2559,5465, + 5463,575,5459,5460,5461,1,5443,5443,5443,4377, + 1434,373,5448,163,1630,39,39,1,5167,5163, + 3187,5171,3774,3843,3302,5479,3866,5127,5154,5160, + 5133,5136,5148,5145,5151,5142,5139,5130,5157,5882, + 5883,5884,3820,3797,5443,5443,371,533,1104,1, + 5443,128,391,5453,3912,3889,5462,5453,2828,581, + 995,5464,926,4077,955,1,5465,5463,575,5459, + 5460,5461,5452,295,5443,5443,5452,1434,163,672, + 293,1342,39,39,39,5079,5076,3187,634,3774, + 3843,3302,5415,3866,731,5709,5707,5716,5715,5711, + 5712,5710,5713,5714,5717,5708,2664,5115,103,3820, + 3797,4378,3603,1235,4050,5443,1391,5443,3117,5287, + 39,3912,3889,5462,5481,2828,581,995,5464,926, + 4077,955,127,5465,5463,575,5459,5460,5461,3340, + 1,5443,3537,2080,1434,2566,2494,430,5443,8155, + 5390,5418,39,5079,5076,3187,634,3774,3843,3302, + 5415,3866,731,5709,5707,5716,5715,5711,5712,5710, + 5713,5714,5717,5708,424,1,5443,3820,3797,280, + 5393,5443,5378,399,73,5390,5443,2664,3753,3912, + 3889,5462,5443,2828,581,995,5464,926,4077,955, + 5290,5465,5463,575,5459,5460,5461,5443,1,5443, + 1,645,1434,5916,5910,5393,1103,5914,191,5418, + 48,35,512,3753,5458,48,2566,2494,510,5457, + 453,1513,5443,5908,5909,3691,3488,191,1513,5372, + 5443,3292,311,4488,2167,5939,5940,5443,3464,5917, + 600,5443,5443,5443,5443,4827,4860,4437,5443,378, + 526,4861,3517,5919,2119,5443,5443,1,3416,4679, + 5443,665,525,1888,1955,5458,5920,5941,5918,5443, + 5457,5443,5443,5443,5443,194,5443,185,5443,514, + 5443,3578,4875,2,5443,5930,5929,5942,4881,3047, + 5911,5912,5935,5936,5933,5934,5913,5915,5937,5938, + 5443,4064,5443,5443,5943,5443,5923,5924,5925,5921, + 5922,5931,5932,5927,5926,5928,39,5079,5076,3187, + 634,3774,3843,3302,5447,3866,731,5709,5707,5716, + 5715,5711,5712,5710,5713,5714,5717,5708,37,3578, + 1,3820,3797,4118,3246,3284,3322,4322,2037,2607, + 5431,4118,1,3912,3889,5462,5443,2828,581,995, + 5464,926,4077,955,4118,5465,5463,575,5459,5460, + 5461,39,5079,5076,3187,634,3774,3843,3302,3648, + 3866,731,5709,5707,5716,5715,5711,5712,5710,5713, + 5714,5717,5708,5443,5443,5443,3820,3797,5434,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,3912,3889, + 5462,5443,2828,581,995,5464,926,4077,955,5443, + 5465,5463,575,5459,5460,5461,5443,5443,5443,5443, + 5443,1434,5443,5443,5446,39,5079,5076,3187,634, + 3774,3843,3302,5443,3866,731,5709,5707,5716,5715, + 5711,5712,5710,5713,5714,5717,5708,5443,5443,5443, + 3820,3797,5443,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,3912,3889,5462,5443,2828,581,995,5464, + 926,4077,955,5443,5465,5463,575,5459,5460,5461, + 39,5079,5076,3187,634,3774,3843,3302,1382,3866, + 731,5709,5707,5716,5715,5711,5712,5710,5713,5714, + 5717,5708,5443,5443,5443,3820,3797,5443,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,3912,3889,5462, + 5443,2828,581,995,5464,926,4077,955,5443,5465, + 5463,575,5459,5460,5461,5443,5443,5443,5443,5443, + 1434,39,5079,5076,4755,634,3774,3843,3302,5443, + 3866,731,5709,5707,5716,5715,5711,5712,5710,5713, + 5714,5717,5708,5443,5443,5443,3820,3797,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,3912,3889, + 5462,5443,2828,581,995,5464,926,4077,955,5443, + 5465,5463,575,5459,5460,5461,39,5079,5076,3187, + 634,3774,3843,3302,5443,3866,731,5709,5707,5716, + 5715,5711,5712,5710,5713,5714,5717,5708,5443,5443, + 5443,3820,3797,5443,5443,5443,5443,5443,5443,5443, + 5443,5443,5443,3912,3889,5462,5443,2828,581,995, + 5464,926,4077,955,5443,5465,5463,575,5459,5460, + 5461,39,5079,5076,3187,634,3774,3843,3302,5443, + 3866,731,5709,5707,5716,5715,5711,5712,5710,5713, + 5714,5717,5708,5443,5443,5443,3820,3797,5443,5443, + 5443,5443,5443,5443,5443,5443,5443,5443,3912,3889, + 5462,5443,2828,581,995,5464,926,4077,955,5443, + 5465,5463,575,5459,5460,5461,5443,5079,5076,5443, + 5481,5443,5443,5443,5443,5443,684,5709,5707,5716, + 5715,5711,5712,5710,5713,5714,5717,5708,5704,5783, + 5784,5443,5443,5443,5698,5705,5701,5677,5703,5702, + 5699,5700,5678,5443,5443,5443,5845,5443,5443,5443, + 5443,5443,5443,5443,5443,242,5253,5249,5443,5257, + 5443,5443,2705,5846,5847,684,5240,5246,5219,5222, + 5234,5231,5237,5228,5225,5216,5243,5195,5189,5186, + 5443,5443,5443,5213,5192,5204,5183,5198,5201,5210, + 5207,5180,5443,5443,5443,5845,32,392,392,5275, + 392,392,5275,392,5275,5275,5443,5443,5443,5443, + 5443,2705,5846,5847,5443,5443,5443,5443,392,392, + 392,5443,224,5275,392,392,392,392,392,392, + 392,392,392,5709,5707,5716,5715,5711,5712,5710, + 5713,5714,5717,5708,5704,5783,5784,5443,5443,5443, + 5698,5705,5701,5677,5703,5702,5699,5700,5678,5275, + 5443,5443,5443,5443,5443,5443,5443,5443,5443,5275 }; }; public final static char termAction[] = TermAction.termAction; @@ -1783,61 +1810,61 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface Asb { public final static char asb[] = {0, - 811,7,547,1,852,924,924,924,924,1059, - 852,862,862,595,862,153,531,155,548,548, - 548,548,548,548,548,548,548,864,870,875, - 872,879,877,884,882,886,885,887,304,888, - 547,531,635,635,635,635,586,719,56,56, - 859,635,247,204,862,862,56,586,204,204, - 195,531,938,634,1115,1061,996,531,862,864, - 706,706,719,547,548,548,548,548,548,548, - 548,548,548,548,548,548,548,548,548,548, - 548,548,548,547,547,547,547,547,547,547, - 547,547,547,547,547,548,204,204,809,809, - 809,809,401,204,56,56,1057,985,996,301, - 996,296,996,50,996,980,1059,586,247,247, - 56,924,548,1057,207,11,487,486,438,1003, - 1003,1059,155,247,634,547,584,1114,204,583, - 585,583,204,247,872,872,870,870,870,877, - 877,877,877,875,875,882,879,879,885,884, - 886,1073,887,852,852,852,852,586,586,809, - 808,809,859,586,353,356,298,400,299,1059, - 586,586,401,809,195,247,903,204,13,15, - 586,1115,548,635,868,160,204,1061,586,586, - 585,1115,547,547,547,547,547,852,852,531, - 354,857,855,356,586,715,474,713,401,301, - 405,586,401,586,204,491,479,490,15,401, - 584,204,868,1057,1114,1061,586,584,204,204, - 204,204,719,719,354,855,914,586,356,1073, - 299,924,403,108,1063,356,715,714,715,715, - 401,405,405,586,586,410,547,488,488,420, - 420,586,9,1057,763,204,586,868,869,868, - 547,160,113,864,1061,204,204,855,855,1115, - 301,301,809,924,583,433,1065,580,852,715, - 715,715,715,586,405,914,912,913,410,547, - 547,15,586,1115,204,13,479,410,1038,868, - 719,548,247,113,855,854,584,667,301,251, - 372,584,715,715,580,908,548,1073,428,917, - 586,1057,715,715,495,914,548,586,803,15, - 410,869,204,247,855,909,667,667,761,1075, - 345,852,299,288,372,584,715,301,1059,1065, - 548,548,1114,580,928,662,496,586,803,204, - 803,914,667,667,250,345,761,932,1059,808, - 924,589,589,909,301,511,928,586,852,495, - 586,1059,1059,586,852,796,803,914,251,667, - 909,427,908,204,1059,586,372,251,372,807, - 807,926,512,1059,586,719,586,586,586,16, - 796,667,547,116,580,909,586,586,372,635, - 635,926,511,1073,548,1073,909,510,852,852, - 852,512,852,586,312,909,909,586,301,204, - 586,586,203,798,914,204,914,301,586,909, - 808,503,852,503,512,1073,512,531,531,529, - 936,531,909,909,431,926,635,798,914,116, - 909,48,763,512,204,580,204,529,345,852, - 204,926,116,589,204,204,1051,512,431,512, - 909,345,547,512,509,913,807,301,301,1053, - 547,510,719,909,204,907,115,583,512,204, - 909,907,907,512 + 745,7,540,1,786,875,875,875,875,1050, + 786,811,811,634,811,88,524,90,541,541, + 541,541,541,541,541,541,541,813,819,824, + 821,828,826,833,831,835,834,836,231,837, + 540,524,674,674,674,674,579,927,291,291, + 808,674,182,139,811,811,291,579,139,139, + 130,524,885,673,1106,1052,987,524,811,813, + 627,627,927,540,541,541,541,541,541,541, + 541,541,541,541,541,541,541,541,541,541, + 541,541,541,540,540,540,540,540,540,540, + 540,540,540,540,540,541,139,139,801,801, + 801,801,395,139,291,291,1048,976,987,288, + 987,283,987,485,987,971,1050,579,182,182, + 291,875,541,1048,142,11,477,476,433,994, + 994,1050,90,182,673,540,577,1105,139,576, + 578,576,139,182,821,821,819,819,819,826, + 826,826,826,824,824,831,828,828,834,833, + 835,1064,836,786,786,786,786,579,579,801, + 800,801,808,579,280,350,285,394,286,1050, + 579,579,395,801,130,182,852,139,13,15, + 579,1106,541,674,817,95,139,1052,579,579, + 578,1106,540,540,540,540,540,786,786,524, + 281,806,804,350,579,708,418,706,395,288, + 399,579,395,579,139,481,469,480,15,395, + 577,139,817,1048,1105,1052,579,577,139,139, + 139,139,927,927,281,804,402,579,350,1064, + 286,875,397,343,1054,350,708,707,708,708, + 395,399,399,579,579,423,540,478,478,405, + 405,579,9,1048,712,139,579,817,818,817, + 540,95,348,813,1052,139,139,804,804,1106, + 288,288,801,875,576,491,1056,573,786,708, + 708,708,708,579,399,401,861,401,423,540, + 540,15,579,1106,139,13,469,423,1029,817, + 927,541,182,348,804,803,577,588,288,186, + 366,577,708,708,573,857,541,1064,413,868, + 579,1048,708,708,1112,401,402,541,579,795, + 15,423,818,139,182,804,858,588,588,969, + 1066,272,786,286,223,366,577,708,288,1050, + 1056,541,541,1105,573,877,701,1113,579,402, + 795,139,795,402,588,588,185,272,969,881, + 1050,800,875,582,582,858,288,504,877,579, + 786,1112,579,1050,1050,579,786,788,795,402, + 186,588,858,412,857,139,1050,579,366,186, + 366,799,799,866,505,1050,579,927,579,579, + 579,16,788,588,540,51,573,858,579,579, + 366,674,674,866,504,1064,541,1064,858,503, + 786,786,786,505,786,579,239,858,858,579, + 288,139,579,579,138,790,402,139,402,288, + 579,858,800,496,786,496,505,1064,505,524, + 524,522,503,524,858,858,416,502,674,790, + 402,51,858,48,712,505,139,573,139,522, + 272,786,139,866,51,582,139,139,1042,505, + 416,505,858,272,540,505,502,401,799,288, + 288,1044,540,503,927,858,139,856,50,576, + 505,139,858,856,856,505 }; }; public final static char asb[] = Asb.asb; @@ -1845,118 +1872,118 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface Asr { public final static byte asr[] = {0, - 8,72,117,73,27,70,120,0,5,7, + 8,72,118,73,27,69,120,0,5,7, 3,63,6,9,90,28,11,12,23,13, 56,29,30,14,31,32,15,16,33,34, 17,18,35,57,36,10,58,19,22,20, - 24,21,1,2,4,73,8,40,0,4, - 8,67,1,2,0,28,11,12,40,23, - 42,65,13,43,56,29,30,44,14,31, - 32,15,16,33,66,34,45,17,18,46, - 35,47,57,49,60,50,36,51,58,19, - 22,20,24,21,52,53,54,39,3,37, - 38,9,6,25,26,41,68,7,1,2, - 4,10,5,0,71,60,37,38,9,6, - 25,26,41,46,3,4,52,53,54,39, - 50,44,49,12,21,11,17,15,16,18, - 19,14,13,20,10,43,47,45,42,51, - 67,8,7,5,1,2,66,65,0,91, - 89,25,26,92,93,87,88,55,94,95, - 96,97,98,99,100,101,106,72,90,69, - 107,108,109,110,111,112,113,114,115,116, - 117,71,27,120,68,1,2,9,6,4, - 3,63,70,73,8,0,65,66,3,10, - 43,47,45,42,51,12,21,11,17,15, - 16,18,19,14,13,20,52,53,54,39, - 50,44,49,5,7,4,37,38,9,6, - 25,26,41,46,1,2,117,8,0,67, - 40,23,13,56,29,14,31,32,15,16, - 33,34,17,18,35,57,36,58,19,22, - 20,24,21,12,11,28,8,3,9,6, - 27,62,64,86,30,61,48,7,1,2, - 5,4,10,59,0,48,4,72,1,2, - 67,8,0,68,72,90,70,117,73,71, - 120,11,12,42,65,13,43,44,14,15, - 16,66,45,17,18,46,47,49,60,50, - 51,10,19,20,21,52,53,54,39,37, - 38,25,26,41,8,27,5,7,1,2, - 4,3,9,6,0,86,59,7,102,103, - 104,62,8,3,9,6,5,72,71,27, - 61,28,11,12,40,23,13,56,29,30, - 14,31,32,15,16,33,34,17,18,35, - 57,36,10,58,19,22,20,24,21,4, - 1,2,48,0,1,2,8,71,0,23, - 60,24,8,68,90,69,70,73,0,74, - 68,72,90,73,67,63,3,8,70,27, - 69,0,8,72,67,74,0,28,11,12, - 23,13,29,30,14,31,32,15,16,33, - 7,34,17,18,35,36,19,22,20,24, - 21,1,2,8,63,9,6,5,4,73, - 27,3,0,4,8,72,67,0,9,6, - 7,5,4,1,2,3,63,68,69,70, - 8,73,90,0,22,1,2,4,102,103, - 104,0,86,102,103,104,48,72,118,121, - 71,61,74,62,59,64,76,78,84,82, - 75,80,81,83,85,67,77,79,27,8, - 28,40,23,56,29,30,31,32,33,34, - 35,57,36,58,22,24,60,65,66,10, - 43,47,45,42,51,12,21,11,17,15, - 16,18,19,14,13,20,52,53,54,39, - 50,44,49,37,38,25,26,41,46,9, - 6,3,4,7,5,1,2,0,68,69, - 70,1,2,0,66,65,25,26,6,92, - 93,98,9,99,5,41,69,55,68,110, - 111,107,108,109,115,114,116,88,87,112, - 113,96,97,94,95,100,101,37,38,70, - 89,105,63,3,28,11,12,40,23,13, - 56,29,30,14,31,32,15,16,33,34, - 17,18,35,57,36,10,58,19,20,24, - 21,1,2,4,22,0,64,28,11,12, - 40,23,13,56,29,86,30,14,31,32, - 15,16,33,59,34,17,18,35,57,36, - 10,58,19,62,22,20,24,21,8,3, - 9,6,71,27,61,7,4,48,5,1, - 2,0,4,55,8,72,67,0,8,73, - 11,12,42,65,13,43,44,14,15,16, - 66,7,45,17,18,46,47,49,60,50, - 51,10,19,20,21,52,53,54,1,2, - 3,37,38,9,6,25,26,5,41,4, - 39,0,28,11,12,40,23,13,56,29, - 30,14,31,32,15,16,33,34,17,18, - 35,57,36,10,58,19,22,20,24,21, - 1,2,4,90,0,23,24,74,3,72, - 27,67,60,8,90,73,69,70,68,0, - 11,12,42,65,13,43,44,14,15,16, - 66,7,45,17,18,46,47,49,60,50, - 51,10,19,20,21,52,53,54,39,1, - 2,37,38,9,6,25,26,5,41,4, - 61,3,0,60,23,24,7,5,1,2, - 4,74,67,119,105,37,38,63,3,91, - 89,6,92,93,25,26,88,87,55,94, - 95,96,97,9,98,99,100,68,90,73, - 120,69,107,108,109,110,111,112,113,114, - 115,116,72,117,101,106,71,70,27,8, - 0,69,70,71,8,0,72,8,63,3, - 69,70,27,55,0,118,0,8,67,70, - 0,8,67,69,0,75,0,65,66,37, - 38,9,6,25,26,5,41,46,3,4, - 7,52,53,54,39,50,44,49,12,21, + 24,21,1,2,4,73,8,40,0,71, + 60,37,38,9,6,25,26,41,46,3, + 4,52,53,54,39,50,44,49,12,21, 11,17,15,16,18,19,14,13,20,10, - 43,47,45,42,51,63,1,2,0,10, - 56,40,57,58,12,21,11,17,15,16, - 18,19,14,13,20,74,72,90,117,71, - 67,120,119,91,105,89,37,38,25,26, - 92,93,87,88,55,68,94,95,96,97, - 98,99,100,101,106,69,107,108,109,110, - 111,112,113,114,115,116,70,28,23,29, - 30,31,32,33,34,35,36,22,24,27, - 8,73,3,63,7,5,9,6,1,2, - 4,0,27,8,3,7,5,9,6,4, - 1,2,72,0,40,23,13,56,29,14, - 31,32,15,16,33,34,17,18,35,57, - 36,10,58,19,22,20,24,21,12,11, - 28,8,3,9,27,62,59,64,86,30, - 61,55,4,6,7,1,2,5,48,0 + 43,47,45,42,51,67,8,7,5,1, + 2,66,65,0,91,89,25,26,92,93, + 87,88,55,94,95,96,97,98,99,100, + 101,107,72,90,70,108,109,110,111,112, + 113,114,115,116,117,118,71,27,120,68, + 1,2,9,6,4,3,63,69,73,8, + 0,65,66,3,10,43,47,45,42,51, + 12,21,11,17,15,16,18,19,14,13, + 20,52,53,54,39,50,44,49,5,7, + 4,37,38,9,6,25,26,41,46,1, + 2,118,8,0,67,40,23,13,56,29, + 14,31,32,15,16,33,34,17,18,35, + 57,36,58,19,22,20,24,21,12,11, + 28,8,3,9,6,27,62,64,86,30, + 61,48,7,1,2,5,4,10,59,0, + 68,72,90,69,118,73,71,120,11,12, + 42,65,13,43,44,14,15,16,66,45, + 17,18,46,47,49,60,50,51,10,19, + 20,21,52,53,54,39,37,38,25,26, + 41,8,27,5,7,1,2,4,3,9, + 6,0,48,4,72,1,2,67,8,0, + 28,11,12,40,23,42,65,13,43,56, + 29,30,44,14,31,32,15,16,33,66, + 34,45,17,18,46,35,47,57,49,60, + 50,36,51,58,19,22,20,24,21,52, + 53,54,39,3,37,38,9,6,25,26, + 41,68,7,1,2,4,10,5,0,86, + 59,7,103,104,105,62,8,3,9,6, + 5,72,71,27,61,28,11,12,40,23, + 13,56,29,30,14,31,32,15,16,33, + 34,17,18,35,57,36,10,58,19,22, + 20,24,21,4,1,2,48,0,1,2, + 69,71,8,0,74,68,72,90,73,67, + 63,3,8,69,27,70,0,4,8,72, + 67,0,23,60,24,8,68,90,70,69, + 73,0,28,11,12,23,13,29,30,14, + 31,32,15,16,33,7,34,17,18,35, + 36,19,22,20,24,21,1,2,8,63, + 9,6,5,4,73,27,3,0,9,6, + 7,5,4,1,2,3,63,68,70,69, + 8,73,90,0,4,8,67,1,2,0, + 8,72,67,74,0,86,103,104,105,48, + 72,102,121,71,61,74,62,59,64,76, + 78,84,82,75,80,81,83,85,67,77, + 79,27,8,28,40,23,56,29,30,31, + 32,33,34,35,57,36,58,22,24,60, + 65,66,10,43,47,45,42,51,12,21, + 11,17,15,16,18,19,14,13,20,52, + 53,54,39,50,44,49,37,38,25,26, + 41,46,9,6,3,4,7,5,1,2, + 0,68,70,69,1,2,0,64,28,11, + 12,40,23,13,56,29,86,30,14,31, + 32,15,16,33,59,34,17,18,35,57, + 36,10,58,19,62,22,20,24,21,8, + 3,9,6,71,27,61,7,4,48,5, + 1,2,0,66,65,25,26,6,92,93, + 98,9,99,5,41,70,55,68,111,112, + 108,109,110,116,115,117,88,87,113,114, + 96,97,94,95,100,101,37,38,69,89, + 106,63,3,28,11,12,40,23,13,56, + 29,30,14,31,32,15,16,33,34,17, + 18,35,57,36,10,58,19,20,24,21, + 1,2,4,22,0,4,55,8,72,67, + 0,28,11,12,40,23,13,56,29,30, + 14,31,32,15,16,33,34,17,18,35, + 57,36,10,58,19,22,20,24,21,1, + 2,4,90,0,11,12,42,65,13,43, + 44,14,15,16,66,7,45,17,18,46, + 47,49,60,50,51,10,19,20,21,52, + 53,54,39,1,2,37,38,9,6,25, + 26,5,41,4,61,3,0,23,24,74, + 3,72,27,67,60,8,90,73,70,69, + 68,0,60,23,24,7,5,1,2,4, + 74,67,119,106,37,38,63,3,91,89, + 6,92,93,25,26,88,87,55,94,95, + 96,97,9,98,99,100,68,90,73,120, + 70,108,109,110,111,112,113,114,115,116, + 117,72,118,101,107,71,69,27,8,0, + 8,69,71,70,0,102,0,72,8,63, + 3,70,69,27,55,0,8,67,69,0, + 8,67,70,0,65,66,37,38,9,6, + 25,26,5,41,46,3,4,7,52,53, + 54,39,50,44,49,12,21,11,17,15, + 16,18,19,14,13,20,10,43,47,45, + 42,51,63,1,2,0,8,73,11,12, + 42,65,13,43,44,14,15,16,66,7, + 45,17,18,46,47,49,60,50,51,10, + 19,20,21,52,53,54,1,2,3,37, + 38,9,6,25,26,5,41,4,39,0, + 10,56,40,57,58,12,21,11,17,15, + 16,18,19,14,13,20,74,72,90,118, + 71,67,120,119,91,106,89,37,38,25, + 26,92,93,87,88,55,68,94,95,96, + 97,98,99,100,101,107,70,108,109,110, + 111,112,113,114,115,116,117,69,28,23, + 29,30,31,32,33,34,35,36,22,24, + 27,8,73,3,63,7,5,9,6,1, + 2,4,0,27,8,3,7,5,9,6, + 4,1,2,72,0,40,23,13,56,29, + 14,31,32,15,16,33,34,17,18,35, + 57,36,10,58,19,22,20,24,21,12, + 11,28,8,3,9,27,62,59,64,86, + 30,61,55,4,6,7,1,2,5,48, + 0,22,1,2,4,103,104,105,0 }; }; public final static byte asr[] = Asr.asr; @@ -1964,61 +1991,61 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface Nasb { public final static char nasb[] = {0, - 211,12,80,12,12,12,12,12,12,84, - 12,12,12,163,12,196,167,184,80,80, - 241,80,80,80,80,80,80,12,12,12, - 12,12,12,12,12,12,12,12,80,12, - 80,167,44,44,44,44,184,208,21,21, - 33,5,96,161,12,12,21,245,161,161, - 204,1,80,68,51,12,12,167,12,12, - 55,55,208,151,80,80,80,80,80,80, - 80,80,80,80,80,80,80,80,80,80, - 80,80,80,80,80,80,80,80,80,80, - 80,80,80,80,151,80,161,161,12,12, - 12,12,65,161,39,39,130,259,260,176, - 260,100,260,26,260,253,10,184,96,96, - 39,12,80,130,91,203,61,61,12,12, - 12,10,184,96,44,70,196,118,161,195, - 184,195,161,96,12,12,12,12,12,12, + 208,12,75,12,12,12,12,12,12,79, + 12,12,12,193,12,181,185,110,75,75, + 216,75,75,75,75,75,75,12,12,12, + 12,12,12,12,12,12,12,12,75,12, + 75,185,48,48,48,48,110,230,29,29, + 67,5,93,33,12,12,29,220,33,33, + 204,1,75,38,141,12,12,185,12,12, + 53,53,230,155,75,75,75,75,75,75, + 75,75,75,75,75,75,75,75,75,75, + 75,75,75,75,75,75,75,75,75,75, + 75,75,75,75,155,75,33,33,12,12, + 12,12,35,33,43,43,135,239,240,166, + 240,115,240,127,240,233,10,110,93,93, + 43,12,75,135,88,203,81,81,12,12, + 12,10,110,93,48,158,181,63,33,180, + 110,180,33,93,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,145,11,12, - 12,12,227,184,12,21,144,84,23,84, - 184,11,12,12,225,96,12,161,235,21, - 184,51,80,44,21,86,161,12,11,184, - 122,51,80,151,151,151,151,12,12,39, - 132,132,132,214,145,47,47,12,200,176, - 21,200,50,145,161,12,14,12,238,49, - 145,161,75,227,118,12,245,145,161,161, - 161,161,208,208,12,21,157,184,31,12, - 178,12,12,103,275,214,47,47,21,21, - 50,21,246,11,145,21,80,12,12,61, - 61,184,13,130,238,161,145,21,63,12, - 151,227,123,12,12,161,161,132,113,51, - 176,188,12,12,84,21,125,16,12,21, - 21,107,107,145,246,157,12,12,113,80, - 80,21,11,51,161,235,190,21,12,75, - 208,80,96,123,21,113,196,21,176,267, - 21,200,21,109,192,31,80,12,98,12, - 184,130,107,107,134,157,80,246,21,238, - 113,63,161,96,113,31,248,21,12,267, - 276,12,187,103,238,196,109,272,140,16, - 80,80,181,192,12,84,73,200,89,161, - 21,157,267,248,175,125,12,12,84,12, - 12,154,154,31,272,156,12,200,12,221, - 200,84,84,11,12,21,89,157,267,21, - 31,111,12,161,84,200,238,267,21,12, - 12,21,148,140,11,208,11,200,200,159, - 113,248,70,78,16,31,200,179,238,44, - 44,105,171,12,80,12,31,12,12,12, - 12,172,12,246,29,31,31,246,36,161, - 11,11,161,21,157,161,21,176,179,31, - 12,138,12,12,172,12,172,231,231,262, - 12,231,31,31,12,21,44,89,157,21, - 31,12,44,172,161,16,161,283,21,12, - 161,105,78,154,161,161,21,172,12,172, - 31,16,151,172,138,157,12,36,36,14, - 80,12,115,31,161,53,77,195,172,161, - 31,53,12,172 + 12,12,12,12,12,12,12,190,11,12, + 12,12,267,110,12,29,189,79,40,79, + 110,11,12,12,265,93,12,33,250,29, + 110,141,75,48,29,83,33,12,11,110, + 147,141,75,155,155,155,155,12,12,43, + 137,137,137,271,190,102,102,12,200,166, + 29,200,140,190,33,12,22,12,253,139, + 190,33,19,267,63,12,220,190,33,33, + 33,33,230,230,12,29,17,110,145,12, + 168,12,12,51,242,271,102,102,29,29, + 140,29,221,11,190,29,75,12,12,81, + 81,110,21,135,253,33,190,29,61,12, + 155,267,148,12,12,33,33,137,108,141, + 166,198,12,12,79,29,130,24,12,29, + 29,150,150,190,221,106,12,12,108,75, + 75,29,11,141,33,250,175,29,12,19, + 230,75,93,148,29,108,181,29,166,211, + 29,200,29,113,177,145,75,12,59,12, + 110,135,150,150,256,106,17,75,221,29, + 253,108,61,33,93,108,145,225,29,12, + 211,243,12,197,51,253,181,113,118,123, + 24,75,75,13,177,12,79,121,200,17, + 86,33,29,17,211,225,165,130,12,12, + 79,12,12,173,173,145,118,16,12,200, + 12,98,200,79,79,11,12,29,86,17, + 211,29,145,70,12,33,79,200,253,211, + 29,12,12,29,152,123,11,230,11,200, + 200,31,108,225,158,73,24,145,200,169, + 253,48,48,104,161,12,75,12,145,12, + 12,12,12,162,12,221,143,145,145,221, + 95,33,11,11,33,29,17,33,29,166, + 169,145,12,171,12,12,162,12,162,282, + 282,260,12,282,145,145,12,29,48,86, + 17,29,145,12,48,162,33,24,33,278, + 29,12,33,104,73,173,33,33,29,162, + 12,162,145,24,155,162,171,17,12,95, + 95,22,75,12,286,145,33,223,72,180, + 162,33,145,223,12,162 }; }; public final static char nasb[] = Nasb.nasb; @@ -2026,35 +2053,35 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,152,150,119,149,148,5, - 2,0,32,93,92,64,5,2,9,10, - 4,0,42,1,0,153,183,0,4,39, - 38,0,4,195,0,42,56,0,5,10, - 9,2,13,4,45,0,107,0,136,2, - 65,0,162,0,5,2,9,10,139,0, - 75,0,141,0,136,65,0,175,0,4, - 29,0,193,0,143,0,67,129,42,10, - 9,2,13,5,0,4,177,0,125,0, - 13,2,9,10,5,81,0,191,0,153, - 188,0,156,0,161,0,108,0,159,0, - 184,0,62,0,4,178,0,65,138,137, - 0,2,113,0,4,10,9,2,64,5, - 88,49,0,5,100,192,0,111,0,172, - 5,171,0,44,2,3,0,48,42,179, - 4,39,0,106,0,4,67,0,45,4, - 32,0,4,45,196,0,4,45,39,0, - 67,39,48,68,4,42,0,121,102,0, - 65,49,0,2,44,0,1,121,0,93, - 92,49,64,58,5,10,9,2,0,2, - 57,0,32,92,93,4,0,4,95,0, - 4,174,0,4,48,80,100,46,5,0, - 5,100,168,0,93,92,49,5,58,0, - 4,45,101,0,49,5,88,22,4,0, - 5,10,9,13,3,1,0,114,4,48, - 80,0,2,5,119,115,116,117,13,85, - 0,39,4,22,181,0,4,48,80,82, - 0,42,160,0,38,5,2,9,10,4, - 158,0,45,4,180,0 + 3,13,10,9,153,151,120,150,149,5, + 2,0,66,50,0,4,68,0,144,0, + 33,94,93,65,5,2,9,10,4,0, + 46,4,33,0,137,66,0,177,0,43, + 1,0,5,10,9,2,13,4,46,0, + 158,0,5,2,9,10,140,0,193,0, + 142,0,66,139,138,0,4,197,0,186, + 0,68,130,43,10,9,2,13,5,0, + 76,0,4,179,0,126,0,13,2,9, + 10,5,82,0,43,57,0,5,101,170, + 0,108,0,163,0,155,0,63,0,2, + 45,0,161,0,154,190,0,43,162,0, + 195,0,174,5,173,0,154,185,0,4, + 10,9,2,65,5,89,50,0,137,2, + 66,0,4,40,39,0,2,114,0,109, + 0,49,43,181,4,40,0,4,30,0, + 68,40,49,69,4,43,0,122,103,0, + 112,0,107,0,94,93,50,65,59,5, + 10,9,2,0,4,46,40,0,45,2, + 3,0,4,46,198,0,1,122,0,2, + 58,0,33,93,94,4,0,4,176,0, + 4,49,81,83,0,5,10,9,13,3, + 1,0,164,0,115,4,49,81,0,4, + 96,0,2,5,120,116,117,118,13,86, + 0,39,5,2,9,10,4,160,0,50, + 5,89,23,4,0,5,101,194,0,40, + 4,23,183,0,94,93,50,5,59,0, + 4,49,81,101,47,5,0,46,4,182, + 0,4,46,102,0,4,180,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2068,12 +2095,12 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP 70,73,76,83,89,98,7,8,112,53, 14,55,61,67,84,88,90,93,94,97, 99,109,110,111,19,63,91,101,77,95, - 122,103,1,46,58,78,121,20,33,44, + 122,103,1,46,58,78,121,20,44,33, 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 4,15,16,21,22,23,24,25,26,27, - 28,80,81,82,5,29,34,35,36,37, - 38,39,40,41,42,43,117,51,3,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2083,26 +2110,26 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, 130,135,136,0,0,134,0,0,229,235, - 133,0,143,132,0,0,142,148,0,0, - 149,180,158,159,160,161,162,163,151,164, - 165,126,166,141,167,168,0,128,131,169, - 0,129,138,137,152,177,0,0,0,0, - 0,0,0,0,145,172,0,155,0,204, - 0,187,201,205,0,0,127,171,0,0, - 0,0,0,0,206,175,0,0,0,0, - 125,178,0,0,186,0,0,202,212,157, - 208,209,210,0,0,146,0,0,207,220, - 174,196,0,0,211,0,0,0,0,240, - 241,0,147,179,189,190,191,192,193,195, - 0,198,0,199,0,214,217,0,0,219, - 0,238,0,239,0,0,139,140,144,0, - 0,154,156,0,170,0,181,182,183,184, - 185,188,0,0,194,0,197,203,0,215, - 216,0,0,221,224,0,226,228,0,232, - 233,234,237,124,0,150,153,0,173,0, - 176,0,0,200,213,218,0,0,222,223, - 225,227,0,230,231,236,242,243,0,0, - 0,0 + 133,0,143,0,132,0,0,142,148,0, + 0,149,180,158,159,160,161,162,163,151, + 164,165,126,166,141,167,168,0,128,131, + 169,0,129,138,137,152,177,0,0,0, + 0,0,0,0,0,145,172,0,155,0, + 204,0,187,201,205,0,0,127,171,0, + 0,0,0,0,0,206,175,0,0,0, + 0,125,178,0,0,186,0,0,202,212, + 157,208,209,210,0,0,146,0,0,207, + 220,174,196,0,0,211,0,0,0,0, + 240,241,0,147,179,189,190,191,192,193, + 195,0,198,0,199,0,214,217,0,0, + 219,0,238,0,239,0,0,139,140,144, + 0,0,154,156,0,170,0,181,182,183, + 184,185,188,0,0,0,194,0,197,203, + 0,215,216,0,0,221,224,0,226,228, + 0,232,233,234,237,124,0,150,153,0, + 173,0,176,0,0,200,213,218,0,0, + 222,223,225,227,0,230,231,236,242,243, + 0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2110,18 +2137,18 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopePrefix { public final static char scopePrefix[] = { - 159,587,606,304,311,538,554,565,576,370, - 267,281,298,318,331,42,292,390,428,167, - 595,481,20,51,71,80,85,90,130,195, - 324,339,344,144,273,287,509,27,144,380, - 344,614,27,217,246,1,14,61,76,106, - 349,359,363,446,474,503,530,534,624,628, - 632,97,7,97,408,424,437,458,522,116, - 116,232,437,545,561,572,583,207,492,56, + 159,311,589,608,304,319,540,556,567,578, + 372,267,281,298,333,42,292,392,430,167, + 597,483,20,51,71,80,85,90,130,195, + 326,341,346,144,273,287,511,27,144,382, + 346,616,27,217,246,1,14,61,76,106, + 351,361,365,448,476,505,532,536,626,630, + 634,97,7,97,410,426,439,460,524,116, + 116,232,439,547,563,574,585,207,494,56, 56,156,222,225,56,241,262,225,225,56, - 367,471,478,156,56,647,110,353,412,452, - 465,56,353,399,177,104,450,636,643,636, - 643,65,418,137,104,104,251 + 369,473,480,156,56,649,110,355,414,454, + 467,56,355,401,177,104,452,638,645,638, + 645,65,420,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2129,18 +2156,18 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,135,5,5,5,5,377, - 135,95,135,135,337,48,278,396,434,173, - 67,487,25,25,25,59,59,95,135,200, - 329,329,337,149,278,101,514,38,152,385, - 601,619,32,211,211,5,18,5,59,95, - 329,95,95,135,244,5,5,5,5,5, - 244,645,11,101,377,377,377,462,514,120, - 125,236,441,549,549,549,549,211,496,59, + 18,135,5,5,135,135,5,5,5,5, + 379,135,95,135,339,48,278,398,436,173, + 67,489,25,25,25,59,59,95,135,200, + 331,331,339,149,278,101,516,38,152,387, + 603,621,32,211,211,5,18,5,59,95, + 331,95,95,135,244,5,5,5,5,5, + 244,647,11,101,379,379,379,464,516,120, + 125,236,443,551,551,551,551,211,498,59, 59,5,5,228,230,244,5,265,265,230, - 95,5,244,5,507,5,113,356,415,455, - 468,526,517,402,180,95,95,638,638,640, - 640,67,420,139,202,187,253 + 95,5,244,5,509,5,113,358,417,457, + 470,528,519,404,180,95,95,640,640,642, + 642,67,422,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2148,18 +2175,18 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,79,117,17,17,17,17,71, - 84,47,79,117,116,77,53,71,70,46, - 17,19,3,7,8,168,168,164,115,46, - 116,116,118,128,54,47,139,133,128,71, - 17,17,133,94,59,135,74,171,168,164, - 118,182,51,56,143,18,17,17,17,17, - 17,12,111,164,71,70,70,37,139,130, - 130,58,70,17,17,17,17,94,19,172, - 168,184,92,99,61,75,60,158,76,118, - 72,144,143,175,139,16,164,118,101,69, - 21,139,139,71,46,164,66,137,44,137, - 44,171,101,115,46,46,59 + 47,118,18,18,80,118,18,18,18,18, + 72,85,48,80,117,78,54,72,71,47, + 18,20,3,7,8,170,170,166,116,47, + 117,117,119,129,55,48,140,134,129,72, + 18,18,134,95,60,136,75,173,170,166, + 119,184,52,57,144,19,18,18,18,18, + 18,12,112,166,72,71,71,38,140,131, + 131,59,71,18,18,18,18,95,20,174, + 170,186,93,100,62,76,61,160,77,119, + 73,145,144,177,140,17,166,119,102,70, + 22,140,140,72,47,166,67,138,45,138, + 45,173,102,116,47,47,60 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2167,16 +2194,16 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,71,73,73,73,73,73, - 71,27,71,71,1,68,1,73,121,67, + 102,71,73,73,71,71,73,73,73,73, + 73,71,27,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,27,71,67, - 1,1,1,71,1,1,4,68,70,27, - 1,1,68,73,73,73,118,73,1,27, - 1,27,27,71,117,73,73,73,73,73, - 117,1,73,1,73,73,73,72,4,1, + 1,1,1,71,1,1,4,68,69,27, + 1,1,68,73,73,73,102,73,1,27, + 1,27,27,71,118,73,73,73,73,73, + 118,1,73,1,73,73,73,72,4,1, 1,6,73,68,68,68,68,73,3,1, - 1,73,73,3,1,117,73,1,1,1, - 27,73,117,73,5,73,1,48,69,72, + 1,73,73,3,1,118,73,1,1,1, + 27,73,118,73,5,73,1,48,70,72, 73,1,48,75,74,27,27,4,4,4, 4,3,1,67,1,1,3 }; @@ -2186,8 +2213,8 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeStateSet { public final static char scopeStateSet[] = { - 85,250,250,107,154,250,250,250,250,95, - 109,85,107,154,154,107,87,95,95,85, + 85,154,250,250,107,154,250,250,250,250, + 95,109,85,107,154,107,87,95,95,85, 250,250,182,226,226,54,54,82,154,85, 154,154,154,313,87,85,137,50,313,95, 250,250,50,146,66,26,95,30,54,82, @@ -2205,71 +2232,72 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeRhs { public final static char scopeRhs[] = {0, - 320,3,60,0,126,0,319,3,118,0, - 126,172,0,126,178,74,0,216,0,253, - 126,55,124,0,20,0,295,126,55,48, + 322,3,60,0,126,0,321,3,102,0, + 126,172,0,126,179,74,0,216,0,254, + 126,55,124,0,20,0,297,126,55,48, 0,20,53,0,33,132,0,20,53,0, - 0,295,126,55,48,202,0,20,178,0, - 253,126,55,132,0,179,127,0,141,0, - 217,3,294,0,294,0,2,0,126,0, - 253,126,55,131,0,179,127,222,0,179, - 127,22,222,0,179,127,315,22,0,128, - 187,166,127,0,128,0,187,166,127,0, - 134,128,0,170,0,311,126,170,0,126, - 170,0,222,128,0,166,310,241,0,136, - 0,0,0,0,135,0,0,0,0,309, - 126,164,252,0,127,0,252,0,129,0, - 0,127,0,308,126,164,251,0,127,0, - 0,44,127,0,0,151,3,0,126,282, - 281,126,74,280,170,0,281,126,74,280, - 170,0,215,0,216,0,280,170,0,96, + 0,297,126,55,48,203,0,20,178,0, + 254,126,55,132,0,180,127,0,141,0, + 218,3,296,0,296,0,2,0,126,0, + 254,126,55,131,0,180,127,223,0,180, + 127,22,223,0,180,127,317,22,0,128, + 188,167,127,0,128,0,188,167,127,0, + 134,128,0,171,0,313,126,171,0,126, + 171,0,222,128,0,167,312,242,0,136, + 0,0,0,0,135,0,0,0,0,311, + 126,165,253,0,127,0,253,0,129,0, + 0,127,0,310,126,165,252,0,127,0, + 0,44,127,0,0,152,3,0,126,284, + 283,126,74,282,171,0,283,126,74,282, + 171,0,215,0,216,0,282,171,0,96, 0,0,215,0,216,0,203,96,0,0, - 215,0,216,0,281,126,280,170,0,215, - 0,203,0,0,215,0,225,126,3,0, - 126,0,0,0,0,0,225,126,3,214, - 0,221,3,0,210,126,0,208,0,146, - 0,171,166,127,0,10,0,0,0,0, - 212,63,0,125,0,225,126,3,182,0, - 182,0,2,0,0,126,0,0,0,0, - 0,198,3,0,201,0,234,126,164,39, - 30,0,179,127,59,62,0,196,128,0, - 128,179,127,278,62,0,179,127,278,62, - 0,179,127,69,123,59,0,234,126,164, - 243,59,0,234,126,164,243,224,59,0, - 276,126,164,123,305,56,0,276,126,164, - 305,56,0,179,127,275,56,0,135,0, - 187,179,127,275,241,0,136,0,179,127, - 275,241,0,187,166,127,10,0,166,127, - 10,0,166,127,0,93,136,0,268,126, - 144,0,268,126,170,0,161,84,0,300, - 160,302,303,3,81,0,126,171,0,302, - 303,3,81,0,128,0,126,171,0,161, - 3,75,190,80,0,126,128,0,190,80, - 0,108,2,131,126,128,0,223,3,75, - 0,198,167,0,33,169,0,167,0,175, - 33,169,0,223,3,85,0,190,154,223, - 3,83,0,62,171,0,223,3,83,0, - 126,171,62,171,0,301,126,164,0,161, - 0,212,77,0,30,171,0,161,106,158, - 0,30,169,0,177,3,0,126,149,0, - 217,3,0,212,63,265,0,161,63,0, - 177,3,297,66,127,0,126,0,0,0, - 0,297,66,127,0,2,145,126,0,0, - 0,0,177,3,46,0,147,0,125,48, - 166,127,0,31,147,0,93,136,31,147, - 0,218,179,127,0,146,31,147,0,177, - 3,51,0,161,3,51,0,161,3,68, - 177,55,42,0,177,55,42,0,20,2, - 131,126,0,161,3,68,177,55,45,0, - 177,55,45,0,161,3,68,177,55,47, - 0,177,55,47,0,161,3,68,177,55, - 43,0,177,55,43,0,217,3,125,187, - 166,127,10,0,125,187,166,127,10,0, - 136,2,0,126,0,217,3,124,258,166, - 127,10,0,258,166,127,10,0,135,2, - 0,126,0,217,3,135,0,217,3,139, - 0,161,63,139,0,260,0,31,0,31, - 139,0,165,0,134,0,161,3,0 + 215,0,216,0,283,126,282,171,0,215, + 0,203,0,0,215,0,226,126,3,0, + 126,0,0,0,0,0,226,126,3,215, + 0,222,3,0,211,126,0,208,0,146, + 0,172,167,127,0,10,0,0,0,0, + 213,63,0,125,0,226,126,3,183,0, + 183,0,2,0,0,126,0,0,0,0, + 0,199,3,0,201,0,235,126,165,39, + 30,0,180,127,59,62,0,196,128,0, + 128,180,127,280,62,0,180,127,280,62, + 0,180,127,70,123,59,0,235,126,165, + 244,59,0,235,126,165,244,225,59,0, + 277,278,126,165,123,307,56,0,277,278, + 126,165,307,56,0,180,127,276,56,0, + 135,0,188,180,127,276,242,0,136,0, + 180,127,276,242,0,188,167,127,10,0, + 167,127,10,0,167,127,0,93,136,0, + 269,126,145,0,269,126,171,0,162,84, + 0,302,161,304,305,3,81,0,126,171, + 0,304,305,3,81,0,128,0,126,171, + 0,162,3,75,191,80,0,126,128,0, + 191,80,0,108,2,131,126,128,0,224, + 3,75,0,199,168,0,33,169,0,168, + 0,175,33,169,0,224,3,85,0,191, + 155,224,3,83,0,62,171,0,224,3, + 83,0,126,171,62,171,0,303,126,165, + 0,162,0,213,77,0,30,171,0,162, + 107,159,0,30,169,0,178,3,0,126, + 149,0,218,3,0,213,63,266,0,162, + 63,0,178,3,299,66,127,0,126,0, + 0,0,0,299,66,127,0,2,145,126, + 0,0,0,0,178,3,46,0,147,0, + 125,48,167,127,0,31,147,0,93,136, + 31,147,0,219,180,127,0,146,31,147, + 0,178,3,51,0,162,3,51,0,162, + 3,68,178,55,42,0,178,55,42,0, + 20,2,131,126,0,162,3,68,178,55, + 45,0,178,55,45,0,162,3,68,178, + 55,47,0,178,55,47,0,162,3,68, + 178,55,43,0,178,55,43,0,218,3, + 125,188,167,127,10,0,125,188,167,127, + 10,0,136,2,0,126,0,218,3,124, + 259,167,127,10,0,259,167,127,10,0, + 135,2,0,126,0,218,3,135,0,218, + 3,140,0,162,63,140,0,261,0,31, + 0,31,139,0,166,0,134,0,162,3, + 0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2277,38 +2305,38 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface ScopeState { public final static char scopeState[] = {0, - 4769,4410,3585,3561,0,3020,2464,2587,1253,0, - 3642,3587,3502,3400,3345,3290,3235,3180,3125,2850, - 2795,4409,0,1780,0,1955,1180,1050,0,2820, - 2626,0,3642,3587,1580,1412,3502,3400,3345,3290, - 3235,3180,680,3125,2850,2795,4720,4412,0,3292, - 3135,3126,0,3389,2571,0,996,819,0,4629, - 4418,0,3210,998,0,4327,4629,4314,3059,4418, - 2925,3475,4340,3828,2394,3814,601,2556,582,2519, - 0,4601,3330,0,4601,3330,4199,4574,4535,4189, - 4515,4476,4180,4411,3642,3587,3502,3400,3345,3290, - 3235,3180,3125,2850,2795,0,4601,3330,4199,4574, - 4535,4189,4515,4476,4180,4411,0,2840,2435,0, - 2394,4327,4697,4314,3059,4655,2556,4304,4482,820, - 3562,3511,3596,4207,3559,0,942,802,0,871, - 0,2091,2002,865,806,3059,3511,2925,582,2519, - 3112,724,0,4355,537,2880,0,4749,4738,4727, - 4691,4666,4662,4642,4507,3579,3461,4834,3457,3102, - 4820,4815,4799,2694,4499,3098,2968,741,4364,2979, - 0,3944,3863,4749,4738,4727,3673,2856,4691,2601, - 4666,4662,4642,4507,3579,3496,2733,2729,3461,2621, - 4834,2552,2532,2512,2172,3457,3102,933,2473,4820, - 616,4815,3433,4799,2694,4499,873,3098,2968,741, - 4355,595,2880,4364,2979,2590,2459,2256,628,1318, - 2925,3475,4340,3828,2394,4327,3814,4629,4314,3059, - 601,2556,582,4418,2519,2536,2439,942,802,2700, - 4158,4136,2220,2268,2334,2302,2478,2407,2365,3033, - 2938,2768,2741,2667,2640,3790,3766,3742,3717,3072, - 4114,4092,4070,4048,4026,4004,3982,3953,3922,3900, - 3841,1968,2182,2134,2096,2048,2010,1094,1335,1276, - 1231,883,1926,1052,827,746,690,1884,1842,1800, - 1758,1716,1674,1632,1590,1548,1506,1464,537,1422, - 1380,1189,1007,964,1146,0 + 4735,4861,4860,4827,0,3254,1991,3130,1154,0, + 3623,3565,3501,3398,3360,3322,3284,3246,3208,2988, + 2950,4437,0,948,0,1683,1341,1060,0,3047, + 2559,0,3623,3565,1812,1726,3501,3398,3360,3322, + 3284,3246,1094,3208,2988,2950,1597,1511,0,4753, + 3495,3510,0,1103,4352,0,1005,823,0,4533, + 4306,0,657,585,0,4273,4533,2808,3142,4306, + 3064,3474,4286,4064,2481,4050,606,2713,587,2692, + 0,4555,4549,0,4555,4549,4186,4447,4431,4113, + 4365,4349,4099,3603,3623,3565,3501,3398,3360,3322, + 3284,3246,3208,2988,2950,0,4555,4549,4186,4447, + 4431,4113,4365,4349,4099,3603,0,2739,873,0, + 2481,4273,4782,2808,3142,4458,2713,2979,4326,824, + 4320,4524,1322,3507,881,0,951,810,0,619, + 0,2544,1948,1776,1020,3142,4524,3064,587,2692, + 3487,2799,0,4242,542,2735,0,4726,4705,4688, + 4667,4659,4652,4641,4637,4587,4566,4818,4171,3458, + 4814,4807,4803,3223,4790,3195,2706,748,2744,1386, + 0,3525,2599,4726,4705,4688,2249,2162,4667,941, + 4659,4652,4641,4637,4587,3308,4389,4155,4566,2968, + 4818,2793,2780,2594,2245,4171,3458,2158,2862,4814, + 3422,4807,2727,4803,3223,4790,743,3195,2706,748, + 4242,624,2735,2744,1386,2623,2547,1330,634,2607, + 3064,3474,4286,4064,2481,4273,4050,4533,2808,3142, + 606,2713,587,4306,2692,2955,2527,951,810,4077, + 4027,4004,2254,2293,2361,2328,2452,2423,2393,2927, + 2900,2664,2636,2566,2494,3749,3724,3699,3160,3077, + 3981,3958,3935,3912,3889,3866,3843,3820,3797,3774, + 2828,2037,2206,2167,2119,2080,1243,1104,1391,1342, + 1287,891,1994,1061,834,753,696,1951,1908,1865, + 1822,1779,1736,1693,1650,1607,1564,1521,542,1478, + 1434,1200,1016,972,1156,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2316,61 +2344,61 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public interface InSymb { public final static char inSymb[] = {0, - 0,296,126,267,51,42,45,47,43,10, + 0,298,126,268,51,42,45,47,43,10, 135,124,131,7,132,4,3,127,46,41, - 5,26,25,6,9,38,37,139,145,147, - 146,149,148,152,150,155,153,157,60,158, - 70,3,55,55,55,55,127,3,55,55, - 167,126,63,3,65,66,55,5,177,161, - 167,126,65,66,166,165,124,3,123,125, - 105,119,3,63,89,91,26,25,93,92, + 5,26,25,6,9,38,37,140,146,148, + 147,150,149,153,151,156,154,158,60,159, + 69,3,55,55,55,55,127,3,55,55, + 168,126,63,3,65,66,55,5,178,162, + 168,126,65,66,167,166,124,3,123,125, + 106,119,3,63,89,91,26,25,93,92, 6,95,94,68,55,87,88,9,97,96, - 99,98,100,116,115,114,113,112,111,110, - 109,108,107,69,106,101,177,161,177,177, - 177,177,166,217,126,126,126,269,270,252, - 271,241,272,56,273,274,10,127,63,63, - 126,124,154,126,63,3,215,214,135,125, - 124,10,127,63,297,3,187,4,177,48, - 127,48,217,161,146,146,145,145,145,148, - 148,148,148,147,147,150,149,149,153,152, - 155,161,157,68,68,68,68,187,258,253, - 256,253,210,127,171,164,310,275,305,275, - 127,179,166,253,210,212,158,221,126,3, - 127,166,203,3,298,167,151,260,187,127, - 179,166,72,3,3,3,3,125,124,70, - 166,9,6,126,166,228,125,124,127,123, - 164,127,166,48,225,226,144,227,126,166, - 48,177,126,126,4,218,5,48,161,161, - 161,161,3,3,171,171,309,127,168,222, - 59,48,202,62,170,312,125,124,229,229, - 179,164,126,179,187,154,69,221,198,186, - 182,127,3,126,70,225,187,154,262,265, - 63,180,4,123,125,217,217,6,126,166, - 243,224,55,48,278,280,126,3,182,229, - 229,126,126,187,126,276,123,277,126,69, - 69,3,179,166,198,126,210,154,125,126, - 3,63,161,4,171,184,187,164,243,68, - 55,127,74,126,210,311,72,289,198,124, - 127,126,126,126,72,276,69,70,219,126, - 126,262,217,212,126,128,126,164,30,48, - 170,64,59,62,126,179,126,281,72,70, - 72,69,166,210,314,222,22,127,126,225, - 219,234,236,126,39,126,3,123,59,295, - 48,10,40,128,281,164,293,127,294,70, - 127,22,315,179,60,154,126,234,126,164, - 268,246,279,39,69,127,70,68,55,228, - 228,282,126,70,179,3,179,127,127,3, - 126,126,3,69,70,154,127,179,126,69, - 69,126,301,79,77,1,161,8,85,83, - 81,80,75,82,84,78,76,59,74,217, - 179,179,320,219,234,151,164,251,179,224, - 295,283,118,8,72,212,72,3,3,3, - 190,3,123,161,123,178,70,126,126,164, - 224,68,3,72,223,167,223,303,144,75, - 223,126,126,40,90,319,167,154,198,154, - 302,126,3,154,283,308,228,154,154,126, - 69,190,160,268,161,189,70,69,121,300, - 154,189,8,154 + 99,98,100,117,116,115,114,113,112,111, + 110,109,108,70,107,101,178,162,178,178, + 178,178,167,218,126,126,126,270,271,253, + 272,242,273,56,274,275,10,127,63,63, + 126,124,155,126,63,3,216,215,135,125, + 124,10,127,63,299,3,188,4,178,48, + 127,48,218,162,147,147,146,146,146,149, + 149,149,149,148,148,151,150,150,154,153, + 156,162,158,68,68,68,68,188,259,254, + 257,254,211,127,172,165,312,276,307,276, + 127,180,167,254,211,213,159,222,126,3, + 127,167,204,3,300,168,152,261,188,127, + 180,167,72,3,3,3,3,125,124,69, + 167,9,6,126,167,229,125,124,127,123, + 165,127,167,48,226,227,145,228,126,167, + 48,178,126,126,4,219,5,48,162,162, + 162,162,3,3,172,172,311,127,169,223, + 59,48,203,62,171,314,125,124,230,230, + 180,165,126,180,188,155,70,222,199,187, + 183,127,3,126,69,226,188,155,263,266, + 63,181,4,123,125,218,218,6,126,167, + 244,225,55,48,280,282,126,3,183,230, + 230,126,126,188,126,278,123,279,126,70, + 70,3,180,167,199,126,211,155,125,126, + 3,63,162,4,172,185,188,165,244,68, + 55,127,74,126,211,313,72,291,199,124, + 127,126,126,126,72,278,277,70,69,220, + 126,126,263,218,213,126,128,126,165,30, + 48,171,64,59,62,126,180,126,283,72, + 69,72,70,167,211,316,223,22,127,277, + 126,226,220,235,237,126,39,126,3,123, + 59,297,48,10,40,128,283,165,295,127, + 296,69,127,22,317,180,60,155,126,235, + 126,165,269,247,281,39,70,127,69,68, + 55,229,229,284,126,69,180,3,180,127, + 127,3,126,126,3,70,69,155,127,180, + 126,70,70,126,303,79,77,1,162,8, + 85,83,81,80,75,82,84,78,76,59, + 74,218,180,180,322,220,235,152,165,252, + 180,225,297,285,102,8,72,213,72,3, + 3,3,191,3,123,162,123,179,69,126, + 126,165,225,68,3,72,224,168,224,305, + 145,75,224,126,126,40,90,321,168,155, + 199,155,304,126,3,155,285,310,229,155, + 155,126,70,191,161,269,162,190,69,70, + 121,302,155,190,8,155 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2645,20 +2673,20 @@ public class CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CP public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 544, + NUM_STATES = 546, NT_OFFSET = 122, - LA_STATE_OFFSET = 5852, + LA_STATE_OFFSET = 5984, MAX_LA = 2147483647, - NUM_RULES = 536, - NUM_NONTERMINALS = 202, - NUM_SYMBOLS = 324, + NUM_RULES = 541, + NUM_NONTERMINALS = 204, + NUM_SYMBOLS = 326, SEGMENT_SIZE = 8192, - START_STATE = 3318, + START_STATE = 3492, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 4951, - ERROR_ACTION = 5316; + ACCEPT_ACTION = 5075, + ERROR_ACTION = 5443; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java index 5525658c918..c9c84d2df7f 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPExpressionParsersym.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -20,7 +20,7 @@ public interface CPPExpressionParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 40, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPExpressionParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 34, TK_reinterpret_cast = 45, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPExpressionParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPExpressionParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, - TK_Assign = 69, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, - TK_Comma = 70, - TK_RightBracket = 117, + TK_Assign = 70, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, + TK_Comma = 69, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 27, @@ -208,8 +208,8 @@ public interface CPPExpressionParsersym { "new", "LeftBrace", "GT", - "Assign", "Comma", + "Assign", "RightBrace", "Colon", "RightParen", @@ -241,6 +241,7 @@ public interface CPPExpressionParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPExpressionParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", 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 9060efadf60..1b3191f7878 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 @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -997,985 +997,937 @@ public CPPNoCastExpressionParser(ITokenStream stream, Map<String,String> propert // // Rule 192: iteration_statement ::= do statement while ( expression ) ; // - case 192: { action. consumeStatementDoLoop(); break; + case 192: { action. consumeStatementDoLoop(true); break; } // - // Rule 193: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 193: iteration_statement ::= do statement // - case 193: { action. consumeStatementForLoop(); break; + case 193: { action. consumeStatementDoLoop(false); break; } // - // Rule 195: for_init_statement ::= simple_declaration_with_declspec + // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 195: { action. consumeStatementDeclaration(); break; + case 194: { action. consumeStatementForLoop(); break; } // - // Rule 196: jump_statement ::= break ; + // Rule 196: for_init_statement ::= simple_declaration_with_declspec // - case 196: { action. consumeStatementBreak(); break; + case 196: { action. consumeStatementDeclaration(); break; } // - // Rule 197: jump_statement ::= continue ; + // Rule 197: jump_statement ::= break ; // - case 197: { action. consumeStatementContinue(); break; + case 197: { action. consumeStatementBreak(); break; } // - // Rule 198: jump_statement ::= return expression ; + // Rule 198: jump_statement ::= continue ; // - case 198: { action. consumeStatementReturn(true); break; + case 198: { action. consumeStatementContinue(); break; } // - // Rule 199: jump_statement ::= return ; + // Rule 199: jump_statement ::= return expression ; // - case 199: { action. consumeStatementReturn(false); break; + case 199: { action. consumeStatementReturn(true); break; } // - // Rule 200: jump_statement ::= goto identifier_token ; + // Rule 200: jump_statement ::= return ; // - case 200: { action. consumeStatementGoto(); break; + case 200: { action. consumeStatementReturn(false); break; } // - // Rule 201: declaration_statement ::= block_declaration + // Rule 201: jump_statement ::= goto identifier_token ; // - case 201: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 201: { action. consumeStatementGoto(); break; } // - // Rule 202: declaration_statement ::= function_definition + // Rule 202: declaration_statement ::= block_declaration // - case 202: { action. consumeStatementDeclaration(); break; + case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 210: declaration ::= ERROR_TOKEN + // Rule 203: declaration_statement ::= function_definition // - case 210: { action. consumeDeclarationProblem(); break; + case 203: { action. consumeStatementDeclaration(); break; } // - // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 211: declaration ::= ERROR_TOKEN // - case 220: { action. consumeDeclarationSimple(true); break; + case 211: { action. consumeDeclarationProblem(); break; } // - // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 221: { action. consumeDeclarationSimple(true); break; } // - // Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 222: { action. consumeDeclarationSpecifiersSimple(); break; + case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 223: { action. consumeDeclarationSpecifiersComposite(); break; + case 223: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 224: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 226: { action. consumeDeclarationSpecifiersTypeName(); break; + case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 228: declaration_specifiers_opt ::= $Empty + // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 228: { action. consumeEmpty(); break; + case 227: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 232: no_type_declaration_specifier ::= friend + // Rule 229: declaration_specifiers_opt ::= $Empty // - case 232: { action. consumeToken(); break; + case 229: { action. consumeEmpty(); break; } // - // Rule 233: no_type_declaration_specifier ::= typedef + // Rule 233: no_type_declaration_specifier ::= friend // case 233: { action. consumeToken(); break; } // - // Rule 253: storage_class_specifier ::= auto + // Rule 234: no_type_declaration_specifier ::= typedef // - case 253: { action. consumeToken(); break; + case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= register + // Rule 254: storage_class_specifier ::= auto // case 254: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= static + // Rule 255: storage_class_specifier ::= register // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= extern + // Rule 256: storage_class_specifier ::= static // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= mutable + // Rule 257: storage_class_specifier ::= extern // case 257: { action. consumeToken(); break; } // - // Rule 258: function_specifier ::= inline + // Rule 258: storage_class_specifier ::= mutable // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= virtual + // Rule 259: function_specifier ::= inline // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= explicit + // Rule 260: function_specifier ::= virtual // case 260: { action. consumeToken(); break; } // - // Rule 261: simple_type_specifier ::= char + // Rule 261: function_specifier ::= explicit // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= wchar_t + // Rule 262: simple_type_specifier ::= simple_type_specifier_token // case 262: { action. consumeToken(); break; } // - // Rule 263: simple_type_specifier ::= bool + // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 263: { action. consumeToken(); break; - } - - // - // Rule 264: simple_type_specifier ::= short - // - case 264: { action. consumeToken(); break; - } - - // - // Rule 265: simple_type_specifier ::= int - // - case 265: { action. consumeToken(); break; - } - - // - // Rule 266: simple_type_specifier ::= long - // - case 266: { action. consumeToken(); break; - } - - // - // Rule 267: simple_type_specifier ::= signed - // - case 267: { action. consumeToken(); break; - } - - // - // Rule 268: simple_type_specifier ::= unsigned - // - case 268: { action. consumeToken(); break; - } - - // - // Rule 269: simple_type_specifier ::= float - // - case 269: { action. consumeToken(); break; - } - - // - // Rule 270: simple_type_specifier ::= double - // - case 270: { action. consumeToken(); break; + case 276: { action. consumeQualifiedId(false); break; } // - // Rule 271: simple_type_specifier ::= void + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 271: { action. consumeToken(); break; + case 277: { action. consumeQualifiedId(false); break; } // - // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 274: { action. consumeQualifiedId(false); break; + case 278: { action. consumeQualifiedId(false); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 275: { action. consumeQualifiedId(false); break; + case 279: { action. consumeQualifiedId(true); break; } // - // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 276: { action. consumeQualifiedId(false); break; + case 281: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 277: { action. consumeQualifiedId(true); break; + case 282: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 283: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 279: { action. consumeTypeSpecifierElaborated(false); break; + case 283: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 287: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 280: { action. consumeTypeSpecifierElaborated(true); break; + case 287: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 281: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 288: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 281: { action. consumeTypeSpecifierElaborated(false); break; + case 288: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 283: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } + // Rule 294: enumerator_definition ::= identifier_token // - case 283: { action. consumeTypeSpecifierEnumeration(false); break; + case 294: { action. consumeEnumerator(false); break; } // - // Rule 284: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } + // Rule 295: enumerator_definition ::= identifier_token = constant_expression // - case 284: { action. consumeTypeSpecifierEnumeration(true); break; + case 295: { action. consumeEnumerator(true); break; } // - // Rule 290: enumerator_definition ::= identifier_token + // Rule 297: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 290: { action. consumeEnumerator(false); break; + case 297: { action. consumeNamespaceDefinition(true); break; } // - // Rule 291: enumerator_definition ::= identifier_token = constant_expression + // Rule 298: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 291: { action. consumeEnumerator(true); break; + case 298: { action. consumeNamespaceDefinition(false); break; } // - // Rule 293: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 300: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 293: { action. consumeNamespaceDefinition(true); break; + case 300: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 294: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 301: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 294: { action. consumeNamespaceDefinition(false); break; + case 301: { action. consumeUsingDeclaration(); break; } // - // Rule 296: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 302: typename_opt ::= typename // - case 296: { action. consumeNamespaceAliasDefinition(); break; + case 302: { action. consumePlaceHolder(); break; } // - // Rule 297: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 303: typename_opt ::= $Empty // - case 297: { action. consumeUsingDeclaration(); break; + case 303: { action. consumeEmpty(); break; } // - // Rule 298: typename_opt ::= typename + // Rule 304: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 298: { action. consumePlaceHolder(); break; + case 304: { action. consumeUsingDirective(); break; } // - // Rule 299: typename_opt ::= $Empty + // Rule 305: asm_definition ::= asm ( stringlit ) ; // - case 299: { action. consumeEmpty(); break; + case 305: { action. consumeDeclarationASM(); break; } // - // Rule 300: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 300: { action. consumeUsingDirective(); break; + case 306: { action. consumeLinkageSpecification(); break; } // - // Rule 301: asm_definition ::= asm ( stringlit ) ; + // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 301: { action. consumeDeclarationASM(); break; + case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 302: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 312: init_declarator_complete ::= init_declarator // - case 302: { action. consumeLinkageSpecification(); break; + case 312: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 303: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 314: init_declarator ::= complete_declarator initializer // - case 303: { action. consumeLinkageSpecification(); break; + case 314: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 308: init_declarator_complete ::= init_declarator + // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 308: { action. consumeInitDeclaratorComplete(); break; + case 317: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 310: init_declarator ::= complete_declarator initializer + // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 310: { action. consumeDeclaratorWithInitializer(true); break; + case 319: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 323: basic_direct_declarator ::= declarator_id_name // - case 313: { action. consumeDeclaratorWithPointer(true); break; + case 323: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 324: basic_direct_declarator ::= ( declarator ) // - case 315: { action. consumeDeclaratorWithPointer(true); break; + case 324: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 319: basic_direct_declarator ::= declarator_id_name + // Rule 325: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 319: { action. consumeDirectDeclaratorIdentifier(); break; + case 325: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 320: basic_direct_declarator ::= ( declarator ) + // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier // - case 320: { action. consumeDirectDeclaratorBracketed(); break; + case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 328: array_modifier ::= [ constant_expression ] // - case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 328: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 329: array_modifier ::= [ ] // - case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 324: array_modifier ::= [ constant_expression ] + // Rule 330: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 324: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 330: { action. consumePointer(); break; } // - // Rule 325: array_modifier ::= [ ] + // Rule 331: ptr_operator ::= pointer_hook & pointer_hook // - case 325: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 331: { action. consumeReferenceOperator(); break; } // - // Rule 326: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 326: { action. consumePointer(); break; + case 332: { action. consumePointerToMember(); break; } // - // Rule 327: ptr_operator ::= pointer_hook & pointer_hook + // Rule 339: cv_qualifier ::= const // - case 327: { action. consumeReferenceOperator(); break; + case 339: { action. consumeToken(); break; } // - // Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 340: cv_qualifier ::= volatile // - case 328: { action. consumePointerToMember(); break; + case 340: { action. consumeToken(); break; } // - // Rule 335: cv_qualifier ::= const + // Rule 342: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 335: { action. consumeToken(); break; + case 342: { action. consumeQualifiedId(false); break; } // - // Rule 336: cv_qualifier ::= volatile + // Rule 343: type_id ::= type_specifier_seq // - case 336: { action. consumeToken(); break; + case 343: { action. consumeTypeId(false); break; } // - // Rule 338: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 344: type_id ::= type_specifier_seq abstract_declarator // - case 338: { action. consumeQualifiedId(false); break; + case 344: { action. consumeTypeId(true); break; } // - // Rule 339: type_id ::= type_specifier_seq + // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 339: { action. consumeTypeId(false); break; + case 347: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 340: type_id ::= type_specifier_seq abstract_declarator + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 340: { action. consumeTypeId(true); break; + case 348: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 343: { action. consumeDeclaratorWithPointer(false); break; + case 352: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 353: basic_direct_abstract_declarator ::= ( ) // - case 344: { action. consumeDeclaratorWithPointer(true); break; + case 353: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 354: array_direct_abstract_declarator ::= array_modifier // - case 348: { action. consumeDirectDeclaratorBracketed(); break; + case 354: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( ) + // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 349: { action. consumeAbstractDeclaratorEmpty(); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 350: array_direct_abstract_declarator ::= array_modifier + // Rule 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 350: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 357: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 357: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 358: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 353: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 353: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 359: { action. consumePlaceHolder(); break; } // - // Rule 354: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 354: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 360: { action. consumeEmpty(); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 355: { action. consumePlaceHolder(); break; + case 361: { action. consumePlaceHolder(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 367: abstract_declarator_opt ::= $Empty // - case 356: { action. consumeEmpty(); break; + case 367: { action. consumeEmpty(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 357: { action. consumePlaceHolder(); break; + case 368: { action. consumeParameterDeclaration(); break; } // - // Rule 363: abstract_declarator_opt ::= $Empty + // Rule 369: parameter_declaration ::= declaration_specifiers // - case 363: { action. consumeEmpty(); break; + case 369: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer // - case 364: { action. consumeParameterDeclaration(); break; + case 371: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers + // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 365: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 373: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 374: parameter_init_declarator ::= = parameter_initializer // - case 367: { action. consumeDeclaratorWithInitializer(true); break; + case 374: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 375: parameter_initializer ::= assignment_expression // - case 369: { action. consumeDeclaratorWithInitializer(true); break; + case 375: { action. consumeInitializer(); break; } // - // Rule 370: parameter_init_declarator ::= = parameter_initializer + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 370: { action. consumeDeclaratorWithInitializer(false); break; + case 376: { action. consumeFunctionDefinition(false); break; } // - // Rule 371: parameter_initializer ::= assignment_expression + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 371: { action. consumeInitializer(); break; + case 377: { action. consumeFunctionDefinition(true); break; } // - // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 380: initializer ::= ( expression_list ) // - case 372: { action. consumeFunctionDefinition(false); break; + case 380: { action. consumeInitializerConstructor(); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 381: initializer_clause ::= assignment_expression // - case 373: { action. consumeFunctionDefinition(true); break; + case 381: { action. consumeInitializer(); break; } // - // Rule 376: initializer ::= ( expression_list ) + // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // - case 376: { action. consumeInitializerConstructor(); break; + case 383: { action. consumeInitializerList(); break; } // - // Rule 377: initializer_clause ::= assignment_expression + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // - case 377: { action. consumeInitializer(); break; + case 384: { action. consumeInitializerList(); break; } // - // Rule 379: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 385: initializer_list ::= { <openscope-ast> } // - case 379: { action. consumeInitializerList(); break; + case 385: { action. consumeInitializerList(); break; } // - // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 386: start_initializer_list ::= $Empty // - case 380: { action. consumeInitializerList(); break; + case 386: { action. initializerListStart(); break; } // - // Rule 381: initializer_list ::= { <openscope-ast> } + // Rule 387: end_initializer_list ::= $Empty // - case 381: { action. consumeInitializerList(); break; + case 387: { action. initializerListEnd(); break; } // - // Rule 382: start_initializer_list ::= $Empty + // Rule 392: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 382: { action. initializerListStart(); break; + case 392: { action. consumeClassSpecifier(); break; } // - // Rule 383: end_initializer_list ::= $Empty + // Rule 393: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // - case 383: { action. initializerListEnd(); break; + case 393: { action. consumeClassHead(false); break; } // - // Rule 388: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 394: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 388: { action. consumeClassSpecifier(); break; + case 394: { action. consumeClassHead(false); break; } // - // Rule 389: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 389: { action. consumeClassHead(false); break; + case 395: { action. consumeClassHead(true); break; } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 390: { action. consumeClassHead(false); break; + case 396: { action. consumeClassHead(true); break; } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 400: identifier_name_opt ::= $Empty // - case 391: { action. consumeClassHead(true); break; - } + case 400: { action. consumeEmpty(); break; + } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 404: visibility_label ::= access_specifier_keyword : // - case 392: { action. consumeClassHead(true); break; + case 404: { action. consumeVisibilityLabel(); break; } // - // Rule 396: identifier_name_opt ::= $Empty - // - case 396: { action. consumeEmpty(); break; - } - - // - // Rule 400: visibility_label ::= access_specifier_keyword : + // Rule 405: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 400: { action. consumeVisibilityLabel(); break; + case 405: { action. consumeDeclarationSimple(true); break; } // - // Rule 401: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 406: member_declaration ::= declaration_specifiers_opt ; // - case 401: { action. consumeDeclarationSimple(true); break; + case 406: { action. consumeDeclarationSimple(false); break; } // - // Rule 402: member_declaration ::= declaration_specifiers_opt ; + // Rule 409: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 402: { action. consumeDeclarationSimple(false); break; + case 409: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 405: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 415: member_declaration ::= ERROR_TOKEN // - case 405: { action. consumeMemberDeclarationQualifiedId(); break; + case 415: { action. consumeDeclarationProblem(); break; } // - // Rule 411: member_declaration ::= ERROR_TOKEN + // Rule 424: member_declarator ::= declarator constant_initializer // - case 411: { action. consumeDeclarationProblem(); break; + case 424: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 420: member_declarator ::= declarator constant_initializer + // Rule 425: member_declarator ::= bit_field_declarator : constant_expression // - case 420: { action. consumeMemberDeclaratorWithInitializer(); break; + case 425: { action. consumeBitField(true); break; } // - // Rule 421: member_declarator ::= bit_field_declarator : constant_expression + // Rule 426: member_declarator ::= : constant_expression // - case 421: { action. consumeBitField(true); break; + case 426: { action. consumeBitField(false); break; } // - // Rule 422: member_declarator ::= : constant_expression + // Rule 427: bit_field_declarator ::= identifier_name // - case 422: { action. consumeBitField(false); break; + case 427: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 423: bit_field_declarator ::= identifier_name + // Rule 428: constant_initializer ::= = constant_expression // - case 423: { action. consumeDirectDeclaratorIdentifier(); break; + case 428: { action. consumeInitializer(); break; } // - // Rule 424: constant_initializer ::= = constant_expression + // Rule 434: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 424: { action. consumeInitializer(); break; + case 434: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 430: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 430: { action. consumeBaseSpecifier(false, false); break; + case 435: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 431: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 431: { action. consumeBaseSpecifier(true, true); break; + case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 432: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 437: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 432: { action. consumeBaseSpecifier(true, true); break; + case 437: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 433: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 438: access_specifier_keyword ::= private // - case 433: { action. consumeBaseSpecifier(true, false); break; + case 438: { action. consumeToken(); break; } // - // Rule 434: access_specifier_keyword ::= private + // Rule 439: access_specifier_keyword ::= protected // - case 434: { action. consumeToken(); break; + case 439: { action. consumeToken(); break; } // - // Rule 435: access_specifier_keyword ::= protected + // Rule 440: access_specifier_keyword ::= public // - case 435: { action. consumeToken(); break; + case 440: { action. consumeToken(); break; } // - // Rule 436: access_specifier_keyword ::= public + // Rule 442: access_specifier_keyword_opt ::= $Empty // - case 436: { action. consumeToken(); break; + case 442: { action. consumeEmpty(); break; } // - // Rule 438: access_specifier_keyword_opt ::= $Empty + // Rule 444: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 438: { action. consumeEmpty(); break; + case 444: { action. consumeTemplateId(); break; } // - // Rule 440: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 445: conversion_function_id ::= operator conversion_type_id // - case 440: { action. consumeTemplateId(); break; + case 445: { action. consumeConversionName(); break; } // - // Rule 441: conversion_function_id ::= operator conversion_type_id + // Rule 446: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 441: { action. consumeConversionName(); break; + case 446: { action. consumeTypeId(true); break; } // - // Rule 442: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 447: conversion_type_id ::= type_specifier_seq // - case 442: { action. consumeTypeId(true); break; + case 447: { action. consumeTypeId(false); break; } // - // Rule 443: conversion_type_id ::= type_specifier_seq + // Rule 448: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 443: { action. consumeTypeId(false); break; + case 448: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 444: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 454: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 444: { action. consumeDeclaratorWithPointer(false); break; + case 454: { action. consumeConstructorChainInitializer(); break; } // - // Rule 450: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 455: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 450: { action. consumeConstructorChainInitializer(); break; + case 455: { action. consumeQualifiedId(false); break; } // - // Rule 451: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 458: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 451: { action. consumeQualifiedId(false); break; + case 458: { action. consumeTemplateId(); break; } // - // Rule 454: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 459: operator_id_name ::= operator overloadable_operator // - case 454: { action. consumeTemplateId(); break; + case 459: { action. consumeOperatorName(); break; } // - // Rule 455: operator_id_name ::= operator overloadable_operator + // Rule 502: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 455: { action. consumeOperatorName(); break; + case 502: { action. consumeTemplateDeclaration(); break; } // - // Rule 498: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 503: export_opt ::= export // - case 498: { action. consumeTemplateDeclaration(); break; + case 503: { action. consumePlaceHolder(); break; } // - // Rule 499: export_opt ::= export + // Rule 504: export_opt ::= $Empty // - case 499: { action. consumePlaceHolder(); break; + case 504: { action. consumeEmpty(); break; } // - // Rule 500: export_opt ::= $Empty + // Rule 508: template_parameter ::= parameter_declaration // - case 500: { action. consumeEmpty(); break; + case 508: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 504: template_parameter ::= parameter_declaration + // Rule 509: type_parameter ::= class identifier_name_opt // - case 504: { action. consumeTemplateParamterDeclaration(); break; + case 509: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 505: type_parameter ::= class identifier_name_opt + // Rule 510: type_parameter ::= class identifier_name_opt = type_id // - case 505: { action. consumeSimpleTypeTemplateParameter(false); break; + case 510: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 506: type_parameter ::= class identifier_name_opt = type_id + // Rule 511: type_parameter ::= typename identifier_name_opt // - case 506: { action. consumeSimpleTypeTemplateParameter(true); break; + case 511: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 507: type_parameter ::= typename identifier_name_opt + // Rule 512: type_parameter ::= typename identifier_name_opt = type_id // - case 507: { action. consumeSimpleTypeTemplateParameter(false); break; + case 512: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 508: type_parameter ::= typename identifier_name_opt = type_id + // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 508: { action. consumeSimpleTypeTemplateParameter(true); break; + case 513: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 509: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 515: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 510: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 515: { action. consumeTemplateId(); break; } // - // Rule 511: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 520: template_argument ::= assignment_expression // - case 511: { action. consumeTemplateId(); break; + case 520: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 516: template_argument ::= assignment_expression + // Rule 521: template_argument ::= type_id // - case 516: { action. consumeTemplateArgumentExpression(); break; + case 521: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 517: template_argument ::= type_id + // Rule 522: explicit_instantiation ::= template declaration // - case 517: { action. consumeTemplateArgumentTypeId(); break; + case 522: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 518: explicit_instantiation ::= template declaration + // Rule 523: explicit_specialization ::= template < > declaration // - case 518: { action. consumeTemplateExplicitInstantiation(); break; + case 523: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 519: explicit_specialization ::= template < > declaration + // Rule 524: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 519: { action. consumeTemplateExplicitSpecialization(); break; + case 524: { action. consumeStatementTryBlock(true); break; } // - // Rule 520: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 525: try_block ::= try compound_statement // - case 520: { action. consumeStatementTryBlock(); break; + case 525: { action. consumeStatementTryBlock(false); break; } // - // Rule 523: handler ::= catch ( exception_declaration ) compound_statement + // Rule 528: handler ::= catch ( exception_declaration ) compound_statement // - case 523: { action. consumeStatementCatchHandler(false); break; + case 528: { action. consumeStatementCatchHandler(false); break; } // - // Rule 524: handler ::= catch ( ... ) compound_statement + // Rule 529: handler ::= catch ( ... ) compound_statement // - case 524: { action. consumeStatementCatchHandler(true); break; + case 529: { action. consumeStatementCatchHandler(true); break; } // - // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 525: { action. consumeDeclarationSimple(true); break; + case 530: { action. consumeDeclarationSimple(true); break; } // - // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 526: { action. consumeDeclarationSimple(true); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 527: exception_declaration ::= type_specifier_seq + // Rule 532: exception_declaration ::= type_specifier_seq // - case 527: { action. consumeDeclarationSimple(false); break; + case 532: { action. consumeDeclarationSimple(false); break; } // - // Rule 529: exception_specification ::= throw ( ) + // Rule 534: exception_specification ::= throw ( ) // - case 529: { action. consumePlaceHolder(); break; + case 534: { action. consumePlaceHolder(); break; } // - // Rule 535: no_cast_start ::= ERROR_TOKEN + // Rule 540: no_cast_start ::= ERROR_TOKEN // - case 535: { action. consumeEmpty(); break; + case 540: { action. consumeEmpty(); 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 954bdd9055b..da02ccb0e10 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 @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -56,476 +56,495 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,0,1,1,0,1,1,1,1,1, 1,1,1,1,3,4,3,2,1,4, 2,1,2,5,7,5,1,4,1,0, - 5,7,8,1,1,2,2,3,2,3, + 5,7,2,8,1,1,2,2,3,2, + 3,1,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,1,0,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, 1,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,1,0,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,1, + 1,1,1,1,1,3,4,4,5,2, + 5,6,5,0,1,0,7,8,0,1, + 3,1,0,1,3,1,7,6,0,7, + 6,1,0,6,5,6,4,1,3,1, + 0,1,1,2,1,1,3,1,3,1, + 1,1,1,3,9,2,2,3,2,5, + 3,7,0,1,2,2,1,0,1,1, + 1,3,1,2,1,1,2,3,1,1, + 1,3,2,1,2,2,9,8,2,1, + 3,1,3,1,0,1,0,2,1,1, + 3,1,3,2,1,5,8,1,2,3, + 1,1,7,6,3,0,0,1,3,1, + 1,5,6,6,7,7,0,0,1,0, + 1,1,1,2,4,2,2,1,5,1, + 1,1,1,1,1,1,2,1,0,1, + 3,1,1,2,3,2,1,2,2,1, + 0,1,3,3,5,5,4,1,1,1, + 1,0,1,5,2,2,1,2,2,1, + 0,1,3,4,3,1,1,5,2,1, + 1,3,3,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3,4,4,5,2,5,6, - 5,0,6,7,0,1,3,1,0,1, - 3,1,7,6,0,7,6,1,0,6, - 5,6,4,1,3,1,0,1,1,2, - 1,1,3,1,3,1,1,1,1,3, - 9,2,2,3,2,5,3,7,0,1, - 2,2,1,0,1,1,1,3,1,2, - 1,1,2,3,1,1,1,3,2,1, - 2,2,9,8,2,1,3,1,3,1, - 0,1,0,2,1,1,3,1,3,2, - 1,5,8,1,2,3,1,1,7,6, - 3,0,0,1,3,1,1,5,6,6, - 7,7,0,0,1,0,1,1,1,2, - 4,2,2,1,5,1,1,1,1,1, - 1,1,2,1,0,1,3,1,1,2, - 3,2,1,2,2,1,0,1,3,3, - 5,5,4,1,1,1,1,0,1,5, - 2,2,1,2,2,1,0,1,3,4, - 3,1,1,5,2,1,1,3,3,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,2,2,7,1,0, - 1,3,1,1,2,4,2,4,7,9, - 5,1,3,1,0,1,1,2,4,4, - 1,2,5,5,3,3,1,4,3,1, - 0,1,3,1,1,-107,0,0,0,-2, + 1,1,1,1,1,1,1,1,1,2, + 2,7,1,0,1,3,1,1,2,4, + 2,4,7,9,5,1,3,1,0,1, + 1,2,4,4,2,1,2,5,5,3, + 3,1,4,3,1,0,1,3,1,1, + -107,0,0,0,-2,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-4,0, - 0,0,0,0,-49,0,0,0,0,0, - 0,0,0,-43,-10,0,0,0,-5,0, - -289,0,0,0,0,0,0,0,0,0, - 0,0,0,-126,0,0,0,0,0,-306, + 0,0,0,0,-4,0,0,0,0,0, + -536,0,0,0,-10,0,0,0,0,0, + -49,0,0,-54,0,-289,0,0,0,0, + 0,0,0,0,0,0,0,0,-58,0, + 0,0,-59,0,-306,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-5,0, + -414,0,0,0,-187,0,0,0,0,-177, + 0,0,-16,0,0,0,0,0,0,0, + 0,0,0,-121,-1,0,0,0,0,0, + 0,-176,0,0,0,0,0,0,0,0, + 0,0,0,-62,0,0,0,0,0,0, + -262,0,-357,0,0,-271,0,0,0,0, + 0,0,-300,-50,0,0,0,0,0,0, + 0,0,0,0,-114,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-6,0,-199,0,0,0,0,-119, - 0,0,0,-177,0,0,-16,0,0,0, - 0,0,0,0,0,0,0,-262,-1,0, - 0,0,0,0,0,-272,0,0,0,-7, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-50,0,-8,0,0,-271, - 0,0,0,0,0,0,-186,0,-219,0, - 0,0,0,0,0,0,0,0,-114,0, + 0,0,0,0,-57,0,0,0,0,0, + 0,0,0,-116,0,0,0,-118,0,-275, + 0,-135,0,0,0,-234,-317,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,0,0,0,0, - 0,0,0,0,0,0,0,-310,0,0, - 0,-9,-106,0,0,0,0,0,0,0, - -245,0,0,0,-135,0,0,0,-187,0, - 0,0,0,0,0,0,-115,0,0,0, + 0,0,0,0,0,0,0,-104,-61,0, + 0,0,0,0,0,0,0,0,-6,0, + 0,-126,0,0,0,0,0,-68,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-7,0,0, + -224,0,0,0,-130,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-11,0,0,0,-408, - 0,0,0,0,0,-54,0,0,-48,0, - -51,0,0,0,0,0,-234,0,0,-68, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-53,-196, + 0,0,0,0,-389,0,0,-181,-162,-8, 0,0,0,0,0,0,0,0,0,0, - -311,0,0,0,0,0,0,-130,0,0, + 0,-9,0,-218,0,0,0,0,0,0, 0,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, + 0,0,-11,-165,0,0,0,0,0,0, + -105,-170,0,0,-51,0,0,0,0,-12, + 0,0,-69,0,0,0,-129,0,0,0, + 0,0,0,0,0,0,0,0,-166,0, + -513,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -385,-12,0,0,0,-181,0,0,0,-116, - 0,-196,0,-255,0,0,-62,0,-53,0, - 0,-356,0,0,0,-218,0,0,0,0, + 0,0,0,0,-13,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-537,0,0,0,-15,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-342, - 0,0,0,0,-314,0,0,0,0,0, - 0,-279,-190,0,0,0,0,0,0,0, - 0,0,0,-69,0,0,0,0,0,0, - 0,0,0,0,0,0,-13,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,0,0,0,0, - 0,0,0,0,0,0,-387,0,0,0, - -15,0,0,0,0,-535,0,0,0,-28, + 0,0,0,0,0,0,0,0,0,-132, + 0,0,0,-28,-113,0,0,0,-163,0, + 0,0,-119,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-188,0,0,0,-162,0, - 0,0,0,0,0,0,0,0,0,-163, + 0,0,0,-395,0,0,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,0,0,0,0,-255,0,0,0,0, + 0,0,0,0,0,-123,0,0,-29,-297, + 0,0,0,0,0,-272,0,0,-17,0, + -137,-142,0,-30,-444,0,0,0,0,0, 0,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,-319,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-417, + 0,0,0,0,-141,0,0,0,-3,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,-123,0,0,0,0, - 0,0,0,0,0,-170,0,0,-17,0, - 0,-228,0,-354,-442,0,0,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,-31,0,0,0,0,0,0,0, + 0,-319,0,0,0,-32,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,0,0,0,0,-3,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,-393,0,0,0, - 0,-57,0,0,0,0,-375,0,0,-283, + 0,-184,0,0,0,0,-322,0,0,0, + -257,-33,0,0,0,-283,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,0,0,0,0,0, - 0,0,-165,0,0,0,0,0,0,0, - 0,0,-462,0,0,0,0,-61,0,0, - 0,0,0,0,-323,0,0,0,0,0, + 0,0,0,0,-334,0,0,0,-335,0, + 0,0,0,-35,0,0,0,0,0,0, + -323,0,0,0,0,0,0,0,0,0, 0,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,-390,0,0, - 0,0,-128,-416,0,0,-335,0,0,0, - -466,0,0,0,0,0,0,0,-76,0, + 0,0,0,0,-225,0,0,0,0,0, + -386,0,0,0,0,0,0,0,0,-36, + -205,0,0,-18,0,0,0,0,-324,0, + 0,0,-37,0,0,0,0,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,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-186,-39,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-415,0,0,0,0,-31, - -531,0,0,0,0,0,-39,0,0,0, + 0,0,0,0,0,0,-299,0,0,0, + 0,0,0,0,0,0,-377,0,0,0, + 0,0,0,0,0,-41,0,0,0,-38, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-384,0,0,0,0, - 0,0,0,0,-59,-220,0,0,-41,0, + 0,0,0,0,0,-40,0,0,0,0, + -342,0,0,0,-55,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,-112,0,0,0,0,0,0,0,0, - 0,-337,-184,0,0,0,0,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,-32,0,0,0,0,0,0, - 0,0,0,0,-476,0,0,0,-104,0, - 0,0,-92,0,0,0,0,0,0,0, + 0,0,-56,0,0,0,0,0,-188,0, + 0,0,-405,0,0,0,0,-197,-337,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,-202,0,0,0,0, - 0,0,0,0,0,-33,0,0,0,0, - -105,-300,0,0,-93,0,0,0,0,0, + 0,0,0,0,0,0,-376,0,0,0, + -344,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,0,-211,0,0, - 0,0,0,0,0,0,0,0,-397,0, - 0,0,-113,0,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,-420, - 0,0,0,0,0,0,0,0,0,-467, - -410,0,0,0,-137,0,0,0,-95,0, + 0,0,0,0,-195,0,0,0,0,0, + 0,0,0,-207,-219,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,-34,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-141,-221,0,0, - -96,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,-526,-411,0,0,0,-166,0, - 0,0,-97,0,0,0,0,0,0,0, + 0,0,-209,0,0,0,0,-220,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,-35,0,0,0,0, - 0,-534,0,0,0,0,-195,0,0,0, - 0,-36,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,-225,0,0, - 0,0,0,0,0,0,0,-527,-37,0, - 0,0,-197,0,0,0,-99,0,0,0, + -229,0,0,0,0,-478,0,0,0,-233, + -221,0,0,-96,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-265, 0,0,0,0,0,0,0,0,0,0, - -423,0,0,0,-207,0,0,0,-100,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-240,-296,0,0,-97,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-38,0,0,0,0,0,0,0,0, - 0,-257,-209,0,0,0,0,-40,0,0, - -101,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -63,0,0,0,0,0,0,0,0,0, + -469,-303,0,0,0,-247,0,0,0,-98, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-376,-229,0,0,0,0,-55, - 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,-56,0,0,0,0, - 0,-63,0,0,0,0,-254,0,0,0, - 0,-64,0,0,-529,0,0,0,0,0, + 0,0,0,-211,0,0,0,0,0,0, + 0,0,0,0,-385,0,0,0,-248,0, + 0,0,-99,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,0,0, - 0,0,0,-403,0,0,0,-129,-267,0, - 0,0,0,-67,0,0,-345,0,0,0, - -132,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-344, - 0,0,0,0,0,0,0,0,0,-364, - -286,0,0,0,-355,0,0,0,0,0, + 0,0,0,0,0,0,-64,0,0,0, + 0,0,0,0,0,0,-528,-399,0,0, + 0,-249,0,0,0,-100,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,0,0,0,0, + -66,0,0,0,-250,-286,0,0,-101,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-58,0,0,0,-108,-412,0,0, - 0,0,-379,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-67,0,0,0,0,0,0,0, + 0,0,-529,-254,0,0,0,0,-108,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,-402,-233,0,0,0, - -380,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-327,0,0,0,0, + 0,0,0,0,0,0,-267,0,0,0, + 0,-109,0,0,-531,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-320,0, + 0,0,0,0,-268,0,0,0,0,-270, + 0,0,0,0,-279,0,0,-345,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-142,0,0,0,-176,0, - 0,0,-109,-433,0,0,0,-372,-453,0, 0,0,0,0,0,0,0,0,0,0, + 0,-498,0,0,0,0,0,-274,0,0, + 0,0,-110,0,0,0,-356,0,0,0, + -111,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,-419,-205,0,0,0,-103,0,0,0, + 0,0,0,0,0,0,-282,0,0,0, + 0,-360,0,0,0,-223,0,0,0,-435, + 0,0,0,-131,-380,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,0,0,0,0,0,0,0, - 0,0,-374,0,0,0,-110,-266,0,0, - 0,0,0,-444,-90,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-143,-287, + 0,0,0,-381,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-240,0,0, - 0,0,0,0,0,0,0,-88,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-144,0, + 0,0,-232,0,0,0,-437,0,0,0, + -145,-455,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-111,0,0,-89, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-146,-292,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,-131,0, - -85,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-147,0,0,0,0,0, + 0,0,0,0,-138,0,0,0,-294,0, + 0,0,0,0,0,0,0,-148,-88,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-143,0,0,0,0,0,-394, 0,0,0,0,0,0,0,0,0,0, - 0,0,-86,0,0,0,-144,0,0,0, + 0,0,0,0,0,0,0,0,-347,0, + 0,-89,0,0,0,-149,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-247,0,0,0,0, - -435,0,0,0,-138,0,0,0,0,0, + 0,0,0,0,0,-150,0,0,0,0, + 0,-151,0,-85,0,0,0,-152,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-145,0,0,-377,0,0,-146,0,0, - -147,-432,0,0,0,0,0,-347,-201,0, - 0,0,-148,-87,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-265,0,0, + 0,0,0,-86,0,0,0,-153,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-149,0,0,0, - 0,-320,0,-473,-297,-450,-118,-223,0,0, - 0,0,0,0,-242,0,0,0,0,0, - 0,0,0,0,0,0,0,-232,0,0, - 0,-536,0,0,0,0,0,0,0,0, - 0,0,0,0,-150,0,0,-238,0,0, - 0,-305,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-463,0,-404,0,0, - 0,0,-268,0,0,0,0,0,0,-270, - -455,0,0,0,-248,-185,0,0,0,0, - 0,0,0,0,0,-151,-326,0,0,0, + 0,0,0,0,0,0,0,-154,0,0, + 0,0,-87,0,0,0,-314,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-355,0,0,0, + 0,-396,0,0,0,0,0,0,0,0, + 0,0,0,0,-79,0,0,0,-155,0, 0,0,0,0,0,0,0,0,0,0, - -231,0,0,-152,0,0,0,0,0,0, - 0,0,0,0,0,-79,0,0,0,0, + 0,0,0,0,0,0,0,0,-156,0, + 0,0,-71,-310,-365,0,0,-140,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,0,0,0,0,0,0,-378, + 0,0,0,0,0,-157,-80,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,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,0,0,0,-510, - -249,0,0,-351,-298,-19,0,0,0,0, + -465,0,0,0,0,-158,-471,0,0,0, + -472,0,0,0,0,0,0,-538,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-140, + 0,-354,0,-238,0,0,0,-159,0,0, + 0,0,0,0,-266,0,-81,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-239,0,0,0,-81,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -160,0,0,0,-82,0,0,0,-161,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-82,0,0,0,-153,0,0, + 0,0,0,0,0,0,0,0,-167,0, + 0,0,-242,0,0,0,0,0,0,0, + 0,0,0,0,0,-290,-47,0,0,0, + 0,-168,-321,-305,0,0,0,0,0,0, + 0,0,0,0,0,0,-295,-190,0,0, + 0,0,0,0,-112,-52,0,0,0,-136, + 0,0,0,-169,-127,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-172,-236, + 0,-48,0,0,0,0,-173,-102,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-431,0,0,0, - 0,-246,0,0,0,-287,-469,0,0,0, - 0,0,0,-14,-274,-359,-506,0,0,0, - 0,-250,-275,-540,-117,0,-292,-120,-154,-18, - 0,0,0,-464,0,0,0,0,0,0, - 0,-294,0,0,0,0,0,0,0,0, - 0,0,-451,-282,0,0,0,0,0,0, + -239,0,0,0,0,0,0,0,0,0, + 0,0,0,-328,0,-174,-388,0,0,-106, + 0,0,0,0,-373,0,-392,0,-343,0, + 0,0,-175,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,-273,0,0,0, - 0,0,-52,0,0,0,0,0,-304,0, - 0,0,0,-308,0,0,0,0,0,0, - 0,-155,0,0,0,0,0,0,-122,0, - 0,0,0,0,0,-156,0,0,0,0, - 0,0,0,0,0,0,0,-528,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-359,0,0,-178, + -201,0,0,0,0,-179,0,0,0,0, + 0,0,0,0,0,0,-180,0,0,0, + 0,0,0,0,0,0,0,0,0,-183, + 0,0,0,0,0,0,-120,0,0,0, -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,0,0,0,0, - 0,-127,0,0,0,0,-157,-295,0,-47, - 0,0,0,-158,-328,0,0,0,0,-317, - 0,0,-358,0,0,0,0,0,0,0, - 0,0,0,0,-309,0,-388,0,0,0, - 0,-159,0,0,0,0,-322,0,0,0, - 0,0,0,0,-325,0,0,0,0,0, - 0,0,0,0,0,-84,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,-330,0,0,0,-465,0,0,0,0, - 0,0,0,0,-74,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-478,0,-182, - 0,0,0,0,-139,0,0,0,-134,-160, - 0,-222,0,0,0,0,0,-497,-422,0, - 0,0,0,0,0,0,-501,-460,-468,0, - 0,0,0,0,0,0,0,0,0,-269, - 0,0,0,0,-446,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-480,-42,-331,0,0,0,0,0, - -161,0,-164,0,0,0,0,0,0,0, - 0,0,0,-483,0,-491,0,0,0,0, - 0,0,0,0,-524,0,0,0,0,0, - 0,0,0,-488,0,0,0,0,0,-290, - -492,0,0,-167,0,-136,-171,0,0,0, - 0,0,0,0,-333,0,0,-352,0,0, - 0,0,0,0,0,0,0,0,0,-485, - -353,0,0,0,-124,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -523,0,0,0,0,0,-499,0,0,-264, - 0,0,-168,0,0,0,0,0,-169,0, - 0,0,0,0,0,-502,-336,0,0,0, - 0,0,0,-357,-172,0,0,0,0,0, - 0,0,0,0,0,-65,-173,-174,0,0, - -400,0,0,0,0,0,0,0,-339,0, - 0,0,0,0,0,0,0,0,0,-175, - 0,0,0,0,0,0,0,0,0,0, - 0,-516,0,0,0,0,0,0,0,0, - 0,0,-471,0,0,0,0,0,0,0, - -178,-44,0,-133,0,0,-474,0,-341,0, - 0,0,0,-236,0,0,-179,-365,-360,0, - 0,0,0,0,0,0,0,0,0,0, - -180,0,0,0,0,0,0,-518,0,0, - 0,0,-259,0,0,-183,0,0,0,0, - 0,0,0,0,0,0,0,-70,0,-191, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -371,0,0,0,0,0,0,0,0,0, - 0,0,0,-192,0,0,0,0,-198,0, - 0,0,-496,0,-381,0,0,0,0,0, - 0,0,-520,0,0,0,0,0,0,0, - 0,0,0,0,0,-204,-313,0,-206,0, - 0,0,-425,-216,-217,-226,0,-251,-252,-522, - -237,0,0,0,0,-241,-470,0,0,0, - 0,0,0,0,-243,0,-293,0,0,0, - -366,-389,0,0,0,0,0,0,0,0, - -253,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-311,0,0,-84,0,0, + 0,-191,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-433,0,0,-164,0,-212,0,0,0, + 0,-304,0,-390,-117,0,-182,0,0,0, + -246,0,0,0,0,0,-308,0,0,-192, + 0,0,0,0,0,-418,0,-412,0,-453, + 0,0,0,0,0,-198,0,0,0,0, + 0,0,0,0,0,0,0,0,-309,-206, + 0,0,0,0,-259,0,0,-216,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-325,0,0,0,0,0,0,0,-363, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-217,0,0,0,0, + 0,0,0,0,0,-530,0,0,0,0, + 0,0,0,0,0,0,0,0,-74,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,-326,0,0,0,-331,-427, + -244,-333,0,0,0,0,-226,0,-336,-434, + 0,0,0,-413,0,0,0,0,0,0, + 0,-237,0,0,0,-204,0,0,0,0, + 0,0,0,-330,0,0,0,-364,0,0, + 0,0,0,0,0,0,-475,0,0,0, + 0,-75,0,0,0,0,0,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,-273,0,0,0,0, + 0,0,0,0,0,0,-424,0,0,-462, + 0,0,-241,0,0,0,0,-291,-243,0, + -352,0,0,-452,0,-122,-253,0,0,0, 0,0,0,0,-258,0,0,0,0,0, - 0,0,0,0,0,-312,0,0,0,-318, - 0,0,-537,0,-260,0,0,0,0,0, - 0,0,0,0,-261,-276,0,0,0,0, - -414,0,-45,-280,0,0,0,0,0,-281, - -284,0,0,0,0,0,0,0,-46,-338, - 0,0,0,0,0,0,0,-418,0,0, - 0,0,0,0,0,0,0,0,0,-542, - -285,0,0,0,0,0,-301,0,0,0, - 0,0,0,0,0,0,0,-519,-302,0, - 0,0,0,0,-307,0,0,0,0,0, - 0,0,0,0,0,0,-427,0,0,-430, - 0,0,-315,0,-472,0,0,0,0,0, + 0,0,0,0,0,0,0,-485,0,0, + -353,0,0,-260,-425,0,0,0,0,0, + 0,0,0,0,0,0,-339,-261,-313,0, + 0,0,-293,0,0,0,0,0,0,0, + 0,0,0,0,0,-487,0,0,0,0, + 0,0,0,0,0,0,0,-470,0,0, + 0,0,0,0,-372,0,0,0,-276,0, + -404,0,0,0,0,0,0,0,0,0, + 0,0,0,-504,0,0,-280,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -475,0,0,0,0,0,-316,0,0,0, - 0,0,0,0,-75,0,0,0,-332,0, + 0,0,-312,0,0,0,-341,0,-281,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-346,0,-77, - 0,0,0,-348,0,0,0,0,0,0, + 0,-518,0,0,-542,0,0,-284,-235,-285, 0,0,0,0,0,0,0,0,0,0, - 0,0,-78,0,0,0,-367,0,0,0, + -361,-499,-421,-367,0,0,0,0,-473,0, + 0,0,0,0,0,0,0,0,0,-520, + 0,0,-391,0,0,-422,0,0,0,0, + 0,-301,0,0,0,0,0,0,0,-302, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-378,0,0,0,0, - 0,0,0,0,0,0,0,0,-370,-443, + 0,0,0,0,0,0,0,-134,0,0, + -278,0,0,-307,0,0,0,0,0,0, + 0,0,0,0,0,0,-171,0,0,0, + -185,0,0,0,-464,0,0,0,0,0, + 0,0,0,0,0,-522,0,0,0,0, + 0,0,0,0,0,0,0,0,-362,-70, + 0,0,0,0,-490,0,-468,0,0,0, + 0,0,-524,-416,0,0,0,0,-402,0, + 0,0,0,0,-403,0,0,-124,0,0, + -350,-231,0,0,0,0,0,-358,0,-245, + 0,0,0,0,0,0,0,0,-315,0, + 0,0,0,-406,-43,0,-316,0,0,0, + 0,0,0,0,0,0,0,0,0,-332, + -382,0,-227,0,0,0,-346,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-20,0,0,0,-383,0,0,0, + 0,-446,-420,0,-539,0,0,0,0,-457, + 0,0,0,0,0,0,-476,0,0,0, + 0,-441,0,0,0,0,0,0,0,0, + 0,0,-213,-443,0,0,0,0,-526,0, + 0,0,0,0,0,-429,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-494,-441,-503,-505,0,0, - -401,0,0,-498,0,0,0,0,0,0, - -507,-395,-396,-398,0,-477,0,0,0,0, - 0,0,0,0,0,-399,-405,-407,-413,0, - 0,-21,0,0,0,0,0,0,0,0, + 0,-544,0,0,-466,0,-467,-199,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-22,0,0,0,-421,0,0, + -348,-368,-480,-44,0,0,0,0,-493,0, + -432,0,0,-371,0,-474,-384,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-509,-513,-512,0,0, - -428,0,0,0,-23,0,0,0,-429,0, + 0,0,0,0,0,0,0,0,-477,0, + 0,0,0,-269,0,0,-494,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,-452,0,0, - 0,0,0,-24,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-25,0,0,0,-454, + 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,0,0,-26,0,0, - 0,-456,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-27, + 0,0,0,0,0,-78,0,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,-397,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-60,0,0,0,-457,0,0,0,0, + 0,0,-22,0,0,0,-398,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-72,0,0,0,-458,0,0, + 0,0,0,0,0,-23,0,0,0,-400, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-73,0,0,0,-459, + 0,0,0,0,0,0,0,0,-24,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,0,-193,0,0, - 0,-514,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-392, - -71,-102,-515,0,0,0,0,-461,-440,-212, - -533,-479,0,0,0,-434,-481,-482,-484,0, - -489,-493,0,-189,0,0,0,-532,-500,0, - 0,0,-539,-508,-517,-525,-538,-530,0,0, - 0,-541,0,0,0,0,0,0,0,0, + 0,-25,0,0,0,-407,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-235,0,0,0,0,0,0, + 0,0,0,0,-26,0,0,0,-409,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-27,0,0, + 0,-415,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-343,0,0,0,0,0,0, - 0,0,0,0,0,0,-200,0,0,0, + -60,0,0,0,-423,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-72,0,0,0,-430,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-73,0,0,0, + -431,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-193, + 0,0,0,-454,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-379,0,0,0,0,0,0,0, + 0,0,0,0,0,-482,-445,0,0,0, + 0,0,0,0,0,0,0,0,0,-19, + 0,0,0,-456,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-366,-214,-458,-215,0,0,-251,0,-459, + -460,0,0,0,0,-394,0,0,-501,0, + -496,-448,0,0,0,0,0,0,0,0, + 0,0,0,-461,0,-463,-500,0,-505,0, + 0,-481,0,0,0,-514,0,0,0,0, + 0,-483,0,0,0,0,0,0,-479,0, + 0,-509,0,0,0,0,0,0,0,0, + 0,-507,0,-189,0,0,0,0,-484,0, + 0,0,0,-14,0,0,0,0,-442,0, + 0,0,0,0,0,0,0,-511,0,0, + 0,-486,-45,0,-410,0,0,0,0,0, + -512,-517,0,-491,0,0,0,0,0,0, + 0,0,-515,-277,0,-516,0,0,0,0, + 0,0,-525,-495,-533,0,0,0,0,0, 0,0,0,0,-125,0,0,0,0,0, - 0,0,0,-382,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-278, + -502,-510,0,0,-519,-527,0,0,0,0, + 0,0,-532,0,0,-521,0,0,0,0, + -543,0,0,0,0,-383,0,0,0,0, + 0,0,0,0,0,0,0,0,-506,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-504,0, + 0,0,0,0,0,0,-534,0,-263,0, 0,0,0,0,0,0,0,0,0,0, - 0,-438,0,-244,-213,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-368, - 0,-361,0,0,0,0,0,0,0,0, - 0,0,-291,0,0,0,0,0,0,0, + 0,-535,0,-540,0,0,0,0,-541,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-338,0,0,0,0,0,0,0, + 0,0,0,0,-369,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-263,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-214, - -215,-391,0,0,0,0,0,0,0,0, - -417,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-230,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-277,0,0, + -393,0,0,0,0,0,0,0,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,0,0,0,0,0, - 0,0,0,0,0,0,0,-334,-426,0, + 0,0,-288,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-428,0, 0,0,0,0,0,0,0,0,0,0, + -252,0,-318,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, - 0,0,0,0,0,0,0,0,-208,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-227,0,0,0,0,0, - -329,0,0,-362,0,0,0,0,-230,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,-370,0,0,0,0,0, + 0,0,0,0,0,0,0,-436,0,-523, + -222,0,0,0,0,0,0,0,0,0, + -264,0,0,0,0,0,-208,0,0,-46, + 0,0,0,0,0,0,-329,0,0,0, + 0,0,0,0,0,0,0,-133,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-340,0,0,0,0,0,0, - 0,0,0,0,0,0,-373,-363,0,0, + 0,-340,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,-349,0, - 0,0,0,0,-439,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-386,0,0,0,-406,0,0,0,0, - 0,0,0,0,0,0,-409,0,0,0, - 0,0,0,0,-424,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -436,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,0,0, - 0,0,0,0,0,-445,0,0,0,0, - 0,0,0,0,0,0,-210,0,0,0, - -256,0,0,0,0,0,0,-350,0,0, - -447,0,0,0,0,0,0,0,0,0, - 0,0,-486,-487,0,0,0,0,0,0, - 0,-490,-194,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-448, - 0,0,0,0,0,0,0,0,0,-449, - 0,-521,0,0,-495,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-387,0,0,0, + 0,0,0,-408,0,0,0,-411,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-426,0,0,0,0,-438,0,0,0, + -374,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-508,0,0,0,0,0,0, + 0,0,-439,0,0,0,0,0,0,-447, + 0,0,0,0,0,0,-449,0,-42,0, + 0,-65,0,0,0,0,0,-200,0,0, + 0,-440,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-488,0,0,0,0,0, + -210,0,0,0,-256,0,0,0,0,0, + 0,0,-489,0,0,0,0,-492,0,-194, + 0,0,0,0,0,0,0,-450,0,-451, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0 + -497,0,-503,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,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; @@ -535,532 +554,551 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 174,4,136,81,81,33,33,67,67,38, - 38,42,42,200,1,1,15,15,15,15, - 15,15,15,16,16,16,14,11,11,6, - 6,6,6,6,6,2,65,65,5,5, - 12,12,44,44,137,137,138,56,56,43, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17, - 139,139,139,113,113,18,18,18,18,18, - 18,18,18,18,18,18,18,18,19,19, - 175,175,176,176,177,142,142,143,143,140, - 140,144,141,141,20,20,21,22,22,22, - 24,24,24,24,25,25,25,26,26,26, - 27,27,27,27,27,28,28,28,30,30, - 31,31,32,32,35,35,36,36,37,37, - 41,41,40,40,40,40,40,40,40,40, - 40,40,40,40,40,39,29,145,145,95, - 95,178,178,90,201,201,68,68,68,68, - 68,68,68,68,68,69,69,69,66,66, - 55,55,179,179,70,70,70,101,101,180, - 180,71,71,71,181,181,72,72,72,72, - 72,73,73,82,82,82,82,82,82,82, - 82,50,50,50,50,50,114,114,112,112, - 51,182,23,23,23,23,23,48,48,85, - 85,85,85,85,152,152,147,147,147,147, - 147,148,148,148,149,149,149,150,150,150, - 151,151,151,86,86,86,86,86,87,87, - 87,13,13,13,13,13,13,13,13,13, - 13,13,96,118,118,118,118,118,118,116, - 116,116,153,117,117,183,155,155,154,154, - 120,120,102,79,79,121,53,47,156,156, - 54,52,84,84,157,157,146,146,122,123, - 123,124,76,76,158,158,63,63,63,60, - 60,59,64,64,75,75,58,58,58,49, - 88,88,98,97,97,62,62,61,61,57, - 57,45,99,99,99,91,91,91,92,92, - 93,93,93,94,94,103,103,103,105,105, - 104,104,202,202,89,89,185,185,185,185, - 185,126,46,46,160,184,184,127,127,128, - 128,128,129,162,186,186,34,34,115,130, - 130,130,130,188,107,106,106,119,119,119, - 163,164,164,164,164,164,164,164,164,164, - 164,164,190,190,187,187,189,189,165,166, - 166,166,166,167,191,109,108,108,192,192, - 168,168,168,168,100,100,100,193,193,8, - 8,9,194,194,195,169,159,159,170,170, - 171,172,172,7,7,10,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,77,80, - 80,173,173,132,132,133,133,133,133,133, - 133,3,134,134,131,131,110,110,83,78, - 74,161,161,111,111,197,197,197,135,135, - 125,125,198,198,174,174,1119,35,3299,3293, - 1278,3227,27,30,31,957,1001,26,28,3224, - 25,23,50,1010,106,76,77,107,1084,1982, - 1390,1298,1556,1504,1756,56,1672,1809,1772,689, - 272,1882,1898,142,56,69,157,143,2893,71, - 2990,1888,35,862,32,4521,4550,27,30,31, - 957,1001,337,28,327,35,278,341,231,4154, - 1691,35,862,32,4708,4550,27,30,31,957, - 1001,337,28,1267,349,588,35,1982,387,723, - 1330,234,229,230,588,35,3515,1500,35,862, - 32,2107,273,41,30,31,957,1001,236,2249, - 317,2816,319,1188,312,2061,588,35,281,49, - 1762,241,244,247,250,1116,350,2995,46,317, - 2816,319,1473,312,2061,56,620,2023,155,747, - 1962,3683,342,1729,1253,347,2995,69,534,135, - 1855,559,4515,2835,2527,2838,2919,3255,4245,2316, - 35,862,32,2893,2840,27,30,31,957,1001, - 26,28,776,25,23,50,1010,106,76,77, - 107,1084,341,1390,1298,1556,1504,1756,2725,1672, - 1809,1772,2532,2147,1882,1898,142,1039,3551,516, - 143,2164,35,276,723,2271,35,862,32,2129, - 1142,40,30,31,957,1001,517,2316,35,862, - 32,2893,2840,27,30,31,957,1001,26,28, - 776,25,23,50,1010,106,76,77,107,1084, - 341,1390,1298,1556,1504,1756,1016,1672,1809,1772, - 2122,1935,1882,1898,142,4612,1614,516,143,1354, - 286,1599,723,1188,1174,870,3537,2485,350,512, - 1217,35,862,32,517,3115,27,30,31,957, - 1001,57,28,540,342,1729,1253,347,159,496, - 3381,2725,340,3397,925,3707,389,426,2316,35, - 862,32,2893,2840,27,30,31,957,1001,26, - 28,776,25,23,50,1010,106,76,77,107, - 1084,341,1390,1298,1556,1504,1756,512,1672,1809, - 1772,314,2558,1882,1898,142,1773,624,516,143, - 1607,3110,1868,723,322,3110,4194,2572,3411,1010, - 1426,3397,588,3683,1603,517,2524,35,862,32, - 2893,2840,27,30,31,957,1001,26,28,776, - 25,23,50,1010,106,76,77,107,1084,341, - 1390,1298,1556,1504,1756,3426,1672,1809,1772,3426, - 2733,1882,1898,142,331,322,516,143,330,390, - 426,723,666,588,35,1982,387,2833,512,61, - 3596,388,735,517,1860,35,862,32,429,3115, - 27,30,31,957,1001,56,28,2626,866,3474, - 497,437,3397,2659,35,862,32,272,2840,27, - 30,31,957,1001,26,28,776,25,23,50, - 1010,106,76,77,107,1084,442,1390,1298,1556, - 1504,1756,283,1672,1809,1772,513,1761,1882,1898, - 142,2652,287,377,143,3701,2385,35,862,32, - 2245,2840,27,30,31,957,1001,26,28,776, - 25,23,50,1010,106,76,77,107,1084,274, - 1390,1298,1556,1504,1756,69,1672,1809,1772,1607, - 4529,1882,1898,142,3110,70,377,143,3701,93, - 2832,35,862,32,1725,2840,27,30,31,957, - 1001,26,28,776,25,23,50,1010,106,76, - 77,107,1084,2834,1390,1298,1556,1504,1756,1934, - 1672,1809,1772,60,413,1882,3509,163,3426,446, - 384,378,1515,3121,35,862,32,330,2840,27, - 30,31,957,1001,26,28,776,25,23,50, - 1010,106,76,77,107,1084,1229,1390,1298,1556, - 1504,1756,354,1672,1809,1772,241,3506,1882,3509, - 163,325,530,385,378,1515,327,35,278,56, - 2233,4697,1330,1188,322,2591,35,862,32,3205, - 2840,27,30,31,957,1001,26,28,776,25, - 23,50,1010,106,76,77,107,1084,155,1390, - 1298,1556,1504,1756,69,1672,1809,1772,1435,4564, - 1882,1898,142,2826,2600,377,143,3701,2887,35, - 862,32,1330,2840,27,30,31,957,1001,26, - 28,776,25,23,50,1010,106,76,77,107, - 1084,284,1390,1298,1556,1504,1756,2412,1672,1809, - 1772,4401,56,1882,1898,142,828,2733,157,143, - 2887,35,862,32,3307,2840,27,30,31,957, - 1001,26,28,776,25,23,50,1010,106,76, - 77,107,1084,1988,1390,1298,1556,1504,1756,3628, - 1672,1809,1772,588,3196,1882,1898,142,1017,677, - 371,143,375,378,1515,2887,35,862,32,1035, - 2840,27,30,31,957,1001,26,28,776,25, - 23,50,1010,106,76,77,107,1084,1445,1390, - 1298,1556,1504,1756,2606,1672,1809,1772,322,739, - 1882,1898,142,1010,322,371,143,2271,35,862, - 32,588,4152,2060,30,31,957,1001,351,3121, - 35,862,32,559,2840,27,30,31,957,1001, - 26,28,776,25,23,50,1010,106,76,77, - 107,2472,2887,35,862,32,370,2840,27,30, - 31,957,1001,26,28,776,25,23,50,1010, - 106,76,77,107,1084,294,1390,1298,1556,1504, - 1756,293,1672,1809,1772,1761,2014,1882,1898,142, - 64,2443,371,143,459,1188,446,2457,35,862, - 32,369,2840,27,30,31,957,1001,26,28, - 776,25,23,50,1010,106,76,77,107,1084, - 155,1390,1298,1556,1504,1756,2209,1672,1809,1772, - 161,4627,1882,1898,142,1614,135,141,143,2887, - 35,862,32,3384,2840,27,30,31,957,1001, - 26,28,776,25,23,50,1010,106,76,77, - 107,1084,1279,1390,1298,1556,1504,1756,24,1672, - 1809,1772,1330,56,1882,1898,142,3122,367,158, - 143,2887,35,862,32,327,2840,27,30,31, - 957,1001,26,28,776,25,23,50,1010,106, - 76,77,107,1084,2284,1390,1298,1556,1504,1756, - 353,1672,1809,1772,3541,1330,1882,1898,142,1614, - 530,154,143,2887,35,862,32,2189,2840,27, - 30,31,957,1001,26,28,776,25,23,50, - 1010,106,76,77,107,1084,1334,1390,1298,1556, - 1504,1756,69,1672,1809,1772,587,3844,1882,1898, - 142,1614,159,153,143,2887,35,862,32,4167, - 2840,27,30,31,957,1001,26,28,776,25, - 23,50,1010,106,76,77,107,1084,1818,1390, - 1298,1556,1504,1756,68,1672,1809,1772,624,69, - 1882,1898,142,1614,4635,152,143,2887,35,862, - 32,735,2840,27,30,31,957,1001,26,28, - 776,25,23,50,1010,106,76,77,107,1084, - 2149,1390,1298,1556,1504,1756,53,1672,1809,1772, - 1330,69,1882,1898,142,1614,4651,151,143,2887, - 35,862,32,735,2840,27,30,31,957,1001, - 26,28,776,25,23,50,1010,106,76,77, - 107,1084,494,1390,1298,1556,1504,1756,87,1672, - 1809,1772,2588,1472,1882,1898,142,1614,135,150, - 143,2887,35,862,32,3835,2840,27,30,31, - 957,1001,26,28,776,25,23,50,1010,106, - 76,77,107,1084,142,1390,1298,1556,1504,1756, - 52,1672,1809,1772,1330,69,1882,1898,142,1873, - 4662,149,143,2887,35,862,32,1977,2840,27, - 30,31,957,1001,26,28,776,25,23,50, - 1010,106,76,77,107,1084,1355,1390,1298,1556, - 1504,1756,221,1672,1809,1772,2588,56,1882,1898, - 142,797,400,148,143,2887,35,862,32,524, - 2840,27,30,31,957,1001,26,28,776,25, - 23,50,1010,106,76,77,107,1084,2135,1390, - 1298,1556,1504,1756,352,1672,1809,1772,1330,1226, - 1882,1898,142,1614,310,147,143,2887,35,862, - 32,2019,2840,27,30,31,957,1001,26,28, - 776,25,23,50,1010,106,76,77,107,1084, - 142,1390,1298,1556,1504,1756,90,1672,1809,1772, - 2588,69,1882,1898,142,1614,4686,146,143,2887, - 35,862,32,523,2840,27,30,31,957,1001, - 26,28,776,25,23,50,1010,106,76,77, - 107,1084,1146,1390,1298,1556,1504,1756,348,1672, - 1809,1772,2049,56,1882,1898,142,4304,1617,145, - 143,2887,35,862,32,2593,2840,27,30,31, - 957,1001,26,28,776,25,23,50,1010,106, - 76,77,107,1084,380,1390,1298,1556,1504,1756, - 403,1672,1809,1772,1330,56,1882,1898,142,670, - 1625,144,143,2887,35,862,32,2904,2840,27, - 30,31,957,1001,26,28,776,25,23,50, - 1010,106,76,77,107,1084,1627,1390,1298,1556, - 1504,1756,1174,1672,1809,1772,2588,56,1882,1898, - 142,2525,2683,139,143,3005,35,862,32,374, - 2840,27,30,31,957,1001,26,28,776,25, - 23,50,1010,106,76,77,107,1084,1323,1390, - 1298,1556,1504,1756,1330,1672,1809,1772,1010,56, - 1882,1898,142,718,1441,188,143,3121,35,862, - 32,1010,2840,27,30,31,957,1001,26,28, - 776,25,23,50,1010,106,76,77,107,1084, - 1604,1390,1298,1556,1504,1756,2588,1672,1809,1772, - 2552,2723,1882,3509,163,3121,35,862,32,374, - 2840,27,30,31,957,1001,26,28,776,25, - 23,50,1010,106,76,77,107,1084,401,1390, - 1298,1556,1504,1756,372,1672,1809,1772,405,458, - 1882,3509,163,588,2008,2379,34,160,588,35, - 1982,387,4108,3121,35,862,32,422,2840,27, - 30,31,957,1001,26,28,776,25,23,50, - 1010,106,76,77,107,1084,322,1390,1298,1556, - 1504,1756,430,1672,1809,1772,2552,1614,1882,3509, - 163,3121,35,862,32,291,2840,27,30,31, - 957,1001,26,28,776,25,23,50,1010,106, - 76,77,107,1084,3680,1390,1298,1556,1504,1756, - 2825,1672,1809,1772,297,1010,1882,3509,163,588, - 35,2379,3514,676,588,35,1982,387,2050,3176, - 35,862,32,421,2840,27,30,31,957,1001, - 26,28,776,25,23,50,1010,106,76,77, - 107,1084,135,1390,1298,1556,1504,1756,451,1672, - 1809,1772,2552,1010,1882,3509,163,3121,35,862, - 32,424,2840,27,30,31,957,1001,26,28, - 776,25,23,50,1010,106,76,77,107,1084, - 666,1390,1298,1556,1504,1756,51,1672,1809,1772, - 220,3235,3181,2271,35,862,32,848,2693,2146, - 30,31,957,1001,2552,3121,35,862,32,4149, - 2840,27,30,31,957,1001,26,28,776,25, - 23,50,1010,106,76,77,107,1084,1614,1390, - 1298,1556,1504,1756,324,1672,1809,3022,3121,35, - 862,32,301,2840,27,30,31,957,1001,26, - 28,776,25,23,50,1010,106,76,77,107, - 1084,2864,1390,1298,1556,1504,1756,1167,1672,2987, - 3121,35,862,32,1174,2840,27,30,31,957, - 1001,26,28,776,25,23,50,1010,106,76, - 77,107,1084,71,1390,1298,1556,1504,1756,2689, - 2994,3121,35,862,32,3015,2840,27,30,31, - 957,1001,26,28,776,25,23,50,1010,106, - 76,77,107,1084,408,1390,1298,1556,1504,2839, - 1518,35,862,32,4708,4589,27,30,31,957, - 1001,337,28,3121,35,862,32,580,2840,27, - 30,31,957,1001,26,28,776,25,23,50, - 1010,106,76,77,107,1084,1614,1390,1298,1556, - 2912,588,35,1982,387,1715,35,862,32,3426, - 4237,27,30,31,957,1001,59,28,330,317, - 2816,319,1015,312,2061,327,35,452,1699,67, - 4616,1700,843,35,452,433,311,4616,2732,757, - 35,1982,387,1223,3121,35,862,32,4224,2840, - 27,30,31,957,1001,26,28,776,25,23, - 50,1010,106,76,77,107,1084,1385,1390,1298, - 1556,2926,1010,272,322,737,1088,1225,588,35, - 2278,1840,304,308,1630,1400,35,862,32,3220, - 4550,27,30,31,957,1001,337,28,588,35, - 2379,275,2344,35,862,32,2232,4237,27,30, - 31,957,1001,26,28,1559,510,3898,588,3604, - 2379,74,1898,35,3744,32,4708,4589,27,30, - 31,957,1001,337,28,3521,2556,4458,838,231, - 1188,302,2807,56,317,2816,319,821,312,2061, - 56,2552,72,97,3507,1614,1243,35,3516,1798, - 350,3641,243,229,230,155,1615,588,35,1982, - 387,3426,326,333,199,3221,342,1729,1253,347, - 330,317,2816,319,3611,312,2061,521,66,178, - 49,1947,35,276,1965,445,3867,3868,2488,1972, - 2528,272,449,3867,3868,181,3121,35,862,32, - 4224,2840,27,30,31,957,1001,26,28,776, - 25,23,50,1010,106,76,77,107,1084,420, - 1390,1298,2493,3121,35,862,32,3173,2840,27, - 30,31,957,1001,26,28,776,25,23,50, - 1010,106,76,77,107,1084,2887,1390,1298,2517, - 1088,1614,1714,338,2725,2572,3066,35,862,32, - 364,2840,27,30,31,957,1001,26,28,776, - 25,23,50,1010,86,76,77,416,418,3738, - 1715,35,862,32,65,4237,27,30,31,957, - 1001,58,28,1543,35,2379,3610,3121,35,862, - 32,2050,2840,27,30,31,957,1001,26,28, - 776,25,23,50,1010,106,76,77,107,1084, - 1317,1390,1298,2565,3121,35,862,32,2022,2840, - 27,30,31,957,1001,26,28,776,25,23, - 50,1010,106,76,77,107,1084,259,1390,1298, - 2616,536,1543,35,2379,275,2151,588,35,1982, - 387,521,392,426,2715,56,1010,2623,2893,3000, - 227,536,1614,2619,221,3347,155,1614,1240,1709, - 1976,35,1982,387,2552,179,2601,341,238,2588, - 341,432,1614,202,214,4486,155,201,211,212, - 213,215,168,1,56,64,187,536,3027,791, - 3175,3281,4289,167,49,182,166,169,170,171, - 172,173,197,1972,877,55,227,588,35,2379, - 277,323,155,3231,35,1982,387,231,2982,1390, - 231,179,2601,920,56,2588,236,98,2714,202, - 214,4486,2425,201,211,212,213,215,168,1606, - 239,229,230,246,229,230,2491,272,189,167, - 180,183,166,169,170,171,172,173,2070,35, - 862,32,3220,4550,27,30,31,957,1001,337, - 28,3121,35,862,32,231,2840,27,30,31, - 957,1001,26,28,776,25,23,50,1010,106, - 76,77,107,1084,88,1390,2644,102,234,229, - 230,231,929,35,1982,387,2863,1701,1614,273, - 588,35,1982,387,1712,1614,379,317,2816,319, - 2485,312,2061,1614,249,229,230,3658,241,244, - 247,250,1116,350,525,56,49,1614,441,3238, - 455,54,486,620,49,1972,3440,737,320,342, - 1729,1253,347,1972,1462,56,101,526,933,4322, - 2835,2527,2838,2919,3255,4245,3121,35,862,32, - 3601,2840,27,30,31,957,1001,26,28,776, - 25,23,50,1010,106,76,77,107,1084,2440, - 1390,2788,1363,35,862,32,2552,4589,27,30, - 31,957,1001,337,28,3121,35,862,32,4458, - 2840,27,30,31,957,1001,26,28,776,25, - 23,50,1010,106,76,77,107,1084,2552,2404, - 588,35,1982,387,196,932,35,1982,387,56, - 1374,3426,1180,1188,3399,333,2893,4701,322,1614, - 331,317,2816,319,735,313,2061,2343,345,1614, - 3314,2893,536,3596,49,227,300,350,1813,49, - 2407,35,279,1972,679,588,35,292,1972,1546, - 341,227,2284,344,1729,1253,347,155,1892,406, - 4376,2489,450,2044,56,56,179,2601,536,4524, - 2588,1783,4133,2484,202,214,4486,4499,201,211, - 212,213,215,168,431,381,2552,341,536,407, - 408,409,3595,155,167,1778,4151,166,169,170, - 171,172,173,1561,2556,3576,349,227,536,723, - 1607,2552,3565,155,1875,3110,1351,2447,35,1982, - 387,1519,179,2601,200,56,2588,3851,2725,4578, - 202,214,4486,155,201,211,212,213,215,168, - 517,2122,179,2601,536,1780,4612,3108,350,198, - 167,49,177,166,169,170,171,172,173,3426, - 1972,1588,1762,227,342,1729,1253,347,330,155, - 194,2737,1855,933,522,410,412,2552,179,2601, - 1285,615,2588,3321,2893,4701,202,214,4486,1453, - 201,211,212,213,215,168,603,56,3072,874, - 536,3398,3290,227,2619,2125,167,231,175,166, - 169,170,171,172,173,296,56,2244,2277,227, - 536,1243,35,395,4112,155,1892,406,4376,56, - 252,229,230,4577,179,2601,391,426,2588,341, - 2380,1426,202,214,4486,155,201,211,212,213, - 215,168,689,42,3479,1435,536,407,408,409, - 3595,723,167,2481,176,166,169,170,171,172, - 173,2306,56,1645,1503,227,2893,1614,2893,56, - 3565,155,522,1227,2079,2827,195,2305,1562,56, - 179,2601,2893,997,2588,341,528,341,202,214, - 4486,2446,201,211,212,213,215,168,775,428, - 376,227,536,1643,35,292,1096,723,167,872, - 186,166,169,170,171,172,173,3921,1354,2193, - 2691,227,1188,3817,204,214,4486,155,203,211, - 212,213,215,410,413,89,179,2601,102,615, - 2588,1643,3853,292,202,214,4486,159,201,211, - 212,213,215,168,2453,205,207,209,3595,1781, - 216,206,208,1761,167,2371,4168,166,169,170, - 171,172,173,1952,35,862,32,4708,4550,27, - 30,31,957,1001,337,28,1983,1962,3683,49, - 1308,3110,4392,2646,2515,2615,2285,2893,1354,1354, - 861,2414,1188,1188,536,1562,1250,588,35,1982, - 387,44,3479,1687,3551,2555,2535,588,35,2379, - 3719,56,56,227,1192,4130,1385,159,159,155, - 735,2582,317,2816,319,3426,312,2061,179,2601, - 1767,431,2588,1562,331,1515,202,214,4486,311, - 201,211,212,213,215,168,588,35,2379,280, - 1354,350,1192,947,1188,2690,167,536,191,166, - 169,170,171,172,173,2714,2490,344,1729,1253, - 347,56,504,56,2716,4595,227,2893,321,159, - 2649,1906,155,2852,2988,304,308,1630,530,56, - 1997,179,2601,2893,2893,2588,341,286,56,202, - 214,4486,4139,201,211,212,213,215,168,4158, - 1033,2648,341,227,536,502,503,2654,723,167, - 3898,185,166,169,170,171,172,173,2552,2727, - 2277,1144,3707,227,723,2621,204,214,4486,155, - 203,211,212,213,215,3003,2347,56,179,2601, - 56,4711,2588,2729,2526,56,202,214,4486,3483, - 201,211,212,213,215,168,1391,205,207,209, - 3595,56,519,206,208,3128,167,2730,193,166, - 169,170,171,172,173,3121,35,862,32,2728, - 2840,27,30,31,957,1001,26,28,776,25, - 23,50,1010,106,76,77,107,1084,2734,2427, - 3121,35,862,32,2627,2840,27,30,31,957, - 1001,26,28,776,25,23,50,1010,106,76, - 77,107,2478,3121,35,862,32,1675,2840,27, - 30,31,957,1001,26,28,776,25,23,50, - 1010,106,76,77,107,2481,2062,35,3744,32, - 4708,4550,27,30,31,957,1001,337,28,2746, - 1691,35,862,32,4708,4550,27,30,31,957, - 1001,337,28,3121,35,862,32,2747,2840,27, - 30,31,957,1001,26,28,776,25,23,50, - 1010,106,76,77,85,56,56,1614,1614,2710, - 1188,1243,35,395,56,317,2816,319,963,312, - 2061,56,2082,2750,2068,3493,588,35,292,317, - 2816,319,2488,312,2061,3387,2735,2751,2754,2755, - 3362,3418,3121,2008,862,2024,311,2840,27,30, - 31,957,1001,26,28,776,25,23,50,1010, - 106,76,77,84,3121,35,862,32,2789,2840, - 27,30,31,957,1001,26,28,776,25,23, - 50,1010,106,76,77,83,1614,1614,1243,35, - 395,2787,305,308,1630,3121,35,862,32,2791, - 2840,27,30,31,957,1001,26,28,776,25, - 23,50,1010,106,76,77,82,3929,2792,3520, - 1724,417,418,3738,3121,35,862,32,3287,2840, - 27,30,31,957,1001,26,28,776,25,23, - 50,1010,106,76,77,81,3121,35,862,32, - 2793,2840,27,30,31,957,1001,26,28,776, - 25,23,50,1010,106,76,77,80,3121,35, - 862,32,87,2840,27,30,31,957,1001,26, - 28,776,25,23,50,1010,106,76,77,79, - 3121,35,862,32,4166,2840,27,30,31,957, - 1001,26,28,776,25,23,50,1010,106,76, - 77,78,2950,35,862,32,2760,2840,27,30, - 31,957,1001,26,28,776,25,23,50,1010, - 106,76,77,104,3121,35,862,32,2761,2840, - 27,30,31,957,1001,26,28,776,25,23, - 50,1010,106,76,77,109,3121,35,862,32, - 2765,2840,27,30,31,957,1001,26,28,776, - 25,23,50,1010,106,76,77,108,3121,35, - 862,32,1614,2840,27,30,31,957,1001,26, - 28,776,25,23,50,1010,106,76,77,105, - 1823,56,56,2413,2893,1188,1188,2938,2766,1910, - 56,1614,2347,2893,1188,1808,1354,2772,173,2794, - 1188,2580,2799,227,588,35,1982,387,2552,2736, - 155,155,227,2552,2774,2854,2909,1614,2742,155, - 2185,3120,1337,5251,4163,159,204,214,4486,2446, - 203,211,212,213,215,204,214,4486,49,203, - 211,212,213,215,1607,5251,221,1972,2641,3110, - 3640,192,5251,5251,5251,5251,5251,205,207,209, - 3595,5251,216,206,208,5251,205,207,209,3595, - 5251,216,206,208,2156,35,862,32,5251,4589, - 27,30,31,957,1001,337,28,588,35,1982, - 387,3139,1314,3426,4392,3280,35,1982,387,5251, - 2982,2524,4270,4392,2156,35,862,32,237,4589, - 27,30,31,957,1001,337,28,5251,5251,5251, - 2034,49,5251,3426,5251,3110,5251,5251,5251,272, - 1972,877,331,317,2816,319,5251,315,2061,1691, - 35,862,32,4708,4550,27,30,31,957,1001, - 337,28,2208,3426,2234,56,2893,231,2893,1188, - 5251,5251,331,317,2816,319,5251,313,2061,3426, - 1649,5251,2234,5251,2893,341,2893,2535,4270,5251, - 235,229,230,1796,155,529,94,2893,5251,5251, - 5251,273,5251,227,2605,2535,5251,723,317,2816, - 319,5251,312,2061,5251,5251,2535,5251,5251,532, - 242,245,248,251,1116,4165,204,214,4486,5251, - 203,211,212,213,215,620,1490,35,862,32, - 2572,4550,27,30,31,957,1001,337,28,5251, - 56,56,1736,358,1188,1188,2893,205,207,209, - 3595,2084,518,206,208,2893,5251,2837,3526,3535, - 5251,358,96,5251,402,227,5251,5251,5251,155, - 155,5251,359,5251,227,3017,3526,3535,56,2711, - 2832,5251,1188,5251,5251,314,3665,319,204,214, - 4486,5251,203,211,212,213,215,204,214,4486, - 5251,203,211,212,213,215,5251,155,737,2171, - 5251,5251,5251,2893,5251,5251,5251,2522,5251,205, - 207,209,3595,5251,217,206,208,5251,205,207, - 209,3595,227,303,206,208,2236,35,862,32, - 2410,4550,27,30,31,957,1001,337,28,1375, - 3373,5251,5251,2893,3110,204,214,4486,5251,203, - 211,212,213,215,5251,932,35,1982,387,5251, - 4458,1375,2535,5251,737,2893,3110,5251,5251,929, - 35,1982,387,5251,2899,5251,205,207,209,3595, - 5251,498,206,208,2535,314,3665,319,3426,49, - 929,35,1982,387,5251,332,333,330,1972,47, - 5251,5251,5251,49,932,35,1982,387,5251,5251, - 3426,3150,1972,47,5251,5251,5251,2646,737,330, - 5251,2893,5251,5251,49,646,4458,3506,358,929, - 35,1982,387,1972,3069,737,5251,5251,49,5251, - 2535,5251,2308,3526,3535,5251,2617,1972,47,3072, - 358,5251,929,35,1982,387,929,35,1982,387, - 2273,3542,333,49,2308,3526,3535,929,35,1982, - 387,5251,1972,3485,5251,2167,35,1982,387,5251, - 4458,5251,5251,5251,2899,2617,49,5251,5251,5251, - 49,929,35,1982,387,1972,47,4458,5251,1972, - 47,49,929,35,1982,387,504,5251,2108,49, - 1972,47,2194,5251,5251,328,333,5251,1972,47, - 5251,5251,5251,2451,5251,49,2221,35,1982,387, - 5251,3155,3685,333,1972,47,49,588,35,1982, - 387,588,35,1982,387,1972,47,2817,1607,501, - 503,2647,5251,3110,5251,2893,5251,5251,3527,5251, - 49,5251,5251,56,56,5251,5251,536,536,1972, - 47,49,56,56,2535,49,536,2893,5251,5251, - 1972,731,3856,5251,1972,2715,341,341,5251,5251, - 3854,5251,155,155,5251,341,341,3426,5251,5251, - 56,155,187,187,2893,5251,330,5251,4289,4289, - 56,187,56,5251,2893,56,1188,4289,723,2893, - 5251,5251,5251,341,5251,5251,5251,5251,5251,5251, - 2147,5251,5251,341,5251,5251,4254,5251,341,5251, - 504,155,5251,5251,5251,723,5251,5251,5251,5251, - 5251,4141,5251,5251,5251,723,5251,508,5251,5251, - 723,5251,5251,5251,3837,3838,5251,506,5251,5251, - 5251,5251,533,3916,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,501,503,5251,5251,5251,5251,5251, - 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,5251,4142,5251,0,39,5266,0, - 39,5265,0,565,29,0,439,665,0,453, - 1222,0,38,2103,0,38,5266,0,38,5265, - 0,2757,125,0,1,443,0,457,1313,0, - 456,2018,0,3119,91,0,565,386,0,35, - 33,0,32,34,0,39,2103,0,1,575, - 0,1,5522,0,1,5521,0,1,5520,0, - 1,5519,0,1,5518,0,1,5517,0,1, - 5516,0,1,5515,0,1,5514,0,1,5513, - 0,1,5512,0,39,1,5266,0,39,1, - 5265,0,627,1,0,282,393,0,282,285, - 0,5484,240,0,5483,240,0,5587,240,0, - 5586,240,0,5511,240,0,5510,240,0,5509, - 240,0,5508,240,0,5507,240,0,5506,240, - 0,5505,240,0,5504,240,0,5522,240,0, - 5521,240,0,5520,240,0,5519,240,0,5518, - 240,0,5517,240,0,5516,240,0,5515,240, - 0,5514,240,0,5513,240,0,5512,240,0, - 39,5266,240,0,39,5265,240,0,5289,240, - 0,5266,48,0,5265,48,0,43,5287,0, - 43,37,0,2757,127,0,2757,126,0,5257, - 1,0,5256,1,0,789,236,0,32,387, - 0,29,386,0,329,444,0,1,92,0, - 47,37,0,5289,1,0,39,1,0,500, - 3585,0,5289,1,228,0,39,1,228,0, - 228,415,0,5266,37,0,5265,37,0,5287, - 45,0,37,45,0,5266,36,0,5265,36, - 0,5266,2,37,0,5265,2,37,0,5261, - 404,0,5260,404,0,1,600,0,1,2824, - 0,1,2103,0,228,414,0,329,95,0, - 35,73,0,3035,316,0,1,329,0,3518, - 277,0,500,4320,0,1,228,0,228,219, - 0,1,3331,0,1,3841,0,228,218,0, - 5263,1,0,5259,1,0,1,228,3980,0, - 5260,228,0,4002,228,0,5263,382,0,5262, - 382,0,4148,228,0,10,12,0,8,10, - 12,0,184,3583,0,4172,382,0,8,12, - 0 + 176,4,137,82,82,34,34,68,68,39, + 39,43,43,202,1,1,16,16,16,16, + 16,16,16,17,17,17,15,11,11,6, + 6,6,6,6,6,2,66,66,5,5, + 12,12,45,45,138,138,139,57,57,44, + 18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18, + 140,140,140,114,114,19,19,19,19,19, + 19,19,19,19,19,19,19,19,20,20, + 177,177,178,178,179,143,143,144,144,141, + 141,145,142,142,21,21,22,23,23,23, + 25,25,25,25,26,26,26,27,27,27, + 28,28,28,28,28,29,29,29,31,31, + 32,32,33,33,36,36,37,37,38,38, + 42,42,41,41,41,41,41,41,41,41, + 41,41,41,41,41,40,30,146,146,96, + 96,180,180,91,203,203,69,69,69,69, + 69,69,69,69,69,70,70,70,67,67, + 56,56,181,181,71,71,71,102,102,182, + 182,72,72,72,72,183,183,73,73,73, + 73,73,74,74,83,83,83,83,83,83, + 83,83,51,51,51,51,51,115,115,113, + 113,52,184,24,24,24,24,24,49,49, + 86,86,86,86,86,153,153,148,148,148, + 148,148,149,149,149,150,150,150,151,151, + 151,152,152,152,87,87,87,87,87,88, + 88,88,13,14,14,14,14,14,14,14, + 14,14,14,14,97,119,119,119,119,119, + 119,117,117,117,154,155,155,118,118,185, + 157,157,156,156,121,121,103,80,80,122, + 54,48,158,158,55,53,85,85,159,159, + 147,147,123,124,124,125,77,77,160,160, + 64,64,64,61,61,60,65,65,76,76, + 59,59,59,50,89,89,99,98,98,63, + 63,62,62,58,58,46,100,100,100,92, + 92,92,93,93,94,94,94,95,95,104, + 104,104,106,106,105,105,204,204,90,90, + 187,187,187,187,187,127,47,47,162,186, + 186,128,128,129,129,129,130,164,188,188, + 35,35,116,131,131,131,131,190,108,107, + 107,120,120,120,165,166,166,166,166,166, + 166,166,166,166,166,166,192,192,189,189, + 191,191,167,168,168,168,168,169,193,110, + 109,109,194,194,170,170,170,170,101,101, + 101,195,195,8,8,9,196,196,197,171, + 161,161,172,172,173,174,174,7,7,10, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,78,81,81,175,175,133,133,134, + 134,134,134,134,134,3,135,135,132,132, + 111,111,84,79,75,75,163,163,112,112, + 199,199,199,136,136,126,126,200,200,176, + 176,1119,35,2754,2722,1791,3467,27,30,31, + 995,1019,26,28,2699,262,25,23,50,1054, + 106,76,77,107,1139,73,1233,1154,1282,1246, + 1334,150,1310,1393,1380,155,274,1480,1506,142, + 2717,49,157,143,1618,695,1892,35,950,32, + 4557,4443,27,30,31,995,1019,341,28,587, + 1941,2164,34,1618,232,1869,35,950,32,3531, + 4443,27,30,31,995,1019,341,28,500,71, + 353,587,35,1887,391,2275,1223,235,230,231, + 587,35,3066,1504,35,950,32,24,275,41, + 30,31,995,1019,1229,2253,321,2200,323,1199, + 316,1946,587,35,2164,3028,434,242,245,248, + 251,644,354,2804,1312,321,2200,323,1721,316, + 1946,322,1063,587,3549,155,1476,3549,346,969, + 934,351,2804,135,49,539,1644,565,754,2975, + 738,2907,3236,3528,4245,2320,35,950,32,2746, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,345, + 1233,1154,1282,1246,1334,49,1310,1393,1380,835, + 742,1480,1506,142,1446,384,520,143,1225,2977, + 2493,2810,1718,35,950,32,1631,1631,40,30, + 31,995,1019,521,2320,35,950,32,2746,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,345,1233, + 1154,1282,1246,1334,2900,1310,1393,1380,1618,1547, + 1480,1506,142,334,291,520,143,290,1432,1592, + 2810,232,327,35,280,1559,516,4174,1217,35, + 950,32,521,3198,27,30,31,995,1019,57, + 28,545,69,878,244,230,231,2870,1766,1812, + 2876,69,2467,3557,3471,2320,35,950,32,2746, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,345, + 1233,1154,1282,1246,1334,516,1310,1393,1380,1088, + 2125,1480,1506,142,3379,1906,520,143,2038,1446, + 1853,2810,88,2977,2977,102,2887,740,3538,2876, + 3319,3319,2086,521,2528,35,950,32,2746,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,345,1233, + 1154,1282,1246,1334,1088,1310,1393,1380,2900,2900, + 1480,1506,142,1377,1456,520,143,335,334,2027, + 2810,1618,327,35,280,1603,516,4811,61,734, + 2229,501,521,1381,35,950,32,1088,3198,27, + 30,31,995,1019,56,28,4568,2990,3146,1877, + 2876,2663,35,950,32,68,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,107,1139,2230,1233,1154,1282,1246, + 1334,358,1310,1393,1380,517,463,1480,1506,142, + 355,535,381,143,3709,2389,35,950,32,2246, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,462, + 1233,1154,1282,1246,1334,356,1310,1393,1380,93, + 1088,1480,1506,142,2249,1618,381,143,3709,2837, + 35,950,32,1611,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,3375,1233,1154,1282,1246,1334,53, + 1310,1393,1380,60,2075,1480,3020,163,4413,388, + 382,1726,3127,35,950,32,1272,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,752,1233,1154,1282, + 1246,1334,4030,1310,1393,1380,241,3593,2679,413, + 1800,329,446,389,382,1726,587,35,283,49, + 1381,1618,1088,1199,1449,2595,35,950,32,3629, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,155, + 1233,1154,1282,1246,1334,87,1310,1393,1380,603, + 1906,1480,1506,142,392,1618,381,143,3709,2892, + 35,950,32,1325,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,1611,1233,1154,1282,1246,1334,52, + 1310,1393,1380,64,51,1480,1506,142,330,337, + 157,143,3127,35,950,32,2288,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,2070,1233,1154,1282, + 1246,1334,49,1310,1393,1380,4531,1800,1480,3020, + 163,1621,330,379,382,1726,2892,35,950,32, + 1549,1384,27,30,31,995,1019,26,28,933, + 262,25,23,50,1054,106,76,77,107,1139, + 494,1233,1154,1282,1246,1334,357,1310,1393,1380, + 407,625,1480,1506,142,1800,535,375,143,1718, + 35,950,32,2152,1243,2535,30,31,995,1019, + 1325,2892,35,950,32,565,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,107,1139,2448,1233,1154,1282,1246, + 1334,1951,1310,1393,1380,3391,337,1480,1506,142, + 400,1088,375,143,2156,35,1887,391,1325,2892, + 35,950,32,1409,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,374,1233,1154,1282,1246,1334,49, + 1310,1393,1380,336,337,1480,1506,142,1801,664, + 375,143,155,2461,35,950,32,3573,1384,27, + 30,31,995,1019,26,28,933,262,25,23, + 50,1054,106,76,77,107,1139,1611,1233,1154, + 1282,1246,1334,328,1310,1393,1380,1611,373,1480, + 1506,142,441,2065,141,143,2892,35,950,32, + 1105,1384,27,30,31,995,1019,26,28,933, + 262,25,23,50,1054,106,76,77,107,1139, + 3129,1233,1154,1282,1246,1334,1620,1310,1393,1380, + 3554,2519,1480,1506,142,416,371,158,143,2892, + 35,950,32,378,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,1447,1233,1154,1282,1246,1334,155, + 1310,1393,1380,1611,4385,1480,1506,142,1618,1611, + 154,143,2892,35,950,32,3134,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,1336,1233,1154,1282, + 1246,1334,90,1310,1393,1380,3554,2519,1480,1506, + 142,2556,3394,153,143,2892,35,950,32,378, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,376, + 1233,1154,1282,1246,1334,49,1310,1393,1380,746, + 405,1480,1506,142,1618,56,152,143,2892,35, + 950,32,742,1384,27,30,31,995,1019,26, + 28,933,262,25,23,50,1054,106,76,77, + 107,1139,1467,1233,1154,1282,1246,1334,352,1310, + 1393,1380,450,49,1480,1506,142,3121,56,151, + 143,2892,35,950,32,3237,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,107,1139,3681,1233,1154,1282,1246, + 1334,49,1310,1393,1380,676,1611,1480,1506,142, + 1618,56,150,143,2892,35,950,32,331,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,1553,1233, + 1154,1282,1246,1334,2108,1310,1393,1380,450,4137, + 1480,1506,142,1618,56,149,143,2892,35,950, + 32,1984,1384,27,30,31,995,1019,26,28, + 933,262,25,23,50,1054,106,76,77,107, + 1139,1174,1233,1154,1282,1246,1334,2147,1310,1393, + 1380,1611,155,1480,1506,142,1618,4582,148,143, + 2892,35,950,32,3122,1384,27,30,31,995, + 1019,26,28,933,262,25,23,50,1054,106, + 76,77,107,1139,1864,1233,1154,1282,1246,1334, + 67,1310,1393,1380,3554,2631,1480,1506,142,1618, + 4668,147,143,2892,35,950,32,4121,1384,27, + 30,31,995,1019,26,28,933,262,25,23, + 50,1054,106,76,77,107,1139,2686,1233,1154, + 1282,1246,1334,66,1310,1393,1380,1611,155,1480, + 1506,142,1618,4682,146,143,2892,35,950,32, + 742,1384,27,30,31,995,1019,26,28,933, + 262,25,23,50,1054,106,76,77,107,1139, + 1312,1233,1154,1282,1246,1334,65,1310,1393,1380, + 3554,1324,1480,1506,142,1618,2559,145,143,2892, + 35,950,32,529,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,1445,1233,1154,1282,1246,1334,64, + 1310,1393,1380,1611,49,1480,1506,142,1140,160, + 144,143,2892,35,950,32,1329,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,2488,1233,1154,1282, + 1246,1334,326,1310,1393,1380,3554,49,1480,1506, + 142,2534,246,139,143,3011,35,950,32,528, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,1088, + 1233,1154,1282,1246,1334,49,1310,1393,1380,2935, + 49,1480,1506,142,3279,666,188,143,3127,35, + 950,32,742,1384,27,30,31,995,1019,26, + 28,933,262,25,23,50,1054,106,76,77, + 107,1139,1906,1233,1154,1282,1246,1334,49,1310, + 1393,1380,747,590,1480,3020,163,3127,35,950, + 32,848,1384,27,30,31,995,1019,26,28, + 933,262,25,23,50,1054,106,76,77,107, + 1139,97,1233,1154,1282,1246,1334,49,1310,1393, + 1380,1277,1088,1480,3020,163,587,35,2645,2428, + 587,35,1887,391,2687,3127,35,950,32,426, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,70, + 1233,1154,1282,1246,1334,455,1310,1393,1380,408, + 1964,1480,3020,163,3127,35,950,32,295,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,325,1233, + 1154,1282,1246,1334,98,1310,1393,1380,535,580, + 1480,3020,163,587,35,2164,277,587,35,1887, + 391,1015,3182,35,950,32,425,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,327,1233,1154,1282, + 1246,1334,437,1310,1393,1380,1234,1618,1480,3020, + 163,3127,35,950,32,428,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,107,1139,1378,1233,1154,1282,1246, + 1334,3119,1310,1393,2638,1785,35,950,32,1618, + 4758,27,30,31,995,1019,59,28,846,3127, + 35,950,32,4202,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,55,1233,1154,1282,1246,1334,2720, + 1310,2576,3127,35,950,32,932,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,1311,1233,1154,1282, + 1246,1334,1548,2606,3127,35,950,32,1591,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,69,1233, + 1154,1282,1246,2458,3127,35,950,32,1679,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,107,1139,1278,1233, + 1154,1282,2509,3127,35,950,32,2585,1384,27, + 30,31,995,1019,26,28,933,262,25,23, + 50,1054,106,76,77,107,1139,752,1233,1154, + 1282,2529,1522,35,950,32,3531,4599,27,30, + 31,995,1019,341,28,3127,35,950,32,2429, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,2562, + 1233,1154,2338,49,2437,1795,2987,1199,1785,35, + 950,32,2900,4758,27,30,31,995,1019,58, + 28,334,321,2200,323,287,316,1946,1718,35, + 950,32,424,155,3321,30,31,995,1019,315, + 327,35,456,1152,409,4664,1707,3127,35,950, + 32,2819,1384,27,30,31,995,1019,26,28, + 933,262,25,23,50,1054,106,76,77,107, + 1139,2560,1233,1154,2376,1199,2139,587,35,1887, + 391,587,35,1887,391,308,312,3416,2347,35, + 950,32,2487,4758,27,30,31,995,1019,26, + 28,155,2585,514,587,3337,2164,74,486,3393, + 200,3717,436,393,430,2695,435,3127,35,950, + 32,3965,1384,27,30,31,995,1019,26,28, + 933,262,25,23,50,1054,106,76,77,107, + 1139,2066,1233,1154,2396,3127,35,950,32,1127, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,107,1139,2050, + 1233,1154,2402,2067,35,950,32,2716,4443,27, + 30,31,995,1019,341,28,1446,587,35,1887, + 391,2977,3327,666,1401,35,3671,32,3531,4599, + 27,30,31,995,1019,341,28,1618,587,35, + 1887,391,449,3896,3919,1280,3237,35,1887,391, + 1352,2755,49,3019,1457,674,35,1887,391,237, + 262,1801,2745,321,2200,323,2900,316,1946,2132, + 2411,54,1355,274,2900,334,1199,2225,49,354, + 3380,274,1199,334,321,2200,323,2807,316,1946, + 49,1101,35,2164,3359,346,969,934,351,1801, + 2942,2369,159,3378,1618,3154,2235,752,155,232, + 2151,652,2738,2819,879,1706,3658,752,2671,1956, + 35,950,32,2350,4599,27,30,31,995,1019, + 341,28,235,230,231,276,3658,71,324,3127, + 35,950,32,275,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,85,242,245,248,251,644,1618,1055,2900, + 1267,757,35,1887,391,288,761,1063,335,321, + 2200,323,630,319,1946,298,354,1726,42,3006, + 368,420,422,3577,2975,738,2907,3236,3528,4245, + 1226,101,346,969,934,351,274,1240,44,3006, + 344,3127,35,950,32,1601,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,107,1139,2437,1233,2408,3127,35, + 950,32,2085,1384,27,30,31,995,1019,26, + 28,933,262,25,23,50,1054,106,76,77, + 107,1139,259,1233,2438,2555,541,49,3142,4547, + 232,1199,2384,1812,1618,3353,1511,587,35,1887, + 391,1101,35,2164,277,72,228,49,239,262, + 2310,3093,155,247,230,231,752,155,155,353, + 1,179,3600,4687,541,3554,2416,1816,3514,203, + 215,4515,49,202,212,213,214,216,168,49, + 2280,1801,1645,3231,228,1244,35,296,2418,167, + 155,182,166,169,170,171,172,173,232,179, + 3600,354,49,3554,394,430,3499,203,215,4515, + 1800,202,212,213,214,216,168,346,969,934, + 351,240,230,231,297,1644,2419,167,180,183, + 166,169,170,171,172,173,2077,35,950,32, + 2716,4443,27,30,31,995,1019,341,28,3127, + 35,950,32,2437,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,107,1139,1325,2199,587,35,1887,391,49, + 2650,1879,49,3050,2746,2746,3158,2289,683,49, + 843,35,456,4102,155,4664,321,2200,323,4733, + 316,1946,2491,3000,2703,2703,1980,1457,3413,337, + 274,2977,354,530,1364,35,950,32,1800,4599, + 27,30,31,995,1019,341,28,752,346,969, + 934,351,3127,35,950,32,531,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,1139,2900,2239,929,35, + 1887,391,396,430,2900,335,587,35,2164,279, + 508,362,342,335,321,2200,323,1618,317,1946, + 345,1325,354,2226,541,2287,3223,3229,2643,2143, + 354,2437,2746,49,2213,306,1610,2516,348,969, + 934,351,1801,1586,228,2155,348,969,934,351, + 155,3592,2703,506,507,2871,332,337,431,179, + 3600,2447,541,3554,2694,155,4657,203,215,4515, + 4740,202,212,213,214,216,168,49,2153,1476, + 3549,4691,228,587,35,2164,3570,167,155,4214, + 166,169,170,171,172,173,517,179,3600,232, + 541,3554,453,3896,3919,203,215,4515,1618,202, + 212,213,214,216,168,1244,3827,296,363,1988, + 228,1795,250,230,231,167,155,177,166,169, + 170,171,172,173,603,179,3600,2696,541,3554, + 395,430,454,203,215,4515,526,202,212,213, + 214,216,168,587,35,2164,282,49,228,2557, + 301,1597,1855,167,155,175,166,169,170,171, + 172,173,689,179,3600,150,541,3554,2424,1446, + 2450,203,215,4515,2977,202,212,213,214,216, + 168,49,752,1795,49,875,228,4066,4116,1979, + 290,167,155,176,166,169,170,171,172,173, + 775,179,3600,49,541,3554,1356,1190,683,203, + 215,4515,2417,202,212,213,214,216,168,2900, + 2697,432,221,533,228,2632,3557,1457,3451,167, + 155,186,166,169,170,171,172,173,49,179, + 3600,2241,1199,3554,2586,3687,2977,203,215,4515, + 385,202,212,213,214,216,168,2216,35,1887, + 391,1016,35,3127,1365,587,3679,167,1558,4263, + 166,169,170,171,172,173,1695,35,950,32, + 3531,4443,27,30,31,995,1019,341,28,1879, + 1355,2900,49,2746,1199,2560,49,587,4234,541, + 3451,1801,1844,861,49,1801,2156,541,3612,1016, + 35,399,94,2703,2738,1016,35,399,1784,4162, + 159,1446,2375,35,278,155,2977,228,2493,383, + 2444,35,278,155,179,3600,321,2200,323,2703, + 316,1946,179,3600,1882,49,3554,2658,2962,2746, + 203,215,4515,315,202,212,213,214,216,168, + 2623,1777,195,929,35,1887,391,2711,831,345, + 167,2900,191,166,169,170,171,172,173,362, + 334,232,1795,49,96,947,1195,4189,3206,541, + 1795,2810,314,2974,3223,3229,3283,1618,49,308, + 312,3416,1800,1989,253,230,231,1801,47,228, + 4276,3237,181,49,49,155,3988,1199,1199,2240, + 3714,305,4011,4307,179,3600,49,742,3554,178, + 4747,380,203,215,4515,3965,202,212,213,214, + 216,168,1033,155,3607,1795,541,1795,587,35, + 1887,391,167,1859,185,166,169,170,171,172, + 173,1738,2726,1795,49,1325,228,630,2746,1795, + 89,49,155,102,2734,3234,49,2732,4724,196, + 2102,179,3600,49,198,3554,197,571,345,203, + 215,4515,46,202,212,213,214,216,168,49, + 3686,337,304,3392,2453,35,281,1795,201,167, + 2810,194,166,169,170,171,172,173,3127,35, + 950,32,2032,1384,27,30,31,995,1019,26, + 28,933,262,25,23,50,1054,106,76,77, + 107,2251,3127,35,950,32,199,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,107,2286,3127,35,950,32, + 3353,1384,27,30,31,995,1019,26,28,933, + 262,25,23,50,1054,106,76,77,107,2315, + 3127,1941,950,1973,2738,1384,27,30,31,995, + 1019,26,28,933,262,25,23,50,1054,106, + 76,77,84,3127,35,950,32,2739,1384,27, + 30,31,995,1019,26,28,933,262,25,23, + 50,1054,106,76,77,83,3127,35,950,32, + 1713,1384,27,30,31,995,1019,26,28,933, + 262,25,23,50,1054,106,76,77,82,3127, + 35,950,32,2743,1384,27,30,31,995,1019, + 26,28,933,262,25,23,50,1054,106,76, + 77,81,3127,35,950,32,2753,1384,27,30, + 31,995,1019,26,28,933,262,25,23,50, + 1054,106,76,77,80,3127,35,950,32,2759, + 1384,27,30,31,995,1019,26,28,933,262, + 25,23,50,1054,106,76,77,79,3127,35, + 950,32,2761,1384,27,30,31,995,1019,26, + 28,933,262,25,23,50,1054,106,76,77, + 78,2956,35,950,32,2754,1384,27,30,31, + 995,1019,26,28,933,262,25,23,50,1054, + 106,76,77,104,3127,35,950,32,2794,1384, + 27,30,31,995,1019,26,28,933,262,25, + 23,50,1054,106,76,77,109,3127,35,950, + 32,2795,1384,27,30,31,995,1019,26,28, + 933,262,25,23,50,1054,106,76,77,108, + 3127,35,950,32,2796,1384,27,30,31,995, + 1019,26,28,933,262,25,23,50,1054,106, + 76,77,105,1992,35,3671,32,3531,4443,27, + 30,31,995,1019,341,28,2775,1869,35,950, + 32,3531,4443,27,30,31,995,1019,341,28, + 3072,35,950,32,2797,1384,27,30,31,995, + 1019,26,28,933,262,25,23,50,1054,86, + 76,77,1566,49,87,49,2746,1199,1355,1199, + 2763,2767,1199,321,2200,323,1827,316,1946,1795, + 2746,2821,587,35,296,4211,228,321,2200,323, + 2369,316,1946,155,2768,155,2769,49,159,1618, + 228,971,1977,1902,315,1945,1016,35,399,205, + 215,4515,2776,204,212,213,214,216,300,587, + 35,296,49,205,215,4515,3486,204,212,213, + 214,216,1618,3372,587,35,1887,391,527,173, + 206,208,210,3278,2719,217,207,209,2746,1914, + 309,312,3416,2746,206,208,210,3278,1618,217, + 207,209,2799,49,2329,2447,3410,2746,345,49, + 4657,2213,2619,228,2584,2817,3076,4401,1801,3532, + 421,422,3577,1618,49,3673,1618,345,1199,2996, + 945,4401,3513,2824,2800,2685,205,215,4515,1199, + 204,212,213,214,216,3286,35,1887,391,2810, + 2755,2826,2778,4256,155,2802,2803,1897,238,262, + 1983,2113,4119,2746,2059,155,1795,206,208,210, + 3278,1990,217,207,209,161,1956,35,950,32, + 274,4599,27,30,31,995,1019,341,28,1869, + 35,950,32,3531,4443,27,30,31,995,1019, + 341,28,3167,5442,4401,4235,1855,1795,232,1494, + 35,950,32,2724,4443,27,30,31,995,1019, + 341,28,1618,526,1618,5442,2900,5442,5442,1795, + 5442,236,230,231,5442,335,321,2200,323,5442, + 317,1946,275,2001,5442,527,222,2746,406,321, + 2200,323,5442,316,1946,1653,4329,5442,3652,2746, + 5442,243,246,249,252,644,4255,228,192,318, + 3454,323,5442,5442,4233,433,1063,5442,5442,228, + 445,5442,459,5442,5442,674,35,1887,391,5442, + 205,215,4515,5442,204,212,213,214,216,5442, + 5442,1740,205,215,4515,2746,204,212,213,214, + 216,5442,5442,2088,5442,4324,5442,2746,5442,5442, + 49,206,208,210,3278,228,523,207,209,1801, + 47,5442,5442,206,208,210,3278,228,522,207, + 209,5442,1146,674,35,1887,391,5442,205,215, + 4515,5442,204,212,213,214,216,5442,5442,2175, + 205,215,4515,2746,204,212,213,214,216,2972, + 5442,1355,5442,1355,5442,1199,5442,1199,49,206, + 208,210,3278,228,218,207,209,1801,2016,5442, + 5442,206,208,210,3278,5442,307,207,209,5442, + 3115,159,5442,159,5442,5442,205,215,4515,5442, + 204,212,213,214,216,2160,35,950,32,2492, + 4443,27,30,31,995,1019,341,28,1355,5442, + 49,1180,1199,5442,1199,2746,4815,206,208,210, + 3278,1286,502,207,209,2746,4815,1901,5442,5442, + 49,2746,2977,5442,2746,228,5442,1901,159,5442, + 155,2746,2977,5442,5442,228,5442,2737,1878,2867, + 4322,2703,2746,5442,345,318,3454,323,1281,410, + 4309,2703,929,35,1887,391,5442,5442,1281,410, + 4309,5442,345,5442,5442,5442,2810,2900,5442,674, + 35,1887,391,5442,5442,5442,334,2900,2121,411, + 412,413,3278,5442,870,5442,334,49,5442,411, + 412,413,3278,5442,3308,5442,1801,47,5442,5442, + 5442,5442,3245,5442,49,5442,3146,362,5442,2558, + 5442,5442,3245,1801,3571,5442,3154,362,5442,5442, + 5442,1773,3223,3229,5442,5442,3115,674,35,1887, + 391,1773,3223,3229,674,35,1887,391,674,35, + 1887,391,5442,5442,5442,2972,5442,5442,5442,5442, + 5442,5442,1649,35,1887,391,5442,674,35,1887, + 391,2650,49,5442,5442,2746,414,416,5442,49, + 5442,1801,47,49,5442,5442,414,417,1801,47, + 5442,5442,1801,47,621,2703,5442,49,5442,5442, + 1126,2160,49,4541,2721,2247,1801,47,541,5442, + 5442,1801,47,674,35,1887,391,5442,5442,4122, + 2168,35,1887,391,2607,5442,1635,2651,345,49, + 5442,2746,49,541,155,5442,541,5442,587,35, + 1887,391,2517,5442,187,5442,2746,5442,49,5442, + 4289,2703,5442,345,5442,49,345,1801,47,155, + 5442,508,155,5442,1801,47,345,5442,5442,941, + 2611,5442,603,49,5442,2810,534,4159,2810,5442, + 5442,5442,1801,664,5442,49,5442,788,2810,541, + 1151,587,35,1887,391,587,35,1887,391,5442, + 537,5442,5442,49,505,507,189,541,49,345, + 49,5442,541,5442,2746,155,5442,508,49,5442, + 49,5442,2746,5442,2746,187,49,345,5442,5442, + 49,4289,345,155,345,1801,3540,5442,155,1801, + 1930,5442,345,187,345,5442,3850,5442,187,4289, + 5442,49,5442,2810,4289,2746,2810,2746,5442,5442, + 505,507,5442,5442,2810,5442,2810,5442,1730,5442, + 5442,5442,5442,5442,5442,345,512,345,510,5442, + 5442,5442,5442,5442,5442,5442,4266,4139,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,2810,5442,4212, + 5442,5442,4142,5442,5442,4172,5442,5442,5442,538, + 4198,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,3399,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,4226,5442,0,39,5457,0,39,5456, + 0,581,29,0,443,684,0,457,725,0, + 38,599,0,38,5457,0,38,5456,0,2647, + 125,0,1,447,0,461,924,0,460,957, + 0,3448,91,0,581,390,0,35,33,0, + 32,34,0,39,599,0,1,575,0,1, + 5715,0,1,5714,0,1,5713,0,1,5712, + 0,1,5711,0,1,5710,0,1,5709,0, + 1,5708,0,1,5707,0,1,5706,0,1, + 5705,0,39,1,5457,0,39,1,5456,0, + 633,1,0,284,397,0,284,289,0,5676, + 241,0,5675,241,0,5782,241,0,5781,241, + 0,5703,241,0,5702,241,0,5701,241,0, + 5700,241,0,5699,241,0,5698,241,0,5697, + 241,0,5696,241,0,5715,241,0,5714,241, + 0,5713,241,0,5712,241,0,5711,241,0, + 5710,241,0,5709,241,0,5708,241,0,5707, + 241,0,5706,241,0,5705,241,0,39,5457, + 241,0,39,5456,241,0,5480,241,0,5457, + 48,0,5456,48,0,43,5478,0,43,37, + 0,2647,127,0,2647,126,0,5448,1,0, + 5447,1,0,2772,237,0,32,391,0,29, + 390,0,333,448,0,1,92,0,47,37, + 0,5480,1,0,39,1,0,504,3264,0, + 5480,1,229,0,39,1,229,0,229,419, + 0,5457,37,0,5456,37,0,5478,45,0, + 37,45,0,5457,36,0,5456,36,0,5457, + 2,37,0,5456,2,37,0,5452,408,0, + 5451,408,0,1,605,0,1,4184,0,1, + 599,0,229,418,0,333,95,0,35,73, + 0,3042,320,0,1,333,0,4108,279,0, + 504,4355,0,1,229,0,229,220,0,1, + 3519,0,1,3525,0,229,219,0,5454,1, + 0,5450,1,0,1,229,4084,0,5451,229, + 0,4104,229,0,5454,386,0,5453,386,0, + 4179,229,0,10,12,0,8,10,12,0, + 4252,193,0,184,3595,0,4271,386,0,8, + 12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1077,15 +1115,15 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,0,56,57,58,59, 60,61,62,0,64,65,66,67,0,6, - 0,71,4,3,74,75,76,77,78,79, + 0,71,0,3,74,75,76,77,78,79, 80,81,82,83,84,85,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,0,49,50,51,52,53, - 54,0,56,57,58,59,60,61,62,101, - 64,65,66,67,106,92,93,71,0,0, + 54,69,56,57,58,59,60,61,62,0, + 64,65,66,67,0,92,93,71,4,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1094,30 +1132,30 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,1,2,71,4,10,74,75,76,77, + 0,1,2,71,4,0,74,75,76,77, 78,79,80,81,82,83,84,85,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,0,49,50,51, - 52,53,54,0,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,8, - 4,0,74,75,76,77,78,79,80,81, + 52,53,54,68,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,0, + 4,10,74,75,76,77,78,79,80,81, 82,83,84,85,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,71,49,50,51,52,53,54,0, + 46,47,0,49,50,51,52,53,54,0, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,6,0,102,103,104,74,75, + 66,67,0,6,0,0,87,88,74,75, 76,77,78,79,80,81,82,83,84,85, 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,0,49, + 40,41,42,43,44,45,46,47,63,49, 50,51,52,53,54,0,56,57,58,59, 60,61,62,0,64,65,66,67,99,92, 93,89,9,91,74,75,76,77,78,79, @@ -1128,42 +1166,42 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,99,6,0,0,1,2, + 64,65,66,67,99,6,0,1,2,0, 74,75,76,77,78,79,80,81,82,83, 84,85,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, - 0,49,50,51,52,53,54,0,56,57, + 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 5,92,93,87,88,0,74,75,76,77, + 5,92,93,0,1,2,74,75,76,77, 78,79,80,81,82,83,84,85,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,0,49,50,51, - 52,53,54,68,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,23, - 24,5,74,75,76,77,78,79,80,81, + 52,53,54,0,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,8, + 0,5,74,75,76,77,78,79,80,81, 82,83,84,85,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,0,49,50,51,52,53,54,0, + 46,47,71,49,50,51,52,53,54,69, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,1,2,8,4,0,74,75, + 66,67,0,1,2,0,4,0,74,75, 76,77,78,79,80,81,82,83,84,85, 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,71,49, + 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,68,56,57,58,59, 60,61,62,0,64,65,66,67,0,1, - 2,0,1,2,74,75,76,77,78,79, + 2,0,87,88,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1171,7 +1209,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,0,0,8,3,3, + 64,65,66,67,0,0,1,2,87,88, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1179,10 +1217,10 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,0,56,57, - 58,59,60,61,62,0,64,65,66,67, - 0,6,0,89,9,91,74,75,76,77, + 58,59,60,61,62,8,64,65,66,67, + 0,1,2,89,0,91,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, - 2,3,4,5,6,7,117,9,10,11, + 2,3,4,5,6,7,0,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,0,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, @@ -1190,233 +1228,234 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 52,53,54,0,56,57,58,4,60,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,0,118,27,28,29,30, + 21,22,23,24,100,118,27,28,29,30, 31,32,33,34,35,36,0,1,2,40, - 4,5,0,7,0,0,0,48,0,1, - 2,0,4,0,68,56,57,58,59,0, - 61,62,0,1,2,100,22,23,24,0, + 4,5,0,7,0,0,100,48,0,1, + 2,6,4,0,9,56,57,58,59,0, + 61,62,0,0,1,2,22,23,24,0, 71,72,28,29,30,31,32,33,34,35, 36,22,23,24,48,86,0,28,29,30, - 31,32,33,34,35,36,48,0,0,1, - 2,102,103,104,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,87, - 88,27,28,29,30,31,32,33,34,35, - 36,55,0,98,40,3,48,0,6,0, - 8,9,48,0,1,2,0,8,5,90, - 56,57,58,59,8,61,62,25,26,27, - 0,1,2,0,0,71,72,0,0,37, - 38,8,0,1,2,3,4,5,6,7, - 86,9,0,0,0,1,2,55,4,0, - 6,48,8,9,0,63,102,103,104,0, - 68,69,70,71,72,73,67,120,48,0, - 1,2,3,4,5,6,7,71,9,87, - 88,89,90,91,92,93,94,95,96,97, - 98,99,100,101,0,63,73,105,106,107, - 108,109,110,111,112,113,114,115,116,117, - 0,119,120,3,0,72,6,73,8,9, - 96,97,0,1,2,3,4,5,6,7, - 8,9,63,74,90,25,26,27,69,25, - 26,87,88,0,22,23,24,37,38,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,3,4,5,55,7,8,0,0, - 1,2,0,63,5,3,7,55,68,69, - 70,71,72,73,0,63,27,0,1,2, - 3,4,5,6,7,73,9,87,88,89, - 90,91,92,93,94,95,96,97,98,99, - 100,101,0,1,2,105,106,107,108,109, - 110,111,112,113,114,115,116,117,0,119, - 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,72,0,27,28, - 29,30,31,32,33,34,35,36,0,1, - 2,40,4,0,6,0,0,9,0,48, - 4,8,6,0,0,9,0,56,57,58, - 59,8,61,62,0,64,0,22,23,24, - 27,0,71,28,29,30,31,32,33,34, - 35,36,0,1,2,87,88,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,70,0,27,28,29,30,31, - 32,33,34,35,36,69,73,63,40,63, - 0,1,2,3,4,5,48,7,0,0, - 0,87,88,55,56,57,58,59,0,61, - 62,0,64,39,0,1,2,101,4,5, - 9,7,106,107,108,109,110,111,112,113, - 114,115,116,0,86,0,1,2,3,4, + 31,32,33,34,35,36,48,0,0,0, + 1,2,103,104,105,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, + 0,0,27,28,29,30,31,32,33,34, + 35,36,89,0,91,40,3,48,0,6, + 0,8,9,48,68,0,1,2,96,97, + 5,56,57,58,59,0,61,62,25,26, + 27,0,1,2,0,0,71,72,3,48, + 37,38,8,0,1,2,3,4,5,6, + 7,86,9,96,97,0,0,0,55,3, + 0,1,2,48,4,5,63,7,103,104, + 105,68,69,70,71,72,73,87,88,48, + 0,1,2,3,4,5,6,7,0,9, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,70,63,73,48,106, + 107,108,109,110,111,112,113,114,115,116, + 117,118,119,120,0,0,0,3,0,4, + 6,6,8,9,9,0,0,1,2,3, + 4,5,6,7,8,9,89,0,91,25, + 26,27,72,25,26,0,1,2,22,23, + 24,37,38,27,28,29,30,31,32,33, + 34,35,36,0,1,2,3,4,5,55, + 7,8,0,0,1,2,98,63,5,63, + 7,55,68,69,70,71,72,73,63,63, + 27,0,1,2,3,4,5,6,7,73, + 9,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,0,0,0,3, + 106,107,108,109,110,111,112,113,114,115, + 116,117,118,119,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, 0,0,27,28,29,30,31,32,33,34, 35,36,0,1,2,40,4,0,6,0, - 0,9,0,48,4,8,0,89,89,91, - 91,56,57,58,59,0,61,62,98,64, - 0,22,23,24,96,97,71,28,29,30, - 31,32,33,34,35,36,55,0,1,2, - 60,86,0,1,2,3,4,5,6,7, + 0,9,0,48,0,25,26,0,8,0, + 0,56,57,58,59,8,61,62,8,64, + 0,22,23,24,87,88,71,28,29,30, + 31,32,33,34,35,36,55,27,0,1, + 2,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,70,71,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,40,4,5,48,7,0,1,2, - 48,4,0,6,0,3,9,3,56,57, - 58,59,100,61,62,90,64,0,1,2, - 3,4,5,71,7,8,0,0,1,2, - 3,4,5,6,7,0,9,48,86,0, + 18,19,20,21,22,23,24,67,0,27, + 28,29,30,31,32,33,34,35,36,70, + 73,0,40,63,0,1,2,3,4,5, + 48,7,8,25,26,0,0,55,56,57, + 58,59,0,61,62,10,64,0,1,2, + 101,27,5,0,7,0,107,108,109,110, + 111,112,113,114,115,116,117,0,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,0,63,27,28,29,30, + 21,22,23,24,59,0,27,28,29,30, 31,32,33,34,35,36,0,1,2,40, - 63,0,1,2,3,4,5,48,7,8, - 73,0,1,2,0,56,57,58,59,72, - 61,62,0,64,69,0,1,2,27,0, - 71,0,0,1,2,3,4,0,6,25, - 26,9,0,0,48,86,0,1,2,3, + 68,69,6,0,0,1,2,48,4,5, + 0,7,55,68,0,56,57,58,59,0, + 61,62,8,64,98,22,23,24,0,72, + 71,28,29,30,31,32,33,34,35,36, + 55,27,23,24,48,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,0,0,27,28,29,30,31,32,33, - 34,35,36,0,1,2,40,4,0,6, - 65,66,9,0,48,63,25,26,0,0, - 63,70,56,57,58,59,8,61,62,10, - 64,0,1,2,3,4,5,0,7,0, - 1,2,3,4,5,27,7,55,0,1, - 2,0,86,0,1,2,3,4,5,6, + 34,35,36,0,1,2,40,0,0,1, + 2,3,4,5,48,7,0,0,0,3, + 3,0,56,57,58,59,8,61,62,8, + 64,0,1,2,3,4,5,71,7,8, + 0,1,2,0,4,0,6,55,8,9, + 120,48,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,59,0, + 17,18,19,20,21,22,23,24,0,63, 27,28,29,30,31,32,33,34,35,36, - 39,0,0,40,0,4,48,3,0,1, - 2,48,63,72,0,68,8,70,4,56, - 57,58,59,22,61,62,0,64,0,3, - 0,3,0,3,8,0,1,2,3,4, - 5,118,7,0,1,2,0,1,2,86, + 0,73,71,40,63,0,1,2,3,4, + 5,48,7,0,73,60,3,0,90,56, + 57,58,59,73,61,62,0,64,0,0, + 1,2,3,4,71,6,8,0,9,0, + 90,0,1,2,3,4,5,8,7,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,67,0,27,28,29, - 30,31,32,33,34,35,36,0,0,63, - 40,48,4,63,68,8,70,69,48,73, - 0,1,2,102,103,104,56,57,58,59, - 22,61,62,0,64,0,1,2,3,4, - 5,8,7,0,0,0,3,3,0,1, - 2,3,4,5,6,7,86,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 0,1,2,25,26,5,0,7,0,3, - 73,37,38,0,0,37,38,39,4,41, - 42,43,44,45,46,47,0,49,50,51, - 52,53,54,0,0,0,73,63,60,61, - 0,0,0,65,66,0,1,2,3,4, - 5,6,7,90,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,55,55, - 25,26,0,0,1,2,0,4,5,105, - 7,68,37,38,39,0,41,42,43,44, - 45,46,47,119,49,50,51,52,53,54, - 0,1,2,68,70,60,6,94,95,0, - 65,66,3,68,0,1,2,3,4,5, + 20,21,22,23,24,0,63,27,28,29, + 30,31,32,33,34,35,36,0,1,2, + 40,4,63,6,68,69,9,69,48,0, + 63,73,3,103,104,105,56,57,58,59, + 71,61,62,72,64,0,0,1,2,3, + 4,5,6,7,0,9,0,1,2,3, + 4,5,8,7,0,0,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,0,0,27,28,29,30,31,32, + 33,34,35,36,0,1,2,40,4,63, + 6,0,48,9,3,48,70,72,0,63, + 55,67,0,56,57,58,59,9,61,62, + 0,64,0,3,0,0,1,2,8,0, + 1,2,3,4,5,0,7,0,1,2, + 0,1,2,86,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,25, - 26,0,0,0,68,0,70,4,48,8, - 8,37,38,39,0,41,42,43,44,45, - 46,47,90,49,50,51,52,53,54,0, - 1,2,0,0,60,0,0,1,2,0, - 8,67,0,4,48,71,0,1,2,3, - 4,5,6,7,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,67,55, - 0,25,26,0,0,73,3,48,8,0, - 0,8,68,37,38,39,0,41,42,43, - 44,45,46,47,55,49,50,51,52,53, - 54,65,66,68,0,73,60,3,94,95, - 68,65,66,0,1,2,3,4,5,6, - 7,0,9,10,11,12,13,14,15,16, - 17,18,19,20,21,55,63,63,25,26, - 70,0,63,73,0,0,73,0,68,8, - 37,38,39,8,41,42,43,44,45,46, - 47,0,49,50,51,52,53,54,27,0, - 0,0,27,60,94,95,55,6,65,66, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,55,0,0,25,26,3,0,48, - 0,3,0,3,70,0,0,37,38,39, - 8,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,0,0,0,27, - 60,0,4,0,75,10,10,67,0,1, + 16,17,18,19,20,21,22,23,24,0, + 48,27,28,29,30,31,32,33,34,35, + 36,69,0,63,40,0,1,2,68,69, + 65,66,48,73,0,0,72,3,0,0, + 56,57,58,59,0,61,62,3,64,0, + 0,1,2,0,4,0,6,8,0,9, + 0,3,0,1,2,3,4,5,6,7, + 86,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,1,2,25,26,0, + 65,66,8,55,55,37,38,0,0,37, + 38,39,4,41,42,43,44,45,46,47, + 55,49,50,51,52,53,54,0,69,0, + 71,63,60,61,102,90,0,65,66,0, + 1,2,3,4,5,6,7,0,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,67,55,55,25,26,0,1,2,0, + 4,5,3,7,106,68,37,38,39,0, + 41,42,43,44,45,46,47,119,49,50, + 51,52,53,54,0,1,2,68,0,60, + 101,94,95,0,65,66,107,68,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 55,55,0,25,26,40,40,0,0,0, - 0,4,0,48,48,37,38,39,72,41, - 42,43,44,45,46,47,55,49,50,51, - 52,53,54,0,0,0,69,3,60,5, - 6,68,0,9,0,67,0,0,0,0, - 3,0,0,0,0,0,0,55,48,25, - 26,0,55,55,55,0,0,55,3,0, - 0,37,38,0,0,41,3,3,0,0, - 0,48,3,3,0,0,0,3,3,55, - 55,0,0,0,3,40,3,63,0,65, - 66,55,68,69,70,63,0,0,0,55, - 0,0,0,0,0,0,72,69,0,70, - 69,87,88,89,72,72,92,93,94,95, - 96,97,98,99,100,101,70,39,69,105, - 70,107,108,109,110,111,112,113,114,115, - 116,0,1,2,3,4,5,6,7,8, + 0,1,2,25,26,0,0,0,0,4, + 3,3,48,0,0,37,38,39,0,41, + 42,43,44,45,46,47,0,49,50,51, + 52,53,54,0,1,2,0,0,60,0, + 4,4,0,1,2,67,0,74,48,71, + 0,1,2,3,4,5,6,7,22,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,55,68,25,26,0,1,2, + 0,48,0,70,4,3,68,37,38,39, + 48,41,42,43,44,45,46,47,72,49, + 50,51,52,53,54,0,0,0,0,70, + 60,6,94,95,8,65,66,0,1,2, + 3,4,5,6,7,48,9,10,11,12, + 13,14,15,16,17,18,19,20,21,103, + 104,105,25,26,0,0,0,3,0,0, + 4,0,8,8,37,38,39,8,41,42, + 43,44,45,46,47,0,49,50,51,52, + 53,54,27,0,0,0,27,60,3,73, + 72,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,55,63,0,25, + 26,63,0,0,69,3,8,73,0,68, + 0,37,38,39,4,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,0, + 0,0,22,69,60,94,95,0,75,10, + 10,67,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,0,0,25,26,40, + 40,73,8,0,0,0,0,48,48,37, + 38,39,0,41,42,43,44,45,46,47, + 0,49,50,51,52,53,54,0,0,0, + 0,3,60,5,6,0,69,9,8,67, + 0,0,90,0,4,0,3,0,0,4, + 55,55,0,25,26,0,0,27,55,55, + 55,55,0,0,0,37,38,73,0,41, + 0,3,0,3,39,3,0,0,0,3, + 3,3,70,55,0,0,39,0,3,0, + 3,63,72,65,66,55,68,69,70,70, + 55,0,0,0,0,0,0,55,0,0, + 69,0,0,0,0,87,88,89,70,0, + 92,93,94,95,96,97,98,99,100,101, + 0,69,69,0,106,0,108,109,110,111, + 112,113,114,115,116,117,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,55,0, + 0,25,26,70,70,40,121,72,72,70, + 72,70,70,37,38,39,102,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,90, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,0,118,69,25,26,70,69, - 0,0,121,72,72,72,0,69,37,38, + 19,20,21,0,0,0,25,26,0,0, + 0,0,102,39,0,102,0,0,37,38, 39,0,41,42,43,44,45,46,47,0, - 49,50,51,52,53,54,0,1,2,3, - 4,5,6,7,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,0, - 0,25,26,0,0,55,0,0,0,0, - 0,0,69,37,38,39,0,41,42,43, - 44,45,46,47,0,49,50,51,52,53, - 54,0,0,0,0,0,60,0,117,0, - 1,2,3,4,5,6,7,0,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,25,26,0,69,0,0, - 0,0,0,0,0,0,37,38,39,0, - 41,42,43,44,45,46,47,0,49,50, - 51,52,53,54,0,1,2,3,4,5, - 6,7,63,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,25, - 26,0,0,0,0,0,0,0,0,0, - 0,37,38,39,0,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, - 0,0,0,0,60,0,1,2,3,4, + 49,50,51,52,53,54,0,0,0,0, + 0,60,0,0,118,0,1,2,3,4, 5,6,7,0,9,10,11,12,13,14, 15,16,17,18,19,20,21,0,0,0, 25,26,0,0,0,0,0,0,0,0, 0,0,37,38,39,0,41,42,43,44, 45,46,47,0,49,50,51,52,53,54, - 0,1,2,3,4,5,6,7,0,9, + 0,1,2,3,4,5,6,7,63,9, 10,11,12,13,14,15,16,17,18,19, 20,21,0,0,0,25,26,0,0,0, 0,0,0,0,0,0,0,37,38,39, 0,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 25,26,0,0,0,0,0,0,0,0, - 0,0,37,38,39,0,41,42,43,44, - 45,46,47,0,49,50,51,52,53,54, - 0,1,2,0,4,0,0,0,0,0, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,0,0,28,29, - 30,31,32,33,34,35,36,0,0,0, - 40,0,0,0,0,0,0,0,0,0, - 1,2,0,4,0,0,56,57,58,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,0,0,28,29,30, - 31,32,33,34,35,36,0,0,0,40, - 0,1,2,3,4,5,6,7,8,9, - 0,0,0,0,0,56,57,58,0,0, - 0,0,22,23,24,0,0,27,28,29, - 30,31,32,33,34,35,36,11,12,13, + 50,51,52,53,54,0,0,0,0,0, + 60,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,3, + 4,5,6,7,0,9,10,11,12,13, + 14,15,16,17,18,19,20,21,0,0, + 0,25,26,0,0,0,0,0,0,0, + 0,0,0,37,38,39,0,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,0, + 4,0,0,0,0,0,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,0,0,0,28,29,30,31,32,33, - 34,35,36,63,0,0,0,0,0,0, - 0,0,0,73,0,0,0,0,0,0, + 34,35,36,0,0,0,40,0,0,0, + 0,0,0,0,0,0,1,2,0,4, + 0,0,56,57,58,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 0,0,0,28,29,30,31,32,33,34, + 35,36,0,0,0,40,0,1,2,3, + 4,5,6,7,8,9,0,0,0,0, + 0,56,57,58,0,0,0,0,22,23, + 24,0,0,27,28,29,30,31,32,33, + 34,35,36,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,0,0,0, + 28,29,30,31,32,33,34,35,36,63, + 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,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 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; @@ -1424,346 +1463,346 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5251,5216,5195,5195,5195,5195,5195,5195,5232,5195, + 5442,5404,5383,5383,5383,5383,5383,5383,5420,5383, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5408,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5220,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,138,1, - 1,1,1,1,1,1,1,1,1,1321, - 1,5425,2198,114,3799,1,1,5262,39,3763, - 5251,5258,5289,3174,1640,4138,3076,2199,2844,3948, - 3138,4090,1263,4068,2586,4046,10,5235,5235,5235, - 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, - 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, - 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, - 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, - 5235,5235,5235,5235,329,5235,5235,5235,5235,5235, - 5235,394,5235,5235,5235,5235,5235,5235,5235,2237, - 5235,5235,5235,5235,4132,3740,1329,5235,295,5251, - 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, - 5235,5235,8,5238,5238,5238,5238,5238,5238,5238, - 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, - 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, - 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, - 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, - 383,5238,5238,5238,5238,5238,5238,3315,5238,5238, - 5238,5238,5238,5238,5238,299,5238,5238,5238,5238, - 285,4988,4988,5238,282,5549,5238,5238,5238,5238, - 5238,5238,5238,5238,5238,5238,5238,5238,5251,5216, - 5195,5195,5195,5195,5195,5195,5223,5195,1,1, + 1,1,1,1,1,333,1,1,1,3507, + 1,5616,2815,114,3684,1,1,5453,398,3776, + 5442,5449,156,4749,1811,4136,3657,2252,3655,4034, + 3220,4134,3475,4111,2601,4110,10,5423,5423,5423, + 5423,5423,5423,5423,5423,5423,5423,5423,5423,5423, + 5423,5423,5423,5423,5423,5423,5423,5423,5423,5423, + 5423,5423,5423,5423,5423,5423,5423,5423,5423,5423, + 5423,5423,5423,5423,5423,5423,5423,5423,5423,5423, + 5423,5423,5423,5423,299,5423,5423,5423,5423,5423, + 5423,1476,5423,5423,5423,5423,5423,5423,5423,387, + 5423,5423,5423,5423,39,3752,3728,5423,5480,5442, + 5423,5423,5423,5423,5423,5423,5423,5423,5423,5423, + 5423,5423,8,5426,5426,5426,5426,5426,5426,5426, + 5426,5426,5426,5426,5426,5426,5426,5426,5426,5426, + 5426,5426,5426,5426,5426,5426,5426,5426,5426,5426, + 5426,5426,5426,5426,5426,5426,5426,5426,5426,5426, + 5426,5426,5426,5426,5426,5426,5426,5426,5426,5426, + 5442,5426,5426,5426,5426,5426,5426,2769,5426,5426, + 5426,5426,5426,5426,5426,5442,5426,5426,5426,5426, + 289,5176,5176,5426,284,5442,5426,5426,5426,5426, + 5426,5426,5426,5426,5426,5426,5426,5426,5442,5404, + 5383,5383,5383,5383,5383,5383,5411,5383,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5220,1,1,1,1, + 1,1,1,1,1,5408,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5251,1,1,1, - 1,1,1,438,1,1,1,1321,1,5425, - 2198,5251,3799,1,1,5262,5251,4890,4887,5259, - 5289,5251,1640,4138,3076,2199,2844,3948,3138,4090, - 1263,4068,2586,4046,5251,5216,5195,5195,5195,5195, - 5195,5195,5223,5195,1,1,1,1,1,1, + 1,1,1,1,1,1,5442,1,1,1, + 1,1,1,2777,1,1,1,3507,1,5616, + 2815,303,3684,1,1,5453,5442,5078,5075,120, + 5480,5744,1811,4136,3657,2252,3655,4034,3220,4134, + 3475,4111,2601,4110,5442,5404,5383,5383,5383,5383, + 5383,5383,5411,5383,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5220,1,1,1,1,1,1,1,1, + 1,5408,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5258,1,1,1,1,1,1,134, - 1,1,1,1321,1,5425,2198,116,3799,1, - 1,5262,110,3763,5251,5685,5686,5687,1640,4138, - 3076,2199,2844,3948,3138,4090,1263,4068,2586,4046, - 5251,5216,5195,5195,5195,5195,5195,5195,5223,5195, + 1,1,5442,1,1,1,1,1,1,134, + 1,1,1,3507,1,5616,2815,116,3684,1, + 1,5453,110,3776,5442,461,2911,2938,1811,4136, + 3657,2252,3655,4034,3220,4134,3475,4111,2601,4110, + 5442,5404,5383,5383,5383,5383,5383,5383,5411,5383, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5220,1,1, + 1,1,1,1,1,1,1,5408,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5251,1, - 1,1,1,1,1,135,1,1,1,1321, - 1,5425,2198,130,3799,1,1,5262,2318,3740, - 1329,4064,2381,4086,1640,4138,3076,2199,2844,3948, - 3138,4090,1263,4068,2586,4046,5251,5216,5195,5195, - 5195,5195,5195,5195,5223,5195,1,1,1,1, + 1,1,1,1,1,1,1,1,5105,1, + 1,1,1,1,1,135,1,1,1,3507, + 1,5616,2815,130,3684,1,1,5453,2339,3752, + 3728,3984,2404,4007,1811,4136,3657,2252,3655,4034, + 3220,4134,3475,4111,2601,4110,5442,5404,5383,5383, + 5383,5383,5383,5383,5411,5383,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5220,1,1,1,1,1,1, + 1,1,1,5408,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5251,1,1,1,1,1, - 1,5251,1,1,1,1321,1,5425,2198,115, - 3799,1,1,5262,2318,3763,120,5251,5265,5266, - 1640,4138,3076,2199,2844,3948,3138,4090,1263,4068, - 2586,4046,5251,5216,5195,5195,5195,5195,5195,5195, - 5223,5195,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5220, + 1,1,1,1,5442,1,1,1,1,1, + 1,5442,1,1,1,3507,1,5616,2815,115, + 3684,1,1,5453,2339,3776,5442,5456,5457,5442, + 1811,4136,3657,2252,3655,4034,3220,4134,3475,4111, + 2601,4110,5442,5404,5383,5383,5383,5383,5383,5383, + 5411,5383,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5408, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5251,1,1,1,1,1,1,5251,1,1, - 1,1321,1,5425,2198,5251,3799,1,1,5262, - 2568,3740,1329,2951,3046,5251,1640,4138,3076,2199, - 2844,3948,3138,4090,1263,4068,2586,4046,5251,5216, - 5195,5195,5195,5195,5195,5195,5223,5195,1,1, + 5442,1,1,1,1,1,1,2806,1,1, + 1,3507,1,5616,2815,5442,3684,1,1,5453, + 2634,3752,3728,5442,5262,5259,1811,4136,3657,2252, + 3655,4034,3220,4134,3475,4111,2601,4110,5442,5404, + 5383,5383,5383,5383,5383,5383,5411,5383,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5220,1,1,1,1, + 1,1,1,1,1,5408,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,334,1,1,1, - 1,1,1,3327,1,1,1,1321,1,5425, - 2198,5251,3799,1,1,5262,5251,5265,5266,5586, - 5587,2568,1640,4138,3076,2199,2844,3948,3138,4090, - 1263,4068,2586,4046,5251,5216,5195,5195,5195,5195, - 5195,5195,5223,5195,1,1,1,1,1,1, + 1,1,1,1,1,1,5442,1,1,1, + 1,1,1,5442,1,1,1,3507,1,5616, + 2815,5442,3684,1,1,5453,5442,5456,5457,5450, + 518,2634,1811,4136,3657,2252,3655,4034,3220,4134, + 3475,4111,2601,4110,5442,5404,5383,5383,5383,5383, + 5383,5383,5411,5383,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5220,1,1,1,1,1,1,1,1, + 1,5408,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5251,1,1,1,1,1,1,5251, - 1,1,1,1321,1,5425,2198,1,3799,1, - 1,5262,5251,4890,4887,5213,5289,5251,1640,4138, - 3076,2199,2844,3948,3138,4090,1263,4068,2586,4046, - 5251,5216,5195,5195,5195,5195,5195,5195,5223,5195, + 1,1,5449,1,1,1,1,1,1,894, + 1,1,1,3507,1,5616,2815,5442,3684,1, + 1,5453,5442,5078,5075,124,5480,5442,1811,4136, + 3657,2252,3655,4034,3220,4134,3475,4111,2601,4110, + 5442,5404,5383,5383,5383,5383,5383,5383,5411,5383, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5220,1,1, + 1,1,1,1,1,1,1,5408,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5258,1, - 1,1,1,1,1,3328,1,1,1,1321, - 1,5425,2198,5251,3799,1,1,5262,5251,5074, - 5071,48,5074,5071,1640,4138,3076,2199,2844,3948, - 3138,4090,1263,4068,2586,4046,5251,5216,5195,5195, - 5195,5195,5195,5195,5223,5195,1,1,1,1, + 1,1,1,1,1,1,1,1,5442,1, + 1,1,1,1,1,2823,1,1,1,3507, + 1,5616,2815,5442,3684,1,1,5453,48,5262, + 5259,123,2911,2938,1811,4136,3657,2252,3655,4034, + 3220,4134,3475,4111,2601,4110,5442,5404,5383,5383, + 5383,5383,5383,5383,5411,5383,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5220,1,1,1,1,1,1, + 1,1,1,5408,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5251,1,1,1,1,1, - 1,5251,1,1,1,1321,1,5425,2198,5251, - 3799,1,1,5262,113,5251,91,5255,789,4923, - 1640,4138,3076,2199,2844,3948,3138,4090,1263,4068, - 2586,4046,5251,3980,1,1,1,1,1,1, - 4002,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5260, + 1,1,1,1,5442,1,1,1,1,1, + 1,5442,1,1,1,3507,1,5616,2815,5442, + 3684,1,1,5453,113,400,5456,5457,2911,2938, + 1811,4136,3657,2252,3655,4034,3220,4134,3475,4111, + 2601,4110,5442,4084,1,1,1,1,1,1, + 4104,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5451, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5251,1,1,1,1,1,1,5251,1,1, - 1,1321,1,5425,2198,5251,3799,1,1,5262, - 5251,1688,5251,4064,1436,4086,1640,4138,3076,2199, - 2844,3948,3138,4090,1263,4068,2586,4046,39,4890, - 4887,1139,627,3872,3954,2824,5254,3976,1136,5514, - 5512,5521,5520,5516,5517,5515,5518,5519,5522,5513, - 5510,5586,5587,3925,3894,136,5504,5511,5507,5483, - 5509,5508,5505,5506,5484,4020,3998,5270,5648,3813, - 613,722,5272,650,2716,667,5251,5273,5271,579, - 5267,5268,5269,5251,1126,5649,5650,3226,1397,5251, - 5126,5126,228,5122,228,228,228,5130,228,1, + 5442,1,1,1,1,1,1,5442,1,1, + 1,3507,1,5616,2815,5446,3684,1,1,5453, + 36,5336,5333,3984,136,4007,1811,4136,3657,2252, + 3655,4034,3220,4134,3475,4111,2601,4110,39,5078, + 5075,1149,633,3800,3869,4184,137,3892,942,5707, + 5705,5714,5713,5709,5710,5708,5711,5712,5715,5706, + 5702,5781,5782,3846,3823,5442,5696,5703,5699,5675, + 5701,5700,5697,5698,5676,3938,3915,5461,5843,2839, + 799,892,5463,828,4080,880,5442,5464,5462,619, + 5458,5459,5460,5442,1136,5844,5845,2750,1433,5442, + 5314,5314,229,5310,229,229,229,5318,229,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5251,4147,228,1,1,1, - 1,1,1,1,1,1,5251,4890,4887,1, - 627,4935,124,2824,223,132,5251,5119,393,4985, - 4985,5251,282,5251,3350,1,1,1,3423,224, - 5662,638,396,5265,5266,2285,5510,5586,5587,356, - 415,228,5504,5511,5507,5483,5509,5508,5505,5506, - 5484,5510,5586,5587,2455,5750,5251,5504,5511,5507, - 5483,5509,5508,5505,5506,5484,282,5251,5251,8647, - 8647,5685,5686,5687,5251,5126,5126,228,5122,228, - 228,228,5174,228,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2951, - 3046,228,1,1,1,1,1,1,1,1, - 1,574,33,2350,1,4929,5287,5251,4929,5251, - 4929,4929,5119,37,5110,5110,8,5263,5110,5606, - 1,1,1,3423,5248,5662,638,4929,4929,4929, - 43,5080,5080,1,128,414,228,5251,5251,4929, - 4929,160,343,4890,4887,581,627,2103,329,2824, - 5750,329,5251,5251,1,5116,5116,4929,5113,5251, - 329,2753,361,329,123,4929,5685,5686,5687,1, - 4929,4929,4929,4929,4929,4929,5262,4886,5077,365, - 4978,4974,581,4982,2103,1,2824,5248,1,4929, - 4929,4929,4929,4929,4929,4929,4929,4929,4929,4929, - 4929,4929,4929,4929,5251,1050,160,4929,4929,4929, - 4929,4929,4929,4929,4929,4929,4929,4929,4929,4929, - 5251,4929,4929,4932,117,1943,4932,361,4932,4932, - 2494,2423,29,386,386,5101,386,386,5101,386, - 5101,5101,1050,3389,361,4932,4932,4932,1230,3715, - 3085,2951,3046,5251,386,386,386,4932,4932,5101, - 386,386,386,386,386,386,386,386,386,1, - 4978,4974,5165,4982,5171,4932,5168,5261,5251,38, - 4908,4905,1,4932,4902,4733,2824,4893,4932,4932, - 4932,4932,4932,4932,5251,5101,5260,307,4978,4974, - 600,4982,2103,5186,2824,5101,5186,4932,4932,4932, - 4932,4932,4932,4932,4932,4932,4932,4932,4932,4932, - 4932,4932,36,5148,5145,4932,4932,4932,4932,4932, - 4932,4932,4932,4932,4932,4932,4932,4932,122,4932, - 4932,5251,5195,5195,228,5195,228,228,228,5198, - 228,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5651,5251,228,1, - 1,8565,1,1,1,1,1,1,443,1, - 1,1,1,5251,4914,225,39,4914,5251,5192, - 5289,5261,329,5251,121,329,138,1,1,1, - 3461,5257,5461,2198,457,3799,456,5510,5586,5587, - 5260,5251,219,5504,5511,5507,5483,5509,5508,5505, - 5506,5484,295,5265,5266,2951,3046,5750,5251,5195, - 5195,228,5195,228,228,228,228,228,1,1, + 1,1,1,1,2291,5445,229,1,1,1, + 1,1,1,1,1,1,5442,5078,5075,1, + 633,5123,5442,4184,224,5442,2291,5307,397,5173, + 5173,1731,284,112,1688,1,1,1,3025,225, + 5857,671,128,299,5456,5457,5702,5781,5782,5442, + 419,229,5696,5703,5699,5675,5701,5700,5697,5698, + 5676,5702,5781,5782,2325,5945,5442,5696,5703,5699, + 5675,5701,5700,5697,5698,5676,284,129,5442,5442, + 8786,8786,5880,5881,5882,5442,5314,5314,229,5310, + 229,229,229,5362,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3786,5251,228,1,1,8565,1, - 1,1,1,1,1,1901,5256,4917,1,4920, - 1,4978,4974,600,4982,2103,5192,2824,112,111, - 133,2951,3046,3647,1,1,1,3461,129,5461, - 2198,131,3799,1217,5251,4890,4887,2237,627,2103, - 2381,2824,4132,1859,1817,1775,1733,1691,1649,1607, - 1565,1523,1481,5251,5750,5251,5195,5195,228,5195, - 228,228,228,5207,228,1,1,1,1,1, + 122,37,229,1,1,1,1,1,1,1, + 1,1,3984,33,4007,1,5117,5478,5442,5117, + 5442,5117,5117,5307,5957,37,5298,5298,2463,2434, + 5298,1,1,1,3025,5442,5857,671,5117,5117, + 5117,43,5268,5268,1,313,418,229,3624,5478, + 5117,5117,160,347,5078,5075,586,633,599,333, + 4184,5945,333,2463,2434,5442,5442,111,5117,2772, + 5442,5078,5075,2791,633,5123,5117,4184,5880,5881, + 5882,5117,5117,5117,5117,5117,5117,2911,2938,5265, + 5442,5166,5162,605,5170,599,5374,4184,132,5374, + 5117,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,5117,5117,5117,5117,1155,1059,160,2538,5117, + 5117,5117,5117,5117,5117,5117,5117,5117,5117,5117, + 5117,5117,5117,5117,5442,39,460,5120,117,5480, + 5120,333,5120,5120,333,350,29,390,390,5289, + 390,390,5289,390,5289,5289,3984,5442,4007,5120, + 5120,5120,2078,3172,3089,293,5456,5457,390,390, + 390,5120,5120,5289,390,390,390,390,390,390, + 390,390,390,1,5166,5162,5353,5170,5359,5120, + 5356,5452,5442,38,5096,5093,2372,5120,5090,5108, + 4184,5081,5120,5120,5120,5120,5120,5120,1059,5289, + 5451,311,5166,5162,605,5170,599,5374,4184,5289, + 5374,5120,5120,5120,5120,5120,5120,5120,5120,5120, + 5120,5120,5120,5120,5120,5120,91,121,5442,5111, + 5120,5120,5120,5120,5120,5120,5120,5120,5120,5120, + 5120,5120,5120,5120,5120,5442,5383,5383,229,5383, + 229,229,229,5386,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 531,5251,228,1,1,8565,1,1,1,1, - 1,1,444,39,39,1,5289,5251,5104,226, - 5251,5104,137,5192,3394,5259,5251,4064,4064,4086, - 4086,1,1,1,3461,1,5461,2198,2350,3799, - 5251,5510,5586,5587,2494,2423,218,5504,5511,5507, - 5483,5509,5508,5505,5506,5484,3382,37,5110,5110, - 3869,5750,5251,5195,5195,228,5195,228,228,228, - 5198,228,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1006,5258,228, - 1,1,8565,1,1,1,1,1,1,5251, - 4890,4887,1,627,4935,2812,2824,92,1,1, - 5192,1,345,5107,236,1893,5107,5095,1,1, - 1,3461,2285,5461,2198,5608,3799,1,4978,4974, - 581,4982,2103,219,2824,5089,5251,5251,4978,4974, - 600,4982,2103,5186,2824,368,5186,2740,5750,5251, - 5195,5195,228,5195,228,228,228,5198,228,1, + 119,5442,229,1,1,8867,1,1,1,1, + 1,1,447,1,1,1,1,5442,5102,226, + 5442,5102,5442,5380,5442,3172,3089,5442,5454,138, + 408,1,1,1,3315,5448,5653,2815,5347,3684, + 100,5702,5781,5782,2911,2938,220,5696,5703,5699, + 5675,5701,5700,5697,5698,5676,3555,5350,5442,8718, + 8713,5945,5442,5383,5383,229,5383,229,229,229, + 229,229,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5453,118,229, + 1,1,8867,1,1,1,1,1,1,1949, + 5447,5442,1,4224,1,5166,5162,605,5170,599, + 5380,4184,311,3172,3089,303,133,3422,1,1, + 1,3315,5442,5653,2815,5744,3684,5442,5456,5457, + 1102,311,599,5442,4184,5442,2778,1906,1863,1820, + 1777,1734,1691,1648,1605,1562,1519,29,5945,5442, + 5383,5383,229,5383,229,229,229,5395,229,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5251,1050,228,1,1,8565, - 1,1,1,1,1,1,5251,5136,5133,1, - 1050,1,4978,4974,600,4982,2103,5192,2824,307, - 5092,289,5265,5266,119,1,1,1,3461,2027, - 5461,2198,5251,3799,1275,5251,5265,5266,307,5251, - 219,156,343,39,39,3183,5289,346,329,3715, - 3085,329,5251,5251,5287,5750,5251,5195,5195,228, - 5195,228,228,228,228,228,1,1,1,1, + 1,1,1,1,1898,5442,229,1,1,8867, + 1,1,1,1,1,1,37,5298,5298,1, + 4459,3120,333,227,5442,5078,5075,5380,633,599, + 5442,4184,581,5886,5442,1,1,1,3315,338, + 5653,2815,5452,3684,2372,5702,5781,5782,5442,427, + 219,5696,5703,5699,5675,5701,5700,5697,5698,5676, + 3674,5451,5781,5782,5478,5945,5442,5383,5383,229, + 5383,229,229,229,5386,229,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,118,5251,228,1,1,8565,1,1,1, - 1,1,1,95,39,39,1,5289,5251,5177, - 4042,1268,5177,373,5192,1050,3715,3085,404,299, - 1050,1439,1,1,1,3461,5159,5461,2198,5549, - 3799,1,4978,4974,600,4982,2103,5251,2824,1, - 4978,4974,581,4982,2103,5162,2824,3603,45,5142, - 5142,5251,5750,5251,5195,5195,228,5195,228,228, - 228,228,228,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1599,5251, - 228,1,1,8565,1,1,1,1,1,1, - 3129,39,5251,1,5251,5289,5139,4140,5251,5265, - 5266,5192,1050,2027,394,4459,5263,3513,387,1, - 1,1,3461,861,5461,2198,1,3799,309,3183, - 316,3836,5251,5183,339,329,4890,4887,600,627, - 2103,4147,2824,5251,5155,5151,5251,8474,8236,5750, - 5251,5195,5195,228,5195,228,228,228,228,228, + 1,5442,5442,229,1,1,8867,1,1,1, + 1,1,1,37,5298,5298,1,5442,1,5166, + 5162,605,5170,599,5380,4184,349,1,1,1683, + 4830,1,1,1,1,3315,365,5653,2815,5401, + 3684,1,5166,5162,586,5170,599,220,4184,5277, + 1,5304,5304,5442,5301,536,333,4203,365,333, + 5074,2981,5945,5442,5383,5383,229,5383,229,229, + 229,5386,229,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5442,1059, + 229,1,1,8867,1,1,1,1,1,1, + 442,365,5449,1,1059,333,5078,5075,605,633, + 599,5380,4184,320,5280,3942,5371,5442,365,1, + 1,1,3315,365,5653,2815,5442,3684,5442,347, + 39,39,2965,5480,220,333,5448,99,333,8, + 365,1,5166,5162,605,5170,599,5439,4184,5945, + 5442,5383,5383,229,5383,229,229,229,229,229, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5262,5251,228,1,1, - 8565,1,1,1,1,1,1,1,39,1050, - 1,5287,5289,1050,339,5257,339,1145,5192,339, - 5251,8474,8236,5685,5686,5687,1,1,1,3461, - 1641,5461,2198,1,3799,1,4978,4974,5165,4982, - 5171,361,5168,5251,75,5251,4305,3438,5251,1, - 1,1,1,1,1,1,5750,1,1,1, + 1,1,1,1,1,5442,1059,229,1,1, + 8867,1,1,1,1,1,1,448,39,39, + 1,5480,1059,5292,4251,3120,5292,4871,5380,237, + 1242,5447,5283,5880,5881,5882,1,1,1,3315, + 5439,5653,2815,2078,3684,5442,369,5166,5162,586, + 5170,599,1,4184,1,1,1,5166,5162,586, + 5170,599,5398,4184,47,5442,5945,5442,5383,5383, + 229,5383,229,229,229,229,229,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5251,5265,5266,1,1,2103,5251,2824,5251,4390, - 5256,5313,5314,125,395,1,1,1,386,1, - 1,1,1,1,1,1,5251,1,1,1, - 1,1,1,5251,514,5251,361,4131,1,5786, - 5251,5251,5251,1,1,1,4978,4974,1139,4982, - 3872,3954,2824,361,3976,4938,4965,4971,4944,4947, - 4959,4956,4962,4953,4950,4941,4968,5251,2784,565, - 3925,3894,1,5251,4890,4887,5251,627,2103,800, - 2824,4911,4020,3998,5270,5251,3813,613,722,5272, - 650,2716,667,944,5273,5271,579,5267,5268,5269, - 37,5110,5110,5762,886,1397,329,2683,2656,5251, - 39,39,4391,515,39,4890,4887,1139,627,3872, - 3954,2824,5245,3976,575,5514,5512,5521,5520,5516, - 5517,5515,5518,5519,5522,5513,5251,5136,5133,3925, - 3894,1,1,5251,4159,5251,3513,932,5287,5210, - 527,4020,3998,5270,127,3813,613,722,5272,650, - 2716,667,3917,5273,5271,579,5267,5268,5269,37, - 5110,5110,1,5251,1397,5251,5251,5074,5071,48, - 162,5229,5251,5266,5287,5258,140,4890,4887,1139, - 627,3872,3954,2824,5251,3976,575,5514,5512,5521, - 5520,5516,5517,5515,5518,5519,5522,5513,5262,2784, - 5251,3925,3894,1,100,527,3183,5287,5257,99, - 126,5089,5083,4020,3998,5270,5251,3813,613,722, - 5272,650,2716,667,5266,5273,5271,579,5267,5268, - 5269,4042,1268,5691,5251,162,1397,3518,2683,2656, - 5705,39,39,1,4978,4974,1139,4982,3872,3954, - 2824,5251,3976,4938,4965,4971,4944,4947,4959,4956, - 4962,4953,4950,4941,4968,2784,1050,4428,3925,3894, - 4775,5251,1093,5256,360,1,5092,29,5086,5261, - 4020,3998,5270,5261,3813,613,722,5272,650,2716, - 667,37,5273,5271,579,5267,5268,5269,5260,5251, - 5251,5251,5260,1397,2683,2656,3619,2222,39,39, - 39,4890,4887,1139,627,3872,3954,2824,5226,3976, - 575,5514,5512,5521,5520,5516,5517,5515,5518,5519, - 5522,5513,4893,5251,5251,3925,3894,3519,103,5287, - 5251,3580,1,3035,4333,439,29,4020,3998,5270, - 190,3813,613,722,5272,650,2716,667,5251,5273, - 5271,579,5267,5268,5269,1,1,366,5251,190, - 1397,453,2260,5251,4164,5201,5201,5229,39,4890, - 4887,1139,627,3872,3954,2824,5226,3976,575,5514, - 5512,5521,5520,5516,5517,5515,5518,5519,5522,5513, - 4896,565,386,3925,3894,5204,5204,48,5251,5251, - 47,5265,394,3866,3866,4020,3998,5270,423,3813, - 613,722,5272,650,2716,667,4899,5273,5271,579, - 5267,5268,5269,5251,1,73,1352,786,1397,5719, - 5713,3620,318,5717,427,5229,5251,277,290,288, - 5189,419,447,5251,5251,5251,520,4926,2548,5711, - 5712,184,5265,565,3647,5251,425,565,3852,35, - 448,5742,5743,5251,5251,5720,4146,4302,5251,5251, - 5251,3659,4723,4724,5251,5251,5251,3214,4732,5722, - 5180,5251,5251,5251,3137,3918,4772,879,1,1940, - 1966,3339,5723,5721,5744,1050,507,5251,306,3677, - 505,5251,5251,5251,5251,5251,3251,2065,5251,882, - 2151,5733,5732,5745,2475,2113,5714,5715,5738,5739, - 5736,5737,5716,5718,5740,5741,780,3767,1851,5746, - 2482,5726,5727,5728,5724,5725,5734,5735,5730,5729, - 5731,39,4890,4887,1139,627,3872,3954,2824,5255, - 3976,575,5514,5512,5521,5520,5516,5517,5515,5518, - 5519,5522,5513,5251,4147,4760,3925,3894,3800,4770, - 2,5251,5242,3194,3250,3306,5251,1851,4020,3998, - 5270,5251,3813,613,722,5272,650,2716,667,5251, - 5273,5271,579,5267,5268,5269,39,4890,4887,1139, - 627,3872,3954,2824,5251,3976,575,5514,5512,5521, - 5520,5516,5517,5515,5518,5519,5522,5513,509,5251, - 5251,3925,3894,5251,5251,37,5251,5251,5251,5251, - 5251,5251,1985,4020,3998,5270,5251,3813,613,722, - 5272,650,2716,667,5251,5273,5271,579,5267,5268, - 5269,5251,5251,5251,5251,5251,1397,5251,5254,39, - 4890,4887,1139,627,3872,3954,2824,5251,3976,575, - 5514,5512,5521,5520,5516,5517,5515,5518,5519,5522, - 5513,5251,5251,5251,3925,3894,5251,2552,5251,5251, - 5251,5251,5251,5251,5251,5251,4020,3998,5270,5251, - 3813,613,722,5272,650,2716,667,5251,5273,5271, - 579,5267,5268,5269,39,4890,4887,1139,627,3872, - 3954,2824,2031,3976,575,5514,5512,5521,5520,5516, - 5517,5515,5518,5519,5522,5513,5251,5251,5251,3925, - 3894,5251,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,4020,3998,5270,5251,3813,613,722,5272,650, - 2716,667,5251,5273,5271,579,5267,5268,5269,5251, - 5251,5251,5251,5251,1397,39,4890,4887,3326,627, - 3872,3954,2824,5251,3976,575,5514,5512,5521,5520, - 5516,5517,5515,5518,5519,5522,5513,5251,5251,5251, - 3925,3894,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,4020,3998,5270,5251,3813,613,722,5272, - 650,2716,667,5251,5273,5271,579,5267,5268,5269, - 39,4890,4887,1139,627,3872,3954,2824,5251,3976, - 575,5514,5512,5521,5520,5516,5517,5515,5518,5519, - 5522,5513,5251,5251,5251,3925,3894,5251,5251,5251, - 5251,5251,5251,5251,5251,5251,5251,4020,3998,5270, - 5251,3813,613,722,5272,650,2716,667,5251,5273, - 5271,579,5267,5268,5269,39,4890,4887,1139,627, - 3872,3954,2824,5251,3976,575,5514,5512,5521,5520, - 5516,5517,5515,5518,5519,5522,5513,5251,5251,5251, - 3925,3894,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,4020,3998,5270,5251,3813,613,722,5272, - 650,2716,667,5251,5273,5271,579,5267,5268,5269, - 5251,4890,4887,5251,5289,5251,5251,5251,5251,5251, - 594,5514,5512,5521,5520,5516,5517,5515,5518,5519, - 5522,5513,5510,5586,5587,5251,5251,5251,5504,5511, - 5507,5483,5509,5508,5505,5506,5484,5251,5251,5251, - 5648,5251,5251,5251,5251,5251,5251,5251,5251,240, - 5064,5060,5251,5068,5251,5251,1126,5649,5650,594, - 5051,5057,5030,5033,5045,5042,5048,5039,5036,5027, - 5054,5006,5000,4997,5251,5251,5251,5024,5003,5015, - 4994,5009,5012,5021,5018,4991,5251,5251,5251,5648, - 32,387,387,5098,387,387,5098,387,5098,5098, - 5251,5251,5251,5251,5251,1126,5649,5650,5251,5251, - 5251,5251,387,387,387,5251,222,5098,387,387, - 387,387,387,387,387,387,387,5514,5512,5521, - 5520,5516,5517,5515,5518,5519,5522,5513,5510,5586, - 5587,5251,5251,5251,5504,5511,5507,5483,5509,5508, - 5505,5506,5484,5098,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,5098 + 1,1,5442,5442,229,1,1,8867,1,1, + 1,1,1,1,92,1,1,1,1,1059, + 5295,5442,2243,5295,2967,5380,1286,1992,131,1059, + 4550,5453,364,1,1,1,3315,2404,5653,2815, + 1,3684,5442,2965,5442,5442,5456,5457,343,1, + 5166,5162,5353,5170,5359,5442,5356,5442,8718,8713, + 292,673,673,5945,5442,5383,5383,229,5383,229, + 229,229,229,229,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5442, + 3430,229,1,1,8867,1,1,1,1,1, + 1,3228,5442,1059,1,5442,5262,5259,343,343, + 3961,789,5380,343,5442,360,5846,3623,29,443, + 1,1,1,3315,5442,5653,2815,4103,3684,5442, + 95,39,39,5442,5480,457,5365,5450,75,5365, + 5442,3500,5442,1,1,1,1,1,1,1, + 5945,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5442,5456,5457,1,1,138, + 3961,789,5454,5081,5084,5504,5505,125,399,1, + 1,1,390,1,1,1,1,1,1,1, + 5087,1,1,1,1,1,1,5442,1015,5442, + 5449,2533,1,5982,4152,5801,5442,1,1,1, + 5166,5162,1149,5170,3800,3869,4184,5442,3892,5126, + 5153,5159,5132,5135,5147,5144,5150,5141,5138,5129, + 5156,5453,2675,581,3846,3823,5442,5078,5075,5442, + 633,599,4105,4184,808,5099,3938,3915,5461,5442, + 2839,799,892,5463,828,4080,880,953,5464,5462, + 619,5458,5459,5460,5442,5324,5321,5900,5442,1433, + 1102,2577,2505,1,39,39,2778,519,39,5078, + 5075,1149,633,3800,3869,4184,5436,3892,575,5707, + 5705,5714,5713,5709,5710,5708,5711,5712,5715,5706, + 45,5330,5330,3846,3823,5442,5442,5442,5442,2770, + 4108,4471,5478,372,5442,3938,3915,5461,127,2839, + 799,892,5463,828,4080,880,431,5464,5462,619, + 5458,5459,5460,5442,5343,5339,39,398,1433,370, + 5480,391,5442,5324,5321,5417,5442,3357,5327,5449, + 140,5078,5075,1149,633,3800,3869,4184,1371,3892, + 575,5707,5705,5714,5713,5709,5710,5708,5711,5712, + 5715,5706,5442,2675,4343,3846,3823,37,5298,5298, + 5442,5478,103,1341,2075,4473,5271,3938,3915,5461, + 5478,2839,799,892,5463,828,4080,880,3261,5464, + 5462,619,5458,5459,5460,5442,1,5442,451,1389, + 1433,1774,2577,2505,5448,39,39,1,5166,5162, + 1149,5170,3800,3869,4184,5478,3892,5126,5153,5159, + 5132,5135,5147,5144,5150,5141,5138,5129,5156,5880, + 5881,5882,3846,3823,1,5442,5442,2965,322,1, + 2723,126,5277,5452,3938,3915,5461,5452,2839,799, + 892,5463,828,4080,880,5442,5464,5462,619,5458, + 5459,5460,5451,193,286,5442,5451,1433,3042,5447, + 2570,5442,39,39,39,5078,5075,1149,633,3800, + 3869,4184,5414,3892,575,5707,5705,5714,5713,5709, + 5710,5708,5711,5712,5715,5706,2675,1059,1,3846, + 3823,1059,279,5442,4053,5377,532,5280,5442,5274, + 39,3938,3915,5461,5480,2839,799,892,5463,828, + 4080,880,1,5464,5462,619,5458,5459,5460,1, + 1,5442,2998,5727,1433,2577,2505,292,5430,5389, + 5389,5417,39,5078,5075,1149,633,3800,3869,4184, + 5414,3892,575,5707,5705,5714,5713,5709,5710,5708, + 5711,5712,5715,5706,1,390,5442,3846,3823,5392, + 5392,532,162,5442,398,73,5442,3873,3873,3938, + 3915,5461,294,2839,799,892,5463,828,4080,880, + 5442,5464,5462,619,5458,5459,5460,5442,1,423, + 1,584,1433,5914,5908,5442,8153,5912,190,5417, + 48,429,5803,5442,5457,48,3804,5442,35,5456, + 5114,581,5442,5906,5907,184,5442,190,3422,581, + 5368,3277,452,310,5442,5937,5938,162,5442,5915, + 5442,4528,5442,4762,1094,4805,5442,5442,5442,4823, + 3505,4828,2117,5917,377,5442,3217,5442,4873,5442, + 4530,869,2165,1515,1543,5457,5918,5939,5916,2204, + 5456,5442,5442,511,509,5442,5442,3636,5442,5442, + 4205,5442,513,2,5442,5928,5927,5940,3265,1, + 5909,5910,5933,5934,5931,5932,5911,5913,5935,5936, + 525,3130,4067,524,5941,5442,5921,5922,5923,5919, + 5920,5929,5930,5925,5924,5926,39,5078,5075,1149, + 633,3800,3869,4184,5446,3892,575,5707,5705,5714, + 5713,5709,5710,5708,5711,5712,5715,5706,37,5442, + 5442,3846,3823,4838,4840,4146,5433,3258,3296,3265, + 3334,2035,2618,3938,3915,5461,4152,2839,799,892, + 5463,828,4080,880,1,5464,5462,619,5458,5459, + 5460,39,5078,5075,1149,633,3800,3869,4184,4223, + 3892,575,5707,5705,5714,5713,5709,5710,5708,5711, + 5712,5715,5706,5442,5442,5442,3846,3823,5442,5442, + 5442,5442,1,3672,5442,4152,5442,5442,3938,3915, + 5461,5442,2839,799,892,5463,828,4080,880,5442, + 5464,5462,619,5458,5459,5460,5442,5442,5442,5442, + 5442,1433,5442,5442,5445,39,5078,5075,1149,633, + 3800,3869,4184,5442,3892,575,5707,5705,5714,5713, + 5709,5710,5708,5711,5712,5715,5706,5442,5442,5442, + 3846,3823,5442,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,3938,3915,5461,5442,2839,799,892,5463, + 828,4080,880,5442,5464,5462,619,5458,5459,5460, + 39,5078,5075,1149,633,3800,3869,4184,1050,3892, + 575,5707,5705,5714,5713,5709,5710,5708,5711,5712, + 5715,5706,5442,5442,5442,3846,3823,5442,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,3938,3915,5461, + 5442,2839,799,892,5463,828,4080,880,5442,5464, + 5462,619,5458,5459,5460,5442,5442,5442,5442,5442, + 1433,39,5078,5075,4752,633,3800,3869,4184,5442, + 3892,575,5707,5705,5714,5713,5709,5710,5708,5711, + 5712,5715,5706,5442,5442,5442,3846,3823,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,3938,3915, + 5461,5442,2839,799,892,5463,828,4080,880,5442, + 5464,5462,619,5458,5459,5460,39,5078,5075,1149, + 633,3800,3869,4184,5442,3892,575,5707,5705,5714, + 5713,5709,5710,5708,5711,5712,5715,5706,5442,5442, + 5442,3846,3823,5442,5442,5442,5442,5442,5442,5442, + 5442,5442,5442,3938,3915,5461,5442,2839,799,892, + 5463,828,4080,880,5442,5464,5462,619,5458,5459, + 5460,39,5078,5075,1149,633,3800,3869,4184,5442, + 3892,575,5707,5705,5714,5713,5709,5710,5708,5711, + 5712,5715,5706,5442,5442,5442,3846,3823,5442,5442, + 5442,5442,5442,5442,5442,5442,5442,5442,3938,3915, + 5461,5442,2839,799,892,5463,828,4080,880,5442, + 5464,5462,619,5458,5459,5460,5442,5078,5075,5442, + 5480,5442,5442,5442,5442,5442,802,5707,5705,5714, + 5713,5709,5710,5708,5711,5712,5715,5706,5702,5781, + 5782,5442,5442,5442,5696,5703,5699,5675,5701,5700, + 5697,5698,5676,5442,5442,5442,5843,5442,5442,5442, + 5442,5442,5442,5442,5442,241,5252,5248,5442,5256, + 5442,5442,1136,5844,5845,802,5239,5245,5218,5221, + 5233,5230,5236,5227,5224,5215,5242,5194,5188,5185, + 5442,5442,5442,5212,5191,5203,5182,5197,5200,5209, + 5206,5179,5442,5442,5442,5843,32,391,391,5286, + 391,391,5286,391,5286,5286,5442,5442,5442,5442, + 5442,1136,5844,5845,5442,5442,5442,5442,391,391, + 391,5442,223,5286,391,391,391,391,391,391, + 391,391,391,5707,5705,5714,5713,5709,5710,5708, + 5711,5712,5715,5706,5702,5781,5782,5442,5442,5442, + 5696,5703,5699,5675,5701,5700,5697,5698,5676,5286, + 5442,5442,5442,5442,5442,5442,5442,5442,5442,5286 }; }; public final static char termAction[] = TermAction.termAction; @@ -1771,61 +1810,61 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 109,7,662,1,150,835,835,835,835,968, - 150,1071,1071,531,1071,281,662,283,663,663, - 663,663,663,663,663,663,663,1073,1079,1084, - 1081,1088,1086,1093,1091,1095,1094,1096,391,1097, - 662,646,571,571,571,571,701,152,9,9, - 1068,571,328,240,1071,1071,9,701,240,845, - 570,1012,970,905,646,1071,1073,787,787,152, - 662,663,663,663,663,663,663,663,663,663, - 663,663,663,663,663,663,663,663,663,663, - 662,662,662,662,662,662,662,662,662,662, - 662,662,663,240,240,231,646,819,819,819, - 819,488,240,9,9,966,894,905,336,905, - 331,905,339,905,889,968,701,328,328,9, - 835,328,570,662,699,1011,240,698,700,698, - 240,328,1081,1081,1079,1079,1079,1086,1086,1086, - 1086,1084,1084,1091,1088,1088,1094,1093,1095,1061, - 1096,966,288,70,523,522,704,912,912,968, - 283,150,150,150,150,701,701,819,818,819, - 1068,701,440,443,333,487,334,968,701,701, - 488,819,663,571,1077,196,240,970,701,701, - 700,1012,662,231,328,1112,240,72,74,701, - 1012,662,662,662,662,150,150,646,441,1066, - 1064,443,701,802,492,800,488,336,497,701, - 488,701,240,1077,966,1011,970,701,699,240, - 527,515,526,74,488,699,240,240,240,240, - 152,152,441,1064,825,701,443,1061,334,835, - 490,61,1051,443,802,801,802,802,488,497, - 497,701,701,1077,1078,1077,662,196,66,1073, - 970,603,662,524,524,502,502,701,68,966, - 1018,240,701,240,240,1064,1064,1012,336,336, - 819,835,698,613,1053,695,150,802,802,802, - 802,701,497,825,823,824,1077,152,663,328, - 66,603,662,662,74,701,1012,240,72,515, - 603,947,1064,1063,699,748,336,346,459,699, - 802,802,695,1117,663,1061,510,828,701,966, - 802,802,740,825,663,701,1078,240,328,813, - 74,603,1064,1118,748,748,194,972,432,150, - 334,383,459,699,802,336,968,1053,663,663, - 1011,695,837,598,741,701,813,240,813,825, - 748,748,345,432,194,841,968,818,835,794, - 794,1118,336,626,837,701,150,740,701,968, - 968,701,150,806,813,825,346,748,1118,509, - 1117,240,968,701,459,346,459,817,817,821, - 627,968,701,152,701,701,701,75,806,748, - 662,244,695,1118,701,701,459,571,571,821, - 626,1061,663,1061,1118,625,150,150,150,627, - 150,701,399,1118,1118,701,336,240,701,701, - 239,808,825,240,825,336,701,1118,818,618, - 150,618,627,1061,627,646,646,644,887,646, - 1118,1118,513,821,571,808,825,244,1118,107, - 1018,627,240,695,240,644,432,150,240,821, - 244,794,240,240,960,627,513,627,1118,432, - 662,627,624,824,817,336,336,962,662,625, - 152,1118,240,1116,243,698,627,240,1118,1116, - 1116,627 + 117,7,865,1,158,767,767,767,767,1058, + 158,404,404,907,404,245,865,247,866,866, + 866,866,866,866,866,866,866,406,412,417, + 414,421,419,426,424,428,427,429,459,430, + 865,849,947,947,947,947,904,592,9,9, + 401,947,292,204,404,404,9,904,204,779, + 946,1114,1060,995,849,404,406,686,686,592, + 865,866,866,866,866,866,866,866,866,866, + 866,866,866,866,866,866,866,866,866,866, + 865,865,865,865,865,865,865,865,865,865, + 865,865,866,204,204,195,849,747,747,747, + 747,392,204,9,9,1056,984,995,114,995, + 109,995,341,995,979,1058,904,292,292,9, + 767,292,946,865,902,1113,204,901,903,901, + 204,292,414,414,412,412,412,419,419,419, + 419,417,417,424,421,421,427,426,428,1072, + 429,1056,252,70,584,583,540,1002,1002,1058, + 247,158,158,158,158,904,904,747,746,747, + 401,904,508,347,111,391,112,1058,904,904, + 392,747,866,947,410,160,204,1060,904,904, + 903,1114,865,195,292,445,204,72,74,904, + 1114,865,865,865,865,158,158,849,509,399, + 397,347,904,643,454,641,392,114,511,904, + 392,904,204,410,1056,1113,1060,904,902,204, + 588,576,587,74,392,902,204,204,204,204, + 592,592,509,397,514,904,347,1072,112,767, + 394,61,1062,347,643,642,643,643,392,511, + 511,904,904,410,411,410,865,160,66,406, + 1060,530,865,585,585,517,517,904,68,1056, + 693,204,904,204,204,397,397,1114,114,114, + 747,767,901,636,1064,898,158,643,643,643, + 643,904,511,513,755,513,410,592,866,292, + 66,530,865,865,74,904,1114,204,72,576, + 530,1037,397,396,902,647,114,296,363,902, + 643,643,898,450,866,1072,525,760,904,1056, + 643,643,726,513,514,866,904,411,204,292, + 741,74,530,397,451,647,647,634,1074,500, + 158,112,333,363,902,643,114,1058,1064,866, + 866,1113,898,771,974,727,904,514,741,204, + 741,514,647,647,295,500,634,775,1058,746, + 767,749,749,451,114,829,771,904,158,726, + 904,1058,1058,904,158,734,741,514,296,647, + 451,524,450,204,1058,904,363,296,363,745, + 745,769,830,1058,904,592,904,904,904,75, + 734,647,865,208,898,451,904,904,363,947, + 947,769,829,1072,866,1072,451,828,158,158, + 158,830,158,904,467,451,451,904,114,204, + 904,904,203,736,514,204,514,114,904,451, + 746,821,158,821,830,1072,830,849,849,847, + 828,849,451,451,528,827,947,736,514,208, + 451,107,693,830,204,898,204,847,500,158, + 204,769,208,749,204,204,1050,830,528,830, + 451,500,865,830,827,513,745,114,114,1052, + 865,828,592,451,204,449,207,901,830,204, + 451,449,449,830 }; }; public final static char asb[] = Asb.asb; @@ -1833,7 +1872,7 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 8,72,117,73,27,70,120,0,28,11, + 8,72,118,73,27,69,120,0,28,11, 12,40,23,42,65,13,43,56,29,30, 44,14,31,32,15,16,33,66,34,45, 17,18,46,35,47,57,49,60,50,36, @@ -1843,108 +1882,108 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 63,6,9,90,28,11,12,23,13,56, 29,30,14,31,32,15,16,33,34,17, 18,35,57,36,10,58,19,22,20,24, - 21,1,2,4,73,8,40,0,11,12, - 42,65,13,43,44,14,15,16,66,7, - 45,17,18,46,47,49,60,50,51,10, - 19,20,21,52,53,54,39,1,2,37, - 38,9,6,25,26,5,41,4,61,3, - 0,8,73,11,12,42,65,13,43,44, - 14,15,16,66,7,45,17,18,46,47, - 49,60,50,51,10,19,20,21,52,53, - 54,1,2,3,37,38,9,6,25,26, - 5,41,4,39,0,91,89,25,26,92, - 93,87,88,55,94,95,96,97,98,99, - 100,101,106,72,90,69,107,108,109,110, - 111,112,113,114,115,116,117,71,27,120, - 68,1,2,9,6,4,3,63,70,73, - 8,0,71,60,37,38,9,6,25,26, - 41,46,3,4,52,53,54,39,50,44, - 49,12,21,11,17,15,16,18,19,14, - 13,20,10,43,47,45,42,51,67,8, - 7,5,1,2,66,65,0,65,66,10, - 43,47,45,42,51,12,21,11,17,15, - 16,18,19,14,13,20,52,53,54,39, - 50,44,49,5,7,4,3,37,38,9, - 6,25,26,41,46,1,2,117,8,0, - 48,4,72,1,2,67,8,0,4,8, - 67,1,2,0,67,40,23,13,56,29, + 21,1,2,4,73,8,40,0,48,4, + 72,1,2,67,8,0,11,12,42,65, + 13,43,44,14,15,16,66,7,45,17, + 18,46,47,49,60,50,51,10,19,20, + 21,52,53,54,39,1,2,37,38,9, + 6,25,26,5,41,4,61,3,0,91, + 89,25,26,92,93,87,88,55,94,95, + 96,97,98,99,100,101,107,72,90,70, + 108,109,110,111,112,113,114,115,116,117, + 118,71,27,120,68,1,2,9,6,4, + 3,63,69,73,8,0,71,60,37,38, + 9,6,25,26,41,46,3,4,52,53, + 54,39,50,44,49,12,21,11,17,15, + 16,18,19,14,13,20,10,43,47,45, + 42,51,67,8,7,5,1,2,66,65, + 0,65,66,10,43,47,45,42,51,12, + 21,11,17,15,16,18,19,14,13,20, + 52,53,54,39,50,44,49,5,7,4, + 3,37,38,9,6,25,26,41,46,1, + 2,118,8,0,67,40,23,13,56,29, 14,31,32,15,16,33,34,17,18,35, 57,36,58,19,22,20,24,21,12,11, 28,8,3,9,6,27,62,64,86,30, 61,48,7,1,2,5,4,10,59,0, - 68,72,90,70,117,73,71,120,11,12, - 42,65,13,43,44,14,15,16,66,45, - 17,18,46,47,49,60,50,51,10,19, - 20,21,52,53,54,39,37,38,25,26, - 41,8,27,5,7,1,2,4,3,9, - 6,0,86,59,7,102,103,104,62,8, - 3,9,6,5,72,71,27,61,28,11, - 12,40,23,13,56,29,30,14,31,32, - 15,16,33,34,17,18,35,57,36,10, - 58,19,22,20,24,21,4,1,2,48, - 0,4,8,72,67,0,1,2,8,71, - 0,74,68,72,90,73,67,63,3,8, - 70,27,69,0,9,6,7,5,4,1, - 2,3,63,68,69,70,8,73,90,0, - 66,65,25,26,6,92,93,98,9,99, - 5,41,69,55,68,110,111,107,108,109, - 115,114,116,88,87,112,113,96,97,94, - 95,100,101,37,38,70,89,105,63,3, - 28,11,12,40,23,13,56,29,30,14, - 31,32,15,16,33,34,17,18,35,57, - 36,10,58,19,20,24,21,1,2,4, - 22,0,23,60,24,8,68,90,69,70, - 73,0,8,72,67,74,0,86,102,103, - 104,48,72,118,121,71,61,74,62,59, - 64,76,78,84,82,75,80,81,83,85, - 67,77,79,27,8,28,40,23,56,29, - 30,31,32,33,34,35,57,36,58,22, - 24,60,65,66,10,43,47,45,42,51, - 12,21,11,17,15,16,18,19,14,13, - 20,52,53,54,39,50,44,49,37,38, - 25,26,41,46,9,6,3,4,7,5, - 1,2,0,28,11,12,23,13,29,30, - 14,31,32,15,16,33,7,34,17,18, - 35,36,19,22,20,24,21,1,2,8, - 63,9,6,5,4,73,27,3,0,22, - 1,2,4,102,103,104,0,64,28,11, - 12,40,23,13,56,29,86,30,14,31, - 32,15,16,33,59,34,17,18,35,57, - 36,10,58,19,62,22,20,24,21,8, - 3,9,6,71,27,61,7,4,48,5, - 1,2,0,68,69,70,1,2,0,4, - 55,8,72,67,0,23,24,74,3,72, - 27,67,60,8,90,73,69,70,68,0, - 118,0,69,70,71,8,0,72,8,63, - 3,69,70,27,55,0,8,67,70,0, - 8,67,69,0,65,66,37,38,9,6, - 25,26,5,41,46,3,4,7,52,53, - 54,39,50,44,49,12,21,11,17,15, - 16,18,19,14,13,20,10,43,47,45, - 42,51,63,1,2,0,75,0,10,56, + 4,8,67,1,2,0,86,59,7,103, + 104,105,62,8,3,9,6,5,72,71, + 27,61,28,11,12,40,23,13,56,29, + 30,14,31,32,15,16,33,34,17,18, + 35,57,36,10,58,19,22,20,24,21, + 4,1,2,48,0,60,23,24,7,5, + 1,2,4,74,67,119,106,37,38,63, + 3,91,89,6,92,93,25,26,88,87, + 55,94,95,96,97,9,98,99,100,68, + 90,73,120,70,108,109,110,111,112,113, + 114,115,116,117,72,118,101,107,71,69, + 27,8,0,4,8,72,67,0,68,72, + 90,69,118,73,71,120,11,12,42,65, + 13,43,44,14,15,16,66,45,17,18, + 46,47,49,60,50,51,10,19,20,21, + 52,53,54,39,37,38,25,26,41,8, + 27,5,7,1,2,4,3,9,6,0, + 1,2,69,71,8,0,74,68,72,90, + 73,67,63,3,8,69,27,70,0,23, + 60,24,8,68,90,70,69,73,0,28, + 11,12,23,13,29,30,14,31,32,15, + 16,33,7,34,17,18,35,36,19,22, + 20,24,21,1,2,8,63,9,6,5, + 4,73,27,3,0,9,6,7,5,4, + 1,2,3,63,68,70,69,8,73,90, + 0,8,73,11,12,42,65,13,43,44, + 14,15,16,66,7,45,17,18,46,47, + 49,60,50,51,10,19,20,21,52,53, + 54,1,2,3,37,38,9,6,25,26, + 5,41,4,39,0,8,72,67,74,0, + 4,55,8,72,67,0,64,28,11,12, + 40,23,13,56,29,86,30,14,31,32, + 15,16,33,59,34,17,18,35,57,36, + 10,58,19,62,22,20,24,21,8,3, + 9,6,71,27,61,7,4,48,5,1, + 2,0,28,11,12,40,23,13,56,29, + 30,14,31,32,15,16,33,34,17,18, + 35,57,36,10,58,19,22,20,24,21, + 1,2,4,90,0,22,1,2,4,103, + 104,105,0,23,24,74,3,72,27,67, + 60,8,90,73,70,69,68,0,68,70, + 69,1,2,0,8,69,71,70,0,72, + 8,63,3,70,69,27,55,0,102,0, + 8,67,69,0,8,67,70,0,65,66, + 37,38,9,6,25,26,5,41,46,3, + 4,7,52,53,54,39,50,44,49,12, + 21,11,17,15,16,18,19,14,13,20, + 10,43,47,45,42,51,63,1,2,0, + 86,103,104,105,48,72,102,121,71,61, + 74,62,59,64,76,78,84,82,75,80, + 81,83,85,67,77,79,27,8,28,40, + 23,56,29,30,31,32,33,34,35,57, + 36,58,22,24,60,65,66,10,43,47, + 45,42,51,12,21,11,17,15,16,18, + 19,14,13,20,52,53,54,39,50,44, + 49,37,38,25,26,41,46,9,6,3, + 4,7,5,1,2,0,66,65,25,26, + 6,92,93,98,9,99,5,41,70,55, + 68,111,112,108,109,110,116,115,117,88, + 87,113,114,96,97,94,95,100,101,37, + 38,69,89,106,63,3,28,11,12,40, + 23,13,56,29,30,14,31,32,15,16, + 33,34,17,18,35,57,36,10,58,19, + 20,24,21,1,2,4,22,0,10,56, 40,57,58,12,21,11,17,15,16,18, - 19,14,13,20,74,72,90,117,71,67, - 120,119,91,105,89,37,38,25,26,92, + 19,14,13,20,74,72,90,118,71,67, + 120,119,91,106,89,37,38,25,26,92, 93,87,88,55,68,94,95,96,97,98, - 99,100,101,106,69,107,108,109,110,111, - 112,113,114,115,116,70,28,23,29,30, + 99,100,101,107,70,108,109,110,111,112, + 113,114,115,116,117,69,28,23,29,30, 31,32,33,34,35,36,22,24,27,8, 73,3,63,7,5,9,6,1,2,4, - 0,40,23,13,56,29,14,31,32,15, - 16,33,34,17,18,35,57,36,10,58, - 19,22,20,24,21,12,11,28,8,3, - 9,27,62,59,64,86,30,61,55,4, - 6,7,1,2,5,48,0,28,11,12, - 40,23,13,56,29,30,14,31,32,15, - 16,33,34,17,18,35,57,36,10,58, - 19,22,20,24,21,1,2,4,90,0, - 27,8,3,7,5,9,6,4,1,2, - 72,0,60,23,24,7,5,1,2,4, - 74,67,119,105,37,38,63,3,91,89, - 6,92,93,25,26,88,87,55,94,95, - 96,97,9,98,99,100,68,90,73,120, - 69,107,108,109,110,111,112,113,114,115, - 116,72,117,101,106,71,70,27,8,0 + 0,27,8,3,7,5,9,6,4,1, + 2,72,0,40,23,13,56,29,14,31, + 32,15,16,33,34,17,18,35,57,36, + 10,58,19,22,20,24,21,12,11,28, + 8,3,9,27,62,59,64,86,30,61, + 55,4,6,7,1,2,5,48,0 }; }; public final static byte asr[] = Asr.asr; @@ -1952,61 +1991,61 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 25,12,75,12,12,12,12,12,12,79, - 12,12,12,155,12,181,152,165,75,75, - 246,75,75,75,75,75,75,12,12,12, - 12,12,12,12,12,12,12,12,75,12, - 75,197,33,33,33,33,165,49,21,21, - 52,5,86,264,12,12,21,250,264,75, - 96,40,12,12,197,12,12,57,57,49, - 152,75,75,75,75,75,75,75,75,75, - 75,75,75,75,75,75,75,75,75,75, - 75,75,75,75,75,75,75,75,75,75, - 75,152,75,264,264,202,1,12,12,12, - 12,101,264,28,28,134,259,260,173,260, - 88,260,91,260,253,10,165,86,86,28, - 12,86,33,185,181,211,264,180,165,180, - 264,86,12,12,12,12,12,12,12,12, + 31,12,71,12,12,12,12,12,12,75, + 12,12,12,227,12,171,141,91,71,71, + 213,71,71,71,71,71,71,12,12,12, + 12,12,12,12,12,12,12,12,71,12, + 71,277,41,41,41,41,91,132,23,23, + 65,5,82,283,12,12,23,217,283,71, + 48,202,12,12,277,12,12,50,50,132, + 141,71,71,71,71,71,71,71,71,71, + 71,71,71,71,71,71,71,71,71,71, + 71,71,71,71,71,71,71,71,71,71, + 71,141,71,283,283,145,1,12,12,12, + 12,125,283,36,36,121,244,245,154,245, + 28,245,84,245,238,10,91,82,82,36, + 12,82,41,186,171,128,283,170,91,170, + 283,82,12,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,134,81,201,94,94,12,12,12,10, - 165,12,12,12,12,146,11,12,12,12, - 237,165,12,21,145,79,42,79,165,11, - 12,12,75,33,21,65,264,12,11,165, - 122,40,75,235,86,12,264,274,21,165, - 40,152,152,152,152,12,12,28,136,136, - 136,188,146,109,109,12,280,173,21,280, - 39,146,264,55,237,211,12,250,146,264, - 12,14,12,277,38,146,264,264,264,264, - 49,49,12,21,143,165,140,12,226,12, - 12,23,266,188,109,109,21,21,39,21, - 251,11,146,21,163,12,152,237,123,12, - 12,21,75,12,12,94,94,165,13,134, - 277,264,146,264,264,136,125,40,173,230, - 12,12,79,21,129,16,12,21,21,36, - 36,146,251,143,12,12,55,49,75,86, - 123,125,75,75,21,11,40,264,274,175, - 21,12,21,125,181,21,173,241,21,280, - 21,68,177,140,75,12,120,12,165,134, - 36,36,215,143,75,251,163,264,86,21, - 277,125,125,140,221,21,12,241,267,12, - 229,23,277,181,68,113,116,16,75,75, - 232,177,12,79,63,280,70,264,21,143, - 241,221,172,129,12,12,79,12,12,219, - 219,140,113,142,12,280,12,45,280,79, - 79,11,12,21,70,143,241,21,140,104, - 12,264,79,280,277,241,21,12,12,21, - 149,116,11,49,11,280,280,262,125,221, - 185,73,16,140,280,227,277,33,33,127, - 168,12,75,12,140,12,12,12,12,169, - 12,251,138,140,140,251,106,264,11,11, - 264,21,143,264,21,173,227,140,12,195, - 12,12,169,12,169,283,283,206,12,283, - 140,140,12,21,33,70,143,21,140,12, - 33,169,264,16,264,159,21,12,264,127, - 73,219,264,264,21,169,12,169,140,16, - 152,169,195,143,12,106,106,14,75,12, - 98,140,264,111,72,180,169,264,140,111, - 12,169 + 12,121,77,144,63,63,12,12,12,10, + 91,12,12,12,12,190,11,12,12,12, + 161,91,12,23,189,75,25,75,91,11, + 12,12,71,41,23,58,283,12,11,91, + 135,202,71,159,82,12,283,267,23,91, + 202,141,141,141,141,12,12,36,123,123, + 123,260,190,56,56,12,210,154,23,210, + 201,190,283,46,161,128,12,217,190,283, + 12,16,12,270,200,190,283,283,283,283, + 132,132,12,23,205,91,114,12,156,12, + 12,34,247,260,56,56,23,23,201,23, + 218,11,190,23,44,12,141,161,136,12, + 12,23,71,12,12,63,63,91,15,121, + 270,283,190,283,283,123,87,202,154,182, + 12,12,75,23,116,18,12,23,23,106, + 106,190,218,104,12,12,46,132,71,82, + 136,87,71,71,23,11,202,283,267,165, + 23,12,23,87,171,23,154,255,23,210, + 23,97,167,114,71,12,102,12,91,121, + 106,106,177,104,205,71,218,44,283,82, + 23,270,87,87,114,222,23,12,255,248, + 12,181,34,270,171,97,94,108,18,71, + 71,207,167,12,75,89,210,205,61,283, + 23,205,255,222,153,116,12,12,75,12, + 12,198,198,114,94,204,12,210,12,231, + 210,75,75,11,12,23,61,205,255,23, + 114,184,12,283,75,210,270,255,23,12, + 12,23,138,108,11,132,11,210,210,281, + 87,222,186,69,18,114,210,157,270,41, + 41,175,149,12,71,12,114,12,12,12, + 12,150,12,218,112,114,114,218,99,283, + 11,11,283,23,205,283,23,154,157,114, + 12,220,12,12,150,12,150,285,285,193, + 12,285,114,114,12,23,41,61,205,23, + 114,12,41,150,283,18,283,273,23,12, + 283,175,69,198,283,283,23,150,12,150, + 114,18,141,150,220,205,12,99,99,16, + 71,12,235,114,283,13,68,170,150,283, + 114,13,12,150 }; }; public final static char nasb[] = Nasb.nasb; @@ -2014,35 +2053,35 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,152,150,119,149,148,5, - 2,0,33,93,92,64,5,2,9,10, - 4,0,156,0,4,174,0,5,10,9, - 2,13,4,45,0,108,0,136,2,65, - 0,42,1,0,5,100,168,0,4,95, - 0,4,195,0,143,0,5,2,9,10, - 139,0,193,0,4,177,0,159,0,125, - 0,67,129,42,10,9,2,13,5,0, - 13,2,9,10,5,81,0,153,188,0, - 153,183,0,75,0,175,0,4,178,0, - 136,65,0,184,0,42,55,0,107,0, - 162,0,42,160,0,172,5,171,0,191, - 0,2,113,0,62,0,161,0,4,10, - 9,2,64,5,88,49,0,4,39,38, - 0,4,67,0,44,2,3,0,48,42, - 179,4,39,0,4,45,196,0,45,4, - 180,0,141,0,2,44,0,67,39,48, - 68,4,42,0,93,92,49,64,58,5, - 10,9,2,0,4,29,0,4,48,80, - 100,46,5,0,111,0,4,45,39,0, - 33,92,93,4,0,39,4,23,181,0, - 65,138,137,0,5,100,192,0,106,0, - 114,4,48,80,0,121,102,0,1,121, - 0,65,49,0,93,92,49,5,58,0, - 4,48,80,82,0,5,10,9,13,3, - 1,0,2,5,119,115,116,117,13,85, - 0,45,4,33,0,38,5,2,9,10, - 4,158,0,49,5,88,23,4,0,2, - 56,0,4,45,101,0 + 3,13,10,9,153,151,120,150,149,5, + 2,0,164,0,34,94,93,65,5,2, + 9,10,4,0,43,1,0,154,190,0, + 4,176,0,158,0,5,10,9,2,13, + 4,46,0,142,0,144,0,177,0,5, + 2,9,10,140,0,108,0,4,179,0, + 126,0,76,0,4,197,0,68,130,43, + 10,9,2,13,5,0,13,2,9,10, + 5,82,0,154,185,0,63,0,195,0, + 2,45,0,43,162,0,161,0,43,56, + 0,193,0,155,0,109,0,174,5,173, + 0,4,40,39,0,4,10,9,2,65, + 5,89,50,0,137,66,0,66,139,138, + 0,4,96,0,2,114,0,49,43,181, + 4,40,0,34,93,94,4,0,68,40, + 49,69,4,43,0,122,103,0,94,93, + 50,5,59,0,94,93,50,65,59,5, + 10,9,2,0,163,0,5,101,194,0, + 1,122,0,186,0,4,30,0,45,2, + 3,0,40,4,24,183,0,107,0,137, + 2,66,0,4,68,0,66,50,0,2, + 57,0,5,10,9,13,3,1,0,112, + 0,115,4,49,81,0,4,46,198,0, + 5,101,170,0,4,180,0,2,5,120, + 116,117,118,13,86,0,39,5,2,9, + 10,4,160,0,4,49,81,83,0,4, + 49,81,101,47,5,0,50,5,89,24, + 4,0,46,4,182,0,4,46,40,0, + 46,4,34,0,4,46,102,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2056,12 +2095,12 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 70,73,76,83,89,98,7,8,112,53, 14,55,61,67,84,88,90,93,94,97, 99,109,110,111,19,63,91,101,77,95, - 122,103,1,46,58,78,121,20,33,44, + 122,103,1,46,58,78,121,20,44,33, 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 4,15,16,21,22,23,24,25,26,27, - 28,80,81,82,5,29,34,35,36,37, - 38,39,40,41,42,43,117,51,3,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2071,26 +2110,26 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, 130,135,136,0,0,134,0,0,229,235, - 133,0,143,132,0,0,142,148,0,0, - 149,158,180,159,160,161,162,163,151,164, - 165,166,126,141,167,168,0,128,131,169, - 0,129,138,137,152,177,0,0,0,0, - 0,0,0,0,172,0,145,155,0,204, - 0,187,201,205,0,0,127,171,0,0, - 0,0,0,0,206,175,0,0,0,0, - 125,178,0,0,186,0,0,202,212,157, - 208,209,210,0,0,146,0,0,207,220, - 174,196,0,0,211,0,0,0,0,240, - 241,0,147,179,189,190,191,192,193,195, - 0,198,0,199,0,214,217,0,0,219, - 0,238,0,239,0,0,139,140,144,0, - 0,154,156,0,170,0,181,182,183,184, - 185,188,0,0,194,0,197,203,0,215, - 216,0,0,221,224,0,226,228,0,232, - 233,234,237,124,0,150,153,0,173,0, - 176,0,0,200,213,218,0,0,222,223, - 225,227,0,230,231,236,242,243,0,0, - 0,0 + 133,0,143,0,132,0,0,142,148,0, + 0,149,158,180,159,160,161,162,163,151, + 164,165,166,126,141,167,168,0,128,131, + 169,0,129,138,137,152,177,0,0,0, + 0,0,0,0,0,172,0,145,155,0, + 204,0,187,201,205,0,0,127,171,0, + 0,0,0,0,0,206,175,0,0,0, + 0,125,178,0,0,186,0,0,202,212, + 157,208,209,210,0,0,146,0,0,207, + 220,174,196,0,0,211,0,0,0,0, + 240,241,0,147,179,189,190,191,192,193, + 195,0,198,0,199,0,214,217,0,0, + 219,0,238,0,239,0,0,139,140,144, + 0,0,154,156,0,170,0,181,182,183, + 184,185,188,0,0,0,194,0,197,203, + 0,215,216,0,0,221,224,0,226,228, + 0,232,233,234,237,124,0,150,153,0, + 173,0,176,0,0,200,213,218,0,0, + 222,223,225,227,0,230,231,236,242,243, + 0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2098,18 +2137,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 159,581,600,304,311,532,548,559,570,370, - 267,281,298,318,331,42,292,390,428,167, - 589,475,20,51,71,80,85,90,130,195, - 324,339,344,144,273,287,503,27,144,380, - 344,608,27,217,246,1,14,61,76,106, - 349,359,363,446,468,497,524,528,618,622, - 626,97,7,97,408,424,437,458,516,116, - 116,232,437,539,555,566,577,207,486,56, + 159,311,583,602,304,319,534,550,561,572, + 372,267,281,298,333,42,292,392,430,167, + 591,477,20,51,71,80,85,90,130,195, + 326,341,346,144,273,287,505,27,144,382, + 346,610,27,217,246,1,14,61,76,106, + 351,361,365,448,470,499,526,530,620,624, + 628,97,7,97,410,426,439,460,518,116, + 116,232,439,541,557,568,579,207,488,56, 56,156,222,225,56,241,262,225,225,56, - 367,465,472,156,56,641,110,353,412,452, - 56,353,399,177,104,450,630,637,630,637, - 65,418,137,104,104,251 + 369,467,474,156,56,643,110,355,414,454, + 56,355,401,177,104,452,632,639,632,639, + 65,420,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2117,18 +2156,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,135,5,5,5,5,377, - 135,95,135,135,337,48,278,396,434,173, - 67,481,25,25,25,59,59,95,135,200, - 329,329,337,149,278,101,508,38,152,385, - 595,613,32,211,211,5,18,5,59,95, - 329,95,95,135,244,5,5,5,5,5, - 244,639,11,101,377,377,377,462,508,120, - 125,236,441,543,543,543,543,211,490,59, + 18,135,5,5,135,135,5,5,5,5, + 379,135,95,135,339,48,278,398,436,173, + 67,483,25,25,25,59,59,95,135,200, + 331,331,339,149,278,101,510,38,152,387, + 597,615,32,211,211,5,18,5,59,95, + 331,95,95,135,244,5,5,5,5,5, + 244,641,11,101,379,379,379,464,510,120, + 125,236,443,545,545,545,545,211,492,59, 59,5,5,228,230,244,5,265,265,230, - 95,5,244,5,501,5,113,356,415,455, - 520,511,402,180,95,95,632,632,634,634, - 67,420,139,202,187,253 + 95,5,244,5,503,5,113,358,417,457, + 522,513,404,180,95,95,634,634,636,636, + 67,422,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2136,18 +2175,18 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,79,117,17,17,17,17,71, - 84,47,79,117,116,77,53,71,70,46, - 17,19,3,7,8,168,168,164,115,46, - 116,116,118,128,54,47,139,133,128,71, - 17,17,133,94,59,135,74,171,168,164, - 118,182,51,55,143,18,17,17,17,17, - 17,12,111,164,71,70,70,37,139,130, - 130,58,70,17,17,17,17,94,19,172, - 168,184,92,99,61,75,60,158,76,118, - 72,144,143,175,139,16,164,118,101,69, - 139,139,71,46,164,66,137,44,137,44, - 171,101,115,46,46,59 + 47,118,18,18,80,118,18,18,18,18, + 72,85,48,80,117,78,54,72,71,47, + 18,20,3,7,8,170,170,166,116,47, + 117,117,119,129,55,48,140,134,129,72, + 18,18,134,95,60,136,75,173,170,166, + 119,184,52,56,144,19,18,18,18,18, + 18,12,112,166,72,71,71,38,140,131, + 131,59,71,18,18,18,18,95,20,174, + 170,186,93,100,62,76,61,160,77,119, + 73,145,144,177,140,17,166,119,102,70, + 140,140,72,47,166,67,138,45,138,45, + 173,102,116,47,47,60 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2155,16 +2194,16 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,71,73,73,73,73,73, - 71,27,71,71,1,68,1,73,121,67, + 102,71,73,73,71,71,73,73,73,73, + 73,71,27,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,27,71,67, - 1,1,1,71,1,1,4,68,70,27, - 1,1,68,73,73,73,118,73,1,27, - 1,27,27,71,117,73,73,73,73,73, - 117,1,73,1,73,73,73,72,4,1, + 1,1,1,71,1,1,4,68,69,27, + 1,1,68,73,73,73,102,73,1,27, + 1,27,27,71,118,73,73,73,73,73, + 118,1,73,1,73,73,73,72,4,1, 1,6,73,68,68,68,68,73,3,1, - 1,73,73,3,1,117,73,1,1,1, - 27,73,117,73,5,73,1,48,69,72, + 1,73,73,3,1,118,73,1,1,1, + 27,73,118,73,5,73,1,48,70,72, 1,48,75,74,27,27,4,4,4,4, 3,1,67,1,1,3 }; @@ -2174,8 +2213,8 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 85,250,250,107,154,250,250,250,250,95, - 109,85,107,154,154,107,87,95,95,85, + 85,154,250,250,107,154,250,250,250,250, + 95,109,85,107,154,107,87,95,95,85, 250,250,182,226,226,54,54,82,154,85, 154,154,154,312,87,85,149,50,312,95, 250,250,50,141,63,26,95,30,54,82, @@ -2193,71 +2232,71 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 320,3,60,0,126,0,319,3,118,0, - 126,172,0,126,177,74,0,216,0,253, - 126,55,124,0,20,0,295,126,55,48, + 322,3,60,0,126,0,321,3,102,0, + 126,172,0,126,178,74,0,216,0,254, + 126,55,124,0,20,0,297,126,55,48, 0,20,53,0,33,132,0,20,53,0, - 0,295,126,55,48,202,0,20,178,0, - 253,126,55,132,0,178,127,0,141,0, - 217,3,294,0,294,0,2,0,126,0, - 253,126,55,131,0,178,127,222,0,178, - 127,22,222,0,178,127,315,22,0,128, - 187,166,127,0,128,0,187,166,127,0, - 134,128,0,170,0,311,126,170,0,126, - 170,0,222,128,0,166,310,241,0,136, - 0,0,0,0,135,0,0,0,0,309, - 126,164,252,0,127,0,252,0,129,0, - 0,127,0,308,126,164,251,0,127,0, - 0,44,127,0,0,151,3,0,126,282, - 281,126,74,280,170,0,281,126,74,280, - 170,0,215,0,216,0,280,170,0,96, + 0,297,126,55,48,203,0,20,178,0, + 254,126,55,132,0,179,127,0,141,0, + 218,3,296,0,296,0,2,0,126,0, + 254,126,55,131,0,179,127,223,0,179, + 127,22,223,0,179,127,317,22,0,128, + 188,167,127,0,128,0,188,167,127,0, + 134,128,0,171,0,313,126,171,0,126, + 171,0,222,128,0,167,312,242,0,136, + 0,0,0,0,135,0,0,0,0,311, + 126,165,253,0,127,0,253,0,129,0, + 0,127,0,310,126,165,252,0,127,0, + 0,44,127,0,0,152,3,0,126,284, + 283,126,74,282,171,0,283,126,74,282, + 171,0,215,0,216,0,282,171,0,96, 0,0,215,0,216,0,203,96,0,0, - 215,0,216,0,281,126,280,170,0,215, - 0,203,0,0,215,0,225,126,3,0, - 126,0,0,0,0,0,225,126,3,214, - 0,221,3,0,210,126,0,208,0,146, - 0,171,166,127,0,10,0,0,0,0, - 212,63,0,125,0,225,126,3,182,0, - 182,0,2,0,0,126,0,0,0,0, - 0,198,3,0,201,0,234,126,164,39, - 30,0,178,127,59,62,0,196,128,0, - 128,178,127,278,62,0,178,127,278,62, - 0,178,127,69,123,59,0,234,126,164, - 243,59,0,234,126,164,243,224,59,0, - 276,126,164,123,305,56,0,276,126,164, - 305,56,0,178,127,275,56,0,135,0, - 187,178,127,275,241,0,136,0,178,127, - 275,241,0,187,166,127,10,0,166,127, - 10,0,166,127,0,93,136,0,268,126, - 145,0,268,126,170,0,161,84,0,300, - 160,302,303,3,81,0,126,171,0,302, - 303,3,81,0,128,0,126,171,0,161, - 3,75,190,80,0,126,128,0,190,80, - 0,108,2,131,126,128,0,223,3,75, - 0,198,167,0,33,169,0,167,0,175, - 33,169,0,223,3,85,0,190,155,223, - 3,83,0,62,171,0,223,3,83,0, - 126,171,62,171,0,301,126,164,0,161, - 0,212,77,0,30,171,0,161,106,158, - 0,30,169,0,217,3,0,212,63,265, - 0,161,63,0,179,3,297,66,127,0, - 126,0,0,0,0,297,66,127,0,2, - 145,126,0,0,0,0,179,3,46,0, - 147,0,125,48,166,127,0,31,147,0, - 93,136,31,147,0,218,178,127,0,146, - 31,147,0,179,3,51,0,161,3,51, - 0,161,3,68,179,55,42,0,179,55, - 42,0,20,2,131,126,0,161,3,68, - 179,55,45,0,179,55,45,0,161,3, - 68,179,55,47,0,179,55,47,0,161, - 3,68,179,55,43,0,179,55,43,0, - 217,3,125,187,166,127,10,0,125,187, - 166,127,10,0,136,2,0,126,0,217, - 3,124,258,166,127,10,0,258,166,127, - 10,0,135,2,0,126,0,217,3,135, - 0,217,3,139,0,161,63,139,0,260, - 0,31,0,31,139,0,165,0,134,0, - 161,3,0 + 215,0,216,0,283,126,282,171,0,215, + 0,203,0,0,215,0,226,126,3,0, + 126,0,0,0,0,0,226,126,3,215, + 0,222,3,0,211,126,0,208,0,146, + 0,172,167,127,0,10,0,0,0,0, + 213,63,0,125,0,226,126,3,183,0, + 183,0,2,0,0,126,0,0,0,0, + 0,199,3,0,201,0,235,126,165,39, + 30,0,179,127,59,62,0,196,128,0, + 128,179,127,280,62,0,179,127,280,62, + 0,179,127,70,123,59,0,235,126,165, + 244,59,0,235,126,165,244,225,59,0, + 277,278,126,165,123,307,56,0,277,278, + 126,165,307,56,0,179,127,276,56,0, + 135,0,188,179,127,276,242,0,136,0, + 179,127,276,242,0,188,167,127,10,0, + 167,127,10,0,167,127,0,93,136,0, + 269,126,146,0,269,126,171,0,162,84, + 0,302,161,304,305,3,81,0,126,171, + 0,304,305,3,81,0,128,0,126,171, + 0,162,3,75,191,80,0,126,128,0, + 191,80,0,108,2,131,126,128,0,224, + 3,75,0,199,168,0,33,169,0,168, + 0,175,33,169,0,224,3,85,0,191, + 156,224,3,83,0,62,171,0,224,3, + 83,0,126,171,62,171,0,303,126,165, + 0,162,0,213,77,0,30,171,0,162, + 107,159,0,30,169,0,218,3,0,213, + 63,266,0,162,63,0,180,3,299,66, + 127,0,126,0,0,0,0,299,66,127, + 0,2,145,126,0,0,0,0,180,3, + 46,0,147,0,125,48,167,127,0,31, + 147,0,93,136,31,147,0,219,179,127, + 0,146,31,147,0,180,3,51,0,162, + 3,51,0,162,3,68,180,55,42,0, + 180,55,42,0,20,2,131,126,0,162, + 3,68,180,55,45,0,180,55,45,0, + 162,3,68,180,55,47,0,180,55,47, + 0,162,3,68,180,55,43,0,180,55, + 43,0,218,3,125,188,167,127,10,0, + 125,188,167,127,10,0,136,2,0,126, + 0,218,3,124,259,167,127,10,0,259, + 167,127,10,0,135,2,0,126,0,218, + 3,135,0,218,3,140,0,162,63,140, + 0,261,0,31,0,31,139,0,166,0, + 134,0,162,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2265,38 +2304,38 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 2827,4732,4724,4723,0,3281,2710,3173,2526,0, - 3640,3583,3520,3418,3362,3306,3250,3194,3138,2863, - 2807,3214,0,1630,0,3483,1385,997,0,2482, - 2475,0,3640,3583,1808,1724,3520,3418,3362,3306, - 3250,3194,1640,3138,2863,2807,2014,1934,0,4711, - 3513,4577,0,780,3251,0,3314,2833,0,4486, - 4376,0,4254,4486,4224,3072,4376,2938,3493,4289, - 3800,2410,3786,600,2572,581,2535,0,3000,797, - 0,3290,3122,0,3290,3122,4139,4459,4401,4130, - 4392,4320,3398,3620,3640,3583,3520,3418,3362,3306, - 3250,3194,3138,2863,2807,0,3290,3122,4139,4459, - 4401,4130,4392,4320,3398,3620,0,3394,3226,0, - 2410,4254,4708,4224,3072,4521,2572,3220,4270,4194, - 4499,3506,866,1039,870,0,2816,2061,1729,1253, - 3072,3506,2938,581,2535,3183,723,0,944,800, - 0,1268,0,4245,536,2893,0,4686,4662,4651, - 4635,4627,4616,4612,4589,4564,4550,4701,4529,4515, - 4697,4237,4154,2606,3110,3227,3115,2982,2990,2840, - 0,3527,2817,4686,4662,4651,2451,2194,4635,2108, - 4627,4616,4612,4589,4564,2617,3576,3537,4550,2887, - 4701,2812,2753,2568,2548,4529,4515,2528,4697,2489, - 4237,615,933,4154,2606,3110,2189,3227,3115,2982, - 4245,2103,2893,2990,2840,2273,1317,735,627,2552, - 2938,3493,4289,3800,2410,4254,3786,4486,4224,3072, - 600,2572,581,4376,2535,2740,2455,944,800,4108, - 2237,2285,2350,2318,2494,2423,2381,3046,2951,2784, - 2757,2683,2656,3763,3740,1329,3715,3085,4086,4064, - 4042,4020,3998,3976,3954,3925,3894,3872,3813,2716, - 1985,2199,2151,2113,2065,2027,1352,1275,1093,1230, - 886,1943,1050,828,747,689,536,1901,1859,1817, - 1775,1733,1691,1649,1607,1565,1523,1481,1439,1397, - 1188,1006,963,1145,0 + 4724,4828,4823,4805,0,4233,4211,4066,3234,0, + 3652,3595,3513,3410,3372,3334,3296,3258,3220,3000, + 2962,3505,0,3416,0,2102,1190,875,0,3130, + 2570,0,3652,3595,1983,1897,3513,3410,3372,3334, + 3296,3258,1811,3220,3000,2962,1553,1467,0,4747, + 3120,4691,0,4205,3261,0,3538,740,0,4515, + 4309,0,4276,4515,2819,3154,4309,3076,3486,4289, + 4067,2492,4053,605,2724,586,2703,0,747,746, + 0,4541,4531,0,4541,4531,4189,4459,4413,4116, + 4401,4355,4102,4343,3652,3595,3513,3410,3372,3334, + 3296,3258,3220,3000,2962,0,4541,4531,4189,4459, + 4413,4116,4401,4355,4102,4343,0,2770,2750,0, + 2492,4276,3531,2819,3154,4557,2724,2716,3451,3379, + 4547,3146,878,879,734,0,2200,1946,969,934, + 3154,3146,3076,586,2703,2965,2810,0,953,808, + 0,789,0,4245,541,2746,0,4740,4733,4687, + 4682,4668,4664,4657,4599,4582,4443,4815,4385,3573, + 4811,4758,4174,3471,2977,3467,3198,2755,2717,1384, + 0,2611,2607,4740,4733,4687,2247,2160,4682,621, + 4668,4664,4657,4599,4582,3115,3353,3283,4443,3206, + 4815,2981,2791,2634,2243,4385,3573,2156,4811,2871, + 4758,3658,2738,4174,3471,2977,652,3467,3198,2755, + 4245,599,2746,2717,1384,2558,1329,742,633,2618, + 3076,3486,4289,4067,2492,4276,4053,4515,2819,3154, + 605,2724,586,4309,2703,2538,2325,953,808,4030, + 1102,2291,2372,2339,2463,2434,2404,2938,2911,2675, + 2647,2577,2505,3776,3752,3728,3172,3089,4007,3984, + 3961,3938,3915,3892,3869,3846,3823,3800,2839,4080, + 2035,2252,2204,2165,2117,2078,1389,1341,1242,1286, + 894,1992,1059,835,754,695,541,1949,1906,1863, + 1820,1777,1734,1691,1648,1605,1562,1519,1476,1433, + 1199,1015,971,1155,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2304,61 +2343,61 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,296,126,267,51,42,45,47,43,10, + 0,298,126,268,51,42,45,47,43,10, 135,124,131,7,132,4,3,127,46,41, - 5,26,25,6,9,38,37,139,144,147, - 146,149,148,152,150,154,153,157,60,158, - 70,3,55,55,55,55,127,3,55,55, - 167,126,63,3,65,66,55,5,161,65, - 66,166,165,124,3,123,125,105,119,3, + 5,26,25,6,9,38,37,140,145,148, + 147,150,149,153,151,155,154,158,60,159, + 69,3,55,55,55,55,127,3,55,55, + 168,126,63,3,65,66,55,5,162,65, + 66,167,166,124,3,123,125,106,119,3, 63,89,91,26,25,93,92,6,95,94, 68,55,87,88,9,97,96,99,98,100, - 116,115,114,113,112,111,110,109,108,107, - 69,106,101,179,161,167,126,179,179,179, - 179,166,217,126,126,126,269,270,252,271, - 241,272,56,273,274,10,127,63,63,126, - 124,63,297,3,187,4,179,48,127,48, - 217,161,146,146,144,144,144,148,148,148, - 148,147,147,150,149,149,153,152,154,161, - 157,126,63,3,215,214,135,125,124,10, - 127,68,68,68,68,187,258,253,256,253, - 210,127,171,164,310,275,305,275,127,178, - 166,253,203,3,298,167,151,260,187,127, - 178,166,72,210,212,158,221,126,3,127, - 166,3,3,3,3,125,124,70,166,9, - 6,126,166,228,125,124,127,123,164,127, - 166,48,179,126,126,4,218,5,48,225, - 226,145,227,126,166,48,161,161,161,161, - 3,3,171,171,309,127,168,222,59,48, - 202,62,170,312,125,124,229,229,178,164, - 126,178,187,155,262,265,63,180,4,123, - 125,155,69,221,198,186,182,127,3,126, - 70,225,187,217,217,6,126,166,243,224, - 55,48,278,280,126,3,182,229,229,126, - 126,187,126,276,123,277,126,3,63,161, - 4,126,69,69,3,178,166,198,126,210, - 155,125,171,184,187,164,243,68,55,127, - 74,126,210,311,72,289,198,124,127,126, - 126,126,72,276,69,70,262,217,212,219, - 126,126,126,128,126,164,30,48,170,64, - 59,62,126,178,126,281,72,70,72,69, - 166,210,314,222,22,127,126,225,219,234, - 236,126,39,126,3,123,59,295,48,10, - 40,128,281,164,293,127,294,70,127,22, - 315,178,60,155,126,234,126,164,268,246, - 279,39,69,127,70,68,55,228,228,282, - 126,70,178,3,178,127,127,3,126,126, - 3,69,70,155,127,178,126,69,69,126, - 301,79,77,1,161,8,85,83,81,80, - 75,82,84,78,76,59,74,217,178,178, - 320,219,234,151,164,251,178,224,295,283, - 118,8,72,212,72,3,3,3,190,3, - 123,161,123,177,70,126,126,164,224,68, - 3,72,223,167,223,303,145,75,223,126, - 126,40,90,319,167,155,198,155,302,126, - 3,155,283,308,228,155,155,126,69,190, - 160,268,161,189,70,69,121,300,155,189, - 8,155 + 117,116,115,114,113,112,111,110,109,108, + 70,107,101,180,162,168,126,180,180,180, + 180,167,218,126,126,126,270,271,253,272, + 242,273,56,274,275,10,127,63,63,126, + 124,63,299,3,188,4,180,48,127,48, + 218,162,147,147,145,145,145,149,149,149, + 149,148,148,151,150,150,154,153,155,162, + 158,126,63,3,216,215,135,125,124,10, + 127,68,68,68,68,188,259,254,257,254, + 211,127,172,165,312,276,307,276,127,179, + 167,254,204,3,300,168,152,261,188,127, + 179,167,72,211,213,159,222,126,3,127, + 167,3,3,3,3,125,124,69,167,9, + 6,126,167,229,125,124,127,123,165,127, + 167,48,180,126,126,4,219,5,48,226, + 227,146,228,126,167,48,162,162,162,162, + 3,3,172,172,311,127,169,223,59,48, + 203,62,171,314,125,124,230,230,179,165, + 126,179,188,156,263,266,63,181,4,123, + 125,156,70,222,199,187,183,127,3,126, + 69,226,188,218,218,6,126,167,244,225, + 55,48,280,282,126,3,183,230,230,126, + 126,188,126,278,123,279,126,3,63,162, + 4,126,70,70,3,179,167,199,126,211, + 156,125,172,185,188,165,244,68,55,127, + 74,126,211,313,72,291,199,124,127,126, + 126,126,72,278,277,70,69,263,218,213, + 220,126,126,126,128,126,165,30,48,171, + 64,59,62,126,179,126,283,72,69,72, + 70,167,211,316,223,22,127,277,126,226, + 220,235,237,126,39,126,3,123,59,297, + 48,10,40,128,283,165,295,127,296,69, + 127,22,317,179,60,156,126,235,126,165, + 269,247,281,39,70,127,69,68,55,229, + 229,284,126,69,179,3,179,127,127,3, + 126,126,3,70,69,156,127,179,126,70, + 70,126,303,79,77,1,162,8,85,83, + 81,80,75,82,84,78,76,59,74,218, + 179,179,322,220,235,152,165,252,179,225, + 297,285,102,8,72,213,72,3,3,3, + 191,3,123,162,123,178,69,126,126,165, + 225,68,3,72,224,168,224,305,146,75, + 224,126,126,40,90,321,168,156,199,156, + 304,126,3,156,285,310,229,156,156,126, + 70,191,161,269,162,190,69,70,121,302, + 156,190,8,156 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2633,20 +2672,20 @@ public class CPPNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 542, + NUM_STATES = 544, NT_OFFSET = 122, - LA_STATE_OFFSET = 5786, + LA_STATE_OFFSET = 5982, MAX_LA = 2147483647, - NUM_RULES = 535, - NUM_NONTERMINALS = 202, - NUM_SYMBOLS = 324, + NUM_RULES = 540, + NUM_NONTERMINALS = 204, + NUM_SYMBOLS = 326, SEGMENT_SIZE = 8192, - START_STATE = 639, + START_STATE = 645, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 4886, - ERROR_ACTION = 5251; + ACCEPT_ACTION = 5074, + ERROR_ACTION = 5442; 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 c748ca7dc3b..ae4edf27c8a 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 @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -20,7 +20,7 @@ public interface CPPNoCastExpressionParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 40, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPNoCastExpressionParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 34, TK_reinterpret_cast = 45, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPNoCastExpressionParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPNoCastExpressionParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, - TK_Assign = 69, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, - TK_Comma = 70, - TK_RightBracket = 117, + TK_Assign = 70, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, + TK_Comma = 69, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 27, @@ -208,8 +208,8 @@ public interface CPPNoCastExpressionParsersym { "new", "LeftBrace", "GT", - "Assign", "Comma", + "Assign", "RightBrace", "Colon", "RightParen", @@ -241,6 +241,7 @@ public interface CPPNoCastExpressionParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPNoCastExpressionParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java index 324c6554ffd..c574bbaae44 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParser.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -1003,979 +1003,931 @@ public CPPNoFunctionDeclaratorParser(ITokenStream stream, Map<String,String> pro // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= char + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 263: simple_type_specifier ::= wchar_t + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // case 263: { action. consumeToken(); break; } // - // Rule 264: simple_type_specifier ::= bool + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 264: { action. consumeToken(); break; - } - - // - // Rule 265: simple_type_specifier ::= short - // - case 265: { action. consumeToken(); break; - } - - // - // Rule 266: simple_type_specifier ::= int - // - case 266: { action. consumeToken(); break; - } - - // - // Rule 267: simple_type_specifier ::= long - // - case 267: { action. consumeToken(); break; - } - - // - // Rule 268: simple_type_specifier ::= signed - // - case 268: { action. consumeToken(); break; - } - - // - // Rule 269: simple_type_specifier ::= unsigned - // - case 269: { action. consumeToken(); break; - } - - // - // Rule 270: simple_type_specifier ::= float - // - case 270: { action. consumeToken(); break; - } - - // - // Rule 271: simple_type_specifier ::= double - // - case 271: { action. consumeToken(); break; + case 277: { action. consumeQualifiedId(false); break; } // - // Rule 272: simple_type_specifier ::= void + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 272: { action. consumeToken(); break; + case 278: { action. consumeQualifiedId(false); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 275: { action. consumeQualifiedId(false); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 276: { action. consumeQualifiedId(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 277: { action. consumeQualifiedId(false); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 278: { action. consumeQualifiedId(true); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 280: { action. consumeTypeSpecifierElaborated(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 281: { action. consumeTypeSpecifierElaborated(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 282: { action. consumeTypeSpecifierElaborated(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } + // Rule 295: enumerator_definition ::= identifier_token // - case 284: { action. consumeTypeSpecifierEnumeration(false); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 285: { action. consumeTypeSpecifierEnumeration(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 291: enumerator_definition ::= identifier_token + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 291: { action. consumeEnumerator(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 292: enumerator_definition ::= identifier_token = constant_expression + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 292: { action. consumeEnumerator(true); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 294: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 294: { action. consumeNamespaceDefinition(true); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 295: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 295: { action. consumeNamespaceDefinition(false); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: typename_opt ::= typename // - case 297: { action. consumeNamespaceAliasDefinition(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 304: typename_opt ::= $Empty // - case 298: { action. consumeUsingDeclaration(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 299: typename_opt ::= typename + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action. consumePlaceHolder(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 300: typename_opt ::= $Empty + // Rule 306: asm_definition ::= asm ( stringlit ) ; // - case 300: { action. consumeEmpty(); break; + case 306: { action. consumeDeclarationASM(); break; } // - // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 307: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 301: { action. consumeUsingDirective(); break; + case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 302: asm_definition ::= asm ( stringlit ) ; + // Rule 308: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 302: { action. consumeDeclarationASM(); break; + case 308: { action. consumeLinkageSpecification(); break; } // - // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 314: init_declarator ::= complete_declarator initializer // - case 303: { action. consumeLinkageSpecification(); break; + case 314: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 304: { action. consumeLinkageSpecification(); break; + case 317: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 310: init_declarator ::= complete_declarator initializer + // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 310: { action. consumeDeclaratorWithInitializer(true); break; + case 319: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 322: basic_direct_declarator ::= declarator_id_name // - case 313: { action. consumeDeclaratorWithPointer(true); break; + case 322: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 323: basic_direct_declarator ::= ( declarator ) // - case 315: { action. consumeDeclaratorWithPointer(true); break; + case 323: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 318: basic_direct_declarator ::= declarator_id_name + // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 318: { action. consumeDirectDeclaratorIdentifier(); break; + case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 319: basic_direct_declarator ::= ( declarator ) + // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier // - case 319: { action. consumeDirectDeclaratorBracketed(); break; + case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 320: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 320: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 327: array_modifier ::= [ constant_expression ] // - case 321: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 327: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 328: array_modifier ::= [ ] // - case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 328: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 323: array_modifier ::= [ constant_expression ] + // Rule 329: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 323: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 329: { action. consumePointer(); break; } // - // Rule 324: array_modifier ::= [ ] + // Rule 330: ptr_operator ::= pointer_hook & pointer_hook // - case 324: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 330: { action. consumeReferenceOperator(); break; } // - // Rule 325: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 325: { action. consumePointer(); break; + case 331: { action. consumePointerToMember(); break; } // - // Rule 326: ptr_operator ::= pointer_hook & pointer_hook + // Rule 338: cv_qualifier ::= const // - case 326: { action. consumeReferenceOperator(); break; + case 338: { action. consumeToken(); break; } // - // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 339: cv_qualifier ::= volatile // - case 327: { action. consumePointerToMember(); break; + case 339: { action. consumeToken(); break; } // - // Rule 334: cv_qualifier ::= const + // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 334: { action. consumeToken(); break; + case 341: { action. consumeQualifiedId(false); break; } // - // Rule 335: cv_qualifier ::= volatile + // Rule 342: type_id ::= type_specifier_seq // - case 335: { action. consumeToken(); break; + case 342: { action. consumeTypeId(false); break; } // - // Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 343: type_id ::= type_specifier_seq abstract_declarator // - case 337: { action. consumeQualifiedId(false); break; + case 343: { action. consumeTypeId(true); break; } // - // Rule 338: type_id ::= type_specifier_seq + // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 338: { action. consumeTypeId(false); break; + case 346: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 339: type_id ::= type_specifier_seq abstract_declarator + // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 339: { action. consumeTypeId(true); break; + case 347: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 342: { action. consumeDeclaratorWithPointer(false); break; + case 351: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 352: basic_direct_abstract_declarator ::= ( ) // - case 343: { action. consumeDeclaratorWithPointer(true); break; + case 352: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 353: array_direct_abstract_declarator ::= array_modifier // - case 347: { action. consumeDirectDeclaratorBracketed(); break; + case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 348: basic_direct_abstract_declarator ::= ( ) + // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 348: { action. consumeAbstractDeclaratorEmpty(); break; + case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 349: array_direct_abstract_declarator ::= array_modifier + // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 349: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 356: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 352: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 358: { action. consumePlaceHolder(); break; } // - // Rule 353: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 353: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 359: { action. consumeEmpty(); break; } // - // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 354: { action. consumePlaceHolder(); break; + case 360: { action. consumePlaceHolder(); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 366: abstract_declarator_opt ::= $Empty // - case 355: { action. consumeEmpty(); break; + case 366: { action. consumeEmpty(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 356: { action. consumePlaceHolder(); break; + case 367: { action. consumeParameterDeclaration(); break; } // - // Rule 362: abstract_declarator_opt ::= $Empty + // Rule 368: parameter_declaration ::= declaration_specifiers // - case 362: { action. consumeEmpty(); break; + case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer // - case 363: { action. consumeParameterDeclaration(); break; + case 370: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 364: parameter_declaration ::= declaration_specifiers + // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 364: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 372: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 366: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 373: parameter_init_declarator ::= = parameter_initializer // - case 366: { action. consumeDeclaratorWithInitializer(true); break; + case 373: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 374: parameter_initializer ::= assignment_expression // - case 368: { action. consumeDeclaratorWithInitializer(true); break; + case 374: { action. consumeInitializer(); break; } // - // Rule 369: parameter_init_declarator ::= = parameter_initializer + // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 369: { action. consumeDeclaratorWithInitializer(false); break; + case 375: { action. consumeFunctionDefinition(false); break; } // - // Rule 370: parameter_initializer ::= assignment_expression + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 370: { action. consumeInitializer(); break; + case 376: { action. consumeFunctionDefinition(true); break; } // - // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 379: initializer ::= ( expression_list ) // - case 371: { action. consumeFunctionDefinition(false); break; + case 379: { action. consumeInitializerConstructor(); break; } // - // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 380: initializer_clause ::= assignment_expression // - case 372: { action. consumeFunctionDefinition(true); break; + case 380: { action. consumeInitializer(); break; } // - // Rule 375: initializer ::= ( expression_list ) + // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // - case 375: { action. consumeInitializerConstructor(); break; + case 382: { action. consumeInitializerList(); break; } // - // Rule 376: initializer_clause ::= assignment_expression + // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // - case 376: { action. consumeInitializer(); break; + case 383: { action. consumeInitializerList(); break; } // - // Rule 378: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 384: initializer_list ::= { <openscope-ast> } // - case 378: { action. consumeInitializerList(); break; + case 384: { action. consumeInitializerList(); break; } // - // Rule 379: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 385: start_initializer_list ::= $Empty // - case 379: { action. consumeInitializerList(); break; + case 385: { action. initializerListStart(); break; } // - // Rule 380: initializer_list ::= { <openscope-ast> } + // Rule 386: end_initializer_list ::= $Empty // - case 380: { action. consumeInitializerList(); break; + case 386: { action. initializerListEnd(); break; } // - // Rule 381: start_initializer_list ::= $Empty + // Rule 391: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 381: { action. initializerListStart(); break; + case 391: { action. consumeClassSpecifier(); break; } // - // Rule 382: end_initializer_list ::= $Empty + // Rule 392: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // - case 382: { action. initializerListEnd(); break; + case 392: { action. consumeClassHead(false); break; } // - // Rule 387: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 393: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 387: { action. consumeClassSpecifier(); break; + case 393: { action. consumeClassHead(false); break; } // - // Rule 388: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 388: { action. consumeClassHead(false); break; + case 394: { action. consumeClassHead(true); break; } // - // Rule 389: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 389: { action. consumeClassHead(false); break; + case 395: { action. consumeClassHead(true); break; } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 399: identifier_name_opt ::= $Empty // - case 390: { action. consumeClassHead(true); break; - } + case 399: { action. consumeEmpty(); break; + } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 403: visibility_label ::= access_specifier_keyword : // - case 391: { action. consumeClassHead(true); break; + case 403: { action. consumeVisibilityLabel(); break; } // - // Rule 395: identifier_name_opt ::= $Empty - // - case 395: { action. consumeEmpty(); break; - } - - // - // Rule 399: visibility_label ::= access_specifier_keyword : + // Rule 404: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 399: { action. consumeVisibilityLabel(); break; + case 404: { action. consumeDeclarationSimple(true); break; } // - // Rule 400: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 405: member_declaration ::= declaration_specifiers_opt ; // - case 400: { action. consumeDeclarationSimple(true); break; + case 405: { action. consumeDeclarationSimple(false); break; } // - // Rule 401: member_declaration ::= declaration_specifiers_opt ; + // Rule 408: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 401: { action. consumeDeclarationSimple(false); break; + case 408: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 404: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 414: member_declaration ::= ERROR_TOKEN // - case 404: { action. consumeMemberDeclarationQualifiedId(); break; + case 414: { action. consumeDeclarationProblem(); break; } // - // Rule 410: member_declaration ::= ERROR_TOKEN + // Rule 423: member_declarator ::= declarator constant_initializer // - case 410: { action. consumeDeclarationProblem(); break; + case 423: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 419: member_declarator ::= declarator constant_initializer + // Rule 424: member_declarator ::= bit_field_declarator : constant_expression // - case 419: { action. consumeMemberDeclaratorWithInitializer(); break; + case 424: { action. consumeBitField(true); break; } // - // Rule 420: member_declarator ::= bit_field_declarator : constant_expression + // Rule 425: member_declarator ::= : constant_expression // - case 420: { action. consumeBitField(true); break; + case 425: { action. consumeBitField(false); break; } // - // Rule 421: member_declarator ::= : constant_expression + // Rule 426: bit_field_declarator ::= identifier_name // - case 421: { action. consumeBitField(false); break; + case 426: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 422: bit_field_declarator ::= identifier_name + // Rule 427: constant_initializer ::= = constant_expression // - case 422: { action. consumeDirectDeclaratorIdentifier(); break; + case 427: { action. consumeInitializer(); break; } // - // Rule 423: constant_initializer ::= = constant_expression + // Rule 433: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 423: { action. consumeInitializer(); break; + case 433: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 429: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 434: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 429: { action. consumeBaseSpecifier(false, false); break; + case 434: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 430: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 430: { action. consumeBaseSpecifier(true, true); break; + case 435: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 431: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 431: { action. consumeBaseSpecifier(true, true); break; + case 436: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 432: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 437: access_specifier_keyword ::= private // - case 432: { action. consumeBaseSpecifier(true, false); break; + case 437: { action. consumeToken(); break; } // - // Rule 433: access_specifier_keyword ::= private + // Rule 438: access_specifier_keyword ::= protected // - case 433: { action. consumeToken(); break; + case 438: { action. consumeToken(); break; } // - // Rule 434: access_specifier_keyword ::= protected + // Rule 439: access_specifier_keyword ::= public // - case 434: { action. consumeToken(); break; + case 439: { action. consumeToken(); break; } // - // Rule 435: access_specifier_keyword ::= public + // Rule 441: access_specifier_keyword_opt ::= $Empty // - case 435: { action. consumeToken(); break; + case 441: { action. consumeEmpty(); break; } // - // Rule 437: access_specifier_keyword_opt ::= $Empty + // Rule 443: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 437: { action. consumeEmpty(); break; + case 443: { action. consumeTemplateId(); break; } // - // Rule 439: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 444: conversion_function_id ::= operator conversion_type_id // - case 439: { action. consumeTemplateId(); break; + case 444: { action. consumeConversionName(); break; } // - // Rule 440: conversion_function_id ::= operator conversion_type_id + // Rule 445: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 440: { action. consumeConversionName(); break; + case 445: { action. consumeTypeId(true); break; } // - // Rule 441: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 446: conversion_type_id ::= type_specifier_seq // - case 441: { action. consumeTypeId(true); break; + case 446: { action. consumeTypeId(false); break; } // - // Rule 442: conversion_type_id ::= type_specifier_seq + // Rule 447: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 442: { action. consumeTypeId(false); break; + case 447: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 443: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 453: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 443: { action. consumeDeclaratorWithPointer(false); break; + case 453: { action. consumeConstructorChainInitializer(); break; } // - // Rule 449: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 454: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 449: { action. consumeConstructorChainInitializer(); break; + case 454: { action. consumeQualifiedId(false); break; } // - // Rule 450: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 457: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 450: { action. consumeQualifiedId(false); break; + case 457: { action. consumeTemplateId(); break; } // - // Rule 453: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 458: operator_id_name ::= operator overloadable_operator // - case 453: { action. consumeTemplateId(); break; + case 458: { action. consumeOperatorName(); break; } // - // Rule 454: operator_id_name ::= operator overloadable_operator + // Rule 501: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 454: { action. consumeOperatorName(); break; + case 501: { action. consumeTemplateDeclaration(); break; } // - // Rule 497: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 502: export_opt ::= export // - case 497: { action. consumeTemplateDeclaration(); break; + case 502: { action. consumePlaceHolder(); break; } // - // Rule 498: export_opt ::= export + // Rule 503: export_opt ::= $Empty // - case 498: { action. consumePlaceHolder(); break; + case 503: { action. consumeEmpty(); break; } // - // Rule 499: export_opt ::= $Empty + // Rule 507: template_parameter ::= parameter_declaration // - case 499: { action. consumeEmpty(); break; + case 507: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 503: template_parameter ::= parameter_declaration + // Rule 508: type_parameter ::= class identifier_name_opt // - case 503: { action. consumeTemplateParamterDeclaration(); break; + case 508: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 504: type_parameter ::= class identifier_name_opt + // Rule 509: type_parameter ::= class identifier_name_opt = type_id // - case 504: { action. consumeSimpleTypeTemplateParameter(false); break; + case 509: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 505: type_parameter ::= class identifier_name_opt = type_id + // Rule 510: type_parameter ::= typename identifier_name_opt // - case 505: { action. consumeSimpleTypeTemplateParameter(true); break; + case 510: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 506: type_parameter ::= typename identifier_name_opt + // Rule 511: type_parameter ::= typename identifier_name_opt = type_id // - case 506: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 507: type_parameter ::= typename identifier_name_opt = type_id + // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 507: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 508: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 508: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 513: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 514: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 509: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 514: { action. consumeTemplateId(); break; } // - // Rule 510: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 519: template_argument ::= assignment_expression // - case 510: { action. consumeTemplateId(); break; + case 519: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 515: template_argument ::= assignment_expression + // Rule 520: template_argument ::= type_id // - case 515: { action. consumeTemplateArgumentExpression(); break; + case 520: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 516: template_argument ::= type_id + // Rule 521: explicit_instantiation ::= template declaration // - case 516: { action. consumeTemplateArgumentTypeId(); break; + case 521: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 517: explicit_instantiation ::= template declaration + // Rule 522: explicit_specialization ::= template < > declaration // - case 517: { action. consumeTemplateExplicitInstantiation(); break; + case 522: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 518: explicit_specialization ::= template < > declaration + // Rule 523: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 518: { action. consumeTemplateExplicitSpecialization(); break; + case 523: { action. consumeStatementTryBlock(true); break; } // - // Rule 519: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 524: try_block ::= try compound_statement // - case 519: { action. consumeStatementTryBlock(); break; + case 524: { action. consumeStatementTryBlock(false); break; } // - // Rule 522: handler ::= catch ( exception_declaration ) compound_statement + // Rule 527: handler ::= catch ( exception_declaration ) compound_statement // - case 522: { action. consumeStatementCatchHandler(false); break; + case 527: { action. consumeStatementCatchHandler(false); break; } // - // Rule 523: handler ::= catch ( ... ) compound_statement + // Rule 528: handler ::= catch ( ... ) compound_statement // - case 523: { action. consumeStatementCatchHandler(true); break; + case 528: { action. consumeStatementCatchHandler(true); break; } // - // Rule 524: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 524: { action. consumeDeclarationSimple(true); break; + case 529: { action. consumeDeclarationSimple(true); break; } // - // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 525: { action. consumeDeclarationSimple(true); break; + case 530: { action. consumeDeclarationSimple(true); break; } // - // Rule 526: exception_declaration ::= type_specifier_seq + // Rule 531: exception_declaration ::= type_specifier_seq // - case 526: { action. consumeDeclarationSimple(false); break; + case 531: { action. consumeDeclarationSimple(false); break; } // - // Rule 528: exception_specification ::= throw ( ) + // Rule 533: exception_specification ::= throw ( ) // - case 528: { action. consumePlaceHolder(); break; + case 533: { action. consumePlaceHolder(); break; } // - // Rule 534: no_function_declarator_start ::= ERROR_TOKEN + // Rule 539: no_function_declarator_start ::= ERROR_TOKEN // - case 534: { action. consumeEmpty(); break; + case 539: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java index 7f6dfe06115..6768db3407b 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParserprs.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -56,477 +56,492 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 0,5,7,8,1,1,2,2,3,2, - 3,1,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,1,0,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, + 0,5,7,2,8,1,1,2,2,3, + 2,3,1,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,1,0, + 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,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3,4,4,5,2,5, - 6,5,0,6,7,0,1,3,1,0, - 1,3,1,7,6,0,7,6,1,0, - 6,5,6,4,1,3,1,0,1,2, - 1,1,3,1,3,1,1,1,3,9, - 2,2,3,2,5,3,7,0,1,2, - 2,1,0,1,1,1,3,1,2,1, - 1,2,3,1,1,1,3,2,1,2, - 2,9,8,2,1,3,1,3,1,0, - 1,0,2,1,1,3,1,3,2,1, - 5,8,1,2,3,1,1,7,6,3, - 0,0,1,3,1,1,5,6,6,7, - 7,0,0,1,0,1,1,1,2,4, - 2,2,1,5,1,1,1,1,1,1, - 1,2,1,0,1,3,1,1,2,3, - 2,1,2,2,1,0,1,3,3,5, - 5,4,1,1,1,1,0,1,5,2, - 2,1,2,2,1,0,1,3,4,3, - 1,1,5,2,1,1,3,3,1,1, + 1,1,1,1,1,1,3,4,4,5, + 2,5,6,5,0,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 7,6,1,0,6,5,6,4,1,3, + 1,0,1,2,1,1,3,1,3,1, + 1,1,3,9,2,2,3,2,5,3, + 7,0,1,2,2,1,0,1,1,1, + 3,1,2,1,1,2,3,1,1,1, + 3,2,1,2,2,9,8,2,1,3, + 1,3,1,0,1,0,2,1,1,3, + 1,3,2,1,5,8,1,2,3,1, + 1,7,6,3,0,0,1,3,1,1, + 5,6,6,7,7,0,0,1,0,1, + 1,1,2,4,2,2,1,5,1,1, + 1,1,1,1,1,2,1,0,1,3, + 1,1,2,3,2,1,2,2,1,0, + 1,3,3,5,5,4,1,1,1,1, + 0,1,5,2,2,1,2,2,1,0, + 1,3,4,3,1,1,5,2,1,1, + 3,3,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,2,2,7,1,0,1, - 3,1,1,2,4,2,4,7,9,5, - 1,3,1,0,1,1,2,4,4,1, - 2,5,5,3,3,1,4,3,1,0, - 1,3,1,1,1,-110,0,0,0,-13, + 1,1,1,1,1,1,1,1,2,2, + 7,1,0,1,3,1,1,2,4,2, + 4,7,9,5,1,3,1,0,1,1, + 2,4,4,2,1,2,5,5,3,3, + 1,4,3,1,0,1,3,1,1,1, + -110,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,0,-300,0,0, - 0,0,0,0,0,-461,0,-2,0,0, - 0,0,0,-14,-21,0,0,-7,0,-116, - 0,0,0,-8,0,0,0,0,0,0, - 0,0,-127,0,0,0,0,0,0,0, + 0,0,0,-338,0,0,0,0,0,0, + 0,-73,0,-276,0,0,0,0,0,-13, + -21,0,0,0,0,-116,0,0,0,-2, + 0,0,0,0,0,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,-10,0,0,0,-131,0,0,0, + 0,0,0,0,0,0,0,0,-10,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,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-289,0,0, - -222,0,0,0,0,-117,0,0,0,-83, + 0,0,0,-289,0,0,-117,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-76,0,0, + -261,0,0,-152,-3,0,-397,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,0,0,0, - 0,0,0,0,0,0,0,0,0,-183, - 0,0,0,0,0,-3,0,0,0,-88, - 0,0,0,-93,0,-11,-293,-231,0,0, - 0,0,0,-77,0,0,0,0,0,0, + 0,0,0,0,0,0,-7,0,0,0, + 0,0,-249,0,0,0,0,0,-178,0, + -4,-78,-88,0,0,0,0,0,0,0, + -14,-77,0,0,0,0,0,0,0,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,0,-19,0,0,0,0, - 0,-473,0,0,0,0,-437,-334,0,-106, - 0,-27,0,0,0,0,0,0,0,0, - -261,0,0,0,-540,0,0,0,0,0, + 0,0,0,0,-8,0,0,0,0,0, + 0,0,0,0,-239,0,0,0,-11,0, + -19,0,0,0,0,0,0,0,-542,0, + 0,0,-27,0,0,0,0,0,0,0, + 0,-28,-112,0,0,-158,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,-28,-92,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-35,0,0,0,-219,0,0,0, + 0,-293,0,0,0,0,0,0,-188,0, + 0,0,0,0,-29,0,0,0,-171,0, + 0,0,-30,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,0, - 0,0,-337,0,0,-361,0,0,0,0, - 0,-162,0,0,0,-264,0,0,0,-171, + 0,0,0,0,0,0,0,0,0,-22, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-222,0,0,0,-274,0,0, + -50,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-220,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-188,0,0,0,0,0, - 0,-122,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-25,0,0, + 0,-31,0,0,0,0,-46,0,0,-33, + -15,0,0,0,0,0,0,0,-277,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-220,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-106, + 0,-34,0,0,0,0,0,-475,0,0, + 0,0,-5,0,0,0,0,0,0,0, + 0,0,0,0,0,-350,0,-223,0,0, + 0,-16,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-29, - 0,-152,0,0,0,-477,0,0,0,-457, - 0,0,0,0,-40,0,0,0,-277,0, + 0,0,0,0,-41,0,0,0,0,0, + 0,0,-118,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-231,0,0, + 0,-74,-6,0,0,0,-40,0,0,0, + 0,0,0,0,0,0,0,0,-38,0, + 0,0,-42,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,-83,0,0,0,0,-43,0, + 0,-194,0,0,0,-429,0,0,0,0, + 0,0,0,0,0,-362,0,0,0,0, + 0,-325,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,-23,0, - 0,0,0,0,0,0,0,-353,0,0, - 0,-194,0,0,0,0,0,0,0,0, - 0,0,0,0,-259,0,-485,0,0,0, - -16,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-44,0,0,0,0,0, + 0,0,-45,0,-75,0,-192,0,0,0, + 0,-90,0,0,-366,0,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,-422,0,0,0,-80,0, - 0,0,0,-50,0,0,0,-81,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-38,0,0, - 0,-25,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-39,0,-47,0,0, + 0,0,0,0,0,0,0,-367,0,0, + 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,0,0,0,0,0, - 0,-417,0,0,0,0,-33,0,0,-196, - 0,0,0,-34,0,0,0,0,0,0, - 0,0,0,0,0,-41,0,0,0,-325, 0,0,0,0,0,0,0,0,0,0, + -36,0,0,0,-218,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, - 0,-348,0,0,0,0,0,0,0,0, - 0,-46,-365,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,0,0, - 0,0,0,0,-44,0,-22,0,0,0, - 0,0,0,0,-161,-366,0,0,0,0, + 0,-59,0,0,0,-256,0,0,0,-60, + 0,-238,0,0,0,-61,0,0,0,-98, + -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,-396,0,0, - 0,0,0,0,0,-45,0,-112,0,-15, - 0,0,0,0,0,0,0,-36,0,0, - 0,-90,0,0,0,0,0,0,0,0, + 0,0,0,-233,0,0,0,0,0,0, + 0,0,0,0,0,-408,0,0,0,0, + 0,0,0,-139,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-249,0,-387, - 0,0,0,0,0,-47,-20,0,-70,0, - 0,0,-59,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-62,0,-389,0,0,0, + 0,0,0,0,0,0,-140,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-478,0,0,0,0,0,0,0, - 0,0,-139,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-257, + 0,0,0,0,0,0,0,-99,0,0, + 0,0,0,0,0,-162,0,0,0,-141, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-60,0,0,0,0,0, - 0,0,-61,0,0,0,-192,0,0,0, - 0,-223,0,0,-140,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, + -154,0,-418,0,0,0,0,0,0,-91, + 0,0,-142,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-406,0,-73,0,0,0, - 0,0,0,-74,0,0,-141,0,0,0, + 0,0,0,0,0,-63,0,0,0,0, + 0,0,0,-159,0,0,0,0,0,0, + 0,-227,-95,0,0,-143,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-299,0,-480,0, + 0,0,0,0,0,-343,0,0,-144,0, 0,0,0,0,0,0,0,0,0,0, - -62,0,0,0,0,0,0,0,-142,0, 0,0,0,0,0,0,0,0,0,0, + 0,-360,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-64,0,0, + 0,-145,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-31,0, - -532,0,0,0,0,0,-91,-63,0,0, - -143,0,0,0,-64,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, - -39,0,0,0,0,0,0,0,-95,-75, - 0,0,-144,0,0,0,0,0,0,0, + 0,0,-316,0,-534,0,-161,0,0,0, + -65,0,0,0,-146,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-399,0,0, + 0,0,0,0,0,-66,0,0,0,-163, + 0,0,0,-67,0,0,0,-147,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-299,0,-533,0,0,0,0,0, - -343,-65,0,0,-145,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-98,0,0,0, + -267,0,0,0,0,0,0,0,-228,0, + -535,0,0,0,0,0,-68,-190,0,0, + -148,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-66,0,0,-146,0,0,0, + 0,0,0,-268,0,0,0,0,0,0, + 0,-243,0,0,0,0,0,0,0,-69, + -198,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,0,0,-67,0, - 0,0,0,0,0,0,-99,0,-26,0, - 0,0,0,0,-68,-218,0,0,-147,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-71,0,-26,0,0,0, + 0,0,-479,0,0,0,-170,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-154,0, - -37,0,0,0,0,0,-69,-71,0,0, - -148,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-96,0,-37, + 0,0,0,0,0,-97,-348,0,0,-254, 0,0,0,0,0,0,0,0,0,0, - -159,0,-107,0,0,0,0,0,-96,-97, - 0,0,-149,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,0, - 0,0,-153,0,-108,0,-163,0,0,0, - -190,0,0,0,-170,0,0,0,-155,0, + -115,0,-107,0,-454,0,0,0,-153,-155, + 0,0,-537,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,0,0, - 0,0,0,0,-156,0,-172,0,-427,0, - 0,0,-198,-157,0,0,-254,0,0,0, - -166,0,0,0,0,0,0,0,0,0, + 0,0,0,-248,0,-108,0,0,0,0, + 0,-157,-113,0,0,-351,0,0,0,-313, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-452,0,-173,0, - 0,0,0,0,-167,-168,0,0,-535,0, - 0,0,-174,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-175,0, - -179,0,0,0,0,0,-35,-176,0,0, - -351,0,0,0,-516,0,0,0,0,0, + 0,0,0,0,0,0,-255,0,-183,0, + 0,0,0,0,-361,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, - -228,0,0,0,0,0,0,0,-360,0, + 0,0,0,0,0,-519,0,0,0,0, + 0,0,0,-390,0,0,-419,0,0,0, + 0,-374,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-517,0, - 0,0,-177,0,0,0,-389,0,0,-233, - 0,0,-239,0,0,-373,0,0,0,0, + 0,0,-269,0,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,0,0,0,0,0,-185,0,0, - 0,0,0,0,0,-243,0,0,0,0, - 0,0,0,-391,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-270,0,0,0,0,0,0,0,-275, + 0,0,0,-428,0,0,0,-393,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-248,0,-186,0,0,0,0, - 0,-238,0,0,0,0,-426,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,0,0,0,0,0,0,0,0, - 0,0,0,0,-187,0,0,0,-464,0, + 0,0,-353,0,0,0,-466,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,0,0,0,-272,0,-167, + 0,0,0,0,0,0,0,0,-168,-447, + 0,0,0,-151,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -199,0,0,0,0,0,0,0,-255,0, - -224,0,0,0,0,0,0,0,0,-257, - -200,-445,0,0,0,-151,0,0,0,0, + 0,0,0,0,0,0,-377,0,0,0, + 0,0,0,0,0,0,-23,0,-174,0, + 0,-175,-138,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,-303,0,-202, - 0,-193,0,-138,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-197,0,-136,0,0, - 0,-241,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-137, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-203,0,0,0,0,0,0,0,-133, - 0,0,0,-204,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-205,0,0,0,0,0,0,-134,0, - 0,0,-488,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -206,0,0,0,0,0,-135,0,0,0, - -267,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-207,0, - 0,0,0,0,-407,0,0,0,0,0, - 0,0,0,0,0,0,0,-128,0,0, - 0,-113,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-350, - 0,0,0,0,-275,0,0,0,-6,0, - 0,0,-250,0,0,0,0,0,0,-269, - -284,0,0,0,0,0,0,0,-290,0, - 0,0,-208,-94,0,0,0,0,0,0, - 0,0,0,0,0,0,-383,0,0,0, - -309,0,0,-265,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-129, - 0,0,0,-292,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-286,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-160,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,-209,0, - 0,0,0,-313,-310,-191,0,0,-210,0, - -245,-211,-79,0,0,0,0,-356,0,0, - 0,0,-118,-212,-253,0,0,0,-85,0, - 0,0,-305,0,0,0,0,0,0,0, - 0,0,0,0,0,-213,0,0,0,0, - 0,-214,0,-276,0,-328,0,0,0,0, - 0,0,0,0,0,0,0,0,-371,0, - 0,0,0,0,0,0,-341,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-291,0,-215,0,0,0,0,0,-530, - -158,-386,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -443,-385,-219,0,0,0,-4,0,0,0, - 0,0,-9,-270,-507,-242,0,0,0,0, - 0,0,0,0,-216,0,0,0,0,0, - 0,-272,-217,0,0,0,0,0,0,0, - 0,-225,0,-230,0,0,0,0,0,-298, - 0,0,0,0,0,0,0,0,-462,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-234,0,-400,0,0,0, - 0,-24,0,0,0,-235,0,0,0,0, + 0,0,0,-176,0,-172,0,-136,0,0, + 0,-173,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, + -137,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-295,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-12,0,0,0,-132,0, + 0,-133,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-376,0,0,0,0,0, + 0,-134,0,0,0,-177,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -304,0,0,0,0,0,0,0,0,-316, - -18,0,0,0,0,-268,0,0,0,0, - -381,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-296,0,0,0,0,0, - 0,0,0,-471,0,-119,0,0,0,0, - 0,0,-338,0,0,-236,0,-273,0,0, - -307,-444,0,0,0,0,0,0,0,0, - 0,0,0,0,-237,0,-308,0,0,-491, - 0,0,0,0,0,0,-274,0,0,0, - 0,0,-260,0,0,0,0,0,-48,0, - -101,0,0,-357,0,-262,-312,0,0,0, - 0,0,0,0,0,0,0,0,0,-324, + 0,0,0,0,-490,0,0,0,0,0, + -135,0,0,0,-185,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-493,0,-150,0,0,-263, - 0,-388,-282,0,0,0,0,0,0,0, - 0,0,0,0,-333,0,0,-318,0,-182, - -413,0,0,0,0,-342,0,0,-283,0, - -508,0,0,0,0,0,0,0,0,0, + 0,0,0,-186,0,0,0,0,0,-127, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-32,0,0,0,0,-319,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-474,0,0,0,0, - 0,0,0,0,0,-523,0,0,0,0, - 0,0,0,0,0,0,-285,0,0,0, - 0,0,0,0,-345,0,-287,0,0,0, - 0,0,0,0,0,0,-375,0,-347,0, - 0,-525,0,0,0,0,-82,0,0,-359, - -294,0,0,0,-320,0,0,0,0,0, - -496,0,-301,0,0,-271,0,0,0,-321, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-331,-362,0,0,0,0, - 0,0,0,0,0,0,-529,0,0,0, - 0,0,-169,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-448, - 0,0,0,-358,-376,0,0,-363,0,0, - 0,0,0,-109,0,0,0,0,0,-302, - -374,-232,0,0,0,0,0,0,0,0, - 0,0,0,0,-311,0,0,0,-256,0, - -306,0,0,0,0,0,0,0,0,0, - -534,0,0,0,0,0,0,0,0,0, - 0,0,0,-123,0,0,0,-314,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-49, - 0,0,0,-395,-105,0,0,0,0,0, - 0,-415,0,0,0,0,0,0,0,-315, - -317,0,0,0,-541,-322,-537,-297,0,0, - 0,0,0,0,0,0,-326,-403,0,-414, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-355,0,-327, - -544,0,0,0,0,0,0,0,0,-369, - 0,0,0,0,0,0,0,0,0,-335, - 0,0,0,-481,0,0,0,-384,0,0, - 0,0,0,0,0,0,0,0,0,0, - -378,-339,0,0,0,0,0,0,0,-340, - 0,0,0,0,0,-402,0,0,-398,0, - -352,-410,0,0,0,0,0,0,0,0, - 0,0,0,0,-368,0,0,0,-354,0, - 0,0,0,0,0,0,0,0,-527,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-124,0,0,0,-370,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-252,0,0,0,-401, - -379,0,0,-382,0,0,0,0,-332,0, - 0,0,-424,-425,0,0,0,0,0,0, - 0,0,-394,-429,-165,0,0,0,-435,0, - -408,0,0,0,0,0,0,0,-1,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-409,0,-421,-72,0,0,0,0,-411, - 0,0,0,-125,0,0,0,-412,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-428,0,0, - 0,0,-418,-420,-433,0,0,0,0,-432, - 0,0,-440,0,-441,-482,0,0,0,-455, - 0,-451,0,0,0,-126,0,0,0,0, - 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, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-52,0,0,0,-463, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-53,0,0, - 0,-465,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-467, - -468,-469,0,-54,0,0,0,-484,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-55,0,0,0,-470, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-56,0,0, - 0,-472,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,0,0,0,0,0,0,0,0,0, - 0,-58,0,0,0,-487,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-111,0,0,0,-489,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-120,0,0,0,-490, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-121,0,0, - 0,-492,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-180, - 0,0,0,-497,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-246,0,0,0,-84,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,0,0,0,0,0,-454,0,0,0, - 0,0,0,0,0,0,0,0,0,-278, - -434,-431,-439,0,-377,0,0,-442,0,-447, - -502,0,-501,0,0,-405,0,-506,-503,0, - -513,-466,0,-522,0,-514,0,0,-524,0, - 0,0,0,-475,-531,0,0,0,0,0, - 0,0,-323,0,0,-479,0,0,0,0, - 0,0,0,-536,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -78,0,0,-178,-181,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-453,0,0,0,0, - -504,-5,0,0,0,0,0,0,0,0, - 0,0,0,0,-519,0,0,0,0,0, - 0,-509,-266,0,-372,0,0,0,0,0, - 0,0,0,0,0,-364,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-240,0,0,0,0, - 0,0,0,0,0,-476,-86,0,0,0, - 0,0,0,0,0,0,0,0,0,-17, - 0,0,0,-399,0,0,0,0,0,0, - 0,0,-87,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-511,0,0,0, - -279,0,-344,0,0,0,0,0,0,-486, - -480,0,0,-499,-515,-446,0,0,0,0, - 0,0,0,-500,0,-505,0,0,0,0, - 0,0,0,-520,0,0,0,0,0,0, + 0,0,-388,0,0,0,0,-128,0,0, + 0,-359,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-521,0, - -102,0,0,0,0,0,0,0,0,0, - 0,0,-526,0,-416,0,0,0,0,0, - 0,0,0,0,0,0,-349,0,0,0, + 0,0,0,0,0,-129,0,0,0,-245, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-380,0,0,0,0,0, - 0,0,0,0,-404,0,0,0,0,0, - 0,-538,0,-430,0,0,0,0,0,0, - 0,0,0,-280,0,0,0,0,0,0, - -543,0,0,0,0,0,0,-539,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-130,0,0,0,-187,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-297,0,0,0, + 0,-409,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-24,0,0,0,-199, + 0,-240,-18,0,0,0,0,-304,0,0, + -365,0,-286,0,0,0,0,0,0,0, + 0,0,0,0,0,-253,-94,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-542,0, - 0,0,0,0,-438,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-89, - 0,0,0,-221,0,-288,0,0,0,0, - 0,-510,0,0,0,0,0,0,0,0, + 0,-264,0,-303,0,0,0,0,0,-337, + -292,0,-200,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,-334,-307, + 0,0,0,0,0,0,0,0,0,-201, + 0,0,0,0,0,0,-446,0,0,0, + -202,0,-417,0,0,0,0,0,0,-79, + 0,0,-309,0,0,0,0,0,-290,0, + 0,0,0,0,-298,0,-385,0,-387,0, + 0,0,-203,-310,0,0,0,0,0,0, + -204,0,0,0,0,0,0,0,-132,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,-305,0,0,0,0, + 0,0,0,0,0,0,0,0,-182,0, + 0,0,0,0,0,0,0,-288,0,0, + -206,0,-328,0,0,0,0,0,0,0, + 0,0,0,0,0,-295,0,0,0,0, + 0,0,0,0,0,0,-230,0,0,-384, + 0,0,-396,0,0,0,0,0,0,0, + -12,0,0,0,0,0,-196,0,0,0, + 0,0,0,0,0,0,0,0,0,-300, + 0,0,-207,0,0,0,0,-445,0,0, + 0,0,-415,0,0,0,-356,0,0,0, + 0,0,0,0,0,0,0,0,-9,-434, + 0,0,0,0,0,0,0,-181,0,-208, + 0,0,0,0,0,0,0,0,-405,-191, + 0,0,-193,0,0,0,0,-209,0,0, + 0,0,0,-498,0,-464,-357,0,0,0, + -532,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-252, + 0,0,0,0,0,0,0,-402,0,-416, + 0,0,0,0,0,0,0,-210,0,-271, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-308,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -123,0,0,0,-211,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-473,0,0,-401,0,-197,-169, + 0,0,0,-212,0,-213,-394,0,0,-93, + 0,-214,-412,-232,0,0,0,0,0,-241, + -450,0,0,0,0,-72,0,0,0,0, + -215,0,0,0,0,0,0,-482,0,-216, + 0,0,0,0,0,0,0,0,0,-493, + 0,-217,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-225,0,-250,0,0,0,-234, + 0,-89,0,0,0,0,-324,-101,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-495,0,-333,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-375,0,0,-235,0,-32, + 0,0,0,0,0,0,0,-160,0,0, + 0,0,-236,0,0,0,0,0,0,-237, + 0,0,0,0,0,-404,0,0,0,0, + 0,-510,0,-260,0,0,-85,-165,0,0, 0,0,0,0,0,0,0,0,0,0, + -431,0,0,-262,0,-483,0,0,0,-263, + -282,-283,0,-189,0,0,0,-285,-287,-294, + 0,0,0,-439,0,0,-284,0,0,0, + 0,-301,0,0,0,0,0,-525,0,-302, + 0,0,-521,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-189,0,0,0,-367,0, + 0,-296,0,0,0,-291,0,0,0,-195, + 0,0,0,0,-342,-345,0,0,0,0, + 0,-306,-318,0,0,0,0,-319,0,0, + 0,0,0,-527,0,-314,-82,0,0,-484, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-109,-273,0, + 0,0,-315,-317,0,-226,0,0,0,0, + -326,-102,0,0,0,0,0,-312,0,0, + 0,0,0,-320,0,0,0,0,0,-531, + 0,0,-327,0,0,0,0,-321,0,0, + 0,0,0,0,0,0,0,0,-426,0, + 0,0,0,0,-476,-335,0,0,0,-331, + 0,0,0,0,-339,0,-424,0,0,0, + 0,0,0,0,-340,-347,0,0,0,0, + 0,0,0,0,0,0,0,-352,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-536,0,0,0,0,0, + 0,0,0,0,0,0,0,-124,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,0, + 0,0,-229,0,0,0,-346,0,0,0, + -363,-355,-330,0,0,0,0,-84,-354,-427, + -86,-543,0,0,0,0,0,0,0,-371, + -370,-437,0,0,0,0,0,0,-364,0, + 0,0,-380,0,0,-379,0,0,-329,0, + 0,0,0,0,-383,0,0,0,0,-395, + 0,0,0,0,0,-410,0,-463,0,0, + 0,0,0,0,0,0,0,-546,0,0, + -403,0,0,-311,0,0,0,0,-423,0, + 0,0,0,0,0,0,0,-411,0,-413, + 0,0,0,0,0,0,0,0,0,0, + -509,-400,-414,0,0,0,0,0,-430,-372, + 0,0,0,-433,0,0,0,0,0,0, + 0,0,0,0,0,-420,0,-358,-332,0, + 0,0,0,0,-422,0,0,0,0,0, + 0,0,-125,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-518,0,-126,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -435,0,-369,0,0,0,-442,0,0,0, + 0,0,0,0,0,-457,-529,0,0,0, + 0,0,0,0,0,0,0,0,0,-443, + 0,-436,-398,0,0,0,-453,0,-481,-1, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-465,0,-421,0,0,0,0, + 0,0,0,0,0,0,0,0,-441,-444, + -467,0,0,0,0,0,0,0,0,0, + 0,-378,-119,-449,-468,0,0,0,-477,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-226,0,0,0,-229,0,0, - 0,0,0,0,0,-346,0,0,0,0, - -483,0,0,0,0,0,0,-397,0,0, - 0,0,0,-419,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-329,0, + 0,-478,0,0,0,-469,-322,0,-504,0, + 0,-470,0,0,0,0,-506,-471,-472,0, + 0,0,0,0,-474,-489,-486,0,0,0, + 0,0,0,0,0,0,0,0,0,-491, + 0,-492,0,0,0,-17,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-103, + 0,0,0,0,0,0,-488,-511,-501,-513, + -51,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-494,0,0,-499,0,-502, + 0,0,0,0,0,0,0,0,0,0, + -503,-52,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,0,0,0,0,0, + 0,0,0,0,0,0,0,-54,0,0, + 0,-508,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -55,0,0,0,-516,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-56,0,0,0,-526,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-57,0,0,0, + -533,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-58, + 0,0,0,-538,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-111,0,0,0,0,0,0,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,-121,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-180,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-246,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-391,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-423,0,0, - 0,0,0,-436,0,0,0,0,-449,0, - 0,0,0,0,-450,0,0,0,0,0, -456,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-512, - 0,0,0,0,0,0,0,0,0,-393, - 0,0,0,0,0,-100,0,0,0,0, - 0,0,0,0,0,0,-114,0,0,0, + 0,0,0,0,-507,-505,-150,-539,-407,0, + 0,0,0,-323,-459,0,0,0,-515,-455, + -373,0,0,0,0,-487,0,0,-524,0, + -528,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-540,0,0,0,0, + -517,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-425,0,0,0,-522, + -523,-541,-545,0,0,0,0,0,0,-544, + 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,0,0, 0,0,0,0,0,0,0,0,0,0, - -164,0,0,0,0,0,-281,0,0,0, - 0,-458,0,-104,0,0,0,0,0,0, - 0,-244,0,0,0,0,-251,0,0,0, - 0,0,0,0,0,0,0,-258,0,0, - 0,0,0,0,0,0,0,0,0,-336, + 0,0,0,0,0,0,0,0,-103,0, + 0,0,0,0,0,0,0,-265,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-494,-495,0,0,0,0,0,0, - 0,0,0,-498,0,0,0,0,-247,0, - 0,0,0,-459,0,0,-528,0,0,0, + -344,0,0,0,0,0,0,0,0,-349, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-460, - -518,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-381,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0 + 0,0,0,0,-49,0,0,0,0,0, + -278,-406,-386,-279,0,0,0,0,0,0, + -432,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,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-512,0,0,0,0,0, + 0,0,0,0,0,0,0,-382,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-221,0,0,0,0,0,0, + 0,-266,0,-242,0,0,0,0,0,0, + 0,0,0,0,0,-368,0,0,0,0, + 0,-104,0,0,0,0,0,0,0,-514, + -448,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-438,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-451,0,0,0,0,0,0,0, + 0,0,0,0,-452,0,0,0,0,0, + 0,0,0,0,0,-458,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,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-100,0, + 0,0,0,-114,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-105,0,0,0,0,0,0,0, + 0,0,0,-460,0,0,0,0,0,-164, + 0,0,0,0,0,-244,0,0,0,0, + -251,0,0,0,0,0,0,0,0,0, + 0,0,-258,0,0,0,0,0,-485,-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,-497,0, + 0,0,0,0,0,0,0,0,-500,0, + 0,0,0,-247,0,0,0,0,0,0, + 0,0,0,0,0,0,-461,0,-462,0, + 0,0,0,-520,0,0,0,0,0,0, + 0,0,0,0,0,0,-280,0,0,0, + 0,0,0,0,0,0,0,-281,0,0, + -336,0,0,-530,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,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; @@ -536,532 +551,548 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface BaseAction { public final static char baseAction[] = { - 174,4,135,80,80,32,32,66,66,38, - 38,42,42,200,1,1,15,15,15,15, - 15,15,15,16,16,16,14,11,11,6, - 6,6,6,6,6,2,64,64,5,5, - 12,12,44,44,136,136,137,59,59,43, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17, - 138,138,138,115,115,18,18,18,18,18, - 18,18,18,18,18,18,18,18,19,19, - 175,175,176,176,177,141,141,142,142,139, - 139,143,140,140,20,20,21,21,23,23, - 23,24,24,24,24,25,25,25,26,26, - 26,27,27,27,27,27,28,28,28,29, - 29,31,31,33,33,35,35,36,36,37, - 37,41,41,40,40,40,40,40,40,40, - 40,40,40,40,40,40,39,30,144,144, - 94,94,178,178,89,201,201,67,67,67, - 67,67,67,67,67,67,68,68,68,65, - 65,56,56,179,179,69,69,69,100,100, - 180,180,70,70,70,181,181,71,71,71, - 71,71,72,72,81,81,81,81,81,81, - 81,81,50,50,50,50,50,116,116,114, - 114,51,182,22,22,22,22,22,48,48, - 84,84,84,84,84,151,151,146,146,146, - 146,146,147,147,147,148,148,148,149,149, - 149,150,150,150,85,85,85,85,85,86, - 86,86,13,13,13,13,13,13,13,13, - 13,13,13,95,120,120,120,120,120,120, - 118,118,118,152,119,119,183,154,154,153, - 153,122,122,101,78,78,123,53,47,155, - 155,54,52,83,83,156,156,145,145,103, - 103,104,74,74,157,157,62,62,57,57, - 158,63,63,75,75,60,60,60,49,87, - 87,97,96,96,61,61,58,58,55,55, - 45,98,98,98,90,90,90,91,91,92, - 92,92,93,93,105,105,105,107,107,106, - 106,202,202,88,88,185,185,185,185,185, - 125,46,46,160,184,184,126,126,127,127, - 127,128,162,186,186,34,34,117,129,129, - 129,129,188,109,108,108,121,121,121,163, - 164,164,164,164,164,164,164,164,164,164, - 164,190,190,187,187,189,189,165,166,166, - 166,166,167,191,111,110,110,192,192,168, - 168,168,168,99,99,99,193,193,8,8, - 9,194,194,195,169,159,159,170,170,171, - 172,172,7,7,10,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,76,79,79, - 173,173,131,131,132,132,132,132,132,132, - 3,133,133,130,130,112,112,82,77,73, - 161,161,113,113,197,197,197,134,134,124, - 124,198,198,174,174,102,1119,35,2205,2156, - 1179,4475,27,30,31,584,578,26,28,2108, - 25,23,50,1373,106,76,77,108,221,1435, - 1531,1443,1585,1578,1704,1662,2551,1745,1234,1729, - 273,1787,1788,143,1446,56,158,144,1167,688, - 1600,35,736,32,2077,4520,27,30,31,584, - 578,57,28,3023,35,736,32,232,3360,27, - 30,31,584,578,26,28,1366,25,23,50, - 1373,106,76,77,108,321,1435,1531,1443,2394, - 235,230,231,502,1093,990,34,3023,35,736, - 32,274,3360,27,30,31,584,578,26,28, - 1366,25,23,50,1373,106,76,77,108,322, - 1435,1531,2543,242,245,248,251,670,2377,35, - 277,502,35,2946,2451,1118,2035,35,736,32, - 1335,4520,27,30,31,584,578,56,28,520, - 1830,1661,2663,1109,3197,3966,4177,4203,2250,35, - 736,32,2852,3360,27,30,31,584,578,26, - 28,1366,25,23,50,1373,106,76,77,108, - 340,1435,1531,1443,1585,1578,1704,1662,61,1745, - 2217,1729,3559,1787,1788,143,1322,2423,515,144, - 327,35,279,3284,1993,4711,2164,1347,502,35, - 990,276,2941,516,2250,35,736,32,2852,3360, - 27,30,31,584,578,26,28,1366,25,23, - 50,1373,106,76,77,108,340,1435,1531,1443, - 1585,1578,1704,1662,2298,1745,924,1729,2852,1787, - 1788,143,502,4234,515,144,776,2235,2484,3284, - 1616,2852,1725,2083,1138,350,2607,863,3253,516, - 511,1249,35,293,60,2122,35,736,32,2607, - 4737,27,30,31,584,578,26,28,1879,509, - 160,1905,1285,1903,2250,35,736,32,2852,3360, - 27,30,31,584,578,26,28,1366,25,23, - 50,1373,106,76,77,108,340,1435,1531,1443, - 1585,1578,1704,1662,2210,1745,511,1729,2623,1787, - 1788,143,358,2043,515,144,502,3338,2941,3284, - 42,1956,2207,1603,1914,503,236,1905,94,516, - 2526,35,736,32,1991,3360,27,30,31,584, - 578,26,28,1366,25,23,50,1373,106,76, - 77,108,558,1435,1531,1443,1585,1578,1704,1662, - 310,1745,776,1729,2031,1787,1788,143,501,502, - 376,144,1611,863,1653,327,35,279,88,351, - 4732,102,3023,35,736,32,511,3360,27,30, - 31,584,578,26,28,1366,25,23,50,1373, - 106,76,77,108,1955,1435,2231,1905,2594,35, - 736,32,2852,3360,27,30,31,584,578,26, - 28,1366,25,23,50,1373,106,76,77,108, - 340,1435,1531,1443,1585,1578,1704,1662,288,1745, - 2467,1729,2242,1787,1788,143,502,4023,515,144, - 502,35,293,3284,96,1618,383,377,1005,2319, - 35,736,32,516,3360,27,30,31,584,578, - 26,28,1366,25,23,50,1373,106,76,77, - 108,2288,1435,1531,1443,1585,1578,1704,1662,1517, - 1745,1863,1729,4081,1787,1788,143,1737,2491,376, - 144,1611,1956,35,736,32,2544,4737,27,30, - 31,584,578,59,28,2130,2080,502,35,293, - 512,2391,35,736,32,2940,3360,27,30,31, - 584,578,26,28,1366,25,23,50,1373,106, - 76,77,108,1324,1435,1531,1443,1585,1578,1704, - 1662,4230,1745,402,1729,2136,1787,1788,143,1232, - 4568,376,144,1611,2968,35,736,32,1618,3360, - 27,30,31,584,578,26,28,1366,25,23, - 50,1373,86,76,77,384,377,1005,2788,35, - 736,32,1010,3360,27,30,31,584,578,26, - 28,1366,25,23,50,1373,106,76,77,108, - 1821,1435,1531,1443,1585,1578,1704,1662,4246,1745, - 232,1729,2241,1787,1788,143,2771,69,158,144, - 1956,35,736,32,2493,4737,27,30,31,584, - 578,58,28,244,230,231,71,374,377,1005, - 2788,35,736,32,3364,3360,27,30,31,584, - 578,26,28,1366,25,23,50,1373,106,76, - 77,108,496,1435,1531,1443,1585,1578,1704,1662, - 2499,1745,2485,1729,441,1787,1788,143,182,419, - 370,144,671,2788,35,736,32,3365,3360,27, - 30,31,584,578,26,28,1366,25,23,50, - 1373,106,76,77,108,2617,1435,1531,1443,1585, - 1578,1704,1662,428,1745,2623,1729,56,1787,1788, - 143,744,1830,370,144,671,2788,35,736,32, - 4544,3360,27,30,31,584,578,26,28,1366, - 25,23,50,1373,106,76,77,108,314,1435, - 1531,1443,1585,1578,1704,1662,2634,1745,1525,1729, - 56,1787,1788,143,1138,369,370,144,2733,35, - 736,32,1010,3360,27,30,31,584,578,26, - 28,1366,25,23,50,1373,106,76,77,108, - 1781,1435,1531,1443,1585,1578,1704,1662,1946,1745, - 2485,1729,737,1787,1829,164,931,1355,368,2459, - 35,736,32,3270,3360,27,30,31,584,578, - 26,28,1366,25,23,50,1373,106,76,77, - 108,3072,1435,1531,1443,1585,1578,1704,1662,319, - 1745,445,1729,1618,1787,1788,143,436,324,142, - 144,366,458,2788,35,736,32,1619,3360,27, - 30,31,584,578,26,28,1366,25,23,50, - 1373,106,76,77,108,585,1435,1531,1443,1585, - 1578,1704,1662,1350,1745,1172,1729,56,1787,1788, - 143,1138,142,155,144,2788,35,736,32,4021, - 3360,27,30,31,584,578,26,28,1366,25, - 23,50,1373,106,76,77,108,2523,1435,1531, - 1443,1585,1578,1704,1662,2053,1745,135,1729,4344, - 1787,1788,143,2656,135,154,144,2788,35,736, - 32,3564,3360,27,30,31,584,578,26,28, - 1366,25,23,50,1373,106,76,77,108,4295, - 1435,1531,1443,1585,1578,1704,1662,4012,1745,445, - 1729,64,1787,1788,143,93,1863,153,144,2788, - 35,736,32,326,3360,27,30,31,584,578, - 26,28,1366,25,23,50,1373,106,76,77, - 108,2530,1435,1531,1443,1585,1578,1704,1662,56, - 1745,1618,1729,824,1787,1788,143,1010,1811,152, - 144,2788,35,736,32,929,3360,27,30,31, - 584,578,26,28,1366,25,23,50,1373,106, - 76,77,108,1618,1435,1531,1443,1585,1578,1704, - 1662,56,1745,1172,1729,1687,1787,1788,143,1010, - 135,151,144,2788,35,736,32,523,3360,27, - 30,31,584,578,26,28,1366,25,23,50, - 1373,106,76,77,108,2802,1435,1531,1443,1585, - 1578,1704,1662,1618,1745,1618,1729,457,1787,1788, - 143,1618,1236,150,144,2788,35,736,32,1779, - 3360,27,30,31,584,578,26,28,1366,25, - 23,50,1373,106,76,77,108,322,1435,1531, - 1443,1585,1578,1704,1662,3096,1745,1172,1729,323, - 1787,1788,143,3461,1244,149,144,2788,35,736, - 32,522,3360,27,30,31,584,578,26,28, - 1366,25,23,50,1373,106,76,77,108,400, - 1435,1531,1443,1585,1578,1704,1662,56,1745,1355, - 1729,880,1787,1788,143,1328,135,148,144,2788, - 35,736,32,380,3360,27,30,31,584,578, - 26,28,1366,25,23,50,1373,106,76,77, - 108,495,1435,1531,1443,1585,1578,1704,1662,56, - 1745,1355,1729,2773,1787,1788,143,1352,1380,147, - 144,2788,35,736,32,2239,3360,27,30,31, - 584,578,26,28,1366,25,23,50,1373,106, - 76,77,108,375,1435,1531,1443,1585,1578,1704, - 1662,56,1745,1355,1729,4434,1787,1788,143,49, - 1476,146,144,2788,35,736,32,1442,3360,27, - 30,31,584,578,26,28,1366,25,23,50, - 1373,106,76,77,108,3940,1435,1531,1443,1585, - 1578,1704,1662,1375,1745,1355,1729,671,1787,1788, - 143,1010,4548,145,144,2788,35,736,32,160, - 3360,27,30,31,584,578,26,28,1366,25, - 23,50,1373,106,76,77,108,24,1435,1531, - 1443,1585,1578,1704,1662,2163,1745,1355,1729,2566, - 1787,1788,143,1010,590,159,144,2788,35,736, - 32,1599,3360,27,30,31,584,578,26,28, - 1366,25,23,50,1373,106,76,77,108,69, - 1435,1531,1443,1585,1578,1704,1662,2566,1745,1355, - 1729,3962,1787,1788,143,848,1174,140,144,2906, - 35,736,32,1965,3360,27,30,31,584,578, - 26,28,1366,25,23,50,1373,106,76,77, - 108,68,1435,1531,1443,1585,1578,1704,1662,1991, - 1745,1355,1729,51,1787,1788,143,1859,2169,189, - 144,3023,35,736,32,2551,3360,27,30,31, - 584,578,26,28,1366,25,23,50,1373,106, - 76,77,108,53,1435,1531,1443,1585,1578,1704, - 1662,56,1745,353,1729,2988,1787,1829,164,3023, - 35,736,32,529,3360,27,30,31,584,578, - 26,28,1366,25,23,50,1373,106,76,77, - 108,2544,1435,1531,1443,1585,1578,1704,1662,2566, - 1745,352,1729,2279,1787,1829,164,327,35,451, - 1474,529,4574,502,35,3099,3023,35,736,32, - 421,3360,27,30,31,584,578,26,28,1366, - 25,23,50,1373,106,76,77,108,2314,1435, - 1531,1443,1585,1578,1704,1662,56,1745,520,1729, - 4436,1787,1829,164,3023,35,736,32,292,3360, - 27,30,31,584,578,26,28,1366,25,23, - 50,1373,106,76,77,108,2704,1435,1531,1443, - 1585,1578,1704,1662,56,1745,3297,1729,2584,1787, - 1829,164,502,35,990,3073,2750,502,35,1184, - 386,3023,35,736,32,3476,3360,27,30,31, - 584,578,26,28,1366,25,23,50,1373,106, - 76,77,108,320,1435,1531,1443,1585,1578,1704, - 1662,429,1745,529,1729,3223,1787,1829,164,3078, - 35,736,32,420,3360,27,30,31,584,578, - 26,28,1366,25,23,50,1373,106,76,77, - 108,408,1435,1531,1443,1585,1578,1704,1662,56, - 1745,2166,1729,3388,1787,1829,164,444,3643,3644, - 322,580,502,35,1184,386,3023,35,736,32, - 423,3360,27,30,31,584,578,26,28,1366, - 25,23,50,1373,106,76,77,108,1144,1435, - 1531,1443,1585,1578,1704,1662,450,1745,671,1729, - 1613,2803,1355,4556,3023,35,736,32,3922,3360, - 27,30,31,584,578,26,28,1366,25,23, - 50,1373,106,76,77,108,387,1435,1531,1443, - 1585,1578,1704,1662,87,1745,1355,2744,3023,35, - 736,32,1355,3360,27,30,31,584,578,26, - 28,1366,25,23,50,1373,106,76,77,108, - 2784,1435,1531,1443,1585,1578,1704,1662,52,2696, - 3023,35,736,32,347,3360,27,30,31,584, - 578,26,28,1366,25,23,50,1373,106,76, - 77,108,1700,1435,1531,1443,1585,1578,1704,2702, - 3023,35,736,32,932,3360,27,30,31,584, - 578,26,28,1366,25,23,50,1373,106,76, - 77,108,1378,1435,1531,1443,1585,1578,2659,3023, - 35,736,32,2582,3360,27,30,31,584,578, - 26,28,1366,25,23,50,1373,106,76,77, - 108,1527,1435,1531,1443,1585,2662,3023,35,736, - 32,142,3360,27,30,31,584,578,26,28, - 1366,25,23,50,1373,106,76,77,108,1790, - 1435,1531,1443,1585,2674,1983,35,736,32,2777, - 3605,27,30,31,584,578,336,28,3023,35, - 736,32,1560,3360,27,30,31,584,578,26, - 28,1366,25,23,50,1373,106,76,77,108, - 1792,1435,1531,1443,2412,502,35,990,278,2152, - 35,736,32,1355,776,41,30,31,584,578, - 56,1355,574,318,2561,329,521,312,540,1628, - 35,990,276,1610,2160,35,736,32,400,311, - 40,30,31,584,578,90,2544,1249,3602,293, - 2991,2414,4307,3050,1223,35,736,32,2683,2905, - 27,30,31,584,578,336,28,305,535,726, - 3023,35,736,32,2350,3360,27,30,31,584, - 578,26,28,1366,25,23,50,1373,106,76, - 77,108,401,1435,1531,1443,2441,1453,35,736, - 32,4589,2905,27,30,31,584,578,336,28, - 3650,3311,318,1101,35,2812,2241,3023,35,736, - 32,3645,3360,27,30,31,584,578,26,28, - 1366,25,23,50,1373,106,76,77,108,2246, - 1435,1531,1443,2469,322,2414,2345,49,558,1954, - 2852,2374,3217,3335,574,318,1177,661,2414,312, - 540,388,425,1616,3219,1686,239,1138,340,241, - 1653,3420,349,1726,35,3499,32,2777,3605,27, - 30,31,584,578,336,28,1508,341,854,720, - 346,1358,1778,160,159,3397,1802,35,736,32, - 4479,2905,27,30,31,584,578,336,28,2350, - 284,2931,314,788,232,2544,3440,2160,35,736, - 32,1452,776,3275,30,31,584,578,348,2544, - 574,318,1355,329,1949,312,540,240,230,231, - 2702,1867,2160,35,736,32,2941,1048,3372,30, - 31,584,578,574,318,389,425,2326,312,540, - 4307,259,2235,737,3085,536,2852,1347,391,425, - 1367,349,2941,2616,56,2559,1812,2852,2655,2852, - 2852,2941,363,228,2607,1900,341,854,720,346, - 776,156,56,1498,2332,340,3037,340,2607,180, - 4032,330,1815,1172,2224,35,277,203,215,2951, - 1560,202,212,213,214,216,776,169,1039,1, - 4034,1867,2154,536,3309,776,168,329,183,167, - 170,171,172,173,174,2346,329,2484,415,417, - 3481,228,3133,35,1184,386,2382,4430,2847,156, - 503,3440,872,521,4190,237,379,180,4032,325, - 332,1172,2510,4166,357,203,215,2951,2515,202, - 212,213,214,216,2727,169,273,502,3462,990, - 74,2531,3167,3177,168,181,184,167,170,171, - 172,173,174,500,502,587,35,1184,386,3023, - 35,736,32,232,3360,27,30,31,584,578, - 26,28,1366,25,23,50,1373,106,76,77, - 108,1247,1435,1531,2649,1232,235,230,231,49, - 159,502,35,1184,386,3610,2663,274,1177,1997, - 2829,1779,35,736,32,2475,2905,27,30,31, - 584,578,336,28,3124,1628,35,990,3470,242, - 245,248,251,670,345,49,56,440,536,454, - 1138,1118,4279,1612,1177,1487,2415,89,1483,3338, - 102,56,843,35,451,2668,228,4574,2663,1109, - 3197,3966,4177,4203,156,2421,156,56,3311,318, - 431,3034,180,4032,536,1913,1172,502,35,282, - 203,215,2951,2381,202,212,213,214,216,56, - 169,56,228,536,2414,2852,2642,1483,3338,168, - 156,3944,167,170,171,172,173,174,180,4032, - 56,340,1172,340,4146,3007,203,215,2951,156, - 202,212,213,214,216,517,169,56,1865,536, - 1774,1138,1618,2446,3284,168,3284,178,167,170, - 171,172,173,174,1823,56,1963,228,1355,2719, - 1901,1101,35,394,2786,156,56,156,70,2447, - 4015,603,378,180,4032,536,2795,1172,2931,314, - 287,203,215,2951,1172,202,212,213,214,216, - 67,169,348,228,502,35,1184,386,373,1355, - 168,156,176,167,170,171,172,173,174,180, - 4032,2654,3380,1172,390,425,2423,203,215,2951, - 1138,202,212,213,214,216,689,169,273,287, - 536,66,448,3643,3644,349,168,1887,177,167, - 170,171,172,173,174,56,156,2214,228,2772, - 341,854,720,346,200,4244,156,1612,2332,56, - 3200,3380,775,1360,180,4032,536,1246,1172,3653, - 322,2223,203,215,2951,1355,202,212,213,214, - 216,2423,169,2383,228,536,2224,35,280,337, - 1355,168,156,187,167,170,171,172,173,174, - 180,4032,371,4031,1172,1355,1355,65,203,215, - 2951,156,202,212,213,214,216,861,169,180, - 4032,536,64,502,35,1184,386,168,232,4064, - 167,170,171,172,173,174,285,3430,55,228, - 502,35,1184,386,2136,2359,195,156,1355,4568, - 3305,247,230,231,2148,180,4032,49,4085,1172, - 2664,1010,2305,203,215,2951,46,202,212,213, - 214,216,71,169,432,502,35,990,281,737, - 54,2454,168,404,192,167,170,171,172,173, - 174,2071,35,736,32,4589,2905,27,30,31, - 584,578,336,28,3023,35,736,32,2387,3360, - 27,30,31,584,578,26,28,1366,25,23, - 50,1373,106,76,77,108,3253,1435,2251,349, - 1216,35,1184,386,2146,502,35,1184,386,4628, - 3309,97,2359,3364,341,854,720,346,574,318, - 2419,838,339,312,540,947,1616,2344,737,536, - 1138,1138,4670,196,49,524,349,2481,322,49, - 1101,35,394,1177,2492,331,332,228,1177,4084, - 298,341,854,720,346,156,160,156,56,525, - 2483,1033,4680,180,4032,536,162,1172,44,1956, - 56,203,215,2951,4194,202,212,213,214,216, - 2455,169,427,228,502,35,1184,386,1713,3309, - 168,156,186,167,170,171,172,173,174,180, - 4032,56,2665,1172,295,4026,3573,203,215,2951, - 2488,202,212,213,214,216,1010,169,431,56, - 3236,2514,671,1909,327,332,168,4634,194,167, - 170,171,172,173,174,1364,35,736,32,1329, - 3605,27,30,31,584,578,336,28,3655,1499, - 35,736,32,2777,2905,27,30,31,584,578, - 336,28,3023,35,736,32,2553,3360,27,30, - 31,584,578,26,28,1366,25,23,50,1373, - 106,76,77,108,776,2278,757,35,1184,386, - 1355,1338,574,318,2555,330,98,313,540,502, - 35,990,3526,671,671,4409,574,318,4639,4645, - 349,312,540,2515,322,502,35,1184,386,671, - 273,2549,101,311,4651,343,854,720,346,1715, - 35,736,32,2777,2905,27,30,31,584,578, - 336,28,2521,2288,1355,587,35,1184,386,273, - 1908,305,535,726,3023,35,736,32,2667,3360, - 27,30,31,584,578,26,28,1366,25,23, - 50,1373,106,76,77,108,4020,2290,56,49, - 294,3201,1947,2591,2581,2592,574,318,1177,992, - 2359,312,540,2626,4342,2687,502,35,1184,386, - 2359,72,2670,311,3124,3645,3023,35,736,32, - 275,3360,27,30,31,584,578,26,28,1366, - 25,23,50,1373,106,76,77,108,221,2382, - 430,533,535,726,3023,35,736,32,302,3360, - 27,30,31,584,578,26,28,1366,25,23, - 50,1373,106,76,77,85,3023,1093,736,1837, - 2517,3360,27,30,31,584,578,26,28,1366, - 25,23,50,1373,106,76,77,84,3023,35, - 736,32,2602,3360,27,30,31,584,578,26, - 28,1366,25,23,50,1373,106,76,77,83, - 87,2677,2688,568,3023,35,736,32,322,3360, - 27,30,31,584,578,26,28,1366,25,23, - 50,1373,106,76,77,82,3023,35,736,32, - 2690,3360,27,30,31,584,578,26,28,1366, - 25,23,50,1373,106,76,77,81,3023,35, - 736,32,2696,3360,27,30,31,584,578,26, - 28,1366,25,23,50,1373,106,76,77,80, - 3023,35,736,32,303,3360,27,30,31,584, - 578,26,28,1366,25,23,50,1373,106,76, - 77,79,3023,35,736,32,2069,3360,27,30, - 31,584,578,26,28,1366,25,23,50,1373, - 106,76,77,78,2851,35,736,32,2698,3360, - 27,30,31,584,578,26,28,1366,25,23, - 50,1373,106,76,77,104,3023,35,736,32, - 173,3360,27,30,31,584,578,26,28,1366, - 25,23,50,1373,106,76,77,110,3023,35, - 736,32,2683,3360,27,30,31,584,578,26, - 28,1366,25,23,50,1373,106,76,77,109, - 3023,35,736,32,2692,3360,27,30,31,584, - 578,26,28,1366,25,23,50,1373,106,76, - 77,107,3023,35,736,32,1376,3360,27,30, - 31,584,578,26,28,1366,25,23,50,1373, - 106,76,77,105,2063,35,3499,32,2777,2905, - 27,30,31,584,578,336,28,1468,35,736, - 32,2777,2905,27,30,31,584,578,336,28, - 56,1355,56,56,1138,1563,4106,4722,56,2852, - 56,56,566,2694,4231,2005,1824,232,2773,56, - 2852,56,2359,2069,2343,3509,2757,228,3321,2759, - 156,574,318,3660,2359,2810,312,540,228,3088, - 250,230,231,1616,574,318,1355,1138,1048,312, - 540,205,215,2951,2761,204,212,213,214,216, - 179,311,205,215,2951,5259,204,212,213,214, - 216,1347,198,160,2080,1347,2941,5259,449,5259, - 2941,206,208,210,3070,5259,217,207,209,306, - 535,726,206,208,210,3070,1911,217,207,209, - 2852,1703,1468,35,736,32,2777,2905,27,30, - 31,584,578,336,28,1101,35,394,228,3398, - 776,4335,1355,1286,776,1616,5259,2852,4748,1138, - 3574,329,4335,527,5259,329,737,3278,2162,416, - 417,3481,205,215,2951,228,204,212,213,214, - 216,5259,5259,5259,3156,160,1890,5259,2751,574, - 318,2941,4166,5259,312,540,2359,1609,5259,1065, - 405,2564,206,208,210,3070,1367,217,207,209, - 1692,35,736,32,737,3605,27,30,31,584, - 578,336,28,3182,35,1184,386,3309,4430,406, - 407,408,3070,5259,197,776,238,1355,5259,2083, - 3768,56,4335,1998,5259,1138,330,2852,5259,3550, - 2359,737,3023,4045,2359,1355,1616,273,232,776, - 1138,349,3479,332,2359,228,2359,574,318,3192, - 330,156,313,540,1355,3309,343,854,720,346, - 3129,253,230,231,232,5259,160,3247,301,205, - 215,2951,201,204,212,213,214,216,5259,1355, - 5259,56,199,5259,297,2852,1571,236,230,231, - 3638,332,3309,2359,5259,1618,409,412,274,206, - 208,210,3070,340,518,207,209,1692,35,736, - 32,1655,3605,27,30,31,584,578,336,28, - 243,246,249,252,670,1650,3284,4029,332,2852, - 4056,3387,1118,5259,5259,1737,1989,1172,5259,2852, - 5259,5259,2359,5259,2085,5259,5259,228,2852,5259, - 5259,373,5259,5259,56,5259,776,228,1138,5259, - 5259,2359,5259,5259,574,318,228,330,1355,315, - 540,205,215,2951,5259,204,212,213,214,216, - 222,205,215,2951,156,204,212,213,214,216, - 205,215,2951,3205,204,212,213,214,216,193, - 4361,206,208,210,3070,5259,517,207,209,1355, - 5259,206,208,210,3070,2172,218,207,209,2852, - 206,208,210,3070,5259,304,207,209,5259,5259, - 587,35,1184,386,1181,5259,1374,228,2852,4748, - 2852,3421,1468,35,736,32,2777,2905,27,30, - 31,584,578,336,28,4018,228,5259,2607,5259, - 5259,205,215,2951,49,204,212,213,214,216, - 5259,5259,5259,1177,1921,2276,35,1184,386,1812, - 1065,405,2564,2852,2941,5259,5259,5259,5259,3575, - 5259,206,208,210,3070,5259,497,207,209,574, - 318,2607,5259,5259,312,540,5259,5259,5259,49, - 406,407,408,3070,5259,5259,4039,5259,1177,2661, - 1104,35,1184,386,357,5259,5259,5259,776,5259, - 5259,5259,5259,3023,3575,5259,5259,5259,5259,329, - 5259,3235,3167,3177,1104,35,1184,386,587,35, - 1184,386,5259,5259,49,5259,1104,35,1184,386, - 5259,1889,5259,1177,2675,2852,3495,357,587,35, - 1184,386,5259,5259,587,35,1184,386,49,3546, - 5259,5259,49,340,2531,3167,3177,1177,47,1347, - 49,1177,47,528,2941,5259,5259,409,411,1177, - 47,5259,49,3216,5259,5259,3284,3017,49,5259, - 56,1177,47,5259,2852,2752,531,1177,47,5259, - 5259,2250,5259,5259,4133,5259,5259,2167,587,35, - 1184,386,340,2252,1979,35,1184,386,776,587, - 35,1184,386,5259,5259,587,35,1184,386,329, - 5259,2308,35,1184,386,3284,5259,5259,5259,5259, - 5259,5259,49,5259,5259,1998,5259,5259,49,5259, - 2482,1177,47,49,536,5259,3495,1177,47,49, - 1374,5259,1177,47,2852,49,56,3270,1177,47, - 536,5259,340,1000,1177,47,5259,56,3444,5259, - 156,536,2607,5259,3656,5259,5259,5259,340,188, - 1067,502,35,1184,386,4442,156,56,5259,340, - 5259,1138,2618,5259,56,1949,2852,156,2852,5259, - 5259,3284,502,35,1184,386,1865,502,35,1184, - 386,1907,3284,5259,2607,49,340,156,502,35, - 1184,386,2292,5259,1177,2814,3220,5259,5259,4111, - 56,5259,5259,5259,1138,5259,49,5259,357,3284, - 190,49,5259,56,56,1177,658,536,536,2073, - 1177,2492,49,5259,56,3604,3167,3177,536,56, - 156,1177,2820,2852,56,340,340,56,2852,3291, - 5259,1138,5259,156,156,5259,340,5259,5259,5259, - 503,340,188,188,156,5259,340,5259,4442,4442, - 56,56,5259,188,2852,2852,5259,156,5259,4442, - 5259,5259,5259,5259,3284,5259,4368,5259,5259,3284, - 5259,5259,340,340,2742,5259,5259,5259,5259,507, - 4293,5259,5259,500,502,5259,5259,5259,5259,5259, - 5259,5259,5259,5259,5259,3284,3284,5259,5259,5259, - 5259,5259,5259,4132,4217,505,532,5259,5259,5259, - 5259,5259,5259,5259,4235,5259,5259,5259,5259,5259, - 5259,5259,5259,5259,5259,3856,5259,0,2519,1, - 0,39,5274,1,0,39,5273,1,0,38, - 623,0,38,5274,0,38,5273,0,452,575, - 0,438,1277,0,1569,29,0,5274,48,0, - 5273,48,0,5271,381,0,5270,381,0,39, - 5274,0,39,5273,0,1,442,0,456,1332, - 0,455,1577,0,35,33,0,1569,385,0, - 47,37,0,2580,126,0,1,1242,0,1, - 5531,0,1,5530,0,1,5529,0,1,5528, - 0,1,5527,0,1,5526,0,1,5525,0, - 1,5524,0,1,5523,0,1,5522,0,1, - 5521,0,283,392,0,283,286,0,5493,241, - 0,5492,241,0,5594,241,0,5593,241,0, - 5520,241,0,5519,241,0,5518,241,0,5517, - 241,0,5516,241,0,5515,241,0,5514,241, - 0,5513,241,0,5531,241,0,5530,241,0, - 5529,241,0,5528,241,0,5527,241,0,5526, - 241,0,5525,241,0,5524,241,0,5523,241, - 0,5522,241,0,5521,241,0,39,5274,241, - 0,39,5273,241,0,5297,241,0,43,5295, - 0,43,37,0,1447,91,0,32,34,0, - 39,623,0,328,443,0,5265,1,0,5264, - 1,0,237,790,0,32,386,0,29,385, - 0,2580,128,0,2580,127,0,499,3036,0, - 5297,1,229,0,39,1,229,0,229,414, - 0,5274,37,0,5273,37,0,5295,45,0, - 37,45,0,5297,1,0,39,1,0,1, - 92,0,5269,403,0,5268,403,0,4112,1, - 0,2783,1,0,623,1,0,229,413,0, - 3381,381,0,5274,2,37,0,5273,2,37, - 0,5274,36,0,5273,36,0,1,328,0, - 8,12,0,328,95,0,35,73,0,499, - 4325,0,1,229,0,278,3386,0,229,220, - 0,1,3091,0,1,3400,0,229,219,0, - 5271,1,0,5267,1,0,1,229,3742,0, - 5268,229,0,3760,229,0,3900,229,0,10, - 12,0,8,10,12,0,185,3385,0 + 176,4,136,81,81,33,33,67,67,39, + 39,43,43,202,1,1,16,16,16,16, + 16,16,16,17,17,17,15,11,11,6, + 6,6,6,6,6,2,65,65,5,5, + 12,12,45,45,137,137,138,60,60,44, + 18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18, + 139,139,139,116,116,19,19,19,19,19, + 19,19,19,19,19,19,19,19,20,20, + 177,177,178,178,179,142,142,143,143,140, + 140,144,141,141,21,21,22,22,24,24, + 24,25,25,25,25,26,26,26,27,27, + 27,28,28,28,28,28,29,29,29,30, + 30,32,32,34,34,36,36,37,37,38, + 38,42,42,41,41,41,41,41,41,41, + 41,41,41,41,41,41,40,31,145,145, + 95,95,180,180,90,203,203,68,68,68, + 68,68,68,68,68,68,69,69,69,66, + 66,57,57,181,181,70,70,70,101,101, + 182,182,71,71,71,71,183,183,72,72, + 72,72,72,73,73,82,82,82,82,82, + 82,82,82,51,51,51,51,51,117,117, + 115,115,52,184,23,23,23,23,23,49, + 49,85,85,85,85,85,152,152,147,147, + 147,147,147,148,148,148,149,149,149,150, + 150,150,151,151,151,86,86,86,86,86, + 87,87,87,13,14,14,14,14,14,14, + 14,14,14,14,14,96,121,121,121,121, + 121,121,119,119,119,153,154,154,120,120, + 185,156,156,155,155,123,123,102,79,79, + 124,54,48,157,157,55,53,84,84,158, + 158,146,146,104,104,105,75,75,159,159, + 63,63,58,58,160,64,64,76,76,61, + 61,61,50,88,88,98,97,97,62,62, + 59,59,56,56,46,99,99,99,91,91, + 91,92,92,93,93,93,94,94,106,106, + 106,108,108,107,107,204,204,89,89,187, + 187,187,187,187,126,47,47,162,186,186, + 127,127,128,128,128,129,164,188,188,35, + 35,118,130,130,130,130,190,110,109,109, + 122,122,122,165,166,166,166,166,166,166, + 166,166,166,166,166,192,192,189,189,191, + 191,167,168,168,168,168,169,193,112,111, + 111,194,194,170,170,170,170,100,100,100, + 195,195,8,8,9,196,196,197,171,161, + 161,172,172,173,174,174,7,7,10,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,77,80,80,175,175,132,132,133,133, + 133,133,133,133,3,134,134,131,131,113, + 113,83,78,74,74,163,163,114,114,199, + 199,199,135,135,125,125,200,200,176,176, + 103,1119,35,2608,2514,2346,3274,27,30,31, + 785,727,26,28,2495,263,25,23,50,1372, + 106,76,77,108,1506,1380,1465,1386,1688,1586, + 1766,1731,56,1817,142,1774,275,1860,1895,143, + 932,49,158,144,406,694,1503,35,799,32, + 1127,3330,27,30,31,785,727,57,28,3029, + 35,799,32,233,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,1989,1380,1465,2950,236,231,232,415, + 893,885,34,3029,35,799,32,276,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,108,325,1380,2650,243, + 246,249,252,1184,2309,35,279,1952,35,799, + 32,1216,3330,27,30,31,785,727,56,28, + 70,1617,35,297,1690,1427,1946,2037,2760,1302, + 3357,3538,3541,4335,2254,35,799,32,2646,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,108,344,1380,1465, + 1386,1688,1586,1766,1731,61,1817,1167,1774,3659, + 1860,1895,143,2045,1989,519,144,872,383,2038, + 3378,1332,1332,327,35,281,2653,2653,4820,2677, + 520,1081,2254,35,799,32,2646,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,344,1380,1465,1386,1688, + 1586,1766,1731,2910,1817,2497,1774,440,1860,1895, + 143,801,801,519,144,415,35,3272,3378,2503, + 795,924,333,333,1382,1637,60,515,520,2080, + 35,799,32,1220,4831,27,30,31,785,727, + 26,28,2174,1376,513,1990,1776,326,1997,3866, + 826,2653,2254,35,799,32,2646,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,344,1380,1465,1386,1688, + 1586,1766,1731,1354,1817,515,1774,737,1860,1895, + 143,314,1332,519,144,795,801,2653,3378,327, + 35,281,3540,2032,4826,2621,1997,334,520,2530, + 35,799,32,1325,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,93,1380,1465,1386,1688,1586,1766,1731, + 49,1817,801,1774,752,1860,1895,143,2677,1376, + 380,144,1286,2700,415,35,1844,1801,415,35, + 284,2974,35,799,32,515,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 86,76,77,2280,329,336,1997,2598,35,799, + 32,2646,4485,27,30,31,785,727,26,28, + 1288,263,25,23,50,1372,106,76,77,108, + 344,1380,1465,1386,1688,1586,1766,1731,1234,1817, + 2960,1774,49,1860,1895,143,832,155,519,144, + 69,49,4803,3378,94,1149,387,381,1137,2323, + 35,799,32,520,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,1940,1380,1465,1386,1688,1586,1766,1731, + 2144,1817,2622,1774,1149,1860,1895,143,415,3889, + 380,144,1286,1382,35,799,32,741,2891,27, + 30,31,785,727,340,28,2218,1414,135,500, + 516,160,2395,35,799,32,1723,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,71,1380,1465,1386,1688, + 1586,1766,1731,2144,1817,404,1774,1149,1860,1895, + 143,751,322,380,144,1286,316,580,415,35, + 885,278,56,1786,35,799,32,1883,1172,41, + 30,31,785,727,160,2391,388,381,1137,2793, + 35,799,32,2627,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,1968,1380,1465,1386,1688,1586,1766,1731, + 1508,1817,330,1774,1863,1860,1895,143,2153,2632, + 158,144,1988,35,799,32,2592,4831,27,30, + 31,785,727,59,28,323,415,3356,3079,378, + 381,1137,2793,35,799,32,1883,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,2638,1380,1465,1386,1688, + 1586,1766,1731,2646,1817,56,1774,49,1860,1895, + 143,1149,1234,374,144,2793,35,799,32,1594, + 4485,27,30,31,785,727,26,28,1288,263, + 25,23,50,1372,106,76,77,108,3156,1380, + 1465,1386,1688,1586,1766,1731,49,1817,931,1774, + 1390,1860,1895,143,1946,1551,374,144,2793,35, + 799,32,1232,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,357,1380,1465,1386,1688,1586,1766,1731,292, + 1817,534,1774,462,1860,1895,143,1727,373,374, + 144,2738,35,799,32,56,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,233,1380,1465,1386,1688,1586, + 1766,1731,3276,1817,3218,1774,737,1860,1938,164, + 499,372,415,35,885,3271,1513,245,231,232, + 322,2463,35,799,32,2067,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,2215,1380,1465,1386,1688,1586, + 1766,1731,328,1817,370,1774,2069,1860,1895,143, + 4501,1603,142,144,2793,35,799,32,1376,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,108,384,1380,1465, + 1386,1688,1586,1766,1731,64,1817,1883,1774,3644, + 1860,1895,143,335,336,155,144,2793,35,799, + 32,574,4485,27,30,31,785,727,26,28, + 1288,263,25,23,50,1372,106,76,77,108, + 322,1380,1465,1386,1688,1586,1766,1731,49,1817, + 2117,1774,889,1860,1895,143,2154,1602,154,144, + 2793,35,799,32,377,4485,27,30,31,785, + 727,26,28,1288,263,25,23,50,1372,106, + 76,77,108,1966,1380,1465,1386,1688,1586,1766, + 1731,49,1817,1883,1774,867,1860,1895,143,1809, + 1234,153,144,2793,35,799,32,391,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,108,1814,1380,1465,1386, + 1688,1586,1766,1731,49,1817,2117,1774,4624,1860, + 1895,143,1883,1234,152,144,2793,35,799,32, + 377,4485,27,30,31,785,727,26,28,1288, + 263,25,23,50,1372,106,76,77,108,375, + 1380,1465,1386,1688,1586,1766,1731,1883,1817,1883, + 1774,461,1860,1895,143,2278,1883,151,144,2793, + 35,799,32,2192,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,322,1380,1465,1386,1688,1586,1766,1731, + 3335,1817,2117,1774,327,1860,1895,143,587,3566, + 150,144,2793,35,799,32,3829,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,3790,1380,1465,1386,1688, + 1586,1766,1731,142,1817,1883,1774,155,1860,1895, + 143,1096,3386,149,144,2793,35,799,32,288, + 4485,27,30,31,785,727,26,28,1288,263, + 25,23,50,1372,106,76,77,108,322,1380, + 1465,1386,1688,1586,1766,1731,1233,1817,2117,1774, + 155,1860,1895,143,314,3523,148,144,2793,35, + 799,32,528,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,135,1380,1465,1386,1688,1586,1766,1731,49, + 1817,1883,1774,3379,1860,1895,143,1250,1234,147, + 144,2793,35,799,32,289,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,2668,1380,1465,1386,1688,1586, + 1766,1731,49,1817,2117,1774,2848,1860,1895,143, + 1450,1234,146,144,2793,35,799,32,527,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,108,382,1380,1465, + 1386,1688,1586,1766,1731,1378,1817,1968,1774,4185, + 1860,1895,143,415,3931,145,144,2793,35,799, + 32,2730,4485,27,30,31,785,727,26,28, + 1288,263,25,23,50,1372,106,76,77,108, + 499,1380,1465,1386,1688,1586,1766,1731,909,1817, + 1968,1774,51,1860,1895,143,589,2490,159,144, + 2793,35,799,32,3037,4485,27,30,31,785, + 727,26,28,1288,263,25,23,50,1372,106, + 76,77,108,379,1380,1465,1386,1688,1586,1766, + 1731,1446,1817,1968,1774,2592,1860,1895,143,1453, + 160,140,144,2912,35,799,32,1810,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,108,4162,1380,1465,1386, + 1688,1586,1766,1731,49,1817,1968,1774,2701,1860, + 1895,143,332,1381,189,144,3029,35,799,32, + 2391,4485,27,30,31,785,727,26,28,1288, + 263,25,23,50,1372,106,76,77,108,24, + 1380,1465,1386,1688,1586,1766,1731,49,1817,2225, + 1774,2627,1860,1938,164,3029,35,799,32,2219, + 4485,27,30,31,785,727,26,28,1288,263, + 25,23,50,1372,106,76,77,108,2677,1380, + 1465,1386,1688,1586,1766,1731,2592,1817,1467,1774, + 356,1860,1938,164,327,35,455,2245,449,3776, + 534,2918,3029,35,799,32,425,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,354,1380,1465,1386,1688, + 1586,1766,1731,49,1817,355,1774,2763,1860,1938, + 164,3029,35,799,32,296,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,182,1380,1465,1386,1688,1586, + 1766,1731,49,1817,1672,1774,2784,1860,1938,164, + 415,35,885,280,415,35,1052,390,3029,35, + 799,32,3236,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,324,1380,1465,1386,1688,1586,1766,1731,433, + 1817,534,1774,2519,1860,1938,164,3084,35,799, + 32,424,4485,27,30,31,785,727,26,28, + 1288,263,25,23,50,1372,106,76,77,108, + 2522,1380,1465,1386,1688,1586,1766,1731,49,1817, + 418,1774,3398,1860,1938,164,448,3656,3665,1174, + 415,35,1052,390,3029,35,799,32,427,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,108,2427,1380,1465, + 1386,1688,1586,1766,1731,454,1817,1697,1774,676, + 3132,742,848,3029,35,799,32,3915,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,108,408,1380,1465,1386, + 1688,1586,1766,1731,1020,1817,1968,3111,3029,35, + 799,32,1968,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,1968,1380,1465,1386,1688,1586,1766,1731,69, + 3086,3029,35,799,32,68,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,53,1380,1465,1386,1688,1586, + 1766,3092,3029,35,799,32,423,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,1506,1380,1465,1386,1688, + 1586,3018,3029,35,799,32,1728,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,108,2665,1380,1465,1386,1688, + 3055,3029,35,799,32,1496,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,3303,1380,1465,1386,1688,3084, + 3029,35,799,32,445,4485,27,30,31,785, + 727,26,28,1288,263,25,23,50,1372,106, + 76,77,108,2490,1380,1465,1386,2791,3029,35, + 799,32,2391,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,71,1380,1465,1386,2803,3029,35,799,32, + 2246,4485,27,30,31,785,727,26,28,1288, + 263,25,23,50,1372,106,76,77,108,526, + 1380,1465,1386,2851,3029,35,799,32,3229,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,108,737,1380,1465, + 1386,2913,1730,35,799,32,741,3106,27,30, + 31,785,727,340,28,2677,3139,35,1052,390, + 408,3162,1901,415,35,1052,390,2653,1792,238, + 263,737,1947,1720,35,799,32,3569,2891,27, + 30,31,785,727,340,28,1603,1960,35,799, + 32,275,801,40,30,31,785,727,49,1376, + 751,322,236,333,155,316,580,1010,572,3527, + 2070,2392,801,580,1553,2653,1758,315,233,1960, + 35,799,32,334,449,2317,30,31,785,727, + 4400,751,322,1376,331,336,316,580,353,2488, + 49,236,231,232,2927,309,540,685,3413,353, + 1015,2677,276,347,2079,2069,350,843,35,455, + 801,1235,3776,2427,345,2079,2069,350,3632,336, + 3341,2700,3391,2078,243,246,249,252,1184,2249, + 35,885,278,240,263,1381,1216,2461,2940,1960, + 35,799,32,1251,2078,2753,30,31,785,727, + 3721,1707,302,2760,1302,3357,3538,3541,4335,3029, + 35,799,32,1806,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,108,233,1380,1465,2968,1643,35,3539,32, + 741,3106,27,30,31,785,727,340,28,2157, + 2709,2729,96,4634,3436,241,231,232,1249,2694, + 367,1825,2646,1632,35,799,32,4646,2891,27, + 30,31,785,727,340,28,415,3445,885,74, + 88,2663,352,102,392,429,801,2124,35,279, + 1617,3618,297,2421,751,322,352,333,4306,316, + 580,502,35,1052,390,393,429,1988,35,799, + 32,2243,4831,27,30,31,785,727,58,28, + 150,751,322,1969,4400,353,316,580,259,452, + 3656,3665,541,1017,35,398,49,2078,1172,353, + 345,2079,2069,350,2694,1010,863,361,3100,2620, + 2427,229,2200,2646,345,2079,2069,350,1332,156, + 1606,3210,3100,2653,3440,3278,3279,180,3805,322, + 1991,2117,344,1968,2646,204,216,4608,2244,203, + 213,214,215,217,2486,169,1,2078,541,222, + 541,2833,2910,344,168,2327,183,167,170,171, + 172,173,174,419,421,3468,87,4249,801,229, + 757,35,1052,390,1637,156,733,156,2488,333, + 1017,35,398,180,3805,180,3805,1076,1364,2117, + 2124,35,282,204,216,4608,299,203,213,214, + 215,217,3727,169,1646,275,2652,49,395,429, + 196,2977,168,181,184,167,170,171,172,173, + 174,3029,35,799,32,2075,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,108,345,1380,2703,737,541,1968, + 415,35,1052,390,3223,3604,1602,1249,394,429, + 1996,2646,1236,155,2166,526,3280,229,4685,2976, + 1968,415,35,1052,390,156,502,35,1052,390, + 2663,572,52,180,3805,49,72,2117,737,3750, + 1906,204,216,4608,46,203,213,214,215,217, + 431,169,1704,351,541,444,436,458,2024,1376, + 168,49,3918,167,170,171,172,173,174,89, + 1010,684,102,229,1447,3080,1968,4660,197,3080, + 2052,156,502,35,1052,390,3210,49,49,180, + 3805,2661,2646,2117,3639,336,361,204,216,4608, + 1376,203,213,214,215,217,517,169,49,90, + 541,344,3640,3609,3278,3279,168,49,178,167, + 170,171,172,173,174,1234,1010,2270,2158,229, + 415,35,1052,390,3378,4236,336,156,1017,35, + 3154,1543,3248,2278,2329,180,3805,42,2289,2117, + 2318,44,2289,204,216,4608,1234,203,213,214, + 215,217,603,169,2067,275,541,241,415,35, + 1052,390,168,49,176,167,170,171,172,173, + 174,322,1010,934,2667,229,415,35,1052,390, + 2606,2353,2379,156,2211,35,1052,390,1958,2317, + 2159,180,3805,275,2345,2117,97,1968,2646,204, + 216,4608,2383,203,213,214,215,217,689,169, + 2669,435,541,1017,35,398,341,2663,168,49, + 177,167,170,171,172,173,174,98,1010,2580, + 3167,229,2249,35,885,3455,1968,1078,298,156, + 1101,35,1052,390,3248,49,49,180,3805,3802, + 4493,2117,2419,1968,277,204,216,4608,1968,203, + 213,214,215,217,775,169,2387,1246,541,3188, + 415,35,1052,390,168,49,187,167,170,171, + 172,173,174,507,1010,2676,67,229,2065,2227, + 3356,66,2948,2423,2231,156,1101,35,1052,390, + 3000,2417,49,180,3805,434,2646,2117,2227,3356, + 1770,204,216,4608,1968,203,213,214,215,217, + 861,169,4051,2485,541,344,505,506,1968,233, + 168,49,4074,167,170,171,172,173,174,155, + 1010,47,1516,229,4713,2486,2496,65,3378,1149, + 1968,156,248,231,232,2670,3020,1353,2332,180, + 3805,64,3753,2117,353,2521,49,204,216,4608, + 2543,203,213,214,215,217,156,169,2518,345, + 2079,2069,350,3551,201,3920,168,343,192,167, + 170,171,172,173,174,1980,35,799,32,3569, + 2891,27,30,31,785,727,340,28,3029,35, + 799,32,291,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,291,2740,502,35,1052,390,1101,35,1052, + 390,1968,49,2363,2040,3383,3087,2646,1377,1826, + 155,1498,947,751,322,4725,541,2883,316,580, + 2554,49,155,2552,3383,3077,2663,4736,49,1968, + 529,353,49,1784,55,229,49,1010,47,1332, + 4239,1010,47,156,2653,2560,345,2079,2069,350, + 2495,180,3805,938,530,2117,2556,2779,2594,204, + 216,4608,54,203,213,214,215,217,1033,169, + 233,1968,541,233,415,35,885,283,168,1968, + 186,167,170,171,172,173,174,432,2526,801, + 2063,229,362,251,231,232,254,231,232,156, + 333,2680,49,2672,101,2646,1196,180,3805,49, + 2392,2117,3804,1985,49,204,216,4608,4250,203, + 213,214,215,217,344,169,2593,3723,1353,415, + 35,885,3550,3753,168,2585,195,167,170,171, + 172,173,174,3029,35,799,32,4259,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,108,2594,2751,3029,35, + 799,32,525,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 108,2630,2783,1365,35,799,32,2691,3106,27, + 30,31,785,727,340,28,2427,1870,35,799, + 32,741,2891,27,30,31,785,727,340,28, + 2692,2485,1968,502,35,1052,390,2671,2883,1968, + 1463,35,799,32,741,2891,27,30,31,785, + 727,340,28,801,2631,306,502,35,1052,390, + 3008,751,322,3436,334,3736,317,580,49,49, + 49,2694,453,4814,3588,751,322,1010,47,353, + 316,580,1567,49,49,2427,2646,1149,3118,2427, + 525,49,315,2204,347,2079,2069,350,751,322, + 1010,47,2427,316,580,229,87,2144,431,2666, + 4311,1149,2678,3696,156,315,2290,1620,2695,2697, + 309,540,685,1861,179,2702,2173,322,199,206, + 216,4608,3580,205,213,214,215,217,160,2981, + 2760,198,173,538,540,685,1473,35,799,32, + 532,3106,27,30,31,785,727,340,28,207, + 209,211,3270,4276,218,208,210,2427,1968,2427, + 1968,3029,35,799,32,3721,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,85,307,2706,801,2959,2711,4492, + 2427,3298,3531,3354,751,322,305,334,202,317, + 580,2771,3029,893,799,1981,590,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,84,3029,35,799,32,200, + 4485,27,30,31,785,727,26,28,1288,263, + 25,23,50,1372,106,76,77,83,3029,35, + 799,32,1179,4485,27,30,31,785,727,26, + 28,1288,263,25,23,50,1372,106,76,77, + 82,3029,35,799,32,2769,4485,27,30,31, + 785,727,26,28,1288,263,25,23,50,1372, + 106,76,77,81,3029,35,799,32,2815,4485, + 27,30,31,785,727,26,28,1288,263,25, + 23,50,1372,106,76,77,80,3029,35,799, + 32,2816,4485,27,30,31,785,727,26,28, + 1288,263,25,23,50,1372,106,76,77,79, + 3029,35,799,32,1500,4485,27,30,31,785, + 727,26,28,1288,263,25,23,50,1372,106, + 76,77,78,2857,35,799,32,5416,4485,27, + 30,31,785,727,26,28,1288,263,25,23, + 50,1372,106,76,77,104,3029,35,799,32, + 5416,4485,27,30,31,785,727,26,28,1288, + 263,25,23,50,1372,106,76,77,110,3029, + 35,799,32,5416,4485,27,30,31,785,727, + 26,28,1288,263,25,23,50,1372,106,76, + 77,109,3029,35,799,32,5416,4485,27,30, + 31,785,727,26,28,1288,263,25,23,50, + 1372,106,76,77,107,3029,35,799,32,5416, + 4485,27,30,31,785,727,26,28,1288,263, + 25,23,50,1372,106,76,77,105,1817,35, + 3539,32,741,2891,27,30,31,785,727,340, + 28,1382,35,799,32,741,2891,27,30,31, + 785,727,340,28,5416,2427,49,49,2450,1828, + 2106,1149,1149,2646,2144,415,35,297,1149,49, + 1915,2144,5416,3737,2646,1149,415,35,297,2420, + 5416,2427,229,3485,5416,5416,751,322,156,156, + 5416,316,580,229,301,160,2427,3120,162,751, + 322,1968,160,2243,316,580,206,216,4608,5416, + 205,213,214,215,217,5416,315,206,216,4608, + 4238,205,213,214,215,217,502,35,1052,390, + 1968,1968,1968,2427,3410,223,207,209,211,3270, + 1968,218,208,210,310,540,685,207,209,211, + 3270,5416,218,208,210,3188,35,1052,390,3559, + 3162,49,5416,1725,1811,4313,3601,3887,239,263, + 1010,47,193,3598,3261,5416,4492,5416,4235,5416, + 5416,5416,5416,5416,5416,3847,3101,4492,5416,49, + 275,5416,5416,2646,5416,420,421,3468,1223,35, + 799,32,2826,2891,27,30,31,785,727,340, + 28,2002,344,5416,5416,2646,5416,233,5416,5416, + 1473,35,799,32,5416,3106,27,30,31,785, + 727,340,28,5416,229,3378,5416,405,4320,5416, + 237,231,232,5416,5416,2364,5416,5416,5416,1654, + 5416,276,5416,2646,5416,5416,3342,322,206,216, + 4608,5416,205,213,214,215,217,5416,5416,5416, + 801,5416,229,244,247,250,253,1184,751,322, + 5416,334,5416,319,580,1216,5416,5416,207,209, + 211,3270,5416,522,208,210,206,216,4608,5416, + 205,213,214,215,217,1216,35,1052,390,5416, + 5416,49,1741,2345,49,1149,2646,2646,1149,5416, + 5416,2089,5416,5416,5416,2646,207,209,211,3270, + 2176,521,208,210,2646,229,2663,5416,5416,5416, + 49,5416,156,5416,229,156,5416,5416,5416,1010, + 2033,3343,5416,229,3348,5416,5416,2658,318,206, + 216,4608,5416,205,213,214,215,217,206,216, + 4608,5416,205,213,214,215,217,206,216,4608, + 5416,205,213,214,215,217,5416,5416,5416,207, + 209,211,3270,5416,219,208,210,5416,207,209, + 211,3270,507,308,208,210,5416,207,209,211, + 3270,5416,501,208,210,1382,35,799,32,741, + 2891,27,30,31,785,727,340,28,1609,35, + 799,32,2632,2891,27,30,31,785,727,340, + 28,5416,5416,5416,1181,504,506,5416,2646,4843, + 5416,5416,1287,5416,1807,5416,2646,4843,2646,2653, + 5416,5416,5416,5416,5416,5416,1807,229,5416,5416, + 2646,2653,49,751,322,229,2646,2663,316,580, + 2553,2144,5416,5416,541,1149,3342,322,3620,2663, + 4028,545,409,4378,5416,344,5416,5416,5416,545, + 409,4378,5416,344,801,2312,35,1052,390,5416, + 5416,156,160,5416,5416,333,801,5416,3378,5416, + 188,410,411,412,3270,5416,4595,333,2466,410, + 411,412,3270,502,35,1052,390,5416,5416,5416, + 49,5416,2652,361,3244,502,35,1052,390,1010, + 47,5416,3244,5416,3723,361,2347,35,1052,390, + 3287,3278,3279,5416,5416,4245,5416,5416,49,5416, + 5416,5416,3287,3278,3279,49,3759,1010,47,541, + 49,190,5416,5416,5416,5416,5416,2658,318,1010, + 47,49,5416,3266,5416,5416,5416,5416,344,49, + 1010,47,5416,541,49,3360,156,5416,541,413, + 415,5416,5416,5416,5416,2026,4256,413,416,5416, + 5416,3378,344,415,35,1052,390,344,5416,5416, + 156,1983,5416,1500,2378,156,4632,5416,2646,2372, + 415,35,1052,390,2026,3378,415,35,1052,390, + 3378,415,35,1052,390,2366,5416,2663,49,5416, + 2963,5416,4261,415,35,1052,390,1010,739,2381, + 49,5416,5416,2646,541,49,5416,5416,5416,5416, + 5416,49,5416,5416,1010,2877,49,5416,5416,5416, + 1010,664,344,344,5416,1010,2033,5416,49,49, + 5416,156,533,541,5416,5416,5416,1010,2775,49, + 188,5416,5416,541,49,3378,4595,5416,2646,5416, + 5416,5416,344,507,5416,536,5416,49,5416,49, + 156,2646,344,2646,49,5416,5416,344,2646,188, + 156,5416,5416,5416,5416,4595,5416,49,5416,188, + 344,1149,344,5416,5416,4595,5416,344,49,5416, + 3378,49,1149,5416,49,1149,504,506,1149,5416, + 3326,3888,5416,3378,5416,3378,5416,5416,156,5416, + 3378,5416,5416,511,5416,509,5416,3404,5416,156, + 537,5416,156,5416,5416,156,5416,5416,3418,5416, + 3890,3205,5416,5416,4312,5416,5416,5416,5416,3846, + 4281,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,3837, + 5416,0,1133,1,0,39,5431,1,0,39, + 5430,1,0,38,629,0,38,5431,0,38, + 5430,0,456,581,0,442,920,0,1002,29, + 0,5431,48,0,5430,48,0,5428,385,0, + 5427,385,0,39,5431,0,39,5430,0,1, + 446,0,460,1252,0,459,1560,0,35,33, + 0,1002,389,0,47,37,0,2576,126,0, + 1,1007,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,5680,0,285,396,0,285, + 290,0,5651,242,0,5650,242,0,5755,242, + 0,5754,242,0,5678,242,0,5677,242,0, + 5676,242,0,5675,242,0,5674,242,0,5673, + 242,0,5672,242,0,5671,242,0,5690,242, + 0,5689,242,0,5688,242,0,5687,242,0, + 5686,242,0,5685,242,0,5684,242,0,5683, + 242,0,5682,242,0,5681,242,0,5680,242, + 0,39,5431,242,0,39,5430,242,0,5454, + 242,0,43,5452,0,43,37,0,1247,91, + 0,32,34,0,39,629,0,332,447,0, + 5422,1,0,5421,1,0,238,1050,0,32, + 390,0,29,389,0,2576,128,0,2576,127, + 0,503,3264,0,5454,1,230,0,39,1, + 230,0,230,418,0,5431,37,0,5430,37, + 0,5452,45,0,37,45,0,5454,1,0, + 39,1,0,1,92,0,5426,407,0,5425, + 407,0,1063,1,0,2939,1,0,629,1, + 0,230,417,0,3384,385,0,5431,2,37, + 0,5430,2,37,0,5431,36,0,5430,36, + 0,1,332,0,8,12,0,332,95,0, + 35,73,0,503,4429,0,1,230,0,280, + 3827,0,230,221,0,1,2923,0,1,3010, + 0,230,220,0,5428,1,0,5424,1,0, + 1,230,3791,0,5425,230,0,3826,230,0, + 3862,230,0,10,12,0,8,10,12,0, + 4005,194,0,185,3542,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1085,8 +1116,8 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, - 54,0,56,57,58,59,60,61,62,101, - 64,65,66,67,106,92,93,71,0,0, + 54,0,56,57,58,59,60,61,62,0, + 64,65,66,67,0,92,93,71,4,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1110,17 +1141,17 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 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,71,49,50,51,52,53,54,0, + 46,47,71,49,50,51,52,53,54,68, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,6,0,102,103,104,74,75, + 66,67,99,6,0,1,2,0,74,75, 76,77,78,79,80,81,82,83,84,85, 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,0,49, - 50,51,52,53,54,0,56,57,58,59, - 60,61,62,0,64,65,66,67,99,92, + 50,51,52,53,54,68,56,57,58,59, + 60,61,62,0,64,65,66,67,0,92, 93,0,1,2,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, @@ -1129,23 +1160,23 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,6,0,1,2,0, + 64,65,66,67,0,6,0,89,0,91, 74,75,76,77,78,79,80,81,82,83, 84,85,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, - 0,49,50,51,52,53,54,68,56,57, + 0,49,50,51,52,53,54,69,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,92,93,89,4,91,74,75,76,77, + 99,92,93,87,88,0,74,75,76,77, 78,79,80,81,82,83,84,85,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,0,49,50,51, - 52,53,54,0,56,57,58,59,60,61, + 52,53,54,68,56,57,58,59,60,61, 62,0,64,65,66,67,0,1,2,23, 24,5,74,75,76,77,78,79,80,81, 82,83,84,85,0,1,2,3,4,5, @@ -1155,13 +1186,13 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 36,37,38,39,40,41,42,43,44,45, 46,47,0,49,50,51,52,53,54,0, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,1,2,8,4,0,74,75, + 66,67,0,1,2,0,4,0,74,75, 76,77,78,79,80,81,82,83,84,85, 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,71,49, + 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,68,56,57,58,59, 60,61,62,0,64,65,66,67,0,6, 0,0,9,3,74,75,76,77,78,79, @@ -1170,253 +1201,254 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 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,0,49,50,51,52,53, - 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,87,88,8,87,88, + 44,45,46,47,63,49,50,51,52,53, + 54,0,56,57,58,59,60,61,62,101, + 64,65,66,67,0,107,0,1,2,0, 74,75,76,77,78,79,80,81,82,83, 84,85,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, - 0,49,50,51,52,53,54,0,56,57, + 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,1,2,0,1,2,74,75,76,77, + 0,1,2,89,9,91,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, - 2,3,4,5,6,7,117,9,10,11, + 2,3,4,5,6,7,0,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,0,26,27,28,29,30,31, + 22,23,24,63,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, 42,43,44,45,46,47,0,49,50,51, 52,53,54,0,56,57,58,4,0,61, 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,0,1,2,0,0, + 30,31,32,33,34,0,1,2,40,0, 40,55,0,1,2,3,4,5,48,7, - 8,0,89,0,91,0,56,57,58,59, - 60,63,62,0,9,0,0,25,0,1, - 2,71,72,22,23,24,0,26,27,28, + 8,0,0,0,0,0,56,57,58,59, + 60,8,62,0,9,0,120,25,0,0, + 0,71,72,22,23,24,8,26,27,28, 29,30,31,32,33,34,86,22,23,24, 0,26,27,28,29,30,31,32,33,34, - 65,66,102,103,104,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, - 74,0,0,0,3,40,3,0,0,6, - 0,8,9,48,0,1,2,0,4,96, - 97,56,57,58,59,60,0,62,25,0, - 4,0,6,120,0,9,71,72,35,36, - 37,38,8,0,1,2,3,4,5,6, - 7,86,9,0,0,0,39,0,55,0, - 6,8,48,55,35,36,63,102,103,104, - 69,68,69,70,71,72,73,22,23,24, - 72,26,27,28,29,30,31,32,33,34, - 87,88,89,90,91,92,93,94,95,96, - 97,98,99,100,101,98,63,73,105,106, - 107,108,109,110,111,112,113,114,115,116, - 117,0,119,120,3,0,73,6,69,8, - 9,100,0,1,2,3,4,5,6,7, - 0,9,0,90,87,88,25,0,1,2, - 3,4,5,0,7,0,35,36,37,38, - 101,8,0,1,2,106,107,108,109,110, - 111,112,113,114,115,116,55,0,0,1, - 2,3,4,5,63,7,8,0,63,68, - 69,70,71,72,73,63,0,1,2,0, - 4,69,6,25,0,9,0,3,87,88, - 89,90,91,92,93,94,95,96,97,98, - 99,100,101,70,71,70,105,106,107,108, - 109,110,111,112,113,114,115,116,117,0, - 119,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,100,0,0, - 1,2,40,4,5,98,7,48,0,0, - 48,0,0,87,88,0,5,0,56,57, - 58,59,60,8,62,8,64,0,1,2, - 22,23,24,71,26,27,28,29,30,31, - 32,33,34,0,35,36,48,48,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,67,0,1,2,73,40, - 5,0,1,2,3,4,5,48,7,0, - 0,89,0,91,55,56,57,58,59,60, - 8,62,0,64,0,1,2,3,4,5, - 6,7,10,9,0,0,1,2,3,4, - 5,6,7,48,9,86,0,1,2,3, + 65,66,63,103,104,105,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,59,70,0,60,73,40,0,0,1, - 2,3,4,5,48,7,9,63,89,0, - 91,0,56,57,58,59,60,72,62,8, + 34,73,0,89,0,91,40,3,96,97, + 6,0,8,9,48,4,0,6,90,89, + 9,91,56,57,58,59,60,98,62,25, + 0,118,0,0,1,2,4,71,72,35, + 36,37,38,0,0,1,2,3,4,5, + 6,7,86,9,22,0,0,0,3,55, + 0,0,1,2,3,4,5,63,7,103, + 104,105,68,69,70,71,72,73,22,23, + 24,48,26,27,28,29,30,31,32,33, + 34,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,0,63,48,3, + 106,107,108,109,110,111,112,113,114,115, + 116,117,118,119,120,0,0,70,3,0, + 4,6,0,8,9,103,104,105,6,96, + 97,0,0,1,2,3,4,5,6,7, + 25,9,0,1,2,3,4,5,101,7, + 35,36,37,38,107,108,109,110,111,112, + 113,114,115,116,117,0,70,0,3,0, + 55,55,0,1,2,0,4,5,63,7, + 5,0,0,68,69,70,71,72,73,22, + 23,24,60,26,27,28,29,30,31,32, + 33,34,87,88,89,90,91,92,93,94, + 95,96,97,98,99,100,101,35,36,100, + 48,106,107,108,109,110,111,112,113,114, + 115,116,117,118,119,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,0,0,1,2,0,40,5,0,1, + 2,3,4,5,48,7,0,1,2,0, + 121,0,56,57,58,59,60,8,62,0, 64,0,1,2,3,4,5,71,7,8, - 0,0,1,2,0,4,25,6,4,8, - 9,48,86,0,1,2,3,4,5,6, + 35,36,0,1,2,3,4,5,6,7, + 48,9,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,0,1, - 2,70,0,40,63,55,0,1,2,55, - 4,48,6,0,73,9,87,88,68,56, - 57,58,59,60,73,62,0,64,0,0, - 1,2,3,4,71,6,8,0,9,0, - 0,90,0,3,94,95,48,0,8,86, + 27,28,29,30,31,32,33,34,69,0, + 1,2,73,40,63,6,0,1,2,98, + 4,48,6,0,73,9,0,0,55,56, + 57,58,59,60,72,62,0,64,0,0, + 1,2,3,4,5,6,7,0,9,0, + 1,2,3,4,5,6,7,48,9,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,0,1,2,0,4, - 40,6,63,0,9,0,1,2,48,4, - 5,73,7,63,0,63,56,57,58,59, - 60,72,62,73,64,68,90,70,0,1, - 2,71,0,1,2,3,4,5,6,7, - 0,9,0,1,2,0,86,0,1,2, + 40,6,63,0,9,0,1,2,48,70, + 5,0,7,87,88,68,56,57,58,59, + 60,0,62,100,64,0,0,1,2,0, + 4,71,6,0,8,9,0,1,2,3, + 4,5,39,7,0,0,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,68,0,0,1,2,40,4,5, - 48,7,0,1,2,48,4,99,6,96, - 97,9,0,56,57,58,59,60,68,62, - 8,64,0,1,2,3,4,5,0,7, - 0,1,2,3,4,5,0,7,0,0, - 1,2,48,86,0,1,2,3,4,5, + 33,34,0,1,2,74,4,40,55,0, + 1,2,3,4,5,48,7,8,69,73, + 55,68,0,56,57,58,59,60,72,62, + 8,64,87,88,25,0,90,72,71,4, + 0,1,2,3,4,0,6,94,95,9, + 48,87,88,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,67, - 0,0,1,2,40,4,5,48,7,0, - 0,55,48,63,72,0,68,8,70,4, - 56,57,58,59,60,0,62,0,64,4, - 3,0,1,2,25,8,5,22,7,0, - 1,2,0,0,5,0,7,22,0,4, + 55,0,1,2,40,4,5,0,7,0, + 1,2,48,63,5,0,7,0,0,4, + 56,57,58,59,60,8,62,72,64,0, + 1,2,3,4,5,71,7,0,1,2, + 0,4,5,3,7,0,1,2,0,48, 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,0,1,2,0, - 63,40,3,0,8,68,0,70,55,48, - 73,0,0,0,1,2,4,56,57,58, - 59,60,70,62,0,64,68,102,103,104, - 0,0,1,2,10,0,0,6,8,0, - 1,2,3,4,5,6,7,86,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,48,63,67,40,0,1,2,0,63, - 35,36,48,70,35,36,37,38,39,48, - 41,42,43,44,45,46,47,0,49,50, - 51,52,53,54,0,1,2,0,1,2, - 61,71,0,0,65,66,3,68,0,1, + 29,30,31,32,33,34,0,0,1,2, + 73,40,63,48,0,1,2,90,4,48, + 6,0,0,9,3,87,88,56,57,58, + 59,60,0,62,0,64,0,3,0,0, + 1,2,8,4,0,6,8,0,9,0, + 1,2,0,4,5,48,7,86,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 65,66,0,0,0,0,68,3,3,0, - 8,8,48,35,36,37,38,39,0,41, - 42,43,44,45,46,47,8,49,50,51, - 52,53,54,0,1,2,0,1,2,61, - 0,0,0,25,3,67,0,90,0,71, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,63,0,0,73,73,3,0,0, - 0,48,0,3,48,35,36,37,38,39, - 8,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,0,25,3,3, - 68,61,72,0,0,69,3,67,0,1, - 2,3,4,5,6,7,0,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 0,0,0,0,0,72,3,0,70,8, - 0,4,0,35,36,37,38,39,0,41, - 42,43,44,45,46,47,25,49,50,51, - 52,53,54,0,0,0,0,63,0,61, - 0,55,4,65,66,0,1,2,3,4, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,0,1,2,0,63,40,55, + 68,69,68,69,0,67,48,73,72,103, + 104,105,68,0,56,57,58,59,60,72, + 62,8,64,0,1,2,0,0,0,3, + 3,8,4,0,8,0,1,2,94,95, + 0,48,0,0,86,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,55,0,69, - 0,69,0,55,0,3,72,3,0,69, - 35,36,37,38,39,0,41,42,43,44, - 45,46,47,55,49,50,51,52,53,54, - 0,0,0,3,70,72,61,39,72,69, - 0,0,67,0,1,2,3,4,5,6, - 7,0,9,10,11,12,13,14,15,16, - 17,18,19,20,21,0,0,0,3,0, - 5,6,0,4,9,0,61,10,35,36, - 37,38,39,0,41,42,43,44,45,46, - 47,0,49,50,51,52,53,54,90,0, - 35,36,37,38,61,0,41,40,65,66, - 70,70,0,0,0,48,0,0,118,0, - 55,55,3,72,55,0,0,55,63,3, - 65,66,0,68,69,70,0,0,55,0, - 3,0,3,0,69,0,55,0,3,118, - 3,0,87,88,89,0,0,92,93,94, - 95,96,97,98,99,100,101,55,55,55, - 105,55,107,108,109,110,111,112,113,114, - 115,116,0,1,2,3,4,5,6,7, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 0,1,2,48,0,40,73,0,0,63, + 67,3,8,48,0,8,0,1,2,73, + 0,56,57,58,59,60,63,62,8,64, + 68,69,25,0,0,0,1,2,0,1, + 2,0,8,0,1,2,3,4,5,6, + 7,86,9,10,11,12,13,14,15,16, + 17,18,19,20,21,65,66,0,35,36, + 3,63,0,69,0,71,69,63,35,36, + 37,38,39,48,41,42,43,44,45,46, + 47,71,49,50,51,52,53,54,0,1, + 2,0,1,2,61,71,0,0,65,66, + 3,68,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,72,69,0,0,0,3, - 0,55,69,0,0,0,75,35,36,37, + 18,19,20,21,0,0,0,1,2,0, + 1,2,0,8,10,3,48,35,36,37, 38,39,0,41,42,43,44,45,46,47, - 0,49,50,51,52,53,54,0,1,2, - 3,4,5,6,7,0,9,10,11,12, - 13,14,15,16,17,18,19,20,21,0, - 0,0,40,0,0,0,0,0,0,118, - 0,0,35,36,37,38,39,69,41,42, - 43,44,45,46,47,0,49,50,51,52, - 53,54,0,0,0,0,0,0,61,117, - 0,1,2,3,4,5,6,7,0,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,0,0,39,0,0,0,69,0, - 0,121,0,0,0,35,36,37,38,39, - 0,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,1,2,3,4, - 5,6,7,63,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 35,36,37,38,39,0,41,42,43,44, - 45,46,47,0,49,50,51,52,53,54, - 0,0,0,0,0,0,61,0,1,2, + 25,49,50,51,52,53,54,0,0,0, + 0,3,0,61,40,69,0,10,8,67, + 0,0,48,71,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,0,40,0,0, + 0,3,0,0,4,48,0,8,0,35, + 36,37,38,39,8,41,42,43,44,45, + 46,47,22,49,50,51,52,53,54,0, + 68,25,90,73,63,61,70,8,0,69, + 0,67,0,1,2,3,4,5,6,7, + 10,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,0,70,0,0,0, + 3,69,73,8,0,0,0,35,36,37, + 38,39,0,41,42,43,44,45,46,47, + 25,49,50,51,52,53,54,0,0,59, + 0,0,73,61,4,0,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,55,0,0,70,0,3,55,63,0, + 8,72,3,69,35,36,37,38,39,48, + 41,42,43,44,45,46,47,25,49,50, + 51,52,53,54,0,0,0,3,70,72, + 61,0,0,0,39,70,67,0,1,2, 3,4,5,6,7,0,9,10,11,12, 13,14,15,16,17,18,19,20,21,0, - 0,0,0,0,0,0,0,0,0,0, + 0,0,3,0,5,6,0,4,9,0, 0,0,35,36,37,38,39,0,41,42, 43,44,45,46,47,0,49,50,51,52, + 53,54,61,48,35,36,37,38,61,0, + 41,69,65,66,0,0,0,0,0,0, + 0,0,0,3,55,55,55,0,55,0, + 3,55,63,0,65,66,55,68,69,70, + 0,0,55,0,0,102,0,3,69,3, + 55,0,72,0,3,0,87,88,89,0, + 0,92,93,94,95,96,97,98,99,100, + 101,55,55,55,55,106,55,108,109,110, + 111,112,113,114,115,116,117,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,0, + 70,70,3,0,55,72,102,102,0,90, + 0,3,35,36,37,38,39,72,41,42, + 43,44,45,46,47,75,49,50,51,52, 53,54,0,1,2,3,4,5,6,7, 0,9,10,11,12,13,14,15,16,17, 18,19,20,21,0,0,0,0,0,0, 0,0,0,0,0,0,0,35,36,37, 38,39,0,41,42,43,44,45,46,47, - 0,49,50,51,52,53,54,0,1,2, - 3,4,5,6,7,0,9,10,11,12, - 13,14,15,16,17,18,19,20,21,0, + 70,49,50,51,52,53,54,0,0,0, + 0,0,0,61,0,118,0,1,2,3, + 4,5,6,7,39,9,10,11,12,13, + 14,15,16,17,18,19,20,21,0,0, + 0,0,0,0,70,70,0,0,0,0, + 0,35,36,37,38,39,0,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,63, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,102,0,0,0,0,0, + 0,0,0,0,0,0,35,36,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,0,0,0, + 0,0,61,0,1,2,3,4,5,6, + 7,0,9,10,11,12,13,14,15,16, + 17,18,19,20,21,0,0,0,0,0, + 0,0,0,0,0,0,0,0,35,36, + 37,38,39,0,41,42,43,44,45,46, + 47,0,49,50,51,52,53,54,0,1, + 2,3,4,5,6,7,0,9,10,11, + 12,13,14,15,16,17,18,19,20,21, 0,0,0,0,0,0,0,0,0,0, - 0,0,35,36,37,38,39,0,41,42, - 43,44,45,46,47,0,49,50,51,52, - 53,54,0,1,2,0,4,0,0,0, - 0,0,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,0,26,27, - 28,29,30,31,32,33,34,0,0,0, - 0,0,40,0,0,0,0,0,0,0, - 0,0,1,2,0,4,0,0,56,57, - 58,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,0,26,27,28, - 29,30,31,32,33,34,0,0,0,0, - 0,40,0,1,2,3,4,5,6,7, - 8,9,0,0,0,0,0,56,57,58, + 0,0,0,35,36,37,38,39,0,41, + 42,43,44,45,46,47,0,49,50,51, + 52,53,54,0,1,2,3,4,5,6, + 7,0,9,10,11,12,13,14,15,16, + 17,18,19,20,21,0,0,0,0,0, + 0,0,0,0,0,0,0,0,35,36, + 37,38,39,0,41,42,43,44,45,46, + 47,0,49,50,51,52,53,54,0,1, + 2,0,4,0,0,0,0,0,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,0,26,27,28,29,30,31, + 32,33,34,0,0,0,0,0,40,0, + 0,0,0,0,0,0,0,0,1,2, + 0,4,0,0,56,57,58,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,0,26,27,28,29,30,31,32, + 33,34,0,0,0,0,0,40,0,1, + 2,3,4,5,6,7,8,9,0,0, + 0,0,0,56,57,58,0,0,0,0, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,55,3,0, + 0,0,0,55,0,0,0,0,0,0, + 68,63,0,0,0,0,0,0,0,0, + 0,73,0,1,2,3,4,5,6,7, + 8,9,37,38,0,0,94,95,0,0, 0,0,0,0,22,23,24,25,26,27, - 28,29,30,31,32,33,34,0,0,0, + 28,29,30,31,32,33,34,0,63,0, 0,0,0,0,0,0,0,0,0,0, - 0,55,3,55,0,0,0,55,0,0, - 0,0,0,0,68,63,68,0,0,0, - 0,0,0,0,0,73,0,1,2,3, - 4,5,6,7,8,9,37,38,0,0, - 94,95,94,95,0,0,0,0,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,0,63,0,0,0,0,0,0,0, - 0,0,0,0,0,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,63, - 26,27,28,29,30,31,32,33,34,73, - 0,0,0,0,105,0,0,0,0,0, - 0,0,0,0,0,0,0,0,119,0, + 0,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,63,26,27,28,29, + 30,31,32,33,34,73,0,0,0,0, + 0,106,0,0,0,0,0,0,0,0, + 0,0,0,0,119,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,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; @@ -1424,345 +1456,346 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface TermAction { public final static char termAction[] = {0, - 5259,5236,5212,5212,5212,5212,5212,5212,5246,5212, + 5416,5390,5366,5366,5366,5366,5366,5366,5400,5366, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5240,1,1,1,1, + 1,1,1,1,1,5394,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,139,1, - 1,1,1,1,1,1,1,1,1,996, - 5434,1,3448,115,3554,1,1,5270,5259,3666, - 5259,5266,734,4686,1403,3812,4176,2209,4044,3720, - 2974,3790,782,3762,3146,3761,10,5249,5249,5249, - 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, - 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, - 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, - 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, - 5249,5249,5249,5249,328,5249,5249,5249,5249,5249, - 5249,393,5249,5249,5249,5249,5249,5249,5249,2256, - 5249,5249,5249,5249,3067,3614,3522,5249,382,5259, - 5249,5249,5249,5249,5249,5249,5249,5249,5249,5249, - 5249,5249,8,5252,5252,5252,5252,5252,5252,5252, - 5252,5252,5252,5252,5252,5252,5252,5252,5252,5252, - 5252,5252,5252,5252,5252,5252,5252,5252,5252,5252, - 5252,5252,5252,5252,5252,5252,5252,5252,5252,5252, - 5252,5252,5252,5252,5252,5252,5252,5252,5252,5252, - 296,5252,5252,5252,5252,5252,5252,5712,5252,5252, - 5252,5252,5252,5252,5252,300,5252,5252,5252,5252, - 286,5005,5005,5252,283,5558,5252,5252,5252,5252, - 5252,5252,5252,5252,5252,5252,5252,5252,5259,5236, - 5212,5212,5212,5212,5212,5212,5243,5212,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5240,1,1,1,1,1,1, + 1,1,1,1,1,332,1,1,1,1903, + 5591,1,2777,115,3575,1,1,5427,5416,3698, + 5416,5423,3090,4779,1639,3845,3822,2247,3809,3774, + 3074,3839,1058,3838,3435,3832,10,5403,5403,5403, + 5403,5403,5403,5403,5403,5403,5403,5403,5403,5403, + 5403,5403,5403,5403,5403,5403,5403,5403,5403,5403, + 5403,5403,5403,5403,5403,5403,5403,5403,5403,5403, + 5403,5403,5403,5403,5403,5403,5403,5403,5403,5403, + 5403,5403,5403,5403,397,5403,5403,5403,5403,5403, + 5403,386,5403,5403,5403,5403,5403,5403,5403,300, + 5403,5403,5403,5403,39,3673,3498,5403,5454,5416, + 5403,5403,5403,5403,5403,5403,5403,5403,5403,5403, + 5403,5403,8,5406,5406,5406,5406,5406,5406,5406, + 5406,5406,5406,5406,5406,5406,5406,5406,5406,5406, + 5406,5406,5406,5406,5406,5406,5406,5406,5406,5406, + 5406,5406,5406,5406,5406,5406,5406,5406,5406,5406, + 5406,5406,5406,5406,5406,5406,5406,5406,5406,5406, + 5416,5406,5406,5406,5406,5406,5406,5873,5406,5406, + 5406,5406,5406,5406,5406,304,5406,5406,5406,5406, + 290,5159,5159,5406,285,5719,5406,5406,5406,5406, + 5406,5406,5406,5406,5406,5406,5406,5406,5416,5390, + 5366,5366,5366,5366,5366,5366,5397,5366,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5259,1,1,1, - 1,1,1,437,1,1,1,996,5434,1, - 3448,5259,3554,1,1,5270,5259,4942,4939,5267, - 5297,5259,1403,3812,4176,2209,4044,3720,2974,3790, - 782,3762,3146,3761,5259,5236,5212,5212,5212,5212, - 5212,5212,5243,5212,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5240, + 1,1,1,5394,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5416,1,1,1, + 1,1,1,135,1,1,1,1903,5591,1, + 2777,5416,3575,1,1,5427,5416,5096,5093,5424, + 5454,5416,1639,3845,3822,2247,3809,3774,3074,3839, + 1058,3838,3435,3832,5416,5390,5366,5366,5366,5366, + 5366,5366,5397,5366,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5394, 1,1,1,1,1,1,1,1,1,1, - 1,1,5266,1,1,1,1,1,1,135, - 1,1,1,996,5434,1,3448,117,3554,1, - 1,5270,5259,3666,5259,5692,5693,5694,1403,3812, - 4176,2209,4044,3720,2974,3790,782,3762,3146,3761, - 5259,5236,5212,5212,5212,5212,5212,5212,5243,5212, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5240,1,1,1,1, + 1,1,5423,1,1,1,1,1,1,5859, + 1,1,1,1903,5591,1,2777,117,3575,1, + 1,5427,2368,3698,5416,5430,5431,5416,1639,3845, + 3822,2247,3809,3774,3074,3839,1058,3838,3435,3832, + 5416,5390,5366,5366,5366,5366,5366,5366,5397,5366, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5259,1, - 1,1,1,1,1,5259,1,1,1,996, - 5434,1,3448,5259,3554,1,1,5270,2328,3614, - 3522,5259,5273,5274,1403,3812,4176,2209,4044,3720, - 2974,3790,782,3762,3146,3761,5259,5236,5212,5212, - 5212,5212,5212,5212,5243,5212,1,1,1,1, + 1,1,1,1,1,5394,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5240,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5416,1, + 1,1,1,1,1,5930,1,1,1,1903, + 5591,1,2777,5416,3575,1,1,5427,111,3673, + 3498,5416,5084,5081,1639,3845,3822,2247,3809,3774, + 3074,3839,1058,3838,3435,3832,5416,5390,5366,5366, + 5366,5366,5366,5366,5397,5366,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5259,1,1,1,1,1, - 1,5259,1,1,1,996,5434,1,3448,116, - 3554,1,1,5270,111,3666,5259,4930,4927,5259, - 1403,3812,4176,2209,4044,3720,2974,3790,782,3762, - 3146,3761,5259,5236,5212,5212,5212,5212,5212,5212, - 5243,5212,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5240,1,1, + 1,5394,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5416,1,1,1,1,1, + 1,136,1,1,1,1903,5591,1,2777,116, + 3575,1,1,5427,5416,3698,121,4116,157,4139, + 1639,3845,3822,2247,3809,3774,3074,3839,1058,3838, + 3435,3832,5416,5390,5366,5366,5366,5366,5366,5366, + 5397,5366,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5394,1,1, 1,1,1,1,1,1,1,1,1,1, - 5259,1,1,1,1,1,1,5698,1,1, - 1,996,5434,1,3448,5259,3554,1,1,5270, - 39,3614,3522,3896,5297,3918,1403,3812,4176,2209, - 4044,3720,2974,3790,782,3762,3146,3761,5259,5236, - 5212,5212,5212,5212,5212,5212,5243,5212,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5240,1,1,1,1,1,1, + 5416,1,1,1,1,1,1,1907,1,1, + 1,1903,5591,1,2777,5416,3575,1,1,5427, + 2368,3673,3498,599,2799,5416,1639,3845,3822,2247, + 3809,3774,3074,3839,1058,3838,3435,3832,5416,5390, + 5366,5366,5366,5366,5366,5366,5397,5366,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,333,1,1,1, - 1,1,1,5259,1,1,1,996,5434,1, - 3448,5259,3554,1,1,5270,5259,5273,5274,5593, - 5594,2887,1403,3812,4176,2209,4044,3720,2974,3790, - 782,3762,3146,3761,5259,5236,5212,5212,5212,5212, - 5212,5212,5243,5212,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5240, + 1,1,1,5394,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,337,1,1,1, + 1,1,1,3160,1,1,1,1903,5591,1, + 2777,5416,3575,1,1,5427,5416,5430,5431,5754, + 5755,2866,1639,3845,3822,2247,3809,3774,3074,3839, + 1058,3838,3435,3832,5416,5390,5366,5366,5366,5366, + 5366,5366,5397,5366,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5394, 1,1,1,1,1,1,1,1,1,1, - 1,1,5259,1,1,1,1,1,1,5259, - 1,1,1,996,5434,1,3448,8,3554,1, - 1,5270,5259,4942,4939,5200,5297,5259,1403,3812, - 4176,2209,4044,3720,2974,3790,782,3762,3146,3761, - 5259,5236,5212,5212,5212,5212,5212,5212,5243,5212, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5240,1,1,1,1, + 1,1,5416,1,1,1,1,1,1,5416, + 1,1,1,1903,5591,1,2777,5416,3575,1, + 1,5427,5416,5096,5093,5416,5454,5416,1639,3845, + 3822,2247,3809,3774,3074,3839,1058,3838,3435,3832, + 5416,5390,5366,5366,5366,5366,5366,5366,5397,5366, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5200,1, - 1,1,1,1,1,5769,1,1,1,996, - 5434,1,3448,5259,3554,1,1,5270,121,1620, - 5259,125,1494,790,1403,3812,4176,2209,4044,3720, - 2974,3790,782,3762,3146,3761,5259,5236,5212,5212, - 5212,5212,5212,5212,5243,5212,1,1,1,1, + 1,1,1,1,1,5394,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5240,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,139,1, + 1,1,1,1,1,3208,1,1,1,1903, + 5591,1,2777,5416,3575,1,1,5427,5416,1245, + 5416,321,1132,1050,1639,3845,3822,2247,3809,3774, + 3074,3839,1058,3838,3435,3832,5416,5390,5366,5366, + 5366,5366,5366,5366,5397,5366,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,5394,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5259,1,1,1,1,1, - 1,5259,1,1,1,996,5434,1,3448,5259, - 3554,1,1,5270,5259,627,2909,5263,627,2909, - 1403,3812,4176,2209,4044,3720,2974,3790,782,3762, - 3146,3761,5259,3742,1,1,1,1,1,1, - 3760,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5268,1,1, + 1,1,1,1,1341,1,1,1,1,1, + 1,5416,1,1,1,1903,5591,1,2777,2294, + 3575,1,1,5427,114,4237,399,5430,5431,5416, + 1639,3845,3822,2247,3809,3774,3074,3839,1058,3838, + 3435,3832,5416,3791,1,1,1,1,1,1, + 3826,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5425,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5259,1,1,1,1,1,1,5259,1,1, - 1,996,5434,1,3448,5259,3554,1,1,5270, - 395,5273,5274,48,4930,4927,1403,3812,4176,2209, - 4044,3720,2974,3790,782,3762,3146,3761,39,4942, - 4939,3029,2519,3716,3786,2783,5262,3808,925,5523, - 5521,5530,5529,5525,5526,5524,5527,5528,5531,5522, - 5519,5593,5594,114,5513,5520,5516,5492,5518,5517, - 5514,5515,5493,3764,3738,3852,3830,5278,5655,3694, - 1230,1316,5280,1265,1114,1275,452,5281,5279,1196, - 5275,5276,5277,5259,2679,5656,5657,3292,317,1369, - 5259,5134,5134,229,5130,229,229,229,5138,229, + 320,1,1,1,1,1,1,3223,1,1, + 1,1903,5591,1,2777,131,3575,1,1,5427, + 48,5084,5081,4116,2432,4139,1639,3845,3822,2247, + 3809,3774,3074,3839,1058,3838,3435,3832,39,5096, + 5093,4755,1133,3932,4001,2939,5416,4024,879,5682, + 5680,5689,5688,5684,5685,5683,5686,5687,5690,5681, + 5677,5754,5755,1341,5671,5678,5674,5650,5676,5675, + 5672,5673,5651,3978,3955,4070,4047,5435,5816,3891, + 1153,1243,5437,1189,941,1235,456,5438,5436,1105, + 5432,5433,5434,5416,3247,5817,5818,3094,5416,1391, + 5416,5288,5288,230,5284,230,230,230,5292,230, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,1,1, - 1,1,1,1,1,5259,5273,5274,5259,5259, - 1,4918,1,4905,4901,5168,4898,5174,5127,5171, - 5269,224,3896,5259,3918,131,1,1,1,801, - 5669,1328,876,129,2390,225,1,5268,296,5273, - 5274,414,229,5519,5593,5594,5259,5513,5520,5516, - 5492,5518,5517,5514,5515,5493,5757,5519,5593,5594, - 5259,5513,5520,5516,5492,5518,5517,5514,5515,5493, - 3874,1318,5692,5693,5694,5259,5134,5134,229,5130, - 229,229,229,5177,229,1,1,1,1,1, + 1,1,1,1,1,230,1,1,1,1, + 1,1,1,1,1,5416,5430,5431,3303,460, + 1,5072,1,5059,5055,5322,5052,5328,5281,5325, + 5426,225,129,5416,113,132,1,1,1,681, + 5830,5420,2692,5416,2432,226,5051,5425,1,133, + 112,418,230,5677,5754,5755,364,5671,5678,5674, + 5650,5676,5675,5672,5673,5651,5918,5677,5754,5755, + 5416,5671,5678,5674,5650,5676,5675,5672,5673,5651, + 4093,823,5102,5853,5854,5855,5416,5288,5288,230, + 5284,230,230,230,5331,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 229,1,1,1,1,1,1,1,1,1, - 3189,309,5259,33,1320,1,4954,133,29,4954, - 5259,4954,4954,5127,392,5002,5002,5259,283,2447, - 2419,1,1,1,801,5669,39,876,4954,118, - 5297,137,328,4897,5259,328,413,229,4954,4954, - 4954,4954,5265,342,4942,4939,2706,2519,623,328, - 2783,5757,328,1,5259,226,1485,124,4954,139, - 1746,360,283,1569,3334,932,4954,5692,5693,5694, - 1071,4954,4954,4954,4954,4954,4954,5519,5593,5594, - 422,5513,5520,5516,5492,5518,5517,5514,5515,5493, - 4954,4954,4954,4954,4954,4954,4954,4954,4954,4954, - 4954,4954,4954,4954,4954,2360,1328,5264,4954,4954, - 4954,4954,4954,4954,4954,4954,4954,4954,4954,4954, - 4954,5259,4954,4954,5097,316,360,5097,1833,5097, - 5097,2294,364,4905,4901,2706,4898,623,1,2783, - 5259,1,5259,360,627,2909,5097,1,4905,4901, - 4112,4898,623,5259,2783,157,5097,5097,5097,5097, - 2256,5267,290,5273,5274,3067,1791,1749,1707,1665, - 1623,1581,1539,1497,1455,1413,5097,138,1,4905, - 4901,4112,4898,623,5097,2783,308,134,1328,5097, - 5097,5097,5097,5097,5097,1328,442,1,1,5259, - 1,1200,4945,308,91,4945,123,5094,5097,5097, - 5097,5097,5097,5097,5097,5097,5097,5097,5097,5097, - 5097,5097,5097,1009,5266,1875,5097,5097,5097,5097, - 5097,5097,5097,5097,5097,5097,5097,5097,5097,37, - 5097,5097,5259,5212,5212,229,5212,229,229,229, - 5218,229,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,229,1,1, - 8630,1,1,1,1,1,1,2294,47,5259, - 4942,4939,1,2519,5100,2360,2783,5295,227,120, - 5209,5259,113,627,2909,1,2887,5259,1,1, - 1,2557,5470,161,3448,5271,3554,36,5194,5191, - 5519,5593,5594,220,5513,5520,5516,5492,5518,5517, - 5514,5515,5493,5259,3334,932,738,1052,5757,5259, - 5212,5212,229,5212,229,229,229,229,229,1, + 1,230,1,1,1,1,1,1,1,1, + 1,364,5416,4116,33,4139,1,5108,2491,2462, + 5108,39,5108,5108,5281,5454,5416,332,364,4116, + 332,4139,1,1,1,681,5830,2401,2692,5108, + 5416,5419,39,37,5114,5114,5454,417,230,5108, + 5108,5108,5108,130,346,5096,5093,2853,1133,629, + 332,2939,5918,332,687,91,227,139,5248,5108, + 37,1,5059,5055,1063,5052,629,5108,2939,5853, + 5854,5855,5108,5108,5108,5108,5108,5108,5677,5754, + 5755,5452,5671,5678,5674,5650,5676,5675,5672,5673, + 5651,5108,5108,5108,5108,5108,5108,5108,5108,5108, + 5108,5108,5108,5108,5108,5108,313,1341,5452,1011, + 5108,5108,5108,5108,5108,5108,5108,5108,5108,5108, + 5108,5108,5108,5108,5108,5416,398,1864,5251,137, + 389,5251,5416,5251,5251,5853,5854,5855,1345,2491, + 2462,5416,5416,5059,5055,1063,5052,629,1,2939, + 5251,1,332,5096,5093,1063,1133,629,2294,2939, + 5251,5251,5251,5251,4237,1821,1778,1735,1692,1649, + 1606,1563,1520,1477,1434,238,1082,228,5266,185, + 5251,1002,5416,5096,5093,5416,1133,5254,5251,2939, + 2866,5416,118,5251,5251,5251,5251,5251,5251,5677, + 5754,5755,5955,5671,5678,5674,5650,5676,5675,5672, + 5673,5651,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5251,3051,633,2333, + 1192,5251,5251,5251,5251,5251,5251,5251,5251,5251, + 5251,5251,5251,5251,5251,5251,5416,5366,5366,230, + 5366,230,230,230,5372,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,229,1,1,8630,1,1, - 1,1,1,1,5270,37,4960,4960,161,1, - 4960,328,4942,4939,4112,2519,623,5209,2783,112, - 5259,3896,5259,3918,3213,1,1,1,2557,5470, - 5265,3448,300,3554,5259,4905,4901,4112,4898,623, - 1,2783,5558,1,456,5259,4905,4901,4112,4898, - 623,5197,2783,2965,5197,5757,5259,5212,5212,229, - 5212,229,229,229,5227,229,1,1,1,1, + 1,230,1,1,8782,1,1,1,1,1, + 1,134,37,5114,5114,120,1,5114,1,5059, + 5055,5322,5052,5328,5363,5325,300,5430,5431,5416, + 5413,5416,1,1,1,2880,5628,5422,2777,5416, + 3575,1,5059,5055,2853,5052,629,221,2939,5260, + 3051,633,5416,5059,5055,1063,5052,629,5351,2939, + 3322,5351,5918,5416,5366,5366,230,5366,230,230, + 230,230,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,230,1, + 1,8782,1,1,1,1,1,1,4914,37, + 5114,5114,5421,1,1341,332,446,1,1,2401, + 1,5363,5099,138,5263,5099,125,5416,3292,1, + 1,1,2880,5628,2036,2777,5416,3575,5416,368, + 5059,5055,2853,5052,629,1,2939,5416,1,312, + 5059,5055,1063,5052,629,5351,2939,5452,5351,5918, + 5416,5366,5366,230,5366,230,230,230,5381,230, 1,1,1,1,1,1,1,1,1,1, - 1,229,1,1,8630,1,1,1,1,1, - 1,3482,4821,5259,5793,5264,1,132,1,4905, - 4901,5168,4898,5174,5209,5171,2390,4948,3896,122, - 3918,5259,1,1,1,2557,5470,2001,3448,5269, - 3554,1,4905,4901,2706,4898,623,219,2783,5106, - 126,1,5156,5156,394,5153,5268,328,385,360, - 328,3290,5757,5259,5212,5212,229,5212,229,229, - 229,5218,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,229,1, - 1,8630,1,1,1,1,1,1,37,4960, - 4960,3984,5259,1,1328,2627,443,39,39,1569, - 5297,5209,5103,5259,5109,5103,627,2909,4963,1, - 1,1,2557,5470,360,3448,355,3554,1,342, - 39,39,3090,5297,220,328,5265,5259,328,5259, - 1,360,455,3090,2488,593,5295,5259,5106,5757, - 5259,5212,5212,229,5212,229,229,229,5218,229, + 1,1,1,1,1,230,1,1,8782,1, + 1,1,1,1,1,447,39,39,5416,5454, + 1,5257,1341,5416,5257,38,5069,5066,5363,1212, + 5063,1,2939,599,2799,3230,1,1,1,2880, + 5628,5416,2777,2333,3575,124,1,5310,5310,517, + 5307,220,332,126,364,332,1,5059,5055,1063, + 5052,629,1426,2939,123,29,5918,5416,5366,5366, + 230,5366,230,230,230,5372,230,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,8630,1, - 1,1,1,1,1,92,1,1,136,1, - 1,5159,1328,130,5159,5259,4942,4939,5209,2519, - 623,5264,2783,1328,5259,4951,1,1,1,2557, - 5470,1917,3448,5109,3554,4415,5613,787,5259,8414, - 8313,220,308,4905,4901,4112,4898,623,5197,2783, - 5259,5197,43,5091,5091,5259,5757,5259,5212,5212, - 229,5212,229,229,229,229,229,1,1,1, + 1,1,230,1,1,8782,1,1,1,1, + 1,1,396,5156,5156,3456,285,1,2604,1, + 5059,5055,1063,5052,629,5363,2939,312,967,364, + 1002,5117,5416,1,1,1,2880,5628,2036,2777, + 5428,3575,599,2799,312,48,364,426,221,5431, + 346,39,39,2839,5454,5416,332,2548,2520,332, + 285,599,2799,5918,5416,5366,5366,230,5366,230, + 230,230,5372,230,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,230, + 1,1,8782,1,1,1,1,1,1,5427, + 5431,5416,5096,5093,1,1133,5254,359,2939,5416, + 5430,5431,5363,1341,629,397,2939,5416,122,390, + 1,1,1,2880,5628,5422,2777,1950,3575,1, + 5059,5055,2853,5052,629,221,2939,5416,5096,5093, + 1,1133,629,4894,2939,43,5245,5245,5416,2897, + 5918,5416,5366,5366,230,5366,230,230,230,230, + 230,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,230,1,1,8782, + 1,1,1,1,1,1,441,5416,8666,8666, + 5421,1,1341,5242,92,1,1,5774,1,5363, + 5313,5416,5416,5313,4491,599,2799,1,1,1, + 2880,5628,5416,2777,1,3575,5416,2839,1,95, + 39,39,342,5454,128,5357,5384,430,5357,5416, + 5096,5093,5416,1133,629,5452,2939,5918,5416,5366, + 5366,230,5366,230,230,230,230,230,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,229,1,1,8630,1,1,1,1, - 1,1,2845,5259,5259,4942,4939,1,2519,5100, - 5088,2783,95,39,39,5209,5297,2328,5203,2447, - 2419,5203,1,1,1,1,2557,5470,2856,3448, - 5230,3554,1,4905,4901,4112,4898,623,5259,2783, - 1,4905,4901,2706,4898,623,438,2783,5259,5259, - 8501,8501,1180,5757,5259,5212,5212,229,5212,229, - 229,229,229,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,229, - 1,1,8630,1,1,1,1,1,1,5270, - 5259,5259,4942,4939,1,2519,623,5295,2783,403, - 5259,4921,5209,1328,2001,39,4028,5162,787,5297, - 1,1,1,2557,5470,39,3448,1,3554,5297, - 3090,38,4915,4912,5165,338,4909,1308,2783,5259, - 5273,5274,513,29,623,393,2783,3563,5259,386, - 5757,5259,5212,5212,229,5212,229,229,229,229, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,8630, - 1,1,1,1,1,1,5259,5273,5274,344, - 1328,1,2116,359,5271,338,345,338,4924,5209, - 338,5259,5259,5259,5144,5141,2983,1,1,1, - 2557,5470,958,3448,1,3554,2986,5692,5693,5694, - 1,37,4960,4960,5221,119,5259,328,5233,1, - 4905,4901,3029,4898,3716,3786,2783,5757,3808,4966, - 4993,4999,4972,4975,4987,4984,4990,4981,4978,4969, - 4996,5295,1328,5270,5224,5259,4930,4927,5259,1328, - 3334,932,3618,774,3764,3738,3852,3830,5278,5295, - 3694,1230,1316,5280,1265,1114,1275,1,5281,5279, - 1196,5275,5276,5277,45,5150,5150,5259,8414,8313, - 1369,5266,5259,237,39,39,5112,514,39,4942, - 4939,3029,2519,3716,3786,2783,5180,3808,1242,5523, - 5521,5530,5529,5525,5526,5524,5527,5528,5531,5522, - 3874,1318,1,1,1,5259,3005,4789,4010,100, - 526,163,5147,3764,3738,3852,3830,5278,5259,3694, - 1230,1316,5280,1265,1114,1275,5269,5281,5279,1196, - 5275,5276,5277,37,4960,4960,5259,5187,5183,1369, - 5259,5259,5259,5268,4221,4936,291,5615,5259,5266, - 39,4942,4939,3029,2519,3716,3786,2783,4933,3808, - 1242,5523,5521,5530,5529,5525,5526,5524,5527,5528, - 5531,5522,4760,426,5259,526,163,4354,289,5259, - 5259,2539,1,4717,5295,3764,3738,3852,3830,5278, - 5269,3694,1230,1316,5280,1265,1114,1275,5259,5281, - 5279,1196,5275,5276,5277,5259,5259,5268,3386,4053, - 4223,1369,5658,5259,99,2039,3418,4936,141,4942, - 4939,3029,2519,3716,3786,2783,5259,3808,1242,5523, - 5521,5530,5529,5525,5526,5524,5527,5528,5531,5522, - 367,1,365,103,446,3274,4135,5259,866,191, - 418,3187,385,3764,3738,3852,3830,5278,5259,3694, - 1230,1316,5280,1265,1114,1275,191,5281,5279,1196, - 5275,5276,5277,5259,424,5259,5259,2086,48,1369, - 35,1569,5274,39,39,39,4942,4939,3029,2519, - 3716,3786,2783,4933,3808,1242,5523,5521,5530,5529, - 5525,5526,5524,5527,5528,5531,5522,4957,5259,1243, - 5259,1286,278,3031,5259,5215,2077,3581,1,2171, - 3764,3738,3852,3830,5278,530,3694,1230,1316,5280, - 1265,1114,1275,5274,5281,5279,1196,5275,5276,5277, - 5259,372,5259,4236,1105,2124,1369,4011,3010,3579, - 447,307,4936,1,4905,4901,3029,4898,3716,3786, - 2783,5259,3808,4966,4993,4999,4972,4975,4987,4984, - 4990,4981,4978,4969,4996,1,5259,1,1739,48, - 5726,5720,5259,5273,5724,506,3662,5221,3764,3738, - 3852,3830,5278,5259,3694,1230,1316,5280,1265,1114, - 1275,5259,5281,5279,1196,5275,5276,5277,4254,5259, - 5718,5719,5749,5750,1369,5259,5727,5224,39,39, - 2992,3997,393,5259,73,3618,5259,5259,3878,5259, - 5729,4281,4561,3065,5273,5259,5259,4610,1142,4773, - 792,823,5259,5730,5728,5751,504,5259,4724,5259, - 4774,5259,3211,5259,4794,5259,3213,5259,4784,3878, - 2785,519,5740,5739,5752,5259,2,5721,5722,5745, - 5746,5743,5744,5723,5725,5747,5748,1569,3175,5206, - 5753,4013,5733,5734,5735,5731,5732,5741,5742,5737, - 5736,5738,39,4942,4939,3029,2519,3716,3786,2783, - 5263,3808,1242,5523,5521,5530,5529,5525,5526,5524, - 5527,5528,5531,5522,3101,4820,5259,5259,5259,4797, - 185,37,3579,5259,5259,5259,4036,3764,3738,3852, - 3830,5278,5259,3694,1230,1316,5280,1265,1114,1275, - 5259,5281,5279,1196,5275,5276,5277,39,4942,4939, - 3029,2519,3716,3786,2783,5259,3808,1242,5523,5521, - 5530,5529,5525,5526,5524,5527,5528,5531,5522,508, - 5259,5259,4125,5259,5259,5259,5259,5259,5259,3878, - 5259,5259,3764,3738,3852,3830,5278,1959,3694,1230, - 1316,5280,1265,1114,1275,1,5281,5279,1196,5275, - 5276,5277,5259,5259,5259,5259,5259,5259,1369,5262, - 39,4942,4939,3029,2519,3716,3786,2783,5259,3808, - 1242,5523,5521,5530,5529,5525,5526,5524,5527,5528, - 5531,5522,5259,5259,3551,5259,5259,5259,805,5259, - 5259,5256,5259,5259,5259,3764,3738,3852,3830,5278, - 5259,3694,1230,1316,5280,1265,1114,1275,5259,5281, - 5279,1196,5275,5276,5277,39,4942,4939,3029,2519, - 3716,3786,2783,1871,3808,1242,5523,5521,5530,5529, - 5525,5526,5524,5527,5528,5531,5522,5259,5259,5259, - 5259,5259,5259,5259,5259,5259,5259,5259,5259,5259, - 3764,3738,3852,3830,5278,5259,3694,1230,1316,5280, - 1265,1114,1275,5259,5281,5279,1196,5275,5276,5277, - 5259,5259,5259,5259,5259,5259,1369,39,4942,4939, - 4697,2519,3716,3786,2783,5259,3808,1242,5523,5521, - 5530,5529,5525,5526,5524,5527,5528,5531,5522,5259, - 5259,5259,5259,5259,5259,5259,5259,5259,5259,5259, - 5259,5259,3764,3738,3852,3830,5278,5259,3694,1230, - 1316,5280,1265,1114,1275,5259,5281,5279,1196,5275, - 5276,5277,39,4942,4939,3029,2519,3716,3786,2783, - 5259,3808,1242,5523,5521,5530,5529,5525,5526,5524, - 5527,5528,5531,5522,5259,5259,5259,5259,5259,5259, - 5259,5259,5259,5259,5259,5259,5259,3764,3738,3852, - 3830,5278,5259,3694,1230,1316,5280,1265,1114,1275, - 5259,5281,5279,1196,5275,5276,5277,39,4942,4939, - 3029,2519,3716,3786,2783,5259,3808,1242,5523,5521, - 5530,5529,5525,5526,5524,5527,5528,5531,5522,5259, - 5259,5259,5259,5259,5259,5259,5259,5259,5259,5259, - 5259,5259,3764,3738,3852,3830,5278,5259,3694,1230, - 1316,5280,1265,1114,1275,5259,5281,5279,1196,5275, - 5276,5277,5259,4942,4939,5259,5297,5259,5259,5259, - 5259,5259,730,5523,5521,5530,5529,5525,5526,5524, - 5527,5528,5531,5522,5519,5593,5594,5259,5513,5520, - 5516,5492,5518,5517,5514,5515,5493,5259,5259,5259, - 5259,5259,5655,5259,5259,5259,5259,5259,5259,5259, - 5259,241,5081,5077,5259,5085,5259,5259,2679,5656, - 5657,730,5068,5074,5047,5050,5062,5059,5065,5056, - 5053,5044,5071,5023,5017,5014,5259,5041,5020,5032, - 5011,5026,5029,5038,5035,5008,128,5259,127,5259, - 5259,5655,29,385,385,5118,385,385,5118,385, - 5118,5118,5259,5259,5259,5259,5259,2679,5656,5657, - 5259,5259,5259,5259,385,385,385,5118,385,385, - 385,385,385,385,385,385,385,5259,5259,5259, - 5259,5259,5259,5259,5259,5259,5259,5259,5259,75, - 5259,2627,2673,2627,5259,5259,5259,4924,5259,5259, - 5259,5259,5259,5259,5121,5118,5124,5259,5259,5259, - 5259,5259,5259,5259,5259,5118,32,386,386,5115, - 386,386,5115,386,5115,5115,5321,5322,5259,5259, - 2488,593,2488,593,5259,5259,5259,5259,386,386, - 386,5115,386,386,386,386,386,386,386,386, - 386,5259,2976,5259,223,5259,5259,5259,5259,5259, - 5259,5259,5259,5259,5259,5523,5521,5530,5529,5525, - 5526,5524,5527,5528,5531,5522,5519,5593,5594,5115, - 5513,5520,5516,5492,5518,5517,5514,5515,5493,5115, - 5259,5259,5259,5259,580,5259,5259,5259,5259,5259, - 5259,5259,5259,5259,5259,5259,5259,5259,666 + 1,1,1,230,1,1,8782,1,1,1, + 1,1,1,5416,5298,5295,5416,1341,1,2604, + 4510,3284,342,342,5416,5427,5363,342,5819,5853, + 5854,5855,5275,1,1,1,1,2880,5628,3658, + 2777,161,3575,5416,5430,5431,1,5416,5416,2839, + 4494,5428,564,5416,5260,45,5304,5304,2548,2520, + 5416,5452,5416,459,5918,5416,5366,5366,230,5366, + 230,230,230,230,230,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 230,1,1,8782,1,1,1,1,1,1, + 5416,5084,5081,5301,5416,1,161,5416,348,1341, + 5427,1852,5424,5363,349,5426,294,5430,5431,5263, + 8,1,1,1,2880,5628,5105,2777,5354,3575, + 3982,3284,5425,119,1,37,5114,5114,36,5348, + 5345,5416,5387,1,5059,5055,4755,5052,3932,4001, + 2939,5918,4024,5120,5147,5153,5126,5129,5141,5138, + 5144,5135,5132,5123,5150,4093,823,5416,3051,633, + 4927,1341,5416,1019,5416,5423,4208,1341,3978,3955, + 4070,4047,5435,2769,3891,1153,1243,5437,1189,941, + 1235,5354,5438,5436,1105,5432,5433,5434,5416,5341, + 5337,5416,8580,7852,1391,5423,363,5416,39,39, + 4938,518,39,5096,5093,4755,1133,3932,4001,2939, + 5334,4024,1007,5682,5680,5689,5688,5684,5685,5683, + 5686,5687,5690,5681,1,407,5416,8580,7852,293, + 1206,1206,5416,5316,5375,3827,5452,3978,3955,4070, + 4047,5435,1,3891,1153,1243,5437,1189,941,1235, + 5319,5438,5436,1105,5432,5433,5434,1,5416,5416, + 1,4244,5416,1391,5378,3533,295,5375,5422,5090, + 287,100,3633,5423,39,5096,5093,4755,1133,3932, + 4001,2939,5087,4024,1007,5682,5680,5689,5688,5684, + 5685,5683,5686,5687,5690,5681,371,5378,5416,1, + 39,3532,293,5416,5454,3633,5416,531,5416,3978, + 3955,4070,4047,5435,5426,3891,1153,1243,5437,1189, + 941,1235,3429,5438,5436,1105,5432,5433,5434,1, + 4391,5425,5776,5421,4941,1391,2075,163,5416,5702, + 304,5090,141,5096,5093,4755,1133,3932,4001,2939, + 5719,4024,1007,5682,5680,5689,5688,5684,5685,5683, + 5686,5687,5690,5681,369,1,1255,103,5416,450, + 4251,8306,531,5426,428,99,442,3978,3955,4070, + 4047,5435,29,3891,1153,1243,5437,1189,941,1235, + 5425,5438,5436,1105,5432,5433,5434,5416,422,3093, + 5416,47,163,1391,2455,35,5416,39,39,39, + 5096,5093,4755,1133,3932,4001,2939,5087,4024,1007, + 5682,5680,5689,5688,5684,5685,5683,5686,5687,5690, + 5681,5075,1,280,1298,5416,5369,5078,2122,5416, + 191,2114,3586,3447,3978,3955,4070,4047,5435,1128, + 3891,1153,1243,5437,1189,941,1235,191,5438,5436, + 1105,5432,5433,5434,5416,5416,5416,4661,2208,2161, + 1391,535,451,5416,3752,3552,5090,1,5059,5055, + 4755,5052,3932,4001,2939,5416,4024,5120,5147,5153, + 5126,5129,5141,5138,5144,5135,5132,5123,5150,1, + 5416,389,1897,48,5887,5881,5416,5430,5885,311, + 5416,5416,3978,3955,4070,4047,5435,5416,3891,1153, + 1243,5437,1189,941,1235,5416,5438,5436,1105,5432, + 5433,5434,3757,3300,5879,5880,5910,5911,1391,5416, + 5888,2747,39,39,376,524,5416,397,5416,73, + 5416,5416,5416,4849,5890,1002,5111,5416,5430,1, + 4850,3168,998,5416,813,822,3392,5891,5912,5889, + 510,508,4369,5416,5416,3860,5416,4879,4221,2974, + 4652,5416,3130,5416,4889,5416,5901,5900,5913,2, + 194,5882,5883,5906,5907,5904,5905,5884,5886,5908, + 5909,3292,1002,3336,5360,5914,3789,5894,5895,5896, + 5892,5893,5902,5903,5898,5897,5899,39,5096,5093, + 4755,1133,3932,4001,2939,5420,4024,1007,5682,5680, + 5689,5688,5684,5685,5683,5686,5687,5690,5681,5416, + 4907,4909,3631,5416,37,3186,3860,1,5416,4310, + 5416,4944,3978,3955,4070,4047,5435,3242,3891,1153, + 1243,5437,1189,941,1235,5410,5438,5436,1105,5432, + 5433,5434,39,5096,5093,4755,1133,3932,4001,2939, + 5416,4024,1007,5682,5680,5689,5688,5684,5685,5683, + 5686,5687,5690,5681,5416,512,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,1,5416,3978,3955,4070, + 4047,5435,523,3891,1153,1243,5437,1189,941,1235, + 3552,5438,5436,1105,5432,5433,5434,5416,5416,5416, + 5416,5416,5416,1391,5416,5419,39,5096,5093,4755, + 1133,3932,4001,2939,3563,4024,1007,5682,5680,5689, + 5688,5684,5685,5683,5686,5687,5690,5681,5416,5416, + 5416,5416,5416,5416,1993,809,5416,5416,5416,5416, + 5416,3978,3955,4070,4047,5435,5416,3891,1153,1243, + 5437,1189,941,1235,5416,5438,5436,1105,5432,5433, + 5434,39,5096,5093,4755,1133,3932,4001,2939,1818, + 4024,1007,5682,5680,5689,5688,5684,5685,5683,5686, + 5687,5690,5681,5416,3860,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,3978,3955,4070,4047, + 5435,5416,3891,1153,1243,5437,1189,941,1235,5416, + 5438,5436,1105,5432,5433,5434,5416,5416,5416,5416, + 5416,5416,1391,39,5096,5093,4784,1133,3932,4001, + 2939,5416,4024,1007,5682,5680,5689,5688,5684,5685, + 5683,5686,5687,5690,5681,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,3978,3955, + 4070,4047,5435,5416,3891,1153,1243,5437,1189,941, + 1235,5416,5438,5436,1105,5432,5433,5434,39,5096, + 5093,4755,1133,3932,4001,2939,5416,4024,1007,5682, + 5680,5689,5688,5684,5685,5683,5686,5687,5690,5681, + 5416,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,3978,3955,4070,4047,5435,5416,3891, + 1153,1243,5437,1189,941,1235,5416,5438,5436,1105, + 5432,5433,5434,39,5096,5093,4755,1133,3932,4001, + 2939,5416,4024,1007,5682,5680,5689,5688,5684,5685, + 5683,5686,5687,5690,5681,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,5416,5416,5416,3978,3955, + 4070,4047,5435,5416,3891,1153,1243,5437,1189,941, + 1235,5416,5438,5436,1105,5432,5433,5434,5416,5096, + 5093,5416,5454,5416,5416,5416,5416,5416,743,5682, + 5680,5689,5688,5684,5685,5683,5686,5687,5690,5681, + 5677,5754,5755,5416,5671,5678,5674,5650,5676,5675, + 5672,5673,5651,5416,5416,5416,5416,5416,5816,5416, + 5416,5416,5416,5416,5416,5416,5416,242,5235,5231, + 5416,5239,5416,5416,3247,5817,5818,743,5222,5228, + 5201,5204,5216,5213,5219,5210,5207,5198,5225,5177, + 5171,5168,5416,5195,5174,5186,5165,5180,5183,5192, + 5189,5162,127,5416,5416,5416,5416,5816,29,389, + 389,5272,389,389,5272,389,5272,5272,5416,5416, + 5416,5416,5416,3247,5817,5818,5416,5416,5416,5416, + 389,389,389,5272,389,389,389,389,389,389, + 389,389,389,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,5416,75,5416,2604,1113,5416, + 5416,5416,5416,5078,5416,5416,5416,5416,5416,5416, + 5278,5272,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5272,32,390,390,5269,390,390,5269,390, + 5269,5269,5478,5479,5416,5416,2548,2520,5416,5416, + 5416,5416,5416,5416,390,390,390,5269,390,390, + 390,390,390,390,390,390,390,5416,3803,5416, + 224,5416,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5682,5680,5689,5688,5684,5685,5683,5686,5687, + 5690,5681,5677,5754,5755,5269,5671,5678,5674,5650, + 5676,5675,5672,5673,5651,5269,5416,5416,5416,5416, + 5416,586,5416,5416,5416,5416,5416,5416,5416,5416, + 5416,5416,5416,5416,667 }; }; public final static char termAction[] = TermAction.termAction; @@ -1770,61 +1803,61 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Asb { public final static char asb[] = {0, - 391,15,8,1028,580,206,826,826,670,586, - 826,586,1,1,547,169,580,586,352,300, - 17,17,823,710,253,300,826,826,887,826, - 17,586,1032,967,804,213,300,547,626,948, - 399,887,887,887,887,1030,399,531,208,548, - 548,548,548,548,548,548,548,548,828,834, - 839,836,843,841,848,846,850,849,851,303, - 852,586,353,821,819,17,17,1028,956,967, - 948,967,76,967,617,967,951,1030,586,253, - 253,17,84,584,253,867,450,626,169,531, - 710,710,710,710,586,124,300,300,291,531, - 897,709,804,531,828,803,803,124,547,548, - 548,548,548,548,548,548,548,548,548,548, - 548,548,548,548,548,548,548,548,547,547, - 547,547,547,547,547,547,547,547,547,547, - 548,84,353,819,756,755,756,823,401,78, - 445,79,1030,586,586,446,756,1032,586,547, - 169,300,300,756,756,756,756,446,300,548, - 1028,631,609,608,462,974,974,1030,208,253, - 709,547,300,583,585,583,300,253,836,836, - 834,834,834,841,841,841,841,839,839,846, - 843,843,849,848,850,599,851,819,819,531, - 401,586,947,498,742,446,948,457,586,446, - 586,84,625,399,399,399,399,586,586,291, - 300,633,635,586,804,548,710,832,256,300, - 586,585,804,547,819,818,626,586,401,599, - 79,887,448,69,589,401,947,743,947,947, - 446,457,457,586,586,623,168,547,547,547, - 547,399,399,300,613,601,612,635,446,584, - 300,832,1028,1032,586,584,819,804,948,948, - 756,887,583,946,591,399,947,947,947,947, - 586,457,626,876,625,623,623,300,300,300, - 300,124,124,748,547,610,610,629,1028,91, - 300,586,832,833,832,547,256,74,828,1032, - 584,764,948,356,417,584,947,947,580,872, - 548,599,10,881,635,947,947,810,626,548, - 586,300,300,748,547,547,633,601,748,1009, - 832,124,548,253,74,873,764,764,166,1034, - 344,399,79,1072,417,584,947,948,1030,591, - 548,548,635,889,737,811,586,750,748,833, - 300,253,626,764,764,355,344,166,893,1030, - 755,887,758,758,873,948,511,889,586,399, - 300,810,586,1030,1030,586,750,750,626,356, - 764,873,872,300,1030,586,417,356,417,754, - 754,941,512,1030,586,124,943,586,586,586, - 399,750,764,580,873,586,586,417,710,710, - 941,511,599,548,599,873,510,399,399,399, - 512,399,586,311,873,873,586,948,300,943, - 586,586,636,626,586,873,755,503,399,503, - 512,599,512,531,531,529,939,531,873,873, - 13,941,945,299,873,668,91,512,300,580, - 300,529,344,399,300,941,945,710,758,300, - 300,1022,512,13,512,873,344,547,512,509, - 754,948,948,1024,547,510,124,873,300,583, - 512,300,873,512 + 415,80,14,1015,569,167,277,277,677,575, + 277,575,7,7,536,130,569,575,376,126, + 21,21,274,717,266,126,277,277,868,277, + 21,575,1019,954,818,226,126,536,4,893, + 423,868,868,868,868,1017,423,520,169,537, + 537,537,537,537,537,537,537,537,279,285, + 290,287,294,292,299,297,301,300,302,327, + 303,575,377,272,270,21,21,1015,943,954, + 893,954,218,954,772,954,938,1017,575,266, + 266,21,749,573,266,318,485,4,130,520, + 717,717,717,717,575,174,126,126,117,520, + 896,716,818,520,279,817,817,174,536,537, + 537,537,537,537,537,537,537,537,537,537, + 537,537,537,537,537,537,537,537,536,536, + 536,536,536,536,536,536,536,536,536,536, + 537,749,377,270,770,769,770,274,430,220, + 474,221,1017,575,575,475,770,1019,575,536, + 130,126,126,770,770,770,770,475,126,537, + 1015,632,622,621,578,961,961,1017,169,266, + 716,536,126,572,574,572,126,266,287,287, + 285,285,285,292,292,292,292,290,290,297, + 294,294,300,299,301,1031,302,270,270,520, + 430,575,892,425,756,475,893,479,575,475, + 575,749,3,423,423,423,423,575,575,117, + 126,634,636,575,818,537,717,283,82,126, + 575,574,818,536,270,269,4,575,430,1031, + 221,868,477,73,1021,430,892,757,892,892, + 475,479,479,575,575,1,129,536,536,536, + 536,423,423,126,626,614,625,636,475,573, + 126,283,1015,1019,575,573,270,818,893,893, + 770,868,572,891,1023,423,892,892,892,892, + 575,479,3,824,3,1,1,126,126,126, + 126,174,174,762,536,623,623,630,1015,829, + 126,575,283,284,283,536,82,78,279,1019, + 573,778,893,380,446,573,892,892,569,323, + 537,1031,16,862,636,892,892,878,3,4, + 537,575,126,126,762,536,536,634,614,762, + 996,283,174,537,266,78,324,778,778,216, + 1033,368,423,221,1071,446,573,892,893,1017, + 1023,537,537,636,870,744,879,575,4,764, + 762,284,126,266,4,778,778,379,368,216, + 874,1017,769,868,671,671,324,893,500,870, + 575,423,126,878,575,1017,1017,575,764,764, + 4,380,778,324,323,126,1017,575,446,380, + 446,768,768,886,501,1017,575,174,888,575, + 575,575,423,764,778,569,324,575,575,446, + 717,717,886,500,1031,537,1031,324,499,423, + 423,423,501,423,575,335,324,324,575,893, + 126,888,575,575,637,4,575,324,769,492, + 423,492,501,1031,501,520,520,518,499,520, + 324,324,19,498,890,125,324,669,829,501, + 126,569,126,518,368,423,126,886,890,717, + 671,126,126,1009,501,19,501,324,368,536, + 501,498,768,893,893,1011,536,499,174,324, + 126,572,501,126,324,501 }; }; public final static char asb[] = Asb.asb; @@ -1832,114 +1865,114 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Asr { public final static byte asr[] = {0, - 74,68,72,90,73,67,63,120,3,8, - 70,25,69,0,120,0,26,11,12,40, - 23,42,65,13,43,56,27,28,44,14, - 29,30,15,16,31,66,32,45,17,18, - 46,33,47,57,49,61,50,34,51,58, - 19,22,20,24,21,52,53,54,39,3, - 37,38,9,6,35,36,41,68,7,1, - 2,4,10,5,0,48,4,72,1,2, - 67,8,0,7,6,5,1,2,48,0, - 26,11,12,40,23,13,56,27,28,14, - 29,30,15,16,31,32,17,18,33,57, - 34,10,58,19,22,20,24,21,1,2, - 4,90,0,8,73,11,12,42,65,13, + 25,120,69,8,71,0,74,68,72,90, + 73,67,63,120,3,8,69,25,70,0, + 26,11,12,40,23,42,65,13,43,56, + 27,28,44,14,29,30,15,16,31,66, + 32,45,17,18,46,33,47,57,49,61, + 50,34,51,58,19,22,20,24,21,52, + 53,54,39,3,37,38,9,6,35,36, + 41,68,7,1,2,4,10,5,0,120, + 0,91,89,35,36,92,93,87,88,55, + 94,95,96,97,98,99,100,101,107,72, + 90,70,108,109,110,111,112,113,114,115, + 116,117,118,71,25,120,68,1,2,9, + 6,4,3,63,69,73,8,0,71,61, + 37,38,9,6,35,36,41,46,3,4, + 52,53,54,39,50,44,49,12,21,11, + 17,15,16,18,19,14,13,20,10,43, + 47,45,42,51,67,8,7,5,1,2, + 66,65,0,8,73,11,12,42,65,13, 43,44,14,15,16,66,7,45,17,18, 46,47,49,61,50,51,10,19,20,21, 52,53,54,1,2,3,37,38,9,6, - 35,36,5,41,4,39,0,71,61,37, - 38,9,6,35,36,41,46,3,4,52, + 35,36,5,41,4,39,0,48,4,72, + 1,2,67,8,0,65,66,3,10,43, + 47,45,42,51,12,21,11,17,15,16, + 18,19,14,13,20,52,53,54,39,50, + 44,49,5,7,4,37,38,9,6,35, + 36,41,46,1,2,118,8,0,61,23, + 24,7,5,1,2,4,74,67,119,106, + 37,38,63,3,91,89,6,92,93,35, + 36,88,87,55,94,95,96,97,9,98, + 99,100,68,90,73,120,70,108,109,110, + 111,112,113,114,115,116,117,72,118,71, + 101,107,69,25,8,0,68,72,90,69, + 118,73,71,120,11,12,42,65,13,43, + 44,14,15,16,66,45,17,18,46,47, + 49,61,50,51,10,19,20,21,52,53, + 54,39,37,38,35,36,41,8,25,5, + 7,1,2,4,3,9,6,0,67,40, + 23,13,56,27,14,29,30,15,16,31, + 32,17,18,33,57,34,10,58,19,22, + 20,24,21,12,11,26,8,25,62,59, + 64,86,28,48,9,6,5,7,60,1, + 2,4,3,0,4,8,72,67,0,86, + 59,7,103,104,105,62,8,3,9,6, + 5,72,71,25,60,26,11,12,40,23, + 13,56,27,28,14,29,30,15,16,31, + 32,17,18,33,57,34,10,58,19,22, + 20,24,21,4,1,2,48,0,1,2, + 8,69,71,0,8,72,118,73,25,69, + 0,86,103,104,105,48,72,102,121,71, + 60,74,62,59,64,76,78,84,82,75, + 80,81,83,85,67,77,79,25,8,26, + 40,23,56,27,28,29,30,31,32,33, + 57,34,58,22,24,61,65,66,10,43, + 47,45,42,51,12,21,11,17,15,16, + 18,19,14,13,20,52,53,54,39,50, + 44,49,37,38,35,36,41,46,9,6, + 3,4,7,5,1,2,0,26,11,12, + 23,13,27,28,14,29,30,15,16,31, + 7,32,17,18,33,34,19,22,20,24, + 21,1,2,8,63,9,6,5,4,73, + 25,3,0,9,6,7,5,4,1,2, + 3,63,68,70,69,8,73,90,0,5, + 7,3,63,6,9,90,26,11,12,23, + 13,56,27,28,14,29,30,15,16,31, + 32,17,18,33,57,34,10,58,19,22, + 20,24,21,1,2,4,73,8,40,0, + 68,70,69,1,2,0,66,65,35,36, + 6,92,93,98,9,99,5,41,70,55, + 68,111,112,108,109,110,116,115,117,88, + 87,113,114,96,97,94,95,100,101,37, + 38,69,89,106,63,3,10,56,40,57, + 58,12,21,11,17,15,16,18,19,14, + 13,20,26,32,33,28,31,30,27,23, + 24,29,34,1,2,4,22,0,7,6, + 5,1,2,48,0,4,8,72,67,55, + 0,23,24,61,8,90,73,70,69,68, + 0,4,8,67,1,2,0,64,26,11, + 12,40,23,13,56,27,86,28,14,29, + 30,15,16,31,59,32,17,18,33,57, + 34,10,58,19,62,22,20,24,21,8, + 3,9,6,71,25,60,4,7,5,48, + 1,2,0,8,69,71,70,0,26,11, + 12,40,23,13,56,27,28,14,29,30, + 15,16,31,32,17,18,33,57,34,10, + 58,19,22,20,24,21,1,2,4,90, + 0,72,8,63,70,69,25,55,0,8, + 67,69,0,8,67,70,0,22,1,2, + 4,103,104,105,0,102,0,23,24,61, + 74,72,67,8,0,65,66,37,38,9, + 6,35,36,5,41,46,3,4,7,52, 53,54,39,50,44,49,12,21,11,17, 15,16,18,19,14,13,20,10,43,47, - 45,42,51,67,8,7,5,1,2,66, - 65,0,65,66,3,10,43,47,45,42, - 51,12,21,11,17,15,16,18,19,14, - 13,20,52,53,54,39,50,44,49,5, - 7,4,37,38,9,6,35,36,41,46, - 1,2,117,8,0,91,89,35,36,92, - 93,87,88,55,94,95,96,97,98,99, - 100,101,106,72,90,69,107,108,109,110, - 111,112,113,114,115,116,117,71,25,120, - 68,1,2,9,6,4,3,63,70,73, - 8,0,68,72,90,70,117,73,71,120, - 11,12,42,65,13,43,44,14,15,16, - 66,45,17,18,46,47,49,61,50,51, - 10,19,20,21,52,53,54,39,37,38, - 35,36,41,8,25,5,7,1,2,4, - 3,9,6,0,67,40,23,13,56,27, - 14,29,30,15,16,31,32,17,18,33, - 57,34,10,58,19,22,20,24,21,12, - 11,26,8,25,62,59,64,86,28,48, - 9,6,5,7,60,1,2,4,3,0, - 86,59,7,102,103,104,62,8,3,9, - 6,5,72,71,25,60,26,11,12,40, - 23,13,56,27,28,14,29,30,15,16, - 31,32,17,18,33,57,34,10,58,19, - 22,20,24,21,4,1,2,48,0,8, - 72,117,73,25,70,0,1,2,8,71, - 0,26,11,12,23,13,27,28,14,29, - 30,15,16,31,7,32,17,18,33,34, - 19,22,20,24,21,1,2,8,63,9, - 6,5,4,73,25,3,0,4,8,72, - 67,0,86,102,103,104,48,72,118,121, - 71,60,74,62,59,64,76,78,84,82, - 75,80,81,83,85,67,77,79,25,8, - 26,40,23,56,27,28,29,30,31,32, - 33,57,34,58,22,24,61,65,66,10, - 43,47,45,42,51,12,21,11,17,15, - 16,18,19,14,13,20,52,53,54,39, - 50,44,49,37,38,35,36,41,46,9, - 6,3,4,7,5,1,2,0,25,8, - 3,7,5,9,6,4,1,2,72,0, - 9,6,7,5,4,1,2,3,63,68, - 69,70,8,73,90,0,4,8,67,1, - 2,0,25,120,70,8,71,0,5,7, - 3,63,6,9,90,26,11,12,23,13, - 56,27,28,14,29,30,15,16,31,32, - 17,18,33,57,34,10,58,19,22,20, - 24,21,1,2,4,73,8,40,0,66, - 65,35,36,6,92,93,98,9,99,5, - 41,69,55,68,110,111,107,108,109,115, - 114,116,88,87,112,113,96,97,94,95, - 100,101,37,38,70,89,105,63,3,10, - 56,40,57,58,12,21,11,17,15,16, - 18,19,14,13,20,26,32,33,28,31, - 30,27,23,24,29,34,1,2,4,22, - 0,4,8,72,67,55,0,23,24,61, - 8,90,73,69,70,68,0,68,69,70, - 1,2,0,64,26,11,12,40,23,13, - 56,27,86,28,14,29,30,15,16,31, - 59,32,17,18,33,57,34,10,58,19, - 62,22,20,24,21,8,3,9,6,71, - 25,60,4,7,5,48,1,2,0,22, - 1,2,4,102,103,104,0,61,23,24, - 7,5,1,2,4,74,67,119,105,37, - 38,63,3,91,89,6,92,93,35,36, - 88,87,55,94,95,96,97,9,98,99, - 100,68,90,73,120,69,107,108,109,110, - 111,112,113,114,115,116,72,117,71,101, - 106,70,25,8,0,8,70,71,69,0, - 72,8,63,69,70,25,55,0,8,67, - 70,0,8,67,69,0,65,66,37,38, - 9,6,35,36,5,41,46,3,4,7, - 52,53,54,39,50,44,49,12,21,11, - 17,15,16,18,19,14,13,20,10,43, - 47,45,42,51,63,1,2,0,75,0, - 118,0,23,24,61,74,72,67,8,0, - 10,56,40,57,58,12,21,11,17,15, - 16,18,19,14,13,20,74,72,90,117, - 71,67,120,119,91,105,89,37,38,35, - 36,92,93,87,88,55,68,94,95,96, - 97,98,99,100,101,106,69,107,108,109, - 110,111,112,113,114,115,116,70,26,23, - 27,28,29,30,31,32,33,34,22,24, - 25,8,73,3,63,7,5,9,6,1, - 2,4,0,40,23,13,56,27,14,29, - 30,15,16,31,32,17,18,33,57,34, - 58,19,22,20,24,21,12,11,26,8, - 3,9,6,25,62,64,86,28,60,55, - 48,7,1,2,5,4,10,59,0 + 45,42,51,63,1,2,0,10,56,40, + 57,58,12,21,11,17,15,16,18,19, + 14,13,20,74,72,90,118,71,67,120, + 119,91,106,89,37,38,35,36,92,93, + 87,88,55,68,94,95,96,97,98,99, + 100,101,107,70,108,109,110,111,112,113, + 114,115,116,117,69,26,23,27,28,29, + 30,31,32,33,34,22,24,25,8,73, + 3,63,7,5,9,6,1,2,4,0, + 25,8,3,7,5,9,6,4,1,2, + 72,0,40,23,13,56,27,14,29,30, + 15,16,31,32,17,18,33,57,34,58, + 19,22,20,24,21,12,11,26,8,3, + 9,6,25,62,64,86,28,60,55,48, + 7,1,2,5,4,10,59,0 }; }; public final static byte asr[] = Asr.asr; @@ -1947,61 +1980,61 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Nasb { public final static char nasb[] = {0, - 149,12,38,140,149,220,12,12,164,231, - 12,181,13,13,87,61,216,181,12,274, - 154,154,69,5,95,274,12,12,12,12, - 154,222,12,12,25,90,274,63,154,179, - 12,12,12,12,12,11,12,184,181,63, - 63,227,63,63,63,63,63,63,12,12, - 12,12,12,12,12,12,12,12,12,63, - 12,181,142,142,142,30,30,140,254,255, - 179,255,27,255,132,255,248,10,181,95, - 95,30,40,220,95,12,12,79,154,184, - 35,35,35,35,181,46,274,274,192,1, - 63,85,25,184,12,17,17,46,159,63, - 63,63,63,63,63,63,63,63,63,63, - 63,63,63,63,63,63,63,63,63,63, - 63,63,63,63,63,63,63,63,63,159, - 63,57,12,154,12,12,12,244,154,128, - 11,52,11,181,222,12,12,12,222,63, - 61,274,274,12,12,12,12,239,274,63, - 140,191,13,13,12,12,12,10,181,95, - 35,87,274,219,181,219,274,95,12,12, + 142,12,33,130,142,216,12,12,163,229, + 12,152,15,15,55,59,212,152,12,280, + 147,147,106,5,82,280,12,12,12,12, + 147,218,12,12,25,77,280,61,147,177, + 12,12,12,12,12,11,12,274,152,61, + 61,225,61,61,61,61,61,61,12,12, + 12,12,12,12,12,12,12,12,12,61, + 12,152,132,132,132,37,37,130,241,242, + 177,242,72,242,190,242,235,10,152,82, + 82,37,182,216,82,12,12,102,147,274, + 42,42,42,42,152,67,280,280,135,1, + 61,51,25,274,12,17,17,67,158,61, + 61,61,61,61,61,61,61,61,61,61, + 61,61,61,61,61,61,61,61,61,61, + 61,61,61,61,61,61,61,61,61,158, + 61,30,12,147,12,12,12,113,147,186, + 11,87,11,152,218,12,12,12,218,61, + 59,280,280,12,12,12,12,48,280,61, + 130,134,15,15,12,12,12,10,152,82, + 42,55,280,215,152,215,280,82,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,12,12,142,162,30, - 262,129,103,103,12,269,179,154,269,24, - 129,40,79,12,12,12,12,129,222,242, - 274,168,154,181,25,63,35,154,97,274, - 181,224,25,63,154,162,79,181,200,12, - 49,12,12,55,118,262,103,103,154,154, - 24,154,232,222,129,144,60,159,159,159, - 159,12,12,274,12,147,12,171,23,129, - 274,126,244,12,231,129,162,25,179,114, - 12,12,11,154,135,12,154,154,116,116, - 129,232,79,12,12,144,12,274,274,274, - 274,46,46,154,63,12,12,146,140,171, - 274,129,154,44,12,159,244,225,12,12, - 220,154,179,257,154,269,154,81,216,200, - 63,12,72,12,154,116,116,207,79,63, - 232,274,274,162,63,63,168,214,154,12, - 126,46,63,95,225,200,234,154,12,257, - 119,12,113,55,171,220,81,188,107,149, - 63,63,171,12,11,83,269,154,162,44, - 274,95,79,257,234,178,135,12,12,11, - 12,12,196,196,200,188,78,12,269,12, - 274,74,269,11,11,222,105,154,79,257, - 154,200,12,274,11,269,171,257,154,12, - 12,154,156,107,222,46,154,222,269,269, - 12,105,234,149,200,269,50,171,35,35, - 15,174,12,63,12,200,12,12,12,12, - 175,12,232,198,200,200,232,100,274,162, - 222,222,272,79,50,200,12,111,12,12, - 175,12,175,280,280,202,12,280,200,200, - 12,154,154,274,200,12,35,175,274,149, - 274,276,154,12,274,15,105,35,196,274, - 274,154,175,12,175,200,149,159,175,111, - 12,100,100,147,63,12,211,200,274,219, - 175,274,200,175 + 12,12,12,12,12,12,12,132,53,37, + 257,187,70,70,12,193,177,147,193,24, + 187,182,102,12,12,12,12,187,218,111, + 280,264,147,152,25,61,42,147,45,280, + 152,179,25,61,147,53,102,152,198,12, + 27,12,12,117,244,257,70,70,147,147, + 24,147,230,218,187,13,58,158,158,158, + 158,12,12,280,12,140,12,267,23,187, + 280,119,113,12,229,187,53,25,177,150, + 12,12,11,147,125,12,147,147,123,123, + 187,230,95,12,12,13,12,280,280,280, + 280,67,67,147,61,12,12,139,130,267, + 280,187,147,121,12,158,113,180,12,12, + 216,147,177,252,147,193,147,93,212,198, + 61,12,104,12,147,123,123,206,95,102, + 61,230,280,280,53,61,61,264,210,147, + 12,119,67,61,82,180,198,220,147,12, + 252,245,12,149,117,267,216,93,84,97, + 142,61,61,267,12,11,35,193,102,147, + 53,121,280,82,102,252,220,176,125,12, + 12,11,12,12,161,161,198,84,101,12, + 193,12,280,200,193,11,11,218,75,147, + 102,252,147,198,12,280,11,193,267,252, + 147,12,12,147,155,97,218,67,147,218, + 193,193,12,75,220,142,198,193,28,267, + 42,42,204,172,12,61,12,198,12,12, + 12,12,173,12,230,196,198,198,230,90, + 280,53,218,218,278,102,28,198,12,109, + 12,12,173,12,173,282,282,167,12,282, + 198,198,12,147,147,280,198,12,42,173, + 280,142,280,270,147,12,280,204,75,42, + 161,280,280,147,173,12,173,198,142,158, + 173,109,12,90,90,140,61,12,232,198, + 280,215,173,280,198,173 }; }; public final static char nasb[] = Nasb.nasb; @@ -2009,35 +2042,35 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,151,149,121,148,147,2, - 5,0,75,0,161,0,5,2,9,10, - 138,0,135,2,64,0,152,188,0,5, - 10,9,2,13,4,45,0,184,0,64, - 137,136,0,140,0,4,94,0,123,101, - 0,42,1,0,155,0,64,49,0,66, - 128,42,5,10,9,2,13,0,4,195, - 0,191,0,5,99,168,0,4,66,0, - 159,0,193,0,175,0,4,30,0,13, - 2,9,10,5,80,0,4,177,0,42, - 56,0,109,0,124,0,172,5,171,0, - 113,0,1,123,0,110,0,38,5,2, - 9,10,4,157,0,142,0,44,2,3, - 0,152,183,0,4,10,9,2,63,5, - 87,49,0,162,0,32,92,91,63,5, - 2,9,10,4,0,48,42,179,4,39, - 0,61,0,4,45,196,0,49,5,87, - 22,4,0,66,39,48,67,4,42,0, - 44,2,0,4,45,39,0,42,160,0, - 32,91,92,4,0,108,0,4,39,38, - 0,39,4,22,181,0,5,99,192,0, - 4,178,0,92,91,49,63,60,5,10, - 9,2,0,2,115,0,5,10,9,13, - 3,1,0,116,4,48,79,0,135,64, - 0,92,91,49,5,60,0,2,5,121, - 117,118,119,13,84,0,4,48,79,81, - 0,4,48,79,99,46,5,0,2,59, - 0,45,4,32,0,45,4,180,0,4, - 45,100,0 + 3,13,10,9,152,150,122,149,148,2, + 5,0,164,0,76,0,5,2,9,10, + 139,0,136,2,65,0,124,102,0,65, + 50,0,186,0,195,0,5,10,9,2, + 13,4,46,0,4,179,0,136,65,0, + 177,0,62,0,4,31,0,67,129,43, + 5,10,9,2,13,0,4,95,0,110, + 0,153,190,0,125,0,13,2,9,10, + 5,81,0,43,162,0,43,1,0,43, + 57,0,161,0,154,0,174,5,173,0, + 4,67,0,193,0,4,197,0,114,0, + 93,92,50,5,61,0,157,0,143,0, + 141,0,111,0,4,10,9,2,64,5, + 88,50,0,33,92,93,4,0,33,93, + 92,64,5,2,9,10,4,0,1,124, + 0,45,2,0,49,43,181,4,40,0, + 109,0,4,46,198,0,40,4,23,183, + 0,67,40,49,68,4,43,0,2,116, + 0,65,138,137,0,45,2,3,0,153, + 185,0,2,60,0,4,40,39,0,5, + 100,170,0,163,0,5,100,194,0,93, + 92,50,64,61,5,10,9,2,0,117, + 4,49,80,0,5,10,9,13,3,1, + 0,4,180,0,2,5,122,118,119,120, + 13,85,0,39,5,2,9,10,4,159, + 0,4,49,80,82,0,4,49,80,100, + 47,5,0,50,5,88,23,4,0,46, + 4,182,0,4,46,40,0,46,4,33, + 0,4,46,101,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2051,12 +2084,12 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars 76,83,89,98,11,12,7,8,112,53, 14,55,61,67,84,88,90,93,94,97, 99,109,110,111,19,63,91,101,77,122, - 95,103,1,46,58,78,121,20,33,44, + 95,103,1,46,58,78,121,20,44,33, 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 4,15,16,21,22,23,24,25,26,27, - 28,80,81,82,5,29,34,35,36,37, - 38,39,40,41,42,43,117,51,3,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2066,26 +2099,26 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, 130,135,136,0,0,134,0,0,229,235, - 133,0,143,132,0,0,142,148,0,0, - 149,180,158,159,160,161,162,163,164,151, - 165,126,166,141,167,168,0,128,131,169, - 0,129,138,137,152,177,0,0,0,0, - 0,0,0,0,145,172,204,0,0,155, - 187,201,205,0,0,127,171,0,0,0, - 0,0,0,175,206,0,0,0,0,125, - 178,0,0,186,0,0,202,212,157,208, - 209,210,0,0,146,0,0,207,220,174, - 196,198,0,199,0,0,211,0,0,0, - 0,240,241,0,147,179,189,190,191,192, - 193,195,0,0,214,217,0,0,219,0, - 238,0,239,0,0,139,140,144,0,0, - 154,156,0,170,0,181,182,183,184,185, - 188,0,0,194,0,197,203,0,0,215, - 216,0,0,221,224,0,226,228,0,232, - 233,234,237,124,0,150,153,0,173,0, - 176,0,0,200,213,218,0,0,222,223, - 225,227,0,230,231,236,242,243,0,0, - 0,0 + 133,0,143,0,132,0,0,142,148,0, + 0,149,180,158,159,160,161,162,163,164, + 151,165,126,166,141,167,168,0,128,131, + 169,0,129,138,137,152,177,0,0,0, + 0,0,0,0,0,145,172,204,0,0, + 155,187,201,205,0,0,127,171,0,0, + 0,0,0,0,175,206,0,0,0,0, + 125,178,0,0,186,0,0,202,212,157, + 208,209,210,0,0,146,0,0,207,220, + 174,196,198,0,199,0,0,211,0,0, + 0,0,240,241,0,147,179,189,190,191, + 192,193,195,0,0,214,217,0,0,219, + 0,238,0,239,0,0,139,140,144,0, + 0,154,156,0,170,0,181,182,183,184, + 185,188,0,0,0,194,0,197,203,0, + 0,215,216,0,0,221,224,0,226,228, + 0,232,233,234,237,124,0,150,153,0, + 173,0,176,0,0,200,213,218,0,0, + 222,223,225,227,0,230,231,236,242,243, + 0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2093,18 +2126,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopePrefix { public final static char scopePrefix[] = { - 159,587,606,304,311,538,554,565,576,370, - 267,281,298,318,331,42,292,390,428,167, - 595,481,20,51,71,80,85,90,130,195, - 324,339,344,144,273,287,509,27,144,380, - 344,614,27,217,246,1,14,61,76,106, - 349,359,363,446,474,503,530,534,624,628, - 632,97,7,97,408,424,437,458,522,116, - 116,232,437,545,561,572,583,207,492,56, + 159,311,589,608,304,319,540,556,567,578, + 372,267,281,298,333,42,292,392,430,167, + 597,483,20,51,71,80,85,90,130,195, + 326,341,346,144,273,287,511,27,144,382, + 346,616,27,217,246,1,14,61,76,106, + 351,361,365,448,476,505,532,536,626,630, + 634,97,7,97,410,426,439,460,524,116, + 116,232,439,547,563,574,585,207,494,56, 56,156,222,225,56,241,262,225,225,56, - 367,471,478,156,56,647,110,353,412,452, - 465,56,353,399,177,104,450,636,643,636, - 643,65,418,137,104,104,251 + 369,473,480,156,56,649,110,355,414,454, + 467,56,355,401,177,104,452,638,645,638, + 645,65,420,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2112,18 +2145,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,135,5,5,5,5,377, - 135,95,135,135,337,48,278,396,434,173, - 67,487,25,25,25,59,59,95,135,200, - 329,329,337,149,278,101,514,38,152,385, - 601,619,32,211,211,5,18,5,59,95, - 329,95,95,135,244,5,5,5,5,5, - 244,645,11,101,377,377,377,462,514,120, - 125,236,441,549,549,549,549,211,496,59, + 18,135,5,5,135,135,5,5,5,5, + 379,135,95,135,339,48,278,398,436,173, + 67,489,25,25,25,59,59,95,135,200, + 331,331,339,149,278,101,516,38,152,387, + 603,621,32,211,211,5,18,5,59,95, + 331,95,95,135,244,5,5,5,5,5, + 244,647,11,101,379,379,379,464,516,120, + 125,236,443,551,551,551,551,211,498,59, 59,5,5,228,230,244,5,265,265,230, - 95,5,244,5,507,5,113,356,415,455, - 468,526,517,402,180,95,95,638,638,640, - 640,67,420,139,202,187,253 + 95,5,244,5,509,5,113,358,417,457, + 470,528,519,404,180,95,95,640,640,642, + 642,67,422,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2131,18 +2164,18 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,78,119,17,17,17,17,70, - 83,47,78,119,118,76,53,70,69,46, - 17,19,3,7,8,168,168,164,117,46, - 118,118,120,127,54,47,138,132,127,70, - 17,17,132,93,158,134,73,171,168,164, - 120,182,51,56,142,18,17,17,17,17, - 17,12,113,164,70,69,69,37,138,129, - 129,60,69,17,17,17,17,93,19,172, - 168,184,91,98,58,75,57,157,74,120, - 71,143,142,175,138,16,164,120,100,68, - 21,138,138,70,46,164,65,136,44,136, - 44,171,100,117,46,46,158 + 47,120,18,18,79,120,18,18,18,18, + 71,84,48,79,119,77,54,71,70,47, + 18,20,3,7,8,170,170,166,118,47, + 119,119,121,128,55,48,139,133,128,71, + 18,18,133,94,160,135,74,173,170,166, + 121,184,52,57,143,19,18,18,18,18, + 18,12,114,166,71,70,70,38,139,130, + 130,61,70,18,18,18,18,94,20,174, + 170,186,92,99,59,76,58,159,75,121, + 72,144,143,177,139,17,166,121,101,69, + 22,139,139,71,47,166,66,137,45,137, + 45,173,101,118,47,47,160 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2150,16 +2183,16 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,71,73,73,73,73,73, - 71,25,71,71,1,68,1,73,121,67, + 102,71,73,73,71,71,73,73,73,73, + 73,71,25,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,25,71,67, - 1,1,1,71,1,1,4,68,70,25, - 1,1,68,73,73,73,118,73,1,25, - 1,25,25,71,117,73,73,73,73,73, - 117,1,73,1,73,73,73,72,4,1, + 1,1,1,71,1,1,4,68,69,25, + 1,1,68,73,73,73,102,73,1,25, + 1,25,25,71,118,73,73,73,73,73, + 118,1,73,1,73,73,73,72,4,1, 1,6,73,68,68,68,68,73,3,1, - 1,73,73,3,1,117,73,1,1,1, - 25,73,117,73,5,73,1,48,69,72, + 1,73,73,3,1,118,73,1,1,1, + 25,73,118,73,5,73,1,48,70,72, 73,1,48,75,74,25,25,4,4,4, 4,3,1,67,1,1,3 }; @@ -2169,8 +2202,8 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeStateSet { public final static char scopeStateSet[] = { - 67,252,252,89,108,252,252,252,252,77, - 91,67,89,108,108,89,69,77,77,67, + 67,108,252,252,89,108,252,252,252,252, + 77,91,67,89,108,89,69,77,77,67, 252,252,183,227,227,52,52,64,108,67, 108,108,108,315,69,67,100,48,315,77, 252,252,48,116,61,24,77,28,52,64, @@ -2188,71 +2221,72 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeRhs { public final static char scopeRhs[] = {0, - 320,3,61,0,126,0,319,3,118,0, - 126,172,0,126,178,74,0,216,0,252, - 126,55,124,0,20,0,295,126,55,48, + 322,3,61,0,126,0,321,3,102,0, + 126,172,0,126,179,74,0,216,0,253, + 126,55,124,0,20,0,297,126,55,48, 0,20,53,0,33,132,0,20,53,0, - 0,295,126,55,48,201,0,20,178,0, - 252,126,55,132,0,181,127,0,141,0, - 216,3,294,0,294,0,2,0,126,0, - 252,126,55,131,0,181,127,221,0,181, - 127,22,221,0,181,127,315,22,0,128, - 186,166,127,0,128,0,186,166,127,0, - 134,128,0,170,0,311,126,170,0,126, - 170,0,222,128,0,166,310,243,0,136, - 0,0,0,0,135,0,0,0,0,309, - 126,164,251,0,127,0,251,0,129,0, - 0,127,0,308,126,164,250,0,127,0, - 0,44,127,0,0,152,3,0,126,282, - 281,126,74,279,170,0,281,126,74,279, - 170,0,215,0,216,0,279,170,0,96, + 0,297,126,55,48,202,0,20,178,0, + 253,126,55,132,0,182,127,0,141,0, + 217,3,296,0,296,0,2,0,126,0, + 253,126,55,131,0,182,127,222,0,182, + 127,22,222,0,182,127,317,22,0,128, + 187,167,127,0,128,0,187,167,127,0, + 134,128,0,171,0,313,126,171,0,126, + 171,0,222,128,0,167,312,244,0,136, + 0,0,0,0,135,0,0,0,0,311, + 126,165,252,0,127,0,252,0,129,0, + 0,127,0,310,126,165,251,0,127,0, + 0,44,127,0,0,153,3,0,126,284, + 283,126,74,281,171,0,283,126,74,281, + 171,0,215,0,216,0,281,171,0,96, 0,0,215,0,216,0,203,96,0,0, - 215,0,216,0,281,126,279,170,0,215, - 0,203,0,0,215,0,227,126,3,0, - 126,0,0,0,0,0,227,126,3,213, - 0,220,3,0,209,126,0,208,0,146, - 0,171,166,127,0,10,0,0,0,0, - 211,63,0,125,0,227,126,3,179,0, - 179,0,2,0,0,126,0,0,0,0, - 0,196,3,0,201,0,236,126,164,39, - 28,0,181,127,59,62,0,196,128,0, - 128,181,127,277,62,0,181,127,277,62, - 0,181,127,69,123,59,0,236,126,164, - 245,59,0,236,126,164,245,223,59,0, - 275,126,164,123,305,56,0,275,126,164, - 305,56,0,181,127,274,56,0,135,0, - 186,181,127,274,243,0,136,0,181,127, - 274,243,0,186,166,127,10,0,166,127, - 10,0,166,127,0,93,136,0,267,126, - 144,0,267,126,170,0,161,84,0,300, - 160,302,303,3,81,0,126,171,0,302, - 303,3,81,0,128,0,126,171,0,161, - 3,75,189,80,0,126,128,0,189,80, - 0,108,2,131,126,128,0,222,3,75, - 0,196,167,0,33,169,0,167,0,175, - 33,169,0,222,3,85,0,189,154,222, - 3,83,0,62,171,0,222,3,83,0, - 126,171,62,171,0,301,126,164,0,161, - 0,211,77,0,30,171,0,161,106,158, - 0,30,169,0,177,3,0,126,149,0, - 216,3,0,211,63,264,0,161,63,0, - 177,3,297,66,127,0,126,0,0,0, - 0,297,66,127,0,2,145,126,0,0, - 0,0,177,3,46,0,147,0,125,48, - 166,127,0,31,147,0,93,136,31,147, - 0,217,181,127,0,146,31,147,0,177, - 3,51,0,161,3,51,0,161,3,68, - 177,55,42,0,177,55,42,0,20,2, - 131,126,0,161,3,68,177,55,45,0, - 177,55,45,0,161,3,68,177,55,47, - 0,177,55,47,0,161,3,68,177,55, - 43,0,177,55,43,0,216,3,125,186, - 166,127,10,0,125,186,166,127,10,0, - 136,2,0,126,0,216,3,124,257,166, - 127,10,0,257,166,127,10,0,135,2, - 0,126,0,216,3,135,0,216,3,139, - 0,161,63,139,0,259,0,31,0,31, - 139,0,165,0,134,0,161,3,0 + 215,0,216,0,283,126,281,171,0,215, + 0,203,0,0,215,0,228,126,3,0, + 126,0,0,0,0,0,228,126,3,214, + 0,221,3,0,210,126,0,208,0,146, + 0,172,167,127,0,10,0,0,0,0, + 212,63,0,125,0,228,126,3,180,0, + 180,0,2,0,0,126,0,0,0,0, + 0,197,3,0,201,0,237,126,165,39, + 28,0,182,127,59,62,0,196,128,0, + 128,182,127,279,62,0,182,127,279,62, + 0,182,127,70,123,59,0,237,126,165, + 246,59,0,237,126,165,246,224,59,0, + 276,277,126,165,123,307,56,0,276,277, + 126,165,307,56,0,182,127,275,56,0, + 135,0,187,182,127,275,244,0,136,0, + 182,127,275,244,0,187,167,127,10,0, + 167,127,10,0,167,127,0,93,136,0, + 268,126,145,0,268,126,171,0,162,84, + 0,302,161,304,305,3,81,0,126,171, + 0,304,305,3,81,0,128,0,126,171, + 0,162,3,75,190,80,0,126,128,0, + 190,80,0,108,2,131,126,128,0,223, + 3,75,0,197,168,0,33,169,0,168, + 0,175,33,169,0,223,3,85,0,190, + 155,223,3,83,0,62,171,0,223,3, + 83,0,126,171,62,171,0,303,126,165, + 0,162,0,212,77,0,30,171,0,162, + 107,159,0,30,169,0,178,3,0,126, + 149,0,217,3,0,212,63,265,0,162, + 63,0,178,3,299,66,127,0,126,0, + 0,0,0,299,66,127,0,2,145,126, + 0,0,0,0,178,3,46,0,147,0, + 125,48,167,127,0,31,147,0,93,136, + 31,147,0,218,182,127,0,146,31,147, + 0,178,3,51,0,162,3,51,0,162, + 3,68,178,55,42,0,178,55,42,0, + 20,2,131,126,0,162,3,68,178,55, + 45,0,178,55,45,0,162,3,68,178, + 55,47,0,178,55,47,0,162,3,68, + 178,55,43,0,178,55,43,0,217,3, + 125,187,167,127,10,0,125,187,167,127, + 10,0,136,2,0,126,0,217,3,124, + 258,167,127,10,0,258,167,127,10,0, + 135,2,0,126,0,217,3,135,0,217, + 3,140,0,162,63,140,0,260,0,31, + 0,31,139,0,166,0,134,0,162,3, + 0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2260,38 +2294,38 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface ScopeState { public final static char scopeState[] = {0, - 4670,4784,4774,4773,0,2750,2005,2423,566,0, - 3421,3385,3247,3192,3156,3101,3065,3010,2974,2829, - 2771,3211,0,2069,1947,1909,0,2992,2077,0, - 3421,3385,1655,1571,3247,3192,3156,3101,3065,3010, - 1403,2974,2829,2771,4295,3072,0,4722,787,2772, - 0,1105,3274,0,2847,788,0,2719,2584,0, - 2951,2564,0,4133,4434,0,4133,4434,4106,4415, - 4344,4026,4335,4325,4015,4223,3421,3385,3247,3192, - 3156,3101,3065,3010,2974,2829,2771,0,4133,4434, - 4106,4415,4344,4026,4335,4325,4015,4223,0,666, - 580,0,1318,0,3292,734,0,536,4203,2852, - 0,854,720,574,540,3495,4166,3321,2706,2607, - 3090,3284,0,4651,4645,4639,4634,4628,4574,4568, - 4556,4748,4737,4732,4548,4544,4520,4475,4711,2623, - 3365,4430,3605,3360,2941,2905,0,2475,3495,4479, - 4307,863,4589,2683,737,2786,4166,4085,2751,4081, - 4190,2777,0,726,0,2951,3495,4307,2564,4190, - 3321,3509,4442,3997,2475,3984,2706,2683,2607,4112, - 3589,0,3656,3444,4651,4645,4639,3270,2252,4634, - 2167,4628,4574,4568,4556,3559,3305,2965,2887,2539, - 2515,4748,3546,4737,4732,2162,738,4548,4544,661, - 4520,4475,3253,3575,4711,2623,3365,4430,4203,3605, - 3360,3124,2852,2941,2905,623,2752,2727,2544,2519, - 805,3321,3509,4442,3997,2475,3984,2951,3495,4307, - 2706,2683,2607,2564,1180,1052,666,580,4190,4112, - 3589,1114,3962,3940,2256,2294,2360,2328,2447,2419, - 2390,2909,627,2627,2580,2488,593,3666,3614,3522, - 3334,932,3918,3896,3874,3852,3830,3808,3786,3764, - 3738,3716,3694,1959,2209,2171,2124,2086,1286,1243, - 2039,2001,1200,1917,958,1875,1833,1791,1749,1707, - 1665,1623,1581,1539,1497,1455,1413,536,824,744, - 688,1369,1138,1328,1009,880,1071,0 + 4660,4889,4879,4850,0,2981,3696,2485,3588,0, + 3598,3542,3410,3354,3298,3242,3186,3130,3074,2976, + 2918,2974,0,2106,1985,1196,0,2747,2114,0, + 3598,3542,1811,1725,3410,3354,3298,3242,3186,3130, + 1639,3074,2976,2918,1553,1467,0,4814,3284,4493, + 0,3447,3658,0,3008,2729,0,3640,2701,0, + 4608,4378,0,4632,4624,0,4632,4624,4250,4510, + 4501,4239,4492,4429,3802,4391,3598,3542,3410,3354, + 3298,3242,3186,3130,3074,2976,2918,0,4632,4624, + 4250,4510,4501,4239,4492,4429,3802,4391,0,667, + 586,0,823,0,3094,3090,0,541,4335,2646, + 0,2079,2069,751,580,3723,2652,3485,2853,2663, + 2839,3378,0,4736,4725,4713,4685,4306,3776,3753, + 3527,4843,4831,4826,3523,3386,3330,3274,4820,3218, + 4803,3162,3106,4485,2653,2891,0,2632,3723,4646, + 4400,2700,3569,2826,872,4634,2652,2948,826,742, + 3866,741,0,685,0,4608,3723,4400,4378,3866, + 3485,3737,4595,4221,2632,4208,2853,2826,2663,1063, + 3760,0,3360,3266,4736,4725,4713,3101,2290,4685, + 2204,4306,3776,3753,3527,3659,3604,3322,2866,2769, + 2200,4843,3000,4831,4826,1382,1128,3523,3386,934, + 3330,3274,3080,3248,4820,3218,4803,3162,4335,3106, + 4485,3210,2646,2653,2891,629,2779,2709,2677,1133, + 809,3485,3737,4595,4221,2632,4208,4608,3723,4400, + 2853,2826,2663,4378,2897,1192,667,586,3866,1063, + 3760,941,4185,4162,2294,2333,2401,2368,2491,2462, + 2432,2799,599,2604,2576,2548,2520,3698,3673,3498, + 3051,633,4139,4116,4093,4070,4047,4024,4001,3978, + 3955,3932,3891,1993,2247,2208,2161,2122,1298,1255, + 2075,2036,1212,1950,967,1907,1864,1821,1778,1735, + 1692,1649,1606,1563,1520,1477,1434,541,832,752, + 694,1391,1149,1341,1019,889,1082,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2299,61 +2333,61 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public interface InSymb { public final static char inSymb[] = {0, - 0,296,226,126,3,4,132,131,7,5, - 124,127,185,179,3,69,209,127,171,196, - 55,55,167,126,63,3,65,66,124,123, - 55,181,165,124,166,63,152,126,164,250, + 0,298,227,126,3,4,132,131,7,5, + 124,127,186,180,3,70,210,127,172,197, + 55,55,168,126,63,3,65,66,124,123, + 55,182,166,124,167,63,153,126,165,251, 51,42,45,47,43,10,135,3,127,46, - 41,5,36,35,6,9,38,37,139,145, - 147,146,149,148,151,150,155,153,157,61, - 158,127,166,9,6,126,126,126,268,269, - 251,270,243,271,56,272,273,10,127,63, - 63,126,4,186,211,158,266,126,164,3, - 55,55,55,55,127,3,177,161,167,126, - 65,66,166,3,125,105,119,3,63,89, + 41,5,36,35,6,9,38,37,140,146, + 148,147,150,149,152,151,156,154,158,61, + 159,127,167,9,6,126,126,126,269,270, + 252,271,244,272,56,273,274,10,127,63, + 63,126,4,187,212,159,267,126,165,3, + 55,55,55,55,127,3,178,162,168,126, + 65,66,167,3,125,106,119,3,63,89, 91,36,35,93,92,6,95,94,68,55, - 87,88,9,97,96,99,98,100,116,115, - 114,113,112,111,110,109,108,107,69,106, - 101,166,171,171,252,255,252,209,164,310, - 274,305,274,127,181,166,252,259,186,70, - 126,177,161,177,177,177,177,166,216,154, - 126,3,214,213,135,125,124,10,127,63, - 297,3,177,48,127,48,216,161,146,146, - 145,145,145,148,148,148,148,147,147,150, - 149,149,153,151,155,161,157,6,126,70, - 126,166,230,125,124,127,123,164,127,166, - 48,4,308,68,68,68,68,186,257,209, - 220,126,3,127,166,202,3,298,167,152, - 127,181,166,72,171,183,309,127,168,221, - 59,48,201,62,170,312,125,124,231,231, - 181,164,126,181,186,188,70,3,3,3, - 3,125,124,227,228,144,229,126,166,48, - 177,126,126,217,5,48,126,166,245,223, - 55,48,277,279,126,179,231,231,126,126, - 186,126,275,123,276,188,8,161,161,161, - 161,3,3,154,69,220,196,3,126,70, - 227,186,154,261,264,63,182,4,123,125, - 186,164,245,68,55,127,74,126,209,311, - 72,289,196,124,3,126,126,72,275,69, - 70,216,216,126,69,69,126,209,154,125, - 126,3,63,161,4,128,126,164,28,48, - 170,64,59,62,126,181,126,281,72,70, - 72,69,126,314,221,22,127,218,126,261, - 216,211,236,238,126,39,126,3,123,59, - 295,48,10,40,128,281,164,293,127,294, - 227,70,127,22,315,181,126,218,236,126, - 164,267,278,39,69,127,70,68,55,230, - 230,282,126,70,181,3,154,181,127,127, - 61,126,126,70,154,127,181,126,69,69, - 126,301,79,77,1,161,8,85,83,81, - 80,75,82,84,78,76,59,74,216,126, - 181,181,3,236,181,223,295,283,118,8, - 72,211,72,3,3,3,189,3,123,161, - 123,178,218,320,223,68,3,72,222,167, - 222,303,144,75,222,126,126,70,40,90, - 319,167,154,196,154,302,126,3,154,283, - 230,154,154,126,69,189,160,267,161,69, - 121,300,154,154 + 87,88,9,97,96,99,98,100,117,116, + 115,114,113,112,111,110,109,108,70,107, + 101,167,172,172,253,256,253,210,165,312, + 275,307,275,127,182,167,253,260,187,69, + 126,178,162,178,178,178,178,167,217,155, + 126,3,215,214,135,125,124,10,127,63, + 299,3,178,48,127,48,217,162,147,147, + 146,146,146,149,149,149,149,148,148,151, + 150,150,154,152,156,162,158,6,126,69, + 126,167,231,125,124,127,123,165,127,167, + 48,4,310,68,68,68,68,187,258,210, + 221,126,3,127,167,203,3,300,168,153, + 127,182,167,72,172,184,311,127,169,222, + 59,48,202,62,171,314,125,124,232,232, + 182,165,126,182,187,189,69,3,3,3, + 3,125,124,228,229,145,230,126,167,48, + 178,126,126,218,5,48,126,167,246,224, + 55,48,279,281,126,180,232,232,126,126, + 187,126,277,123,278,189,8,162,162,162, + 162,3,3,155,70,221,197,3,126,69, + 228,187,155,262,265,63,183,4,123,125, + 187,165,246,68,55,127,74,126,210,313, + 72,291,197,124,3,126,126,72,277,276, + 70,69,217,217,126,70,70,126,210,155, + 125,126,3,63,162,4,128,126,165,28, + 48,171,64,59,62,126,182,126,283,72, + 69,72,70,126,316,222,22,127,276,219, + 126,262,217,212,237,239,126,39,126,3, + 123,59,297,48,10,40,128,283,165,295, + 127,296,228,69,127,22,317,182,126,219, + 237,126,165,268,280,39,70,127,69,68, + 55,231,231,284,126,69,182,3,155,182, + 127,127,61,126,126,69,155,127,182,126, + 70,70,126,303,79,77,1,162,8,85, + 83,81,80,75,82,84,78,76,59,74, + 217,126,182,182,3,237,182,224,297,285, + 102,8,72,212,72,3,3,3,190,3, + 123,162,123,179,219,322,224,68,3,72, + 223,168,223,305,145,75,223,126,126,69, + 40,90,321,168,155,197,155,304,126,3, + 155,285,231,155,155,126,70,190,161,268, + 162,70,121,302,155,155 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2628,20 +2662,20 @@ public class CPPNoFunctionDeclaratorParserprs implements lpg.lpgjavaruntime.Pars public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 544, + NUM_STATES = 546, NT_OFFSET = 122, - LA_STATE_OFFSET = 5794, + LA_STATE_OFFSET = 5956, MAX_LA = 2147483647, - NUM_RULES = 535, - NUM_NONTERMINALS = 202, - NUM_SYMBOLS = 324, + NUM_RULES = 540, + NUM_NONTERMINALS = 204, + NUM_SYMBOLS = 326, SEGMENT_SIZE = 8192, - START_STATE = 3589, + START_STATE = 3760, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 4897, - ERROR_ACTION = 5259; + ACCEPT_ACTION = 5051, + ERROR_ACTION = 5416; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java index f4387e6daf2..ffb21ef6460 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPNoFunctionDeclaratorParsersym.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -20,7 +20,7 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 40, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 32, TK_reinterpret_cast = 45, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPNoFunctionDeclaratorParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, - TK_Assign = 69, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, - TK_Comma = 70, - TK_RightBracket = 117, + TK_Assign = 70, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, + TK_Comma = 69, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 25, @@ -208,8 +208,8 @@ public interface CPPNoFunctionDeclaratorParsersym { "new", "LeftBrace", "GT", - "Assign", "Comma", + "Assign", "RightBrace", "Colon", "RightParen", @@ -241,6 +241,7 @@ public interface CPPNoFunctionDeclaratorParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPNoFunctionDeclaratorParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", 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 b62c076ed7b..294716a05fa 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 @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -980,979 +980,931 @@ public String getName() { // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= char + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 263: simple_type_specifier ::= wchar_t + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // case 263: { action. consumeToken(); break; } // - // Rule 264: simple_type_specifier ::= bool + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 264: { action. consumeToken(); break; - } - - // - // Rule 265: simple_type_specifier ::= short - // - case 265: { action. consumeToken(); break; - } - - // - // Rule 266: simple_type_specifier ::= int - // - case 266: { action. consumeToken(); break; - } - - // - // Rule 267: simple_type_specifier ::= long - // - case 267: { action. consumeToken(); break; - } - - // - // Rule 268: simple_type_specifier ::= signed - // - case 268: { action. consumeToken(); break; - } - - // - // Rule 269: simple_type_specifier ::= unsigned - // - case 269: { action. consumeToken(); break; - } - - // - // Rule 270: simple_type_specifier ::= float - // - case 270: { action. consumeToken(); break; - } - - // - // Rule 271: simple_type_specifier ::= double - // - case 271: { action. consumeToken(); break; + case 277: { action. consumeQualifiedId(false); break; } // - // Rule 272: simple_type_specifier ::= void + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 272: { action. consumeToken(); break; + case 278: { action. consumeQualifiedId(false); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 275: { action. consumeQualifiedId(false); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 276: { action. consumeQualifiedId(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 277: { action. consumeQualifiedId(false); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 278: { action. consumeQualifiedId(true); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 280: { action. consumeTypeSpecifierElaborated(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 281: { action. consumeTypeSpecifierElaborated(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 282: { action. consumeTypeSpecifierElaborated(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } + // Rule 295: enumerator_definition ::= identifier_token // - case 284: { action. consumeTypeSpecifierEnumeration(false); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 285: { action. consumeTypeSpecifierEnumeration(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 291: enumerator_definition ::= identifier_token + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 291: { action. consumeEnumerator(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 292: enumerator_definition ::= identifier_token = constant_expression + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 292: { action. consumeEnumerator(true); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 294: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 294: { action. consumeNamespaceDefinition(true); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 295: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 295: { action. consumeNamespaceDefinition(false); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: typename_opt ::= typename // - case 297: { action. consumeNamespaceAliasDefinition(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 304: typename_opt ::= $Empty // - case 298: { action. consumeUsingDeclaration(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 299: typename_opt ::= typename + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action. consumePlaceHolder(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 300: typename_opt ::= $Empty + // Rule 306: asm_definition ::= asm ( stringlit ) ; // - case 300: { action. consumeEmpty(); break; + case 306: { action. consumeDeclarationASM(); break; } // - // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 307: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 301: { action. consumeUsingDirective(); break; + case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 302: asm_definition ::= asm ( stringlit ) ; + // Rule 308: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 302: { action. consumeDeclarationASM(); break; + case 308: { action. consumeLinkageSpecification(); break; } // - // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 313: init_declarator_complete ::= init_declarator // - case 303: { action. consumeLinkageSpecification(); break; + case 313: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 315: init_declarator ::= complete_declarator initializer // - case 304: { action. consumeLinkageSpecification(); break; + case 315: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 309: init_declarator_complete ::= init_declarator + // Rule 318: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 309: { action. consumeInitDeclaratorComplete(); break; + case 318: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 311: init_declarator ::= complete_declarator initializer + // Rule 320: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 311: { action. consumeDeclaratorWithInitializer(true); break; + case 320: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 324: basic_direct_declarator ::= declarator_id_name // - case 314: { action. consumeDeclaratorWithPointer(true); break; + case 324: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 325: basic_direct_declarator ::= ( declarator ) // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 325: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 320: basic_direct_declarator ::= declarator_id_name + // Rule 326: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 320: { action. consumeDirectDeclaratorIdentifier(); break; + case 326: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 321: basic_direct_declarator ::= ( declarator ) + // Rule 327: array_direct_declarator ::= array_direct_declarator array_modifier // - case 321: { action. consumeDirectDeclaratorBracketed(); break; + case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 328: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 328: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 329: array_modifier ::= [ constant_expression ] // - case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 330: array_modifier ::= [ ] // - case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 330: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 325: array_modifier ::= [ constant_expression ] + // Rule 331: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 325: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 331: { action. consumePointer(); break; } // - // Rule 326: array_modifier ::= [ ] + // Rule 332: ptr_operator ::= pointer_hook & pointer_hook // - case 326: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 332: { action. consumeReferenceOperator(); break; } // - // Rule 327: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 333: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 327: { action. consumePointer(); break; + case 333: { action. consumePointerToMember(); break; } // - // Rule 328: ptr_operator ::= pointer_hook & pointer_hook + // Rule 340: cv_qualifier ::= const // - case 328: { action. consumeReferenceOperator(); break; + case 340: { action. consumeToken(); break; } // - // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 341: cv_qualifier ::= volatile // - case 329: { action. consumePointerToMember(); break; + case 341: { action. consumeToken(); break; } // - // Rule 336: cv_qualifier ::= const + // Rule 343: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 336: { action. consumeToken(); break; + case 343: { action. consumeQualifiedId(false); break; } // - // Rule 337: cv_qualifier ::= volatile + // Rule 344: type_id ::= type_specifier_seq // - case 337: { action. consumeToken(); break; + case 344: { action. consumeTypeId(false); break; } // - // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 345: type_id ::= type_specifier_seq abstract_declarator // - case 339: { action. consumeQualifiedId(false); break; + case 345: { action. consumeTypeId(true); break; } // - // Rule 340: type_id ::= type_specifier_seq + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 340: { action. consumeTypeId(false); break; + case 348: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 341: type_id ::= type_specifier_seq abstract_declarator + // Rule 349: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 341: { action. consumeTypeId(true); break; + case 349: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 353: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 344: { action. consumeDeclaratorWithPointer(false); break; + case 353: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 354: basic_direct_abstract_declarator ::= ( ) // - case 345: { action. consumeDeclaratorWithPointer(true); break; + case 354: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 355: array_direct_abstract_declarator ::= array_modifier // - case 349: { action. consumeDirectDeclaratorBracketed(); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( ) + // Rule 356: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 350: { action. consumeAbstractDeclaratorEmpty(); break; + case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_modifier + // Rule 357: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 357: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 358: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 359: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 359: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 360: { action. consumePlaceHolder(); break; } // - // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 361: { action. consumeEmpty(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 362: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 356: { action. consumePlaceHolder(); break; + case 362: { action. consumePlaceHolder(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 368: abstract_declarator_opt ::= $Empty // - case 357: { action. consumeEmpty(); break; + case 368: { action. consumeEmpty(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 369: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 358: { action. consumePlaceHolder(); break; + case 369: { action. consumeParameterDeclaration(); break; } // - // Rule 364: abstract_declarator_opt ::= $Empty + // Rule 370: parameter_declaration ::= declaration_specifiers // - case 364: { action. consumeEmpty(); break; + case 370: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 372: parameter_init_declarator ::= declarator = parameter_initializer // - case 365: { action. consumeParameterDeclaration(); break; + case 372: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers + // Rule 374: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 374: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 375: parameter_init_declarator ::= = parameter_initializer // - case 368: { action. consumeDeclaratorWithInitializer(true); break; + case 375: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 376: parameter_initializer ::= assignment_expression // - case 370: { action. consumeDeclaratorWithInitializer(true); break; + case 376: { action. consumeInitializer(); break; } // - // Rule 371: parameter_init_declarator ::= = parameter_initializer + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 371: { action. consumeDeclaratorWithInitializer(false); break; + case 377: { action. consumeFunctionDefinition(false); break; } // - // Rule 372: parameter_initializer ::= assignment_expression + // Rule 378: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 372: { action. consumeInitializer(); break; + case 378: { action. consumeFunctionDefinition(true); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 381: initializer ::= ( expression_list ) // - case 373: { action. consumeFunctionDefinition(false); break; + case 381: { action. consumeInitializerConstructor(); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 382: initializer_clause ::= assignment_expression // - case 374: { action. consumeFunctionDefinition(true); break; + case 382: { action. consumeInitializer(); break; } // - // Rule 377: initializer ::= ( expression_list ) + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // - case 377: { action. consumeInitializerConstructor(); break; + case 384: { action. consumeInitializerList(); break; } // - // Rule 378: initializer_clause ::= assignment_expression + // Rule 385: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // - case 378: { action. consumeInitializer(); break; + case 385: { action. consumeInitializerList(); break; } // - // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 386: initializer_list ::= { <openscope-ast> } // - case 380: { action. consumeInitializerList(); break; + case 386: { action. consumeInitializerList(); break; } // - // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 387: start_initializer_list ::= $Empty // - case 381: { action. consumeInitializerList(); break; + case 387: { action. initializerListStart(); break; } // - // Rule 382: initializer_list ::= { <openscope-ast> } + // Rule 388: end_initializer_list ::= $Empty // - case 382: { action. consumeInitializerList(); break; + case 388: { action. initializerListEnd(); break; } // - // Rule 383: start_initializer_list ::= $Empty + // Rule 393: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 383: { action. initializerListStart(); break; + case 393: { action. consumeClassSpecifier(); break; } // - // Rule 384: end_initializer_list ::= $Empty + // Rule 394: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // - case 384: { action. initializerListEnd(); break; + case 394: { action. consumeClassHead(false); break; } // - // Rule 389: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 395: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 389: { action. consumeClassSpecifier(); break; + case 395: { action. consumeClassHead(false); break; } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 390: { action. consumeClassHead(false); break; + case 396: { action. consumeClassHead(true); break; } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 397: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 391: { action. consumeClassHead(false); break; + case 397: { action. consumeClassHead(true); break; } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 401: identifier_name_opt ::= $Empty // - case 392: { action. consumeClassHead(true); break; - } + case 401: { action. consumeEmpty(); break; + } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 405: visibility_label ::= access_specifier_keyword : // - case 393: { action. consumeClassHead(true); break; + case 405: { action. consumeVisibilityLabel(); break; } // - // Rule 397: identifier_name_opt ::= $Empty - // - case 397: { action. consumeEmpty(); break; - } - - // - // Rule 401: visibility_label ::= access_specifier_keyword : + // Rule 406: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 401: { action. consumeVisibilityLabel(); break; + case 406: { action. consumeDeclarationSimple(true); break; } // - // Rule 402: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 407: member_declaration ::= declaration_specifiers_opt ; // - case 402: { action. consumeDeclarationSimple(true); break; + case 407: { action. consumeDeclarationSimple(false); break; } // - // Rule 403: member_declaration ::= declaration_specifiers_opt ; + // Rule 410: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 403: { action. consumeDeclarationSimple(false); break; + case 410: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 406: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 416: member_declaration ::= ERROR_TOKEN // - case 406: { action. consumeMemberDeclarationQualifiedId(); break; + case 416: { action. consumeDeclarationProblem(); break; } // - // Rule 412: member_declaration ::= ERROR_TOKEN + // Rule 425: member_declarator ::= declarator constant_initializer // - case 412: { action. consumeDeclarationProblem(); break; + case 425: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 421: member_declarator ::= declarator constant_initializer + // Rule 426: member_declarator ::= bit_field_declarator : constant_expression // - case 421: { action. consumeMemberDeclaratorWithInitializer(); break; + case 426: { action. consumeBitField(true); break; } // - // Rule 422: member_declarator ::= bit_field_declarator : constant_expression + // Rule 427: member_declarator ::= : constant_expression // - case 422: { action. consumeBitField(true); break; + case 427: { action. consumeBitField(false); break; } // - // Rule 423: member_declarator ::= : constant_expression + // Rule 428: bit_field_declarator ::= identifier_name // - case 423: { action. consumeBitField(false); break; + case 428: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 424: bit_field_declarator ::= identifier_name + // Rule 429: constant_initializer ::= = constant_expression // - case 424: { action. consumeDirectDeclaratorIdentifier(); break; + case 429: { action. consumeInitializer(); break; } // - // Rule 425: constant_initializer ::= = constant_expression + // Rule 435: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 425: { action. consumeInitializer(); break; + case 435: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 431: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 431: { action. consumeBaseSpecifier(false, false); break; + case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 432: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 437: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 432: { action. consumeBaseSpecifier(true, true); break; + case 437: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 433: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 438: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 433: { action. consumeBaseSpecifier(true, true); break; + case 438: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 434: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 439: access_specifier_keyword ::= private // - case 434: { action. consumeBaseSpecifier(true, false); break; + case 439: { action. consumeToken(); break; } // - // Rule 435: access_specifier_keyword ::= private + // Rule 440: access_specifier_keyword ::= protected // - case 435: { action. consumeToken(); break; + case 440: { action. consumeToken(); break; } // - // Rule 436: access_specifier_keyword ::= protected + // Rule 441: access_specifier_keyword ::= public // - case 436: { action. consumeToken(); break; + case 441: { action. consumeToken(); break; } // - // Rule 437: access_specifier_keyword ::= public + // Rule 443: access_specifier_keyword_opt ::= $Empty // - case 437: { action. consumeToken(); break; + case 443: { action. consumeEmpty(); break; } // - // Rule 439: access_specifier_keyword_opt ::= $Empty + // Rule 445: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 439: { action. consumeEmpty(); break; + case 445: { action. consumeTemplateId(); break; } // - // Rule 441: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 446: conversion_function_id ::= operator conversion_type_id // - case 441: { action. consumeTemplateId(); break; + case 446: { action. consumeConversionName(); break; } // - // Rule 442: conversion_function_id ::= operator conversion_type_id + // Rule 447: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 442: { action. consumeConversionName(); break; + case 447: { action. consumeTypeId(true); break; } // - // Rule 443: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 448: conversion_type_id ::= type_specifier_seq // - case 443: { action. consumeTypeId(true); break; + case 448: { action. consumeTypeId(false); break; } // - // Rule 444: conversion_type_id ::= type_specifier_seq + // Rule 449: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 444: { action. consumeTypeId(false); break; + case 449: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 445: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 455: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 445: { action. consumeDeclaratorWithPointer(false); break; + case 455: { action. consumeConstructorChainInitializer(); break; } // - // Rule 451: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 456: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 451: { action. consumeConstructorChainInitializer(); break; + case 456: { action. consumeQualifiedId(false); break; } // - // Rule 452: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 459: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 452: { action. consumeQualifiedId(false); break; + case 459: { action. consumeTemplateId(); break; } // - // Rule 455: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 460: operator_id_name ::= operator overloadable_operator // - case 455: { action. consumeTemplateId(); break; + case 460: { action. consumeOperatorName(); break; } // - // Rule 456: operator_id_name ::= operator overloadable_operator + // Rule 503: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 456: { action. consumeOperatorName(); break; + case 503: { action. consumeTemplateDeclaration(); break; } // - // Rule 499: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 504: export_opt ::= export // - case 499: { action. consumeTemplateDeclaration(); break; + case 504: { action. consumePlaceHolder(); break; } // - // Rule 500: export_opt ::= export + // Rule 505: export_opt ::= $Empty // - case 500: { action. consumePlaceHolder(); break; + case 505: { action. consumeEmpty(); break; } // - // Rule 501: export_opt ::= $Empty + // Rule 509: template_parameter ::= parameter_declaration // - case 501: { action. consumeEmpty(); break; + case 509: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 505: template_parameter ::= parameter_declaration + // Rule 510: type_parameter ::= class identifier_name_opt // - case 505: { action. consumeTemplateParamterDeclaration(); break; + case 510: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 506: type_parameter ::= class identifier_name_opt + // Rule 511: type_parameter ::= class identifier_name_opt = type_id // - case 506: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 507: type_parameter ::= class identifier_name_opt = type_id + // Rule 512: type_parameter ::= typename identifier_name_opt // - case 507: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 508: type_parameter ::= typename identifier_name_opt + // Rule 513: type_parameter ::= typename identifier_name_opt = type_id // - case 508: { action. consumeSimpleTypeTemplateParameter(false); break; + case 513: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 509: type_parameter ::= typename identifier_name_opt = type_id + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 509: { action. consumeSimpleTypeTemplateParameter(true); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 515: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 510: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 515: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 516: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 511: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 516: { action. consumeTemplateId(); break; } // - // Rule 512: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 521: template_argument ::= assignment_expression // - case 512: { action. consumeTemplateId(); break; + case 521: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 517: template_argument ::= assignment_expression + // Rule 522: template_argument ::= type_id // - case 517: { action. consumeTemplateArgumentExpression(); break; + case 522: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 518: template_argument ::= type_id + // Rule 523: explicit_instantiation ::= template declaration // - case 518: { action. consumeTemplateArgumentTypeId(); break; + case 523: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 519: explicit_instantiation ::= template declaration + // Rule 524: explicit_specialization ::= template < > declaration // - case 519: { action. consumeTemplateExplicitInstantiation(); break; + case 524: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 520: explicit_specialization ::= template < > declaration + // Rule 525: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 520: { action. consumeTemplateExplicitSpecialization(); break; + case 525: { action. consumeStatementTryBlock(true); break; } // - // Rule 521: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 526: try_block ::= try compound_statement // - case 521: { action. consumeStatementTryBlock(); break; + case 526: { action. consumeStatementTryBlock(false); break; } // - // Rule 524: handler ::= catch ( exception_declaration ) compound_statement + // Rule 529: handler ::= catch ( exception_declaration ) compound_statement // - case 524: { action. consumeStatementCatchHandler(false); break; + case 529: { action. consumeStatementCatchHandler(false); break; } // - // Rule 525: handler ::= catch ( ... ) compound_statement + // Rule 530: handler ::= catch ( ... ) compound_statement // - case 525: { action. consumeStatementCatchHandler(true); break; + case 530: { action. consumeStatementCatchHandler(true); break; } // - // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 526: { action. consumeDeclarationSimple(true); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 532: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 527: { action. consumeDeclarationSimple(true); break; + case 532: { action. consumeDeclarationSimple(true); break; } // - // Rule 528: exception_declaration ::= type_specifier_seq + // Rule 533: exception_declaration ::= type_specifier_seq // - case 528: { action. consumeDeclarationSimple(false); break; + case 533: { action. consumeDeclarationSimple(false); break; } // - // Rule 530: exception_specification ::= throw ( ) + // Rule 535: exception_specification ::= throw ( ) // - case 530: { action. consumePlaceHolder(); break; + case 535: { action. consumePlaceHolder(); 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 82215e1964e..1f83ddba0e4 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 @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -56,475 +56,481 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 0,5,7,8,1,1,2,2,3,2, - 3,1,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,1,0,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, + 0,5,7,2,8,1,1,2,2,3, + 2,3,1,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,1,0, + 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,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3,4,4,5,2,5, - 6,5,0,6,7,0,1,3,1,0, - 1,3,1,7,6,0,7,6,1,0, - 6,5,6,4,1,3,1,0,1,1, - 2,1,1,3,1,3,1,1,1,1, - 3,9,2,2,3,2,5,3,7,0, - 1,2,2,1,0,1,1,1,3,1, - 2,1,1,2,3,1,1,1,3,2, - 1,2,2,9,8,2,1,3,1,3, - 1,0,1,0,2,1,1,3,1,3, - 2,1,5,8,1,2,3,1,1,7, - 6,3,0,0,1,3,1,1,5,6, - 6,7,7,0,0,1,0,1,1,1, - 2,4,2,2,1,5,1,1,1,1, - 1,1,1,2,1,0,1,3,1,1, - 2,3,2,1,2,2,1,0,1,3, - 3,5,5,4,1,1,1,1,0,1, - 5,2,2,1,2,2,1,0,1,3, - 4,3,1,1,5,2,1,1,3,3, + 1,1,1,1,1,1,3,4,4,5, + 2,5,6,5,0,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 7,6,1,0,6,5,6,4,1,3, + 1,0,1,1,2,1,1,3,1,3, + 1,1,1,1,3,9,2,2,3,2, + 5,3,7,0,1,2,2,1,0,1, + 1,1,3,1,2,1,1,2,3,1, + 1,1,3,2,1,2,2,9,8,2, + 1,3,1,3,1,0,1,0,2,1, + 1,3,1,3,2,1,5,8,1,2, + 3,1,1,7,6,3,0,0,1,3, + 1,1,5,6,6,7,7,0,0,1, + 0,1,1,1,2,4,2,2,1,5, + 1,1,1,1,1,1,1,2,1,0, + 1,3,1,1,2,3,2,1,2,2, + 1,0,1,3,3,5,5,4,1,1, + 1,1,0,1,5,2,2,1,2,2, + 1,0,1,3,4,3,1,1,5,2, + 1,1,3,3,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2,2,7,1, - 0,1,3,1,1,2,4,2,4,7, - 9,5,1,3,1,0,1,1,2,4, - 4,1,2,5,5,3,3,1,4,3, - 1,0,1,3,-237,0,0,0,-473,0, + 2,2,7,1,0,1,3,1,1,2, + 4,2,4,7,9,5,1,3,1,0, + 1,1,2,4,4,2,1,2,5,5, + 3,3,1,4,3,1,0,1,3,-237, + 0,0,0,-2,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-2,0,0,0, - 0,0,0,0,-114,0,-4,0,0,0, - 0,0,-115,-7,0,0,-295,0,0,0, - 0,0,0,0,0,0,0,0,0,-146, - 0,0,-243,0,0,0,0,0,0,0, - 0,0,0,0,0,-25,0,0,0,-59, - 0,-207,0,0,-26,0,0,0,0,0, - 0,0,-106,0,0,-3,0,0,-90,-19, - 0,-183,0,0,0,0,0,0,-17,0, - 0,-12,-54,0,0,0,0,0,0,0, - 0,0,0,0,0,-27,0,0,0,0, - -453,0,0,0,0,0,0,0,0,0, - 0,0,-200,0,0,0,0,0,-9,0, - 0,0,0,0,0,0,0,-100,0,0, + 0,0,-4,0,0,0,0,0,0,0, + -72,0,-217,0,0,0,0,0,-376,0, + 0,0,-295,0,0,0,0,0,0,0, + 0,0,0,0,0,-146,0,0,-243,0, 0,0,0,0,0,0,0,0,0,0, + 0,-340,0,0,0,0,0,0,0,0, + 0,0,0,0,-42,0,0,0,-10,0, + 0,-30,0,0,0,-17,0,0,0,0, + 0,0,0,0,0,-60,0,0,-12,-106, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-47,0,0, - 0,0,0,0,0,0,0,0,0,-16, - 0,0,0,-34,0,0,0,-63,0,-101, - 0,0,0,-116,0,0,0,0,0,0, + -103,0,-7,0,-9,-71,-455,0,0,0, + 0,-101,0,0,0,0,0,0,0,-134, + 0,0,0,0,0,0,-93,0,0,0, + 0,0,0,-100,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-297,0,-128,0,0,0,0, - 0,0,0,0,0,-333,0,0,0,-14, - 0,0,0,0,0,0,0,-24,0,0, - -244,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-50, - 0,0,-31,-117,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-19,0, + 0,0,0,0,0,0,-459,0,0,0, + -13,0,-25,0,0,0,0,0,-475,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,0,0,0,0,0, - 0,0,0,-21,0,0,0,-113,0,0, - 0,0,0,0,0,-375,0,-380,0,-92, - 0,0,0,-32,0,-41,-136,0,0,-279, + 0,0,-297,0,0,0,0,0,0,0, + -27,0,0,0,0,0,0,0,0,0, + -185,0,-3,0,0,0,0,0,-244,0, + 0,0,-63,0,0,0,0,0,0,0, + 0,0,0,0,-473,0,-50,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,0,0,0,0,0,0,0, - 0,0,0,-13,0,0,0,0,0,0, - 0,0,0,0,0,-102,0,0,0,-52, - -10,0,0,0,0,0,-88,0,0,0, - -49,-541,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-42,0,-51,-383, + -14,0,0,0,0,0,0,0,0,0, + 0,0,0,-24,0,0,-334,0,0,0, + -31,0,0,0,0,0,0,-279,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-35,0,0,0,0,0,0,0,-309, - 0,0,0,-71,0,0,0,0,-239,0, - 0,0,-472,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-37,0,0,0,0,0, + -41,0,-49,0,0,0,-364,0,0,0, + -143,0,0,0,-284,0,0,0,-34,0, + 0,0,0,0,-543,0,0,0,0,0, + 0,0,0,0,0,0,0,-32,-47,0, + 0,0,0,0,0,-384,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-148,0,0,0,0,-72,-107,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-46, - 0,-40,0,0,0,0,0,0,0,-307, - 0,0,0,-38,0,0,0,0,0,0, + 0,0,0,0,-35,-239,0,0,0,-474, + 0,0,0,-37,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,-86,0,-40,0,0,0,0,-39, + 0,0,0,-51,-107,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,-60,0,-61,-130, - 0,-111,0,0,0,0,0,0,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,0,-193,0,0,0,0,0, + 0,0,0,0,0,0,-87,-307,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-110,0, - 0,0,0,-97,0,0,-292,0,0,0, - -39,0,0,0,0,0,0,0,0,0, + -309,0,0,0,0,0,0,0,-52,0, + -94,0,0,0,0,0,0,0,0,0, + -92,0,0,0,-43,0,-411,0,0,-111, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-191,0,-217,0, - -185,0,0,0,0,0,0,0,0,0, - 0,-387,0,0,0,-195,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-43,0,0,0,0,0,0, - 0,-226,0,-218,0,-400,0,0,0,-55, - 0,0,0,-339,0,0,0,0,0,0, - 0,0,0,0,0,0,-421,0,-68,0, - -388,0,0,0,-129,0,0,0,0,0, + 0,0,-55,0,0,0,0,0,0,0, + -57,0,0,0,0,0,0,0,0,-56, + 0,0,0,-193,0,0,0,-61,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-130,0,0,0, + 0,0,0,0,-226,0,-97,0,-110,0, + 0,0,0,-221,0,0,-316,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-56,0,-58,0,0,0,0,0, - 0,0,0,-316,0,-178,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-218,0,0, + 0,-69,0,0,0,0,0,0,0,0, + -292,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-522,0,-132, - 0,0,0,0,0,0,0,-266,0,0, - 0,-64,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-114,0,0,0,-493,0,0,0,-59, + 0,0,0,-89,0,0,0,0,-64,0, + 0,0,0,0,-534,-388,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-337,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,-290,0, + 0,0,0,0,0,-67,0,0,0,0, + -183,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,0,0,-67, - 0,-74,0,0,0,0,0,-75,0,0, - 0,-268,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,-74,0,-70, + 0,0,0,0,0,0,0,-178,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-415,0,0,0,0,0,0,0,-77, - -93,0,0,-269,0,0,0,-95,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,-69,0,-523,0,0,0,0, - 0,-379,0,0,0,-270,0,0,0,-135, + -21,0,0,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,0,0, - 0,0,0,0,0,-70,0,0,0,0, - 0,0,0,-227,-94,0,0,-271,0,0, + 0,-266,0,0,0,-195,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,-76,0,-105,0,-338,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,-80,0,-73, - 0,0,0,0,0,-471,-139,0,0,-272, - 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,0,0,0,-81, - 0,0,0,0,0,0,0,-150,0,0, - 0,-273,0,0,0,-151,0,0,0,0, + 0,0,0,0,0,-80,0,0,0,0, + 0,0,0,-317,0,0,0,-268,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-84,0,-152,0,0,0,0,0,-506, - -140,0,0,-274,0,0,0,-153,0,0, + -139,0,0,0,0,0,0,0,-81,0, + -184,0,0,0,0,0,-380,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,-77,0,0,0,0,0,0, + 0,-95,0,0,0,0,0,0,0,-133, + -135,0,0,-270,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-85,0,-192,0,0,0,0, - 0,-155,-167,0,0,-275,0,0,0,-168, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-381,0,-84,0, + 0,0,0,-314,0,0,-271,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-169,0,0,0,-87, - 0,0,0,-170,0,0,0,-276,0,0, - 0,-171,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-147, + 0,0,0,0,0,0,0,-85,0,0, + 0,0,0,0,0,-90,-149,0,0,-272, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-98,0,-201, - 0,0,0,0,0,-172,-209,0,0,-382, - 0,0,0,-173,0,0,0,0,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,-174,-210,0, - 0,-420,0,0,0,-175,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -508,0,-524,0,0,0,0,0,-150,-151, + 0,0,-273,0,0,0,-227,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-141,0,-105,0,0,0,0,0,-176, - -363,0,0,-525,0,0,0,-177,0,0, + 0,0,0,0,0,-115,0,0,0,0, + 0,0,0,-98,0,0,0,0,0,0, + 0,-119,-152,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,0,0, - 0,0,0,-142,0,0,0,0,0,0, - 0,-179,-104,0,0,-315,0,0,0,0, + 0,0,0,0,0,0,-153,0,-525,0, + 0,0,0,0,-120,0,0,0,-275,0, + 0,0,-155,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-304,0,0, - 0,0,0,0,0,-144,0,-306,0,0, - 0,0,0,-366,0,0,0,-180,0,0, + 0,-140,0,0,0,0,0,0,0,-167, + 0,0,0,0,0,0,0,-168,-169,0, + 0,-276,0,0,0,0,0,0,0,0, 0,0,0,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,-181,0,0,0,-219,0,0,0,-18, - -186,-396,0,0,0,0,0,0,0,0, + 0,0,-170,0,-46,0,0,0,0,0, + -171,-172,0,0,-383,0,0,0,-136,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-188,0,-190,0,0,0,-397, + 0,0,0,0,0,-126,0,-68,0,0, + 0,0,0,-173,-58,0,0,-422,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-194, - 0,0,0,0,0,0,0,-408,0,0, - 0,0,-470,-196,0,0,0,-519,0,0, + 0,0,0,0,0,0,0,0,-174,0, + -73,0,-104,0,0,0,-128,-175,0,0, + -527,0,0,0,-176,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-368, - 0,0,0,0,0,0,0,-197,0,-198, - 0,0,0,0,0,-278,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-177,0,-179,0,0,0,0,0,-79, + -180,0,0,-367,0,0,0,-129,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-215,0,-289,0,0, - 0,-30,0,0,0,-377,-199,0,0,0, - 0,0,-79,-265,0,0,0,0,0,0, + 0,0,0,0,0,0,-544,0,0,0, + 0,0,0,0,-132,0,0,0,-304,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,0,0,0,0,0,0, - 0,0,0,0,0,-311,0,-263,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-235, - 0,0,0,0,0,0,0,0,0,-264, + 0,-102,0,0,0,0,-446,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,-28, + 0,0,0,0,0,-472,0,0,0,-521, 0,0,0,0,0,0,0,0,0,0, - 0,0,-260,0,0,0,-378,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-119,0,0,0,0,0, - 0,-89,0,0,0,0,0,0,0,0, - 0,0,-236,0,0,-120,-312,0,0,0, - 0,-189,0,0,-202,-204,-203,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -62,-457,-505,-118,0,0,0,0,0,-214, + -141,0,0,0,0,0,0,0,-142,-88, + 0,0,0,-477,0,0,0,-278,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-137,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-394,-284,0,0, - 0,0,0,0,-216,0,0,0,0,0, - 0,-409,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,-206,0,0,0,0,0, - -222,0,-223,-261,0,0,0,0,0,0, + -189,0,0,0,0,0,0,0,0,0, + -144,0,-182,0,0,-186,-265,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-188,0,-190, + 0,-263,0,0,0,-196,0,0,0,0, + 0,0,0,0,0,0,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,0,0,0,0,0,0, - 0,-262,0,0,0,-242,0,0,0,0, + 0,0,0,0,0,0,0,-401,0,0, + 0,0,0,0,0,-260,0,0,0,-198, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-249, - 0,0,0,-318,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-494,0, + 0,0,0,0,0,-28,0,0,0,0, + 0,0,0,0,0,0,0,0,-261,0, + 0,0,-306,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-286,-213,-293, - 0,-341,0,0,0,0,0,0,0,0, - 0,0,0,0,-254,0,0,0,0,0, + 0,-336,0,0,0,0,0,-342,0,0, + 0,-199,0,0,0,0,0,0,0,0, + 0,0,-202,-204,0,0,0,0,0,0, + 0,-121,0,0,0,-205,-311,0,0,0, + 0,0,-154,-283,0,0,0,0,0,-344, + -262,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-456,0,0,0, - 0,-255,0,0,0,-294,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-181, + 0,0,0,0,-53,0,0,0,0,0, + 0,-203,0,0,0,0,0,0,0,0, + 0,0,0,0,-207,0,0,-305,0,0, + 0,-369,0,0,0,0,0,0,-206,0, + -222,-194,0,-431,0,0,-8,0,0,0, + 0,0,-191,-214,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,-488,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-219,0,0, + 0,-223,0,0,-512,0,0,0,-242,-490, + 0,-286,0,0,0,0,0,0,0,0, + 0,-293,-209,0,0,0,0,0,0,-294, + 0,0,0,0,0,0,-197,0,0,0, + 0,-417,0,0,0,0,0,-312,-192,0, + 0,0,-301,0,0,0,0,0,-254,0, 0,0,0,0,0,0,0,0,0,0, - -301,0,0,0,0,-257,0,0,0,-221, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-240,0,0, - 0,0,-282,-302,-308,-310,0,-121,0,0, - 0,-323,-324,0,0,0,0,0,-154,-305, + 0,0,0,0,0,0,-255,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -287,-325,0,-234,-143,0,0,0,-298,-364, - 0,0,0,0,0,-326,0,-532,0,0, - 0,0,0,0,0,0,0,-330,0,0, - 0,0,0,0,-78,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-319, - -331,0,-332,0,0,0,0,0,0,0, - 0,0,0,0,-344,0,0,0,0,0, - -345,0,-20,-321,-290,0,0,0,0,0, - 0,0,0,0,-524,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-5, - 0,0,0,0,0,0,-346,0,-250,0, + 0,0,0,0,0,0,0,0,0,-302, + 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,-308,0,0, + 0,0,0,-210,-148,-313,0,0,0,-215, + 0,0,-246,0,0,-523,0,-310,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,-281,0,0,0,0, - 0,0,0,0,0,0,-288,0,0,-291, + 0,0,0,0,0,0,0,0,-257,0, 0,0,0,0,0,0,0,0,0,0, - -492,0,0,-399,0,-283,0,0,0,-300, - 0,0,0,0,-347,0,0,0,0,-53, - 0,0,0,0,0,0,0,-444,0,0, - 0,-159,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-442, - -22,0,0,0,0,-158,0,0,0,0, + 0,0,0,0,0,0,-5,0,0,0, + 0,0,-324,0,-216,-212,0,0,0,0, + 0,-208,0,0,-325,-326,0,0,0,0, + -410,0,0,0,0,-328,0,-258,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,-303,0,0,0, + 0,0,0,0,-201,-259,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-259,0, + 0,0,0,0,0,0,0,0,-235,0, + 0,0,0,0,0,-225,-282,0,-15,0, + 0,0,-281,0,-327,0,0,-48,0,0, + 0,0,0,-456,0,0,0,-331,-332,0, 0,0,0,0,0,0,0,0,0,0, + 0,-461,0,0,0,0,0,0,-16,0, + -333,-522,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -373,0,0,0,0,0,0,0,-212,0, - 0,-109,0,0,0,-454,0,0,0,-432, - -320,-122,0,0,0,0,-134,0,0,-348, - 0,-475,0,0,0,0,0,0,0,0, - -145,0,0,0,-349,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-510,0, - 0,0,-517,-220,0,0,0,-327,0,0, - 0,0,0,0,0,-390,0,0,0,-350, - 0,0,0,0,0,0,0,0,-251,0, + -365,0,-345,0,0,0,0,0,0,0, + 0,0,0,-337,0,-468,-288,0,-291,0, + 0,-346,0,0,0,0,0,0,0,0, + 0,0,-347,-300,-348,0,0,0,0,0, + 0,0,-349,0,-145,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-321,0, + -236,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-526,0,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, - 0,0,0,-6,0,0,0,0,0,0, + 0,0,-377,0,0,-378,0,0,0,-6, 0,0,0,0,0,0,0,0,0,0, - 0,-322,0,0,0,0,0,-443,0,0, - -424,-245,0,-328,0,0,-224,0,-208,0, - 0,0,-338,0,-459,0,0,0,-335,-313, - 0,-343,0,0,0,-314,0,0,0,0, - 0,0,0,0,0,0,-123,-426,0,0, - 0,0,0,0,0,-351,0,0,0,0, - 0,0,0,0,0,0,0,-384,0,0, + 0,0,-213,-240,-350,-374,0,0,0,0, + 0,0,-458,0,-33,-385,-416,-351,0,0, + 0,0,0,-423,0,0,-379,0,0,-513, + 0,0,0,-352,-395,0,0,0,0,0, + 0,0,-400,-289,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-353,0,0,-536,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -342,-436,-433,0,0,0,0,0,0,0, - 0,-462,0,0,0,0,0,-376,-534,0, - -229,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-225,-352,0,-381,0,0, - 0,0,0,-353,-402,0,-411,0,-498,0, - 0,0,0,0,-501,0,0,0,0,0, + 0,-391,0,0,0,-519,0,0,0,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,-354,0,-26, + 0,0,0,-36,0,0,0,-44,0,0, + 0,-420,0,0,0,-437,0,0,-355,0, + 0,0,0,0,-440,0,0,-426,0,0, + -200,0,-356,0,0,0,0,-229,0,-280, + 0,0,0,0,0,-538,0,0,0,-319, + 0,0,0,0,0,0,0,0,0,-18, + 0,0,-220,0,-428,0,0,0,0,-357, 0,-511,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-113,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-416,0,-354,0,0,0,0,0,0, - 0,0,-500,-491,0,0,0,0,0,-414, - -446,0,0,0,0,-355,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -285,0,0,0,0,-460,0,0,0,-435, - 0,0,0,0,0,-509,0,0,0,0, - 0,0,0,0,0,0,-521,0,0,0, - 0,0,0,-438,-296,-419,-356,0,0,0, - 0,0,0,0,0,0,0,-502,0,0, + -507,0,0,0,0,0,0,0,0,-464, + -444,0,0,0,-322,0,0,0,-532,-358, + -323,0,0,0,0,0,0,0,0,0, + -447,0,0,-318,0,0,0,0,0,-329, + 0,0,0,-20,-359,-360,-500,0,0,0, + 0,0,0,0,-287,-303,0,0,0,0, + 0,0,0,0,0,-434,0,0,0,0, + 0,-234,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-230,0,0, + -413,0,0,0,0,0,0,0,0,0, + 0,-502,0,0,0,0,0,-277,0,0, 0,0,0,0,0,0,0,0,0,0, - -252,0,0,0,-455,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-504,0,-357,-385,0,-246,0,-445, - -358,0,0,0,-230,0,0,-467,0,-479, - 0,0,-103,0,0,-463,0,0,0,-465, - 0,0,0,-280,-389,0,0,0,0,0, - 0,0,0,0,0,-469,0,0,0,0, + 0,0,0,0,-54,0,0,0,0,-361, + 0,0,-298,0,0,-315,0,0,0,0, + 0,0,0,0,0,0,0,-421,0,-78, + 0,0,0,-362,-363,0,-403,0,0,0, + 0,0,0,0,0,0,0,-504,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-36,0,0,0,-359,0,0,0, - 0,0,0,0,0,0,0,0,-480,-537, - -386,-484,-481,0,-360,0,-361,0,0,0, - 0,0,0,-487,-15,-497,0,0,0,0, - -362,0,0,0,-277,0,0,0,0,0, - 0,0,-482,0,0,-365,-543,0,0,0, + -158,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-512,0,0,-528,0,0,0, + 0,0,-506,0,-445,-366,0,-368,0,0, + -339,-231,-370,0,-343,0,-462,0,0,0, + -371,0,0,-372,0,0,-469,0,0,0, + 0,0,0,0,0,-45,0,0,0,-435, + -232,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-539,0, + -22,-382,0,0,-449,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-367,0,0, - 0,-542,0,0,0,0,0,0,0,0, - 0,0,0,-369,0,-520,0,0,0,0, - 0,0,0,-370,0,0,0,0,0,0, - 0,-112,0,0,0,0,0,0,0,0, - 0,0,0,0,-253,0,0,0,-371,0, + 0,0,-62,-118,-373,-375,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-393, + -438,0,-404,0,0,0,0,0,0,0, + 0,0,0,-545,0,0,-418,0,-488,0, + 0,0,0,0,-448,0,0,0,0,0, + 0,0,0,0,-399,0,0,0,0,-406, + -457,0,0,-465,0,0,0,0,0,0, + -481,-407,0,0,0,0,0,0,-408,-409, + 0,0,0,0,0,0,0,0,0,-424, + 0,0,0,0,-489,-425,0,-499,0,-467, + 0,0,0,0,0,0,0,0,0,-252, + 0,0,0,-427,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-536,0,-395,0, + 0,0,0,0,-253,0,0,0,-432,0, 0,0,0,0,0,0,0,0,0,0, - 0,-483,-527,-533,-372,-374,0,0,-495,-398, - 0,0,0,-1,0,0,0,0,-29,0, + 0,0,0,0,0,0,0,-436,0,-112, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-404,0,-486,0,0,0, - 0,0,-44,0,0,0,0,0,0,0, - -405,0,0,-437,-447,-496,0,-406,0,0, - 0,0,0,0,0,0,0,0,0,-131, + 0,0,-159,0,0,0,-441,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -407,0,0,-539,0,0,0,0,0,0, - 0,-422,0,0,-423,0,0,0,0,0, - -425,-430,-434,0,-439,-157,0,0,0,-514, - -515,-529,0,0,0,0,0,-160,0,0, + 0,0,0,0,0,-160,0,0,0,-471, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-514,0, + 0,0,0,0,0,-535,-453,-454,-460,0, + -482,-470,0,-476,-491,-495,-161,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -451,0,0,0,-452,-458,-535,-538,0,0, - 0,0,-468,0,0,0,-161,0,0,0, - -474,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,-489,-493,-162,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,-494, + 0,0,0,0,0,-163,0,0,0,-496, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-164,0,0, - 0,-499,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-165, - 0,0,0,-507,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-164,0, + 0,0,-501,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-166,0,0,0,-508,0,0,0,0, + 0,-165,0,0,0,-509,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-238,0,0,0,-516,0,0, + 0,0,0,0,-166,0,0,0,-510,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-247,0,0,0,-526, + 0,0,0,0,0,0,0,-238,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,0,0,0,0,-248,0,0, - 0,-531,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-329, + -247,0,0,0,-528,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-248,0,0,0,-533,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-412,0,0,0,-184,0,0,0,0, + 0,0,0,0,0,0,-330,0,0,0, + -386,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-396, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-124,-448,-440,-540,0,0,0, - 0,0,0,-125,0,0,-317,0,0,0, - 0,0,-231,0,-461,0,0,0,0,0, - 0,0,0,0,0,0,-232,0,0,0, + 0,0,-414,0,0,0,-503,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-1,0,-483,-245,0, + 0,-484,0,0,-394,-124,-224,-296,0,0, + 0,0,0,-122,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-530,0,-285,0,-485,0,0,0,0, + 0,-497,0,0,0,0,0,0,0,0, + 0,-498,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,0,0, - 0,-211,-449,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-442,0,0, + 0,-516,0,0,0,0,0,0,-541,0, + -387,0,-211,0,-486,0,0,0,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,0, + 0,-23,0,0,0,0,0,0,-463,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,-490, - 0,-478,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-108,0,0,0, + 0,0,0,0,0,0,0,-66,0,0, + 0,0,-517,0,-531,0,0,0,-415,0, + -546,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-537, + -540,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-109,0, + 0,0,-542,0,0,0,0,0,0,0, + 0,-405,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,0,0,0,0,0,0,-65,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,0,0,0,0,0,-8, + 0,-108,0,0,0,0,0,0,0,0, + 0,0,0,0,-529,0,0,0,0,0, + 0,0,0,0,0,-466,0,0,0,0, + 0,0,0,0,0,0,0,0,-450,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-336,0,0,-11,0,0,-513,0, - 0,0,-23,0,0,0,0,0,0,0, - 0,0,-391,0,0,0,0,0,0,0, + 0,-11,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-82,0, + 0,0,0,0,0,0,0,-439,0,-96, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-485,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,0,0,0,0,0,0,0,-429, + 0,0,0,0,0,0,0,-83,-487,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,0,0,0,0,0, - -83,0,0,0,0,0,0,0,0,0, - 0,-299,0,0,0,0,0,0,0,0, - 0,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,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-137,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-451,0,0, + 0,0,-299,0,0,0,0,0,0,0, + 0,0,0,-91,0,0,-520,0,0,0, + 0,0,-138,0,0,0,0,0,0,0, + -99,0,0,0,0,0,0,0,0,0, + 0,-480,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,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-91,0,0,0,0,0,-138,0, - 0,0,0,0,0,0,0,0,0,-48, - 0,0,0,0,0,-66,0,0,0,0, - 0,-96,0,0,0,0,0,0,-418,0, + 0,0,-320,0,0,0,0,0,0,0, + 0,-390,0,0,0,0,0,0,-127,0, + 0,0,0,-123,0,0,0,0,0,-187, + 0,0,0,0,0,0,-335,0,0,0, + -131,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,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-515,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,0,0, - 0,0,0,0,0,0,0,0,0,-99, - 0,0,0,0,-127,0,0,0,0,0, - -466,0,0,-530,0,0,0,0,0,0, - -187,0,0,0,0,0,-334,0,0,0, + 0,0,-341,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -402,0,0,0,-443,0,0,0,-478,0, + 0,0,-479,0,0,0,0,0,-392,-156, + 0,0,0,0,0,0,0,0,-157,0, 0,0,0,0,0,0,0,0,0,0, - -340,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,0,0,0, - 0,0,0,0,0,0,-441,0,0,0, - 0,-33,0,0,0,0,0,0,0,0, - -403,0,0,0,0,0,0,0,-476,0, - 0,0,0,0,0,0,-477,0,0,0, - 0,0,0,-228,0,0,0,0,0,0, - 0,0,-233,0,0,0,0,-410,0,0, + 0,-228,0,0,0,0,0,0,0,0, + 0,0,0,0,-241,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-241,0,0, + 0,0,0,-233,0,0,0,0,0,0, + 0,0,-429,0,0,0,0,0,-412,0, 0,0,0,0,0,0,0,0,0,0, - -427,0,0,0,0,0,0,0,0,0, - 0,0,-417,0,0,0,0,0,0,0, - 0,-428,0,0,0,0,0,-392,0,0, - 0,0,0,0,-503,0,0,0,0,0, - -431,0,0,0,0,0,0,0,0,0, - 0,0,0,-393,-413,0,0,0,0,-544, + 0,-419,0,0,0,0,0,-430,0,0, + 0,0,-433,0,0,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,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -533,7 +539,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; @@ -543,539 +549,546 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface BaseAction { public final static char baseAction[] = { - 174,4,136,81,81,32,32,67,67,38, - 38,42,42,174,1,1,15,15,15,15, - 15,15,15,16,16,16,14,11,11,6, - 6,6,6,6,6,2,65,65,5,5, - 12,12,44,44,137,137,138,57,57,43, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17, - 139,139,139,114,114,18,18,18,18,18, - 18,18,18,18,18,18,18,18,19,19, - 175,175,176,176,177,142,142,143,143,140, - 140,144,141,141,20,20,21,21,23,23, - 23,24,24,24,24,25,25,25,26,26, - 26,27,27,27,27,27,28,28,28,29, - 29,31,31,33,33,35,35,36,36,37, - 37,41,41,40,40,40,40,40,40,40, - 40,40,40,40,40,40,39,30,145,145, - 95,95,178,178,90,200,200,68,68,68, - 68,68,68,68,68,68,69,69,69,66, - 66,56,56,179,179,70,70,70,102,102, - 180,180,71,71,71,181,181,72,72,72, - 72,72,73,73,82,82,82,82,82,82, - 82,82,49,49,49,49,49,103,103,101, - 101,50,182,22,22,22,22,22,48,48, - 85,85,85,85,85,152,152,147,147,147, - 147,147,148,148,148,149,149,149,150,150, - 150,151,151,151,86,86,86,86,86,87, - 87,87,13,13,13,13,13,13,13,13, - 13,13,13,96,118,118,118,118,118,118, - 116,116,116,153,117,117,183,155,155,154, - 154,120,120,104,77,77,121,52,47,156, - 156,53,51,84,84,157,157,146,146,122, - 123,123,124,80,80,158,158,63,63,63, - 60,60,59,64,64,78,78,58,58,58, - 54,88,88,98,97,97,62,62,61,61, - 55,55,45,99,99,99,91,91,91,92, - 92,93,93,93,94,94,105,105,105,107, - 107,106,106,201,201,89,89,185,185,185, - 185,185,126,46,46,160,184,184,127,127, - 128,128,128,129,162,186,186,34,34,115, - 130,130,130,130,188,109,108,108,119,119, - 119,163,164,164,164,164,164,164,164,164, - 164,164,164,190,190,187,187,189,189,165, - 166,166,166,166,167,191,111,110,110,192, - 192,168,168,168,168,100,100,100,193,193, - 8,8,9,194,194,195,169,159,159,170, - 170,171,172,172,7,7,10,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,75, - 79,79,173,173,132,132,133,133,133,133, - 133,133,3,134,134,131,131,112,112,83, - 76,74,161,161,113,113,197,197,197,135, - 135,125,125,198,198,1119,35,2823,2821,2048, - 4677,27,30,31,874,823,26,28,2798,25, - 23,50,1793,106,76,77,108,1102,1800,1834, - 1826,1876,1842,1918,1884,403,1960,242,1926,273, - 1968,2002,143,403,1456,158,144,1506,35,982, - 32,3535,3563,27,30,31,874,823,338,28, - 760,35,282,1576,35,982,32,232,4701,27, - 30,31,874,823,57,28,155,35,279,350, - 1231,2950,1177,35,396,588,35,798,388,328, - 235,230,231,155,35,453,1439,2208,4671,1231, - 1458,274,760,35,798,388,318,1139,320,1866, - 313,1137,667,760,35,798,388,3783,221,49, - 242,245,248,251,630,351,1360,1329,1363,1310, - 1365,2436,35,277,322,639,49,302,343,1624, - 1302,348,643,1329,531,46,2594,273,3082,1180, - 2618,718,3595,730,2090,2843,2991,4373,2377,35, - 982,32,2870,3846,27,30,31,874,823,26, - 28,1792,25,23,50,1793,106,76,77,108, - 342,1800,1834,1826,1876,1842,1918,1884,300,1960, - 2711,1926,4563,1968,2002,143,3777,1490,517,144, - 1247,332,61,1042,760,1540,1506,34,2047,275, - 1959,35,277,518,2377,35,982,32,2870,3846, - 27,30,31,874,823,26,28,1792,25,23, - 50,1793,106,76,77,108,342,1800,1834,1826, - 1876,1842,1918,1884,2311,1960,1231,1926,2870,1968, - 2002,143,914,941,517,144,499,35,279,1042, - 1517,4788,232,446,2091,2124,2427,2492,758,518, - 513,1712,35,982,32,2082,4701,27,30,31, - 874,823,56,28,301,244,230,231,4580,1608, - 1428,1224,2048,1569,2377,35,982,32,2870,3846, - 27,30,31,874,823,26,28,1792,25,23, - 50,1793,106,76,77,108,342,1800,1834,1826, - 1876,1842,1918,1884,69,1960,513,1926,2001,1968, - 2002,143,1868,360,517,144,760,3090,1866,1042, - 760,35,1751,1667,1789,2210,1866,1708,2048,518, - 2653,35,982,32,2870,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,108,342,1800,1834,1826,1876,1842,1918,1884, - 1261,1960,2174,1926,667,1968,2002,143,1784,4420, - 517,144,311,2748,3430,1042,760,35,1506,276, - 300,330,1294,293,688,518,513,760,35,293, - 60,667,1443,35,982,32,4592,4833,27,30, - 31,874,823,26,28,2257,511,214,2048,667, - 2720,35,982,32,4650,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,108,2119,1800,1834,1826,1876,1842,1918,1884, - 2509,1960,514,1926,1224,1968,2002,143,2444,2441, - 378,144,2160,2446,35,982,32,959,3846,27, - 30,31,874,823,26,28,1792,25,23,50, - 1793,106,76,77,108,1515,1800,1834,1826,1876, - 1842,1918,1884,914,1960,957,1926,820,1968,2002, - 143,776,2117,378,144,2160,3217,1349,2860,35, - 982,32,876,3846,27,30,31,874,823,26, - 28,1792,25,23,50,1793,106,76,77,108, - 1750,1800,1834,1826,1876,1842,1918,1884,1122,1960, - 2101,1926,1954,1968,2126,164,4471,385,379,1276, - 3167,35,982,32,2136,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,108,629,1800,1834,1826,1876,1842,1918,1884, - 351,1960,1866,1926,1742,1968,2126,164,498,326, - 386,379,1276,343,1624,1302,348,1471,2422,1491, - 1943,341,2518,35,982,32,3292,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,108,1910,1800,1834,1826,1876,1842, - 1918,1884,300,1960,4363,1926,2003,1968,2002,143, - 423,421,378,144,2160,2918,35,982,32,443, - 3846,27,30,31,874,823,26,28,1792,25, - 23,50,1793,106,76,77,108,389,1800,1834, - 1826,1876,1842,1918,1884,323,1960,324,1926,300, - 1968,2002,143,1185,1866,158,144,2918,35,982, - 32,1492,3846,27,30,31,874,823,26,28, - 1792,25,23,50,1793,106,76,77,108,1786, - 1800,1834,1826,1876,1842,1918,1884,403,1960,933, - 1926,2201,1968,2002,143,2743,2036,372,144,376, - 379,1276,2918,35,982,32,1866,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,108,59,1800,1834,1826,1876,1842, - 1918,1884,2301,1960,933,1926,1240,1968,2002,143, - 1613,2174,372,144,1244,35,982,32,2917,4833, - 27,30,31,874,823,59,28,988,182,2101, - 2618,2918,35,982,32,1231,3846,27,30,31, - 874,823,26,28,1792,25,23,50,1793,106, - 76,77,108,371,1800,1834,1826,1876,1842,1918, - 1884,321,1960,839,1926,675,1968,2002,143,390, - 427,372,144,298,760,2531,2586,35,982,32, - 352,3846,27,30,31,874,823,26,28,1792, - 25,23,50,1793,106,76,77,108,370,1800, - 1834,1826,1876,1842,1918,1884,438,1960,1866,1926, - 2183,1968,2002,143,391,427,142,144,2918,35, - 982,32,1582,3846,27,30,31,874,823,26, - 28,1792,25,23,50,1793,106,76,77,108, - 523,1800,1834,1826,1876,1842,1918,1884,404,1960, - 1261,1926,300,1968,2002,143,1185,368,155,144, - 2918,35,982,32,525,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,108,3382,1800,1834,1826,1876,1842,1918,1884, - 1229,1960,1668,1926,288,1968,2002,143,2224,3208, - 154,144,2918,35,982,32,2217,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,108,1954,1800,1834,1826,1876,1842, - 1918,1884,1603,1960,447,1926,2442,1968,2002,143, - 1432,386,153,144,2918,35,982,32,414,3846, - 27,30,31,874,823,26,28,1792,25,23, - 50,1793,106,76,77,108,847,1800,1834,1826, - 1876,1842,1918,1884,300,1960,1866,1926,744,1968, - 2002,143,760,3843,152,144,2918,35,982,32, - 2299,3846,27,30,31,874,823,26,28,1792, - 25,23,50,1793,106,76,77,108,1787,1800, - 1834,1826,1876,1842,1918,1884,300,1960,1261,1926, - 824,1968,2002,143,1707,1097,151,144,2918,35, - 982,32,524,3846,27,30,31,874,823,26, - 28,1792,25,23,50,1793,106,76,77,108, - 1952,1800,1834,1826,1876,1842,1918,1884,300,1960, - 2101,1926,3092,1968,2002,143,409,386,150,144, - 2918,35,982,32,1826,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,108,497,1800,1834,1826,1876,1842,1918,1884, - 300,1960,353,1926,3247,1968,2002,143,2350,93, - 149,144,2918,35,982,32,2411,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,108,1994,1800,1834,1826,1876,1842, - 1918,1884,300,1960,2422,1926,4144,1968,2002,143, - 409,2306,148,144,2918,35,982,32,2487,3846, - 27,30,31,874,823,26,28,1792,25,23, - 50,1793,106,76,77,108,2246,1800,1834,1826, - 1876,1842,1918,1884,300,1960,2101,1926,4154,1968, - 2002,143,2009,2512,147,144,2918,35,982,32, - 413,3846,27,30,31,874,823,26,28,1792, - 25,23,50,1793,106,76,77,108,377,1800, - 1834,1826,1876,1842,1918,1884,2098,1960,381,1926, - 667,1968,2002,143,323,4655,146,144,2918,35, - 982,32,1516,3846,27,30,31,874,823,26, - 28,1792,25,23,50,1793,106,76,77,108, - 2485,1800,1834,1826,1876,1842,1918,1884,300,1960, - 2101,1926,3111,1968,2002,143,1252,1943,145,144, - 2918,35,982,32,65,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,108,2920,1800,1834,1826,1876,1842,1918,1884, - 300,1960,380,1926,4212,1968,2002,143,231,1943, - 159,144,2918,35,982,32,833,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,108,303,1800,1834,1826,1876,1842, - 1918,1884,300,1960,1866,1926,1259,1968,2002,143, - 1745,42,140,144,3046,35,982,32,317,3846, - 27,30,31,874,823,26,28,1792,25,23, - 50,1793,106,76,77,108,295,1800,1834,1826, - 1876,1842,1918,1884,300,1960,1261,1926,1304,1968, - 2002,143,1255,675,189,144,3167,35,982,32, - 375,3846,27,30,31,874,823,26,28,1792, - 25,23,50,1793,106,76,77,108,1231,1800, - 1834,1826,1876,1842,1918,1884,300,1960,2283,1926, - 3134,1968,2126,164,3167,35,982,32,1952,3846, - 27,30,31,874,823,26,28,1792,25,23, - 50,1793,106,76,77,108,297,1800,1834,1826, - 1876,1842,1918,1884,522,1960,402,1926,1827,1968, - 2126,164,760,35,1506,278,760,35,1506,281, - 1352,2029,3167,35,982,32,292,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,108,373,1800,1834,1826,1876,1842, - 1918,1884,1327,1960,2203,1926,1387,1968,2126,164, - 3167,35,982,32,3841,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,108,232,1800,1834,1826,1876,1842,1918,1884, - 300,1960,4126,1926,2771,1968,2126,164,760,35, - 1506,3881,447,42,145,247,230,231,3225,35, - 982,32,422,3846,27,30,31,874,823,26, - 28,1792,25,23,50,1793,106,76,77,108, - 1231,1800,1834,1826,1876,1842,1918,1884,300,1960, - 2216,1926,2845,1968,2126,164,3167,35,982,32, - 425,3846,27,30,31,874,823,26,28,1792, - 25,23,50,1793,106,76,77,108,179,1800, - 1834,1826,1876,1842,1918,1884,300,1960,403,1926, - 2296,3601,1721,35,982,32,1231,2348,41,30, - 31,874,823,1103,3167,35,982,32,3727,3846, - 27,30,31,874,823,26,28,1792,25,23, - 50,1793,106,76,77,108,522,1800,1834,1826, - 1876,1842,1918,1884,198,1960,933,3585,3167,35, - 982,32,3268,3846,27,30,31,874,823,26, - 28,1792,25,23,50,1793,106,76,77,108, - 2101,1800,1834,1826,1876,1842,1918,1884,2748,3511, - 3167,35,982,32,2443,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,108,4100,1800,1834,1826,1876,1842,1918,3567, - 1734,35,982,32,2441,4586,27,30,31,874, - 823,338,28,3167,35,982,32,1231,3846,27, - 30,31,874,823,26,28,1792,25,23,50, - 1793,106,76,77,108,1349,1800,1834,1826,1876, - 1842,3406,1924,35,982,32,393,427,1335,30, - 31,874,823,2101,1490,197,1349,933,331,318, - 1139,320,1349,313,1137,1160,2127,1258,35,982, - 32,3455,3563,27,30,31,874,823,338,28, - 312,237,237,1838,237,24,3082,3082,4266,3082, - 1480,35,2746,32,2441,4586,27,30,31,874, - 823,338,28,2402,35,982,32,2450,3563,27, - 30,31,874,823,338,28,460,1231,760,35, - 798,388,305,309,738,300,318,1139,320,2417, - 313,1137,760,35,3885,1490,1490,459,1490,331, - 3394,403,331,325,1490,351,610,2666,331,318, - 1139,320,452,313,1137,406,1266,1422,343,1624, - 1302,348,315,1025,320,2505,2620,392,427,4297, - 990,575,673,2279,3167,35,982,32,4266,3846, - 27,30,31,874,823,26,28,1792,25,23, - 50,1793,106,76,77,108,523,1800,1834,1826, - 1876,3457,3167,35,982,32,1550,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,108,94,1800,1834,1826,1876,3505, - 3167,35,982,32,2101,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,108,365,1800,2835,417,419,2745,2300,1922, - 1942,656,1244,35,982,32,349,4833,27,30, - 31,874,823,58,28,3167,35,982,32,2038, - 3846,27,30,31,874,823,26,28,1792,25, - 23,50,1793,106,76,77,108,2683,1800,1834, - 1826,3115,3167,35,982,32,2362,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,108,2760,1800,1834,1826,3150,3167, - 35,982,32,2742,3846,27,30,31,874,823, - 26,28,1792,25,23,50,1793,106,76,77, - 108,2366,1800,1834,1826,3256,3167,35,982,32, - 1943,3846,27,30,31,874,823,26,28,1792, - 25,23,50,1793,106,76,77,108,1922,1800, - 1834,1826,3326,259,2371,1534,1955,535,1924,35, - 982,32,2491,2504,40,30,31,874,823,667, - 1924,35,982,32,4783,228,2477,30,31,874, - 823,1943,2511,156,2122,1959,35,280,1185,2090, - 1,180,2200,2870,535,1261,2514,284,2048,203, - 215,3184,202,212,213,214,216,2693,2507,169, - 3922,2427,228,2748,160,760,35,798,388,168, - 156,183,167,170,171,172,173,174,180,2200, - 1867,3459,1261,3385,2870,3082,203,215,3184,202, - 212,213,214,216,88,581,169,102,382,273, - 2086,753,2427,1567,2101,1592,168,181,184,167, - 170,171,172,173,174,1472,35,982,32,3455, - 3563,27,30,31,874,823,338,28,505,3214, - 3283,35,798,388,1490,615,69,1234,331,3167, - 35,982,32,237,3846,27,30,31,874,823, - 26,28,1792,25,23,50,1793,106,76,77, - 108,339,1800,2841,273,232,300,3506,4157,359, - 1961,503,504,355,318,1139,320,300,313,1137, - 300,960,2780,531,3581,3335,2425,2426,250,230, - 231,1345,232,351,2270,526,155,35,453,4737, - 300,4671,327,334,4383,1653,343,1624,1302,348, - 760,35,798,388,527,235,230,231,760,35, - 798,388,3167,35,982,32,274,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,85,49,242,245,248,251,630, - 667,1602,431,1363,740,4759,3109,35,982,32, - 639,3846,27,30,31,874,823,26,28,1792, - 25,23,50,1793,86,76,77,3595,730,2090, - 2843,2991,4373,3167,35,982,32,1943,3846,27, - 30,31,874,823,26,28,1792,25,23,50, - 1793,106,76,77,108,70,1800,1834,3334,3167, - 35,982,32,232,3846,27,30,31,874,823, - 26,28,1792,25,23,50,1793,106,76,77, - 108,345,1800,1834,3384,535,253,230,231,760, - 35,293,760,35,798,388,2293,35,1506,276, - 1231,300,1840,228,294,4751,2870,330,35,293, - 1755,156,760,35,798,388,450,2091,2124,180, - 2200,1571,2531,1261,2427,1377,49,203,215,3184, - 202,212,213,214,216,1363,1257,169,201,760, - 35,798,388,2683,1571,2531,434,168,2262,3842, - 167,170,171,172,173,174,1856,35,982,32, - 1828,4586,27,30,31,874,823,338,28,3167, - 35,982,32,433,3846,27,30,31,874,823, - 26,28,1792,25,23,50,1793,106,76,77, - 108,359,2877,2028,1561,35,982,32,2360,3563, - 27,30,31,874,823,338,28,1870,2425,2426, - 1490,957,2101,2168,332,318,1139,320,667,314, - 1137,431,2122,4767,2101,535,1185,237,876,1177, - 35,396,3082,2101,351,760,3923,1506,74,1349, - 1914,287,1349,228,68,4722,1943,345,1624,1302, - 348,156,160,315,1025,320,53,2090,517,180, - 2200,2870,535,1261,287,87,1958,203,215,3184, - 202,212,213,214,216,2720,2533,169,300,2427, - 228,1490,3794,3309,2492,331,3922,168,156,178, - 167,170,171,172,173,174,180,2200,3236,2533, - 1261,2101,1864,1231,203,215,3184,202,212,213, - 214,216,603,285,169,4157,535,3291,2273,2742, - 4122,300,1185,51,168,2870,176,167,170,171, - 172,173,174,52,228,2041,2020,2744,2101,2820, - 2934,199,156,342,2175,2101,505,2359,156,689, - 180,2200,656,535,1261,1231,200,3293,203,215, - 3184,202,212,213,214,216,1042,350,169,1666, - 451,228,760,35,798,388,2752,3510,168,156, - 177,167,170,171,172,173,174,180,2200,502, - 504,1261,2101,3743,2179,203,215,3184,202,212, - 213,214,216,775,1833,169,432,535,429,3082, - 300,2101,2748,351,2657,168,489,187,167,170, - 171,172,173,174,90,228,343,1624,1302,348, - 2516,2122,3750,156,2594,1185,2293,35,1506,3950, - 300,180,2200,3520,2173,1261,1177,35,396,203, - 215,3184,202,212,213,214,216,1345,1490,169, - 89,160,3394,102,300,237,2087,2118,539,168, - 3082,4060,167,170,171,172,173,174,2471,35, - 982,32,2441,3563,27,30,31,874,823,338, - 28,3167,35,982,32,2101,3846,27,30,31, - 874,823,26,28,1792,25,23,50,1793,106, - 76,77,108,861,2945,2124,1592,535,300,1490, - 300,2023,1185,331,4282,300,3328,3594,300,2870, - 300,2748,3468,2094,4369,228,2101,318,1139,320, - 2101,313,1137,156,2220,1867,96,342,156,2870, - 3082,180,2200,3146,4082,1261,2101,3232,312,203, - 215,3184,202,212,213,214,216,2427,3339,169, - 1042,71,3393,588,35,798,388,2548,3506,168, - 2753,192,167,170,171,172,173,174,3503,2101, - 947,1592,2122,2101,535,2485,1185,2468,632,1490, - 305,309,738,331,300,1746,2282,49,3133,632, - 2855,1272,228,333,334,300,1363,2263,239,1185, - 156,67,160,2101,3637,66,2470,1033,180,2200, - 2805,535,1261,3146,359,1422,203,215,3184,202, - 212,213,214,216,300,156,169,1231,2788,228, - 3335,2425,2426,3506,3587,65,168,156,186,167, - 170,171,172,173,174,180,2200,232,2546,1261, - 42,2078,2048,203,215,3184,202,212,213,214, - 216,44,2078,169,87,222,1349,3850,3454,334, - 240,230,231,168,2608,194,167,170,171,172, - 173,174,1747,35,982,32,2441,3563,27,30, - 31,874,823,338,28,3167,35,982,32,2609, - 3846,27,30,31,874,823,26,28,1792,25, - 23,50,1793,106,76,77,108,1349,3100,1781, - 35,2746,32,2441,3563,27,30,31,874,823, - 338,28,2101,2296,300,2610,2616,1185,3662,2101, - 2577,318,1139,320,1670,313,1137,97,2870,1747, - 35,982,32,2441,3563,27,30,31,874,823, - 338,28,312,156,64,2646,228,760,35,1506, - 4038,1408,162,1015,35,798,388,354,318,1139, - 320,2675,313,1137,1592,300,2101,531,2676,1185, - 205,215,3184,204,212,213,214,216,98,990, - 760,35,798,388,306,309,738,49,318,1139, - 320,2677,313,1137,1231,156,1363,47,1576,206, - 208,210,2681,574,3579,173,217,207,209,1329, - 937,2614,2506,2625,49,2137,1217,35,798,388, - 2101,2101,2101,1363,2619,13,3506,4366,3167,1540, - 982,2566,193,3846,27,30,31,874,823,26, - 28,1792,25,23,50,1793,106,76,77,84, - 49,2682,55,54,3824,2711,2636,2101,2101,1363, - 2738,329,334,2713,418,419,2745,3167,35,982, - 32,1388,3846,27,30,31,874,823,26,28, - 1792,25,23,50,1793,106,76,77,83,101, - 3617,3888,2687,2645,3167,35,982,32,557,3846, - 27,30,31,874,823,26,28,1792,25,23, - 50,1793,106,76,77,82,3167,35,982,32, - 2750,3846,27,30,31,874,823,26,28,1792, - 25,23,50,1793,106,76,77,81,3167,35, - 982,32,2692,3846,27,30,31,874,823,26, - 28,1792,25,23,50,1793,106,76,77,80, - 3167,35,982,32,2297,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,79,3167,35,982,32,2783,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,78,2981,35,982,32,2788,3846, - 27,30,31,874,823,26,28,1792,25,23, - 50,1793,106,76,77,104,3167,35,982,32, - 2005,3846,27,30,31,874,823,26,28,1792, - 25,23,50,1793,106,76,77,110,3167,35, - 982,32,2753,3846,27,30,31,874,823,26, - 28,1792,25,23,50,1793,106,76,77,109, - 3167,35,982,32,5330,3846,27,30,31,874, - 823,26,28,1792,25,23,50,1793,106,76, - 77,107,3167,35,982,32,1866,3846,27,30, - 31,874,823,26,28,1792,25,23,50,1793, - 106,76,77,105,1878,300,1914,2196,2870,1185, - 5330,4722,5330,5330,1965,5330,5330,1944,2870,5330, - 5330,5330,3082,300,5330,2627,228,2870,1261,2870, - 5330,5330,5330,5330,5330,156,228,300,5330,529, - 5330,2870,375,5330,3583,342,5330,342,5330,5330, - 205,215,3184,204,212,213,214,216,5330,342, - 205,215,3184,204,212,213,214,216,1042,5330, - 3596,1490,2052,300,5330,332,2870,1185,2772,206, - 208,210,1042,574,5330,5330,217,207,209,206, - 208,210,2786,574,228,351,217,207,209,5330, - 300,5330,5330,156,1185,1877,2934,4366,345,1624, - 1302,348,3613,5330,5330,1919,5330,4366,205,215, - 3184,204,212,213,214,216,2030,35,982,32, - 156,4586,27,30,31,874,823,338,28,3742, - 300,5330,1592,5330,1185,5330,2906,206,208,210, - 5330,574,5330,5330,217,207,209,2030,35,982, - 32,5330,4586,27,30,31,874,823,338,28, - 156,5330,5330,3027,430,4366,5330,5330,5330,3676, - 1490,5330,5330,5330,332,318,1139,320,5330,316, - 1137,1747,35,982,32,2441,3563,27,30,31, - 874,823,338,28,3506,5330,5330,5330,5330,5330, - 1791,1490,5330,5330,2870,332,318,1139,320,5330, - 314,1137,3796,2541,5330,5330,1392,2870,5330,1592, - 2870,5330,228,3330,35,798,388,5330,615,3634, - 334,5330,5330,2268,5330,342,238,2870,228,5330, - 318,1139,320,5330,313,1137,205,215,3184,204, - 212,213,214,216,5330,2427,2122,273,1532,5330, - 1185,3972,205,215,3184,204,212,213,214,216, - 1018,35,798,388,5330,206,208,210,5330,574, - 5330,3506,519,207,209,232,160,5330,5330,5330, - 2273,206,208,210,535,574,5330,5330,218,207, - 209,5330,5330,5330,49,5330,5330,5330,236,230, - 231,2139,3518,1363,47,2870,3744,334,5330,274, - 156,2226,505,5330,5330,2870,5330,2402,180,2200, - 5330,5330,2313,228,5330,5330,2870,5330,243,246, - 249,252,630,228,5330,2122,5330,5330,5330,1185, - 5330,3851,5330,639,228,5330,195,205,215,3184, - 204,212,213,214,216,502,504,205,215,3184, - 204,212,213,214,216,160,5330,5330,205,215, - 3184,204,212,213,214,216,206,208,210,3400, - 574,5330,5330,520,207,209,206,208,210,5330, - 574,5330,5330,304,207,209,3845,206,208,210, - 5330,574,5330,1182,499,207,209,2870,3810,1287, - 5330,5330,5330,2870,3810,5330,5330,5330,5330,5330, - 1177,35,1548,1625,5330,228,588,35,798,388, - 3887,228,1018,35,798,388,5330,5330,5330,929, - 35,798,388,5330,5330,5330,5330,5330,5330,1410, - 407,2463,5330,5330,49,1410,407,2463,5330,5330, - 49,4661,196,1363,870,5330,49,5330,5330,1363, - 858,5330,5330,273,5330,1363,47,300,408,409, - 410,535,574,2805,408,409,410,5330,574,2775, - 588,35,798,388,5330,1353,35,798,388,342, - 5330,2543,5330,1566,2302,535,5330,156,2870,1566, - 5330,588,35,798,388,5330,2413,2038,35,798, - 388,5330,1042,342,49,5330,342,5330,1541,49, - 5330,156,2320,1363,47,3886,530,5330,1363,47, - 188,1018,35,798,388,49,4331,590,5330,1042, - 5330,49,3079,72,1363,47,5330,5330,5330,533, - 1363,3337,588,35,798,388,411,413,2478,5330, - 5330,5330,411,414,643,49,5330,588,35,798, - 388,5330,2743,5330,1363,3456,2870,5330,5330,5330, - 1140,1840,5330,4569,5330,2870,49,5330,4599,588, - 35,798,388,190,342,1363,47,588,35,798, - 388,49,5330,2427,300,5330,5330,5330,535,2958, - 1363,47,5330,760,35,798,388,994,760,35, - 798,388,5330,49,3102,5330,342,5330,5330,5330, - 5330,49,1363,47,156,5330,5330,5330,300,5330, - 1363,47,535,3202,5330,5330,3129,49,5330,1042, - 5330,300,49,5330,3362,535,1363,3138,5330,2844, - 342,1363,661,760,35,798,388,5330,156,5330, - 359,3345,300,342,5330,5330,535,2413,300,5330, - 5330,156,2870,1042,5330,300,3401,2425,2426,1185, - 188,300,4147,3223,342,535,4331,49,5330,5330, - 342,5330,156,5330,300,300,1363,2738,2870,2870, - 300,188,5330,342,2870,156,5330,4331,5330,5330, - 5330,156,5330,1042,3852,5330,342,342,5330,5330, - 188,5330,342,509,5330,5330,4331,5330,5330,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,1042, - 1042,5330,5330,3526,5330,1042,5330,5330,5330,507, - 3485,5330,5330,5330,5330,534,442,5330,456,5330, - 5330,5330,5330,5330,3530,5330,5330,5330,5330,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 5330,5330,5330,3546,5330,0,501,4350,0,1, - 229,0,39,5345,0,39,5344,0,1,3759, - 0,2252,1,0,39,1,5345,0,39,1, - 5344,0,1,4742,0,1,734,0,229,219, - 0,283,394,0,283,286,0,5564,241,0, - 5563,241,0,5667,241,0,5666,241,0,5591, - 241,0,5590,241,0,5589,241,0,5588,241, - 0,5587,241,0,5586,241,0,5585,241,0, - 5584,241,0,5602,241,0,5601,241,0,5600, - 241,0,5599,241,0,5598,241,0,5597,241, - 0,5596,241,0,5595,241,0,5594,241,0, - 5593,241,0,5592,241,0,39,241,5345,0, - 39,241,5344,0,5368,241,0,930,387,0, - 5345,48,0,5344,48,0,1,330,0,38, - 734,0,38,5345,0,38,5344,0,454,1574, - 0,440,1616,0,930,29,0,5342,1,0, - 1658,317,0,1,444,0,458,2395,0,457, - 2416,0,35,33,0,47,37,0,501,1590, - 0,5368,1,229,0,39,1,229,0,229, - 416,0,1,2759,0,1,5602,0,1,5601, - 0,1,5600,0,1,5599,0,1,5598,0, - 1,5597,0,1,5596,0,1,5595,0,1, - 5594,0,1,5593,0,1,5592,0,5345,37, - 0,5344,37,0,43,5366,0,43,37,0, - 5342,383,0,5341,383,0,1,612,0,1, - 3219,0,229,220,0,5340,405,0,5339,405, - 0,229,415,0,2689,126,0,5338,1,0, - 330,445,0,5336,1,0,5335,1,0,1452, - 91,0,32,34,0,39,734,0,5366,45, - 0,37,45,0,1,229,3658,0,5339,229, - 0,3674,229,0,5368,1,0,39,1,0, - 237,2774,0,388,32,0,387,29,0,2689, - 128,0,2689,127,0,3835,229,0,10,12, - 0,1,92,0,8,10,12,0,5345,2, - 37,0,5344,2,37,0,5345,36,0,5344, - 36,0,3994,383,0,330,95,0,35,73, - 0,8,12,0,278,3582,0,185,3580,0 + 176,4,137,82,82,33,33,68,68,39, + 39,43,43,176,1,1,16,16,16,16, + 16,16,16,17,17,17,15,11,11,6, + 6,6,6,6,6,2,66,66,5,5, + 12,12,45,45,138,138,139,58,58,44, + 18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18, + 140,140,140,115,115,19,19,19,19,19, + 19,19,19,19,19,19,19,19,20,20, + 177,177,178,178,179,143,143,144,144,141, + 141,145,142,142,21,21,22,22,24,24, + 24,25,25,25,25,26,26,26,27,27, + 27,28,28,28,28,28,29,29,29,30, + 30,32,32,34,34,36,36,37,37,38, + 38,42,42,41,41,41,41,41,41,41, + 41,41,41,41,41,41,40,31,146,146, + 96,96,180,180,91,202,202,69,69,69, + 69,69,69,69,69,69,70,70,70,67, + 67,57,57,181,181,71,71,71,103,103, + 182,182,72,72,72,72,183,183,73,73, + 73,73,73,74,74,83,83,83,83,83, + 83,83,83,50,50,50,50,50,104,104, + 102,102,51,184,23,23,23,23,23,49, + 49,86,86,86,86,86,153,153,148,148, + 148,148,148,149,149,149,150,150,150,151, + 151,151,152,152,152,87,87,87,87,87, + 88,88,88,13,14,14,14,14,14,14, + 14,14,14,14,14,97,119,119,119,119, + 119,119,117,117,117,154,155,155,118,118, + 185,157,157,156,156,121,121,105,78,78, + 122,53,48,158,158,54,52,85,85,159, + 159,147,147,123,124,124,125,81,81,160, + 160,64,64,64,61,61,60,65,65,79, + 79,59,59,59,55,89,89,99,98,98, + 63,63,62,62,56,56,46,100,100,100, + 92,92,92,93,93,94,94,94,95,95, + 106,106,106,108,108,107,107,203,203,90, + 90,187,187,187,187,187,127,47,47,162, + 186,186,128,128,129,129,129,130,164,188, + 188,35,35,116,131,131,131,131,190,110, + 109,109,120,120,120,165,166,166,166,166, + 166,166,166,166,166,166,166,192,192,189, + 189,191,191,167,168,168,168,168,169,193, + 112,111,111,194,194,170,170,170,170,101, + 101,101,195,195,8,8,9,196,196,197, + 171,161,161,172,172,173,174,174,7,7, + 10,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,76,80,80,175,175,133,133, + 134,134,134,134,134,134,3,135,135,132, + 132,113,113,84,77,75,75,163,163,114, + 114,199,199,199,136,136,126,126,200,200, + 1119,35,2961,2939,1102,4717,27,30,31,958, + 881,26,28,2938,263,25,23,50,1890,106, + 76,77,108,242,1898,1933,1899,1942,1941,2019, + 1984,1931,2035,933,2028,275,2062,2064,143,760, + 3406,158,144,1508,35,1005,32,4692,3234,27, + 30,31,958,881,342,28,760,35,284,1716, + 35,1005,32,233,4783,27,30,31,958,881, + 57,28,1244,35,1005,32,354,4912,27,30, + 31,958,881,59,28,42,236,231,232,330, + 1145,297,1445,35,1005,32,1851,276,41,30, + 31,958,881,322,1198,324,1880,317,646,667, + 155,35,457,502,3238,4710,243,246,249,252, + 729,1476,355,1615,1978,1180,1224,2440,35,279, + 3634,636,1388,35,279,347,1777,1225,352,959, + 330,35,297,3280,394,431,2622,386,2919,2959, + 3290,3384,3611,4272,2381,35,1005,32,2827,4829, + 27,30,31,958,881,26,28,1863,263,25, + 23,50,1890,106,76,77,108,346,1898,1933, + 1899,1942,1941,2019,1984,327,2035,1381,2028,1460, + 2062,2064,143,3669,625,521,144,237,2530,61, + 2755,667,4349,155,35,281,3586,1043,2535,1284, + 522,921,2381,35,1005,32,2827,4829,27,30, + 31,958,881,26,28,1863,263,25,23,50, + 1890,106,76,77,108,346,1898,1933,1899,1942, + 1941,2019,1984,2276,2035,625,2028,2827,2062,2064, + 143,1160,1376,521,144,1985,1316,2231,2755,42, + 2283,2199,921,1441,1147,2917,2542,517,522,1837, + 35,1005,32,1847,4783,27,30,31,958,881, + 56,28,450,2286,2318,558,1710,1430,1227,2071, + 2381,35,1005,32,2827,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,346,1898,1933,1899,1942,1941,2019, + 1984,1793,2035,447,2028,517,2062,2064,143,182, + 1804,521,144,364,758,326,2755,499,35,281, + 94,1378,4899,923,2390,536,522,2071,2657,35, + 1005,32,2827,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,346,1898,1933,1899,1942,1941,2019,1984,2928, + 2035,1851,2028,667,2062,2064,143,1127,4490,521, + 144,1388,35,282,2755,760,35,874,392,760, + 1624,1503,34,517,522,1350,35,1005,32,60, + 4912,27,30,31,958,881,26,28,2303,300, + 515,741,2462,4604,1718,2071,2724,35,1005,32, + 456,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,108,385, + 1898,1933,1899,1942,1941,2019,1984,2608,2035,315, + 2028,518,2062,2064,143,2310,2136,382,144,2572, + 2450,35,1005,32,1340,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,2314,1898,1933,1899,1942,1941,2019, + 1984,527,2035,1851,2028,1938,2062,2064,143,4518, + 1658,382,144,2572,667,2865,35,1005,32,4621, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,1761,1898, + 1933,1899,1942,1941,2019,1984,1976,2035,1679,2028, + 3134,2062,2320,164,389,383,1476,667,3172,35, + 1005,32,4699,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,2513,1898,1933,1899,1942,1941,2019,1984,300, + 2035,1097,2028,694,2062,2320,164,330,390,383, + 1476,760,35,1882,1581,1495,2271,760,35,3858, + 2522,35,1005,32,3651,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,2100,1898,1933,1899,1942,1941,2019, + 1984,300,2035,2994,2028,2023,2062,2064,143,427, + 839,382,144,2572,2923,35,1005,32,1556,4829, + 27,30,31,958,881,26,28,1863,263,25, + 23,50,1890,106,76,77,108,1947,1898,1933, + 1899,1942,1941,2019,1984,2375,2035,1851,2028,300, + 2062,2064,143,1194,2300,158,144,3172,35,1005, + 32,2239,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,108, + 2659,1898,1933,1899,1942,1941,2019,1984,933,2035, + 2281,2028,300,2062,2320,164,752,328,380,383, + 1476,2923,35,1005,32,393,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,356,1898,1933,1899,1942,1941, + 2019,1984,495,2035,425,2028,2011,2062,2064,143, + 1558,4349,376,144,2091,35,1005,32,296,59, + 2078,30,31,958,881,1284,2923,35,1005,32, + 2622,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,108,222, + 1898,1933,1899,1942,1941,2019,1984,332,2035,2111, + 2028,1376,2062,2064,143,1316,1335,376,144,395, + 431,760,35,874,392,2923,35,1005,32,3486, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,375,1898, + 1933,1899,1942,1941,2019,1984,49,2035,1940,2028, + 300,2062,2064,143,830,46,376,144,2590,35, + 1005,32,4081,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,69,1898,1933,1899,1942,1941,2019,1984,96, + 2035,359,2028,374,2062,2064,143,331,338,142, + 144,536,2923,35,1005,32,1851,4829,27,30, + 31,958,881,26,28,1863,263,25,23,50, + 1890,106,76,77,108,2054,1898,1933,1899,1942, + 1941,2019,1984,2315,2035,1851,2028,300,2062,2064, + 143,1194,372,155,144,2923,35,1005,32,2997, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,3667,1898, + 1933,1899,1942,1941,2019,1984,300,2035,801,2028, + 4154,2062,2064,143,760,2571,154,144,2923,35, + 1005,32,379,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,386,1898,1933,1899,1942,1941,2019,1984,300, + 2035,1851,2028,4704,2062,2064,143,760,3788,153, + 144,2923,35,1005,32,1054,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,1434,1898,1933,1899,1942,1941, + 2019,1984,414,2035,801,2028,827,2062,2064,143, + 847,2354,152,144,2923,35,1005,32,379,4829, + 27,30,31,958,881,26,28,1863,263,25, + 23,50,1890,106,76,77,108,377,1898,1933, + 1899,1942,1941,2019,1984,292,2035,1851,2028,300, + 2062,2064,143,4146,2300,151,144,2923,35,1005, + 32,2760,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,108, + 1775,1898,1933,1899,1942,1941,2019,1984,300,2035, + 801,2028,4204,2062,2064,143,1558,1358,150,144, + 2923,35,1005,32,3246,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,2923,1898,1933,1899,1942,1941,2019, + 1984,558,2035,1851,2028,306,2062,2064,143,2426, + 2489,149,144,2923,35,1005,32,1567,4829,27, + 30,31,958,881,26,28,1863,263,25,23, + 50,1890,106,76,77,108,495,1898,1933,1899, + 1942,1941,2019,1984,300,2035,801,2028,3025,2062, + 2064,143,1931,2491,148,144,2923,35,1005,32, + 530,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,108,3507, + 1898,1933,1899,1942,1941,2019,1984,2509,2035,1851, + 2028,2647,2062,2064,143,1931,357,147,144,2923, + 35,1005,32,1614,4829,27,30,31,958,881, + 26,28,1863,263,25,23,50,1890,106,76, + 77,108,2357,1898,1933,1899,1942,1941,2019,1984, + 2516,2035,801,2028,464,2062,2064,143,413,1231, + 146,144,2923,35,1005,32,529,4829,27,30, + 31,958,881,26,28,1863,263,25,23,50, + 1890,106,76,77,108,384,1898,1933,1899,1942, + 1941,2019,1984,323,2035,1264,2028,463,2062,2064, + 143,2036,1449,145,144,2923,35,1005,32,1240, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,1726,1898, + 1933,1899,1942,1941,2019,1984,300,2035,1264,2028, + 4243,2062,2064,143,65,675,159,144,2923,35, + 1005,32,2835,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,325,1898,1933,1899,1942,1941,2019,1984,231, + 2035,1264,2028,675,2062,2064,143,1558,833,140, + 144,3051,35,1005,32,1748,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,501,1898,1933,1899,1942,1941, + 2019,1984,317,2035,1255,2028,305,2062,2064,143, + 1103,145,189,144,3172,35,1005,32,1558,4829, + 27,30,31,958,881,26,28,1863,263,25, + 23,50,1890,106,76,77,108,1284,1898,1933, + 1899,1942,1941,2019,1984,1561,2035,741,2028,1558, + 2062,2320,164,3172,35,1005,32,302,4829,27, + 30,31,958,881,26,28,1863,263,25,23, + 50,1890,106,76,77,108,2482,1898,1933,1899, + 1942,1941,2019,1984,408,2035,1505,2028,301,2062, + 2320,164,760,35,1503,278,451,760,35,874, + 392,3172,35,1005,32,3744,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,1591,1898,1933,1899,1942,1941, + 2019,1984,435,2035,451,2028,1127,2062,2320,164, + 3230,35,1005,32,426,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,358,1898,1933,1899,1942,1941,2019, + 1984,300,2035,536,2028,573,2062,2320,164,300, + 760,35,297,1268,760,35,874,392,3172,35, + 1005,32,429,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,1931,1898,1933,1899,1942,1941,2019,1984,438, + 2035,300,2028,1725,3505,3293,575,3172,35,1005, + 32,3276,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,108, + 527,1898,1933,1899,1942,1941,2019,1984,1922,2035, + 1926,3480,3172,35,1005,32,403,4829,27,30, + 31,958,881,26,28,1863,263,25,23,50, + 1890,106,76,77,108,2027,1898,1933,1899,1942, + 1941,2019,1984,329,3385,3172,35,1005,32,3341, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,1074,1898, + 1933,1899,1942,1941,2019,3386,3172,35,1005,32, + 1852,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,108,2711, + 1898,1933,1899,1942,1941,3263,1481,35,1005,32, + 3633,4298,27,30,31,958,881,342,28,3172, + 35,1005,32,1722,4829,27,30,31,958,881, + 26,28,1863,263,25,23,50,1890,106,76, + 77,108,1931,1898,1933,1899,1942,3300,1244,35, + 1005,32,2220,4912,27,30,31,958,881,58, + 28,1376,406,1373,2214,335,322,1198,324,442, + 317,646,2091,35,1005,32,1966,933,40,30, + 31,958,881,667,155,35,457,316,4884,4710, + 1931,3172,35,1005,32,4399,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,70,1898,1933,1899,1942,3360, + 760,35,1503,280,4113,760,35,874,392,309, + 313,813,1860,35,1005,32,4148,3234,27,30, + 31,958,881,342,28,1237,35,400,2091,35, + 1005,32,1558,1320,3145,30,31,958,881,2514, + 49,2037,300,3555,2274,1329,3395,1795,540,1190, + 672,2827,51,495,1256,35,2768,32,3633,4298, + 27,30,31,958,881,342,28,3577,397,431, + 229,179,322,1198,324,156,317,646,760,35, + 1503,283,2301,180,2562,760,35,874,392,1554, + 2715,355,2305,2640,206,216,3100,205,213,214, + 215,217,2445,1947,347,1777,1225,352,2326,1376, + 2448,196,2632,335,322,1198,324,300,317,646, + 437,1369,1607,207,209,211,737,663,933,1264, + 523,208,210,2474,2663,1121,454,2286,2318,3172, + 35,1005,32,4399,4829,27,30,31,958,881, + 26,28,1863,263,25,23,50,1890,106,76, + 77,108,381,1898,1933,1899,3115,3172,35,1005, + 32,307,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,108, + 2511,1898,1933,1899,3128,3172,35,1005,32,369, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,2031,1898, + 2983,421,423,2748,1947,2121,1727,2996,197,4147, + 300,4801,88,300,2487,102,2711,1194,2137,396, + 431,3172,35,1005,32,2433,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,108,156,1898,1933,1899,3144,3172, + 35,1005,32,2500,4829,27,30,31,958,881, + 26,28,1863,263,25,23,50,1890,106,76, + 77,108,299,1898,1933,1899,3174,3288,35,874, + 392,93,3230,2405,355,300,760,35,297,2658, + 238,263,1237,35,400,2495,2508,347,1777,1225, + 352,760,35,1503,3857,345,2311,3153,3172,35, + 1005,32,275,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 108,71,1898,1933,3228,1264,3172,35,1005,32, + 233,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,108,1264, + 1898,1933,3249,236,231,232,1491,259,2999,1750, + 4683,540,2851,300,276,2520,433,927,1237,35, + 1632,1131,240,263,2210,35,1503,278,2545,3464, + 229,2109,4077,243,246,249,252,729,156,354, + 3685,2720,760,3866,1503,74,180,2562,636,1247, + 801,3390,1931,49,204,216,3100,203,213,214, + 215,217,1190,1141,169,2919,2959,3290,3384,3611, + 4272,1,233,581,168,540,183,167,170,171, + 172,173,174,1147,2552,355,2277,300,2827,300, + 540,966,753,4241,229,241,231,232,347,1777, + 1225,352,156,1235,300,1493,3280,346,4819,346, + 180,2562,233,1496,801,1709,2571,156,204,216, + 3100,203,213,214,215,217,188,687,169,300, + 2652,1264,4436,4362,97,245,231,232,168,181, + 184,167,170,171,172,173,174,2041,35,1005, + 32,4148,3234,27,30,31,958,881,342,28, + 3172,35,1005,32,24,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,2274,1898,3002,1558,1194,2981,190, + 1573,35,1005,32,2416,3234,27,30,31,958, + 881,342,28,2379,2379,1919,345,322,1198,324, + 540,317,646,2585,156,2747,300,300,1937,2827, + 4488,3123,201,3590,1610,199,355,1558,531,229, + 760,35,874,392,1963,1558,291,156,346,347, + 1777,1225,352,1929,495,180,2562,532,4805,801, + 319,1014,324,204,216,3100,203,213,214,215, + 217,666,3127,169,1965,436,198,2715,4117,2558, + 2482,1234,2612,168,410,3769,167,170,171,172, + 173,174,1870,35,1005,32,2585,4298,27,30, + 31,958,881,342,28,3172,35,1005,32,3126, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,2192,3013, + 588,35,874,392,588,35,874,392,1015,35, + 874,392,929,35,874,392,1746,1376,528,2273, + 2196,336,322,1198,324,300,318,646,431,749, + 791,1330,540,489,2620,49,4349,3865,300,49, + 2224,355,2827,49,1190,1173,1931,275,1190,2070, + 1264,229,1190,47,349,1777,1225,352,3475,156, + 1353,346,3500,1709,2571,517,2240,180,2562,540, + 2123,801,1237,35,400,204,216,3100,203,213, + 214,215,217,353,2755,169,1376,2266,229,89, + 336,446,102,460,2833,168,156,178,167,170, + 171,172,173,174,180,2562,1381,3177,801,3859, + 3865,2696,204,216,3100,203,213,214,215,217, + 603,667,169,233,540,1264,4809,72,98,2287, + 2128,1264,168,2827,176,167,170,171,172,173, + 174,300,2326,229,1958,4632,248,231,232,4349, + 1264,156,346,2482,1571,1928,151,689,69,180, + 2562,540,535,801,68,1947,1947,204,216,3100, + 203,213,214,215,217,2755,1558,169,44,2283, + 229,4058,2114,53,291,538,1194,168,156,177, + 167,170,171,172,173,174,180,2562,300,1376, + 801,2363,2827,336,204,216,3100,203,213,214, + 215,217,775,160,169,202,540,233,300,1684, + 2612,346,1194,355,168,528,187,167,170,171, + 172,173,174,386,298,229,349,1777,1225,352, + 251,231,232,156,2755,760,35,874,392,156, + 1736,180,2562,1479,2845,801,1947,2827,3504,204, + 216,3100,203,213,214,215,217,2482,2178,169, + 760,35,874,392,2281,1519,2542,1947,3380,168, + 275,4035,167,170,171,172,173,174,2475,35, + 1005,32,3633,3234,27,30,31,958,881,342, + 28,3114,35,1005,32,275,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 86,76,77,861,288,667,2510,540,2546,4353, + 4813,1264,300,87,2482,1264,2827,2210,35,1503, + 3920,2612,277,509,2613,289,229,300,322,1198, + 324,3518,317,646,156,346,1018,35,874,392, + 1558,300,180,2562,87,2827,801,343,52,316, + 204,216,3100,203,213,214,215,217,2755,947, + 169,1606,1264,540,346,300,507,508,2846,1194, + 168,49,192,167,170,171,172,173,174,200, + 1190,47,229,237,237,2614,2620,2755,4349,4349, + 156,309,313,813,1324,455,156,2925,180,2562, + 300,1588,801,1264,2827,3861,204,216,3100,203, + 213,214,215,217,1033,4172,169,1264,540,760, + 35,1503,4012,346,233,1264,168,1329,186,167, + 170,171,172,173,174,2435,3371,229,1376,1376, + 2621,1264,335,335,1264,156,2755,254,231,232, + 90,300,2648,180,2562,4763,513,801,3701,2650, + 2679,204,216,3100,203,213,214,215,217,825, + 2680,169,4412,3261,3725,300,173,3387,2205,3196, + 1264,168,3057,195,167,170,171,172,173,174, + 3172,35,1005,32,2619,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,108,3442,3015,3172,35,1005,32,2556, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,108,2681,3023, + 1738,35,1005,32,3633,3234,27,30,31,958, + 881,342,28,3172,35,1005,32,2132,4829,27, + 30,31,958,881,26,28,1863,263,25,23, + 50,1890,106,76,77,85,3172,1624,1005,2619, + 1264,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,84,300, + 322,1198,324,1335,317,646,300,2684,2685,2640, + 2097,1264,2686,3553,2707,2690,2720,3172,35,1005, + 32,316,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,83, + 3172,35,1005,32,67,4829,27,30,31,958, + 881,26,28,1863,263,25,23,50,1890,106, + 76,77,82,310,313,813,3172,35,1005,32, + 2698,4829,27,30,31,958,881,26,28,1863, + 263,25,23,50,1890,106,76,77,81,3172, + 35,1005,32,2717,4829,27,30,31,958,881, + 26,28,1863,263,25,23,50,1890,106,76, + 77,80,3172,35,1005,32,2208,4829,27,30, + 31,958,881,26,28,1863,263,25,23,50, + 1890,106,76,77,79,3172,35,1005,32,2790, + 4829,27,30,31,958,881,26,28,1863,263, + 25,23,50,1890,106,76,77,78,2986,35, + 1005,32,2792,4829,27,30,31,958,881,26, + 28,1863,263,25,23,50,1890,106,76,77, + 104,3172,35,1005,32,2769,4829,27,30,31, + 958,881,26,28,1863,263,25,23,50,1890, + 106,76,77,110,3172,35,1005,32,2748,4829, + 27,30,31,958,881,26,28,1863,263,25, + 23,50,1890,106,76,77,109,3172,35,1005, + 32,2111,4829,27,30,31,958,881,26,28, + 1863,263,25,23,50,1890,106,76,77,107, + 1785,35,2768,32,3633,3234,27,30,31,958, + 881,342,28,3172,35,1005,32,1558,4829,27, + 30,31,958,881,26,28,1863,263,25,23, + 50,1890,106,76,77,105,1674,5396,1264,2114, + 2827,5396,1264,1194,4081,300,1882,237,237,2827, + 2827,5396,4349,4349,2125,5396,4425,5396,2827,229, + 322,1198,324,5396,317,646,5396,5396,346,229, + 160,66,1558,5396,2114,65,1264,2542,1194,337, + 338,1121,1264,206,216,3100,205,213,214,215, + 217,2755,1264,206,216,3100,205,213,214,215, + 217,511,1376,1376,1969,160,335,335,2827,64, + 5396,223,207,209,211,1763,663,5396,5396,218, + 208,210,207,209,211,1849,663,229,1727,218, + 208,210,1264,4801,5396,3565,3374,3192,13,1558, + 4462,2111,5396,2056,363,2114,5396,2827,2633,1194, + 4462,206,216,3100,205,213,214,215,217,5396, + 2885,2473,2474,5396,5396,55,229,422,423,2748, + 3612,5396,3335,35,874,392,160,3230,193,2665, + 207,209,211,2827,663,239,263,218,208,210, + 206,216,3100,205,213,214,215,217,588,35, + 874,392,346,1264,4081,1264,2754,275,4462,300, + 5396,300,544,2827,5396,2827,5396,5396,5396,207, + 209,211,5396,663,5396,3728,218,208,210,3153, + 1264,1264,346,49,346,233,54,5396,4239,3255, + 338,4232,1190,3317,5396,3396,5396,4462,5396,760, + 35,874,392,2039,5396,2755,3500,2755,237,231, + 232,5396,2125,101,3664,3691,2827,539,5396,276, + 1738,35,1005,32,3633,3234,27,30,31,958, + 881,342,28,5396,49,2542,534,5396,244,247, + 250,253,729,1190,2583,5396,5396,5396,434,1751, + 35,1005,32,636,4298,27,30,31,958,881, + 342,28,1751,35,1005,32,5396,4298,27,30, + 31,958,881,342,28,2286,5396,5396,5396,1194, + 322,1198,324,5396,317,646,1738,35,1005,32, + 3633,3234,27,30,31,958,881,342,28,300, + 5396,1978,363,1194,1376,5396,156,5396,336,322, + 1198,324,1394,320,646,162,2827,1376,3675,2473, + 2474,336,322,1198,324,5396,318,646,4192,2143, + 156,5396,5396,2827,5396,229,5396,5396,2111,4138, + 1018,35,874,392,5396,5396,322,1198,324,5396, + 317,646,229,5396,5396,5396,5396,5396,5396,206, + 216,3100,205,213,214,215,217,3943,2230,2114, + 5396,5396,2827,1194,5396,49,206,216,3100,205, + 213,214,215,217,1190,47,5396,5396,207,209, + 211,229,663,5396,5396,219,208,210,931,5396, + 160,4081,5396,5396,5396,207,209,211,5396,663, + 5396,5396,524,208,210,206,216,3100,205,213, + 214,215,217,2406,35,1005,32,2584,3234,27, + 30,31,958,881,342,28,333,338,300,5396, + 5396,5396,1194,2317,207,209,211,2827,663,5396, + 5396,308,208,210,1182,4331,5396,2114,2827,4721, + 5396,1194,407,1288,5396,4303,229,2827,4721,156, + 5396,588,35,874,392,5396,5396,229,4142,5396, + 5396,5396,2111,319,1014,324,229,5396,160,5396, + 206,216,3100,205,213,214,215,217,5396,5396, + 5396,2105,411,4573,300,5396,49,5396,1194,5396, + 2105,411,4573,5396,5396,1190,47,5396,5396,207, + 209,211,5396,663,5396,5396,503,208,210,596, + 412,413,414,1948,663,156,5396,2827,4349,412, + 413,414,1948,663,4176,4081,2827,4349,5396,1466, + 35,874,392,4330,1479,1640,2542,5396,2827,5396, + 588,35,874,392,1640,2542,5396,1473,35,874, + 392,760,35,874,392,5396,5396,2542,5396,5396, + 3849,338,5396,791,49,5396,300,5396,1376,5396, + 1194,5396,335,1190,47,49,5396,1376,5396,5396, + 5396,335,49,5396,1190,47,49,2836,5396,5396, + 5396,1190,3431,2111,5396,1190,3113,156,935,415, + 417,5396,3374,363,5396,3475,2962,5396,415,418, + 5396,3192,363,1018,35,874,392,5396,5396,3653, + 2473,2474,5396,1217,509,5396,4613,5396,3653,2473, + 2474,588,35,874,392,588,35,874,392,588, + 35,874,392,588,35,874,392,5396,49,2099, + 300,5396,5396,2827,540,5396,4081,1190,3498,1217, + 35,874,392,5396,5396,5396,49,506,508,5396, + 49,3242,2542,346,49,1190,47,5396,49,1190, + 47,156,300,1190,47,5396,540,1190,47,2157, + 3041,3856,338,2244,49,300,2755,2615,5396,540, + 5396,3140,5396,1190,3114,346,2909,5396,5396,2486, + 5396,5396,5396,156,760,35,874,392,346,5396, + 5396,5396,3361,300,5396,5396,156,540,2755,760, + 35,874,392,5396,5396,3041,5396,5396,3355,509, + 5396,2755,760,35,874,392,346,5396,300,49, + 5396,3561,540,300,156,5396,5396,540,1190,2856, + 5396,300,5396,188,49,1194,5396,5396,5396,4436, + 5396,346,5396,1190,667,5396,346,49,5396,156, + 5396,5396,506,508,156,5396,1190,3114,188,5396, + 5396,5396,156,188,4436,5396,5396,5396,5396,4436, + 5396,4305,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,3807,5396,3694,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,3730,5396,5396,5396,5396,3830,5396,0,505, + 2577,0,1,230,0,39,5411,0,39,5410, + 0,1,4370,0,632,1,0,39,1,5411, + 0,39,1,5410,0,1,3125,0,1,939, + 0,230,220,0,285,398,0,285,290,0, + 5631,242,0,5630,242,0,5737,242,0,5736, + 242,0,5658,242,0,5657,242,0,5656,242, + 0,5655,242,0,5654,242,0,5653,242,0, + 5652,242,0,5651,242,0,5670,242,0,5669, + 242,0,5668,242,0,5667,242,0,5666,242, + 0,5665,242,0,5664,242,0,5663,242,0, + 5662,242,0,5661,242,0,5660,242,0,39, + 242,5411,0,39,242,5410,0,5434,242,0, + 1129,391,0,5411,48,0,5410,48,0,1, + 334,0,38,939,0,38,5411,0,38,5410, + 0,458,1272,0,444,1420,0,1129,29,0, + 5408,1,0,1546,321,0,1,448,0,462, + 1812,0,461,1855,0,35,33,0,47,37, + 0,505,1641,0,5434,1,230,0,39,1, + 230,0,230,420,0,1,2493,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,5661,0,1,5660, + 0,5411,37,0,5410,37,0,43,5432,0, + 43,37,0,5408,387,0,5407,387,0,1, + 2555,0,1,2842,0,230,221,0,5406,409, + 0,5405,409,0,230,419,0,2771,126,0, + 5404,1,0,334,449,0,5402,1,0,5401, + 1,0,1507,91,0,32,34,0,39,939, + 0,5432,45,0,37,45,0,1,230,3558, + 0,5405,230,0,3563,230,0,5434,1,0, + 39,1,0,238,3412,0,392,32,0,391, + 29,0,2771,128,0,2771,127,0,3726,230, + 0,10,12,0,1,92,0,8,10,12, + 0,3862,194,0,5411,2,37,0,5410,2, + 37,0,5411,36,0,5410,36,0,3966,387, + 0,334,95,0,35,73,0,8,12,0, + 280,4245,0,185,3609,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1100,13 +1113,13 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 34,35,36,37,38,39,40,69,42,43, 44,45,46,47,48,49,50,51,52,53, 54,55,56,57,0,59,60,61,62,63, - 6,65,66,67,0,1,2,71,4,118, + 0,65,66,67,0,1,2,71,4,9, 74,75,76,77,78,79,80,81,82,83, 84,85,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,42,43,44,45,46,47, + 38,39,40,69,42,43,44,45,46,47, 48,49,50,51,52,53,54,55,56,57, 0,59,60,61,62,63,0,65,66,67, 4,0,6,71,3,9,74,75,76,77, @@ -1125,7 +1138,7 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 26,27,28,29,30,31,32,33,34,35, 36,37,38,39,40,0,42,43,44,45, 46,47,48,49,50,51,52,53,54,55, - 56,57,0,59,60,61,62,63,0,65, + 56,57,0,59,60,61,62,63,6,65, 66,67,0,0,92,93,100,4,74,75, 76,77,78,79,80,81,82,83,84,85, 0,1,2,3,4,5,6,7,8,9, @@ -1195,255 +1208,255 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 38,39,40,0,42,43,44,45,46,47, 48,49,50,51,52,53,54,55,56,57, 0,59,60,61,62,63,0,65,66,67, - 4,0,0,1,2,118,74,75,76,77, + 4,0,0,1,2,0,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, 2,3,4,5,6,7,0,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,41,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,0, 42,43,44,45,46,47,48,49,50,51, - 52,53,54,55,56,57,0,1,2,0, + 52,53,54,55,56,57,103,104,105,0, 62,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,0,1,2,40, - 39,120,41,0,1,2,45,4,0,6, - 0,50,9,0,6,54,0,9,8,0, - 59,60,61,0,1,2,0,4,5,90, - 7,0,71,72,0,25,0,0,1,2, - 3,4,5,6,7,0,9,86,22,23, - 24,0,26,27,28,29,30,31,32,33, - 34,65,66,102,103,104,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,64,89,69,91,39,69,41,0,1, - 2,45,4,68,6,70,50,9,87,88, - 54,102,103,104,0,59,60,61,0,5, - 0,0,0,1,2,101,8,71,72,0, - 106,107,108,109,110,111,112,113,114,115, - 116,100,86,22,23,24,0,26,27,28, - 29,30,31,32,33,34,0,0,102,103, - 104,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,39,0,1,2, - 39,0,41,74,3,8,45,6,0,8, - 9,50,0,1,2,54,4,5,10,7, - 59,60,61,0,63,0,25,0,1,2, - 0,4,71,87,88,117,35,36,37,38, - 0,0,1,2,3,4,5,86,7,0, - 1,2,3,4,5,6,7,101,9,58, - 0,0,106,3,67,64,41,59,41,68, - 69,70,71,72,73,0,1,2,3,4, - 5,120,7,8,0,0,0,3,87,88, - 89,90,91,92,93,94,95,96,97,98, - 99,100,101,0,64,64,105,106,107,108, - 109,110,111,112,113,114,115,116,117,0, - 119,72,3,0,64,6,40,8,9,68, - 0,1,2,3,4,5,0,7,0,64, - 0,1,2,58,25,0,1,2,73,4, - 5,0,7,68,35,36,37,38,22,23, - 24,0,26,27,28,29,30,31,32,33, - 34,0,0,1,2,72,4,58,6,94, - 95,9,0,64,23,24,41,68,69,70, - 71,72,73,22,23,24,58,26,27,28, - 29,30,31,32,33,34,87,88,89,90, - 91,92,93,94,95,96,97,98,99,100, - 101,70,0,41,105,106,107,108,109,110, - 111,112,113,114,115,116,117,0,119,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,0,0,0,0,39,3, - 41,0,1,2,45,4,5,10,7,50, - 0,1,2,54,0,5,0,7,59,60, - 61,64,63,0,1,2,3,4,5,6, - 7,89,9,91,0,0,0,1,2,3, - 4,5,41,7,0,86,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 64,26,27,28,29,30,31,32,33,34, - 0,1,2,3,4,5,0,7,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,0,0,0,3,39, - 4,41,0,1,2,45,4,0,6,0, - 50,9,98,89,54,91,58,8,58,59, - 60,61,72,63,68,0,1,2,3,4, - 5,6,7,0,9,0,0,1,2,0, - 4,8,6,8,8,9,86,0,1,2, + 39,120,41,0,1,2,45,4,102,6, + 0,50,9,74,0,54,0,1,2,0, + 59,60,61,0,1,2,0,4,5,10, + 7,0,71,72,0,0,1,2,3,4, + 5,6,7,0,9,35,36,86,22,23, + 24,8,26,27,28,29,30,31,32,33, + 34,65,66,0,103,104,105,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,73,0,87,88,39,4,41,64, - 0,0,45,0,1,2,0,50,5,90, - 7,54,67,70,71,22,59,60,61,73, - 63,0,0,0,1,2,3,4,71,6, - 8,0,9,0,0,118,90,0,0,1, - 2,8,41,86,0,1,2,3,4,5, + 33,34,0,89,70,91,39,72,41,0, + 1,2,45,4,0,6,73,50,9,0, + 6,54,3,9,0,62,59,60,61,0, + 1,2,0,4,5,101,7,0,71,72, + 3,107,108,109,110,111,112,113,114,115, + 116,117,0,86,22,23,24,0,26,27, + 28,29,30,31,32,33,34,0,1,2, + 103,104,105,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,41,0, + 1,2,39,0,41,58,3,8,45,6, + 0,8,9,50,0,1,2,54,0,5, + 10,7,59,60,61,0,63,0,25,0, + 1,2,90,4,71,0,1,2,35,36, + 37,38,0,1,2,0,1,2,0,86, + 0,1,2,3,4,5,6,7,10,9, + 0,58,0,3,0,0,67,64,8,59, + 41,68,69,70,71,72,73,0,1,2, + 3,4,5,120,7,8,41,39,0,41, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,87,88,65,66,106, + 107,108,109,110,111,112,113,114,115,116, + 117,118,119,0,64,0,3,0,3,6, + 0,8,9,73,70,8,0,0,8,3, + 0,64,0,1,2,3,4,5,25,7, + 73,89,25,91,89,25,91,0,35,36, + 37,38,22,23,24,8,26,27,28,29, + 30,31,32,33,34,0,0,1,2,0, + 4,58,6,0,0,9,3,64,100,64, + 0,68,69,70,71,72,73,22,23,24, + 64,26,27,28,29,30,31,32,33,34, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,41,69,0,71,106, + 107,108,109,110,111,112,113,114,115,116, + 117,118,119,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,0,1, + 2,102,39,0,41,0,1,2,45,4, + 5,0,7,50,0,68,0,54,4,8, + 4,0,59,60,61,0,63,0,1,2, + 3,4,5,0,7,0,25,0,22,0, + 0,1,2,3,4,5,41,7,0,86, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,0,26,27,28,29,30, + 31,32,33,34,0,1,2,3,4,5, + 69,7,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,41, - 0,1,2,39,0,41,6,64,0,45, - 69,3,58,71,50,102,103,104,54,0, - 67,70,0,59,60,61,72,63,0,0, - 1,2,3,4,5,71,7,0,1,2, - 0,41,0,3,87,88,0,0,8,3, + 26,27,28,29,30,31,32,33,34,103, + 104,105,40,39,99,41,0,1,2,45, + 4,5,68,7,50,98,0,102,54,3, + 0,0,58,59,60,61,72,63,8,0, + 1,2,3,4,5,6,7,0,9,0, + 1,2,3,4,5,6,7,41,9,0, 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,0,1,2,0, - 39,5,41,0,1,2,45,0,70,10, - 0,50,65,66,64,54,87,88,8,62, - 59,60,61,73,63,69,0,0,0,3, - 98,0,71,0,8,121,0,41,39,8, - 41,0,35,36,41,0,0,86,0,1, + 29,30,31,32,33,34,70,67,0,68, + 39,0,41,64,3,0,45,0,0,70, + 0,50,4,64,0,54,0,0,8,0, + 59,60,61,64,63,8,0,0,1,2, + 22,4,71,6,8,8,9,0,1,2, + 3,4,0,6,0,0,9,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,73,0,58,58,39,0,41, - 64,58,0,45,68,68,70,0,50,73, - 8,68,54,58,73,0,70,59,60,61, - 0,63,0,8,68,3,70,25,8,35, - 36,94,95,35,36,0,0,94,95,0, - 1,2,0,0,86,0,1,2,3,4, + 32,33,34,64,67,87,88,39,0,41, + 0,1,2,45,4,0,6,71,50,9, + 73,64,54,87,88,98,101,59,60,61, + 0,63,107,68,69,0,0,90,0,71, + 0,1,2,3,4,5,8,7,118,87, + 88,87,88,0,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, - 41,0,1,2,39,70,41,0,73,0, - 45,71,0,4,58,50,0,10,0,54, - 8,0,0,68,59,60,61,64,63,8, - 8,22,0,1,2,0,0,25,0,0, - 0,0,41,8,8,0,39,25,41,8, - 0,86,0,1,2,3,4,5,6,7, + 0,1,2,58,39,5,41,7,0,0, + 45,0,72,68,64,50,70,69,10,54, + 0,73,0,0,59,60,61,64,63,0, + 0,8,0,3,0,0,71,0,8,94, + 95,0,8,23,24,0,0,39,3,41, + 41,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,0,70,0, - 0,39,70,41,73,0,58,45,0,1, - 2,0,50,58,64,0,54,71,73,70, - 0,59,60,61,73,63,0,1,2,3, - 4,5,6,7,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,86,41, - 90,0,1,2,3,4,5,58,7,8, - 0,35,36,37,38,68,40,0,42,43, - 44,0,46,47,48,49,25,51,52,53, - 69,55,56,57,69,0,1,2,62,69, - 0,65,66,3,68,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,58,0, - 0,1,2,3,4,5,41,7,8,58, - 35,36,37,38,0,40,0,42,43,44, - 0,46,47,48,49,25,51,52,53,0, - 55,56,57,0,0,0,0,62,0,3, - 0,0,67,0,3,0,71,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,72, - 0,72,0,3,58,0,0,0,37,38, - 8,0,35,36,37,38,9,40,68,42, - 43,44,58,46,47,48,49,25,51,52, - 53,68,55,56,57,64,0,69,68,62, - 75,68,0,99,67,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 3,3,3,0,0,0,105,72,3,0, - 35,36,37,38,0,40,0,42,43,44, - 119,46,47,48,49,0,51,52,53,4, - 55,56,57,0,0,0,70,62,3,0, - 65,66,0,1,2,3,4,5,6,7, - 0,9,10,11,12,13,14,15,16,17, - 18,19,20,21,0,0,0,3,3,3, - 0,0,0,3,3,72,0,35,36,37, - 38,0,40,69,42,43,44,0,46,47, - 48,49,58,51,52,53,0,55,56,57, - 0,0,0,3,62,3,90,65,66,0, + 28,29,30,31,32,33,34,0,1,2, + 58,39,5,41,64,58,73,45,68,69, + 68,0,50,73,58,68,54,73,0,68, + 69,59,60,61,0,63,8,0,72,0, + 1,2,8,0,90,8,94,95,41,0, + 0,94,95,0,1,2,35,36,86,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,3,3,64,5,6,0, - 64,9,0,4,35,36,37,38,0,40, - 69,42,43,44,58,46,47,48,49,0, - 51,52,53,0,55,56,57,35,36,37, - 38,62,0,40,42,3,67,0,0,0, - 3,0,0,0,0,0,0,0,0,0, - 58,0,0,0,0,0,64,65,66,0, - 68,69,70,0,0,0,0,0,0,0, - 0,69,0,0,0,0,0,0,0,87, - 88,89,0,0,92,93,94,95,96,97, - 98,99,100,101,0,0,0,105,0,107, - 108,109,110,111,112,113,114,115,116,0, + 21,22,23,24,25,26,27,28,29,30, + 31,32,33,34,41,0,1,2,39,71, + 41,6,0,0,45,0,0,73,71,50, + 0,8,69,54,8,0,0,68,59,60, + 61,0,63,8,8,0,1,2,25,0, + 0,25,0,0,0,0,41,35,36,0, + 0,1,2,0,0,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,41,72,0,0,39,0,41,73,73, + 58,45,0,1,2,90,50,58,69,69, + 54,58,58,69,0,59,60,61,0,63, + 0,1,2,3,4,5,6,7,0,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,86,41,0,0,1,2,3,4, + 5,58,7,8,58,35,36,37,38,41, + 40,0,42,43,44,0,46,47,48,49, + 25,51,52,53,0,55,56,57,64,0, + 1,2,62,0,0,65,66,0,68,0, 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,0,0,0,0,0,0, - 0,0,0,0,35,36,37,38,0,40, - 0,42,43,44,0,46,47,48,49,0, - 51,52,53,0,55,56,57,0,1,2, - 3,4,5,6,7,0,9,10,11,12, - 13,14,15,16,17,18,19,20,21,0, + 21,0,68,0,0,1,2,3,4,5, + 41,7,8,58,35,36,37,38,0,40, + 0,42,43,44,0,46,47,48,49,25, + 51,52,53,69,55,56,57,0,0,0, + 0,62,0,0,70,0,67,70,3,0, + 71,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,70,0,0,58,3,58,0, + 0,0,37,38,3,0,35,36,37,38, + 0,40,68,42,43,44,58,46,47,48, + 49,58,51,52,53,68,55,56,57,64, + 70,72,70,62,0,0,0,68,67,0, + 1,2,3,4,5,6,7,0,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,0,0,0,3,3,3,72,0,0, + 0,106,3,3,35,36,37,38,0,40, + 75,42,43,44,119,46,47,48,49,0, + 51,52,53,4,55,56,57,0,64,0, + 3,62,3,0,65,66,0,1,2,3, + 4,5,6,7,0,9,10,11,12,13, + 14,15,16,17,18,19,20,21,0,0, + 0,3,3,0,0,0,3,3,3,0, + 72,35,36,37,38,0,40,0,42,43, + 44,4,46,47,48,49,0,51,52,53, + 0,55,56,57,0,5,0,3,62,0, + 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,39,0,0,0,3, + 70,5,6,64,90,9,0,0,35,36, + 37,38,0,40,0,42,43,44,0,46, + 47,48,49,0,51,52,53,58,55,56, + 57,35,36,37,38,62,70,0,42,0, + 67,0,3,0,3,0,40,102,0,0, + 0,0,0,0,58,0,58,0,0,0, + 64,65,66,0,68,69,70,70,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,87,88,89,0,0,92,93, + 94,95,96,97,98,99,100,101,0,0, + 0,0,106,0,108,109,110,111,112,113, + 114,115,116,117,0,1,2,3,4,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,0,0,0,121, + 0,0,0,0,0,0,0,0,0,35, + 36,37,38,0,40,0,42,43,44,0, + 46,47,48,49,0,51,52,53,0,55, + 56,57,0,1,2,3,4,5,6,7, + 0,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,0,0,0,0,0, + 0,0,0,0,0,0,0,35,36,37, + 38,0,40,0,42,43,44,0,46,47, + 48,49,0,51,52,53,0,55,56,57, + 0,0,118,0,62,0,1,2,3,4, + 5,6,7,0,9,10,11,12,13,14, + 15,16,17,18,19,20,21,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,35,36,37,38,0,40,0,42, - 43,44,0,46,47,48,49,0,51,52, - 53,0,55,56,57,0,117,0,0,62, + 35,36,37,38,0,40,0,42,43,44, + 0,46,47,48,49,0,51,52,53,0, + 55,56,57,0,0,0,0,0,0,64, 0,1,2,3,4,5,6,7,0,9, 10,11,12,13,14,15,16,17,18,19, 20,21,0,0,0,0,0,0,0,0, 0,0,0,0,0,35,36,37,38,0, 40,0,42,43,44,0,46,47,48,49, 0,51,52,53,0,55,56,57,0,0, - 0,0,0,0,64,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 35,36,37,38,0,40,0,42,43,44, - 0,46,47,48,49,0,51,52,53,0, - 55,56,57,0,0,0,0,62,0,1, - 2,3,4,5,6,7,0,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,35,36,37,38,0,40,0, - 42,43,44,0,46,47,48,49,0,51, - 52,53,0,55,56,57,0,1,2,3, - 4,5,6,7,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,35,36,37,38,0,40,0,42,43, - 44,0,46,47,48,49,0,51,52,53, - 0,55,56,57,0,1,2,3,4,5, - 6,7,0,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,0, - 0,0,0,0,0,0,0,0,0,35, - 36,37,38,0,40,0,42,43,44,0, - 46,47,48,49,0,51,52,53,0,55, - 56,57,0,1,2,0,4,0,0,0, - 0,0,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,0,26,27, - 28,29,30,31,32,33,34,0,0,0, - 0,39,0,0,0,0,0,45,0,0, - 1,2,50,4,0,0,54,0,0,10, + 0,0,62,0,1,2,3,4,5,6, + 7,0,9,10,11,12,13,14,15,16, + 17,18,19,20,21,0,0,0,0,0, + 0,0,0,0,0,0,0,0,35,36, + 37,38,0,40,0,42,43,44,0,46, + 47,48,49,0,51,52,53,0,55,56, + 57,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,0,0,0,0, + 0,0,0,0,0,0,35,36,37,38, + 0,40,0,42,43,44,0,46,47,48, + 49,0,51,52,53,0,55,56,57,0, + 1,2,3,4,5,6,7,0,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,26,27,28,29,30, - 31,32,33,34,0,0,0,0,39,0, - 0,0,0,0,45,0,0,0,0,50, - 0,0,0,54,0,1,2,3,4,5, - 6,7,8,9,0,0,0,0,0,0, - 0,0,0,0,0,0,22,23,24,25, + 21,0,0,0,0,0,0,0,0,0, + 0,0,0,0,35,36,37,38,0,40, + 0,42,43,44,0,46,47,48,49,0, + 51,52,53,0,55,56,57,0,1,2, + 0,4,0,0,0,0,0,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,0,26,27,28,29,30,31,32, + 33,34,0,0,0,0,39,0,0,0, + 0,0,45,0,0,1,2,50,4,0, + 0,54,0,0,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,0, 26,27,28,29,30,31,32,33,34,0, + 0,0,0,39,0,0,0,0,0,45, + 0,0,0,0,50,0,0,0,54,0, + 1,2,3,4,5,6,7,8,9,0, 0,0,0,0,0,0,0,0,0,0, + 0,22,23,24,25,26,27,28,29,30, + 31,32,33,34,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,58,0,0,0,0,0,64,0, - 0,0,0,0,0,0,0,73,0,1, - 2,3,4,5,6,7,8,9,0,0, - 0,0,0,0,0,0,0,0,0,0, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,58,0,0, + 0,0,0,64,0,0,0,0,0,0, + 0,0,73,0,1,2,3,4,5,6, + 7,8,9,0,0,0,0,0,0,0, + 0,0,0,0,0,22,23,24,25,26, + 27,28,29,30,31,32,33,34,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,64,0,0,0,0,0,0,0, - 0,73,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,64,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,0, 0,0,0,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; @@ -1451,360 +1464,360 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface TermAction { public final static char termAction[] = {0, - 5330,5254,4969,4969,4969,4969,4969,4969,5285,4969, + 5396,5317,5032,5032,5032,5032,5032,5032,5348,5032, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5258,1,1,1,1, + 1,1,1,1,1,5321,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5330,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,35,1582, - 626,5505,1,567,131,1,1,5341,286,5004, - 5004,5337,283,2373,868,3746,2377,2044,2256,3616, - 3071,3745,866,3709,3308,3684,10,5288,5288,5288, - 5288,5288,5288,5288,5288,5288,5288,5288,5288,5288, - 5288,5288,5288,5288,5288,5288,5288,5288,5288,5288, - 5288,5288,5288,5288,5288,5288,5288,5288,5288,5288, - 5288,5288,5288,5288,5288,5288,5288,1830,5288,5288, - 5288,5288,5288,5288,5288,5288,5288,5288,5288,5288, - 5288,5288,5288,5288,5330,5288,5288,5288,5288,5288, - 2248,5288,5288,5288,5330,4975,4972,5288,5368,3832, - 5288,5288,5288,5288,5288,5288,5288,5288,5288,5288, - 5288,5288,8,5294,5294,5294,5294,5294,5294,5294, - 5294,5294,5294,5294,5294,5294,5294,5294,5294,5294, - 5294,5294,5294,5294,5294,5294,5294,5294,5294,5294, - 5294,5294,5294,5294,5294,5294,5294,5294,5294,5294, - 5294,5294,5294,296,5294,5294,5294,5294,5294,5294, - 5294,5294,5294,5294,5294,5294,5294,5294,5294,5294, - 129,5294,5294,5294,5294,5294,39,5294,5294,5294, - 5368,5330,330,5294,790,330,5294,5294,5294,5294, - 5294,5294,5294,5294,5294,5294,5294,5294,5330,5254, - 4969,4969,4969,4969,4969,4969,5261,4969,1,1, + 1,300,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,311,1597, + 803,5571,1,563,131,1,1,5407,290,5067, + 5067,5403,285,2386,1677,3636,3137,2074,3096,3556, + 3116,3635,579,3574,3093,3571,10,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,3790,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,519,5351,5351,5351,5351,5351, + 132,5351,5351,5351,5396,5038,5035,5351,5434,2386, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,8,5357,5357,5357,5357,5357,5357,5357, + 5357,5357,5357,5357,5357,5357,5357,5357,5357,5357, + 5357,5357,5357,5357,5357,5357,5357,5357,5357,5357, + 5357,5357,5357,5357,5357,5357,5357,5357,5357,5357, + 5357,5357,5357,888,5357,5357,5357,5357,5357,5357, + 5357,5357,5357,5357,5357,5357,5357,5357,5357,5357, + 129,5357,5357,5357,5357,5357,39,5357,5357,5357, + 5434,5396,334,5357,861,334,5357,5357,5357,5357, + 5357,5357,5357,5357,5357,5357,5357,5357,5396,5317, + 5032,5032,5032,5032,5032,5032,5324,5032,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5258,1,1,1,1,1,1, + 1,1,1,5321,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,137,1582,626,5505, - 1,567,115,1,1,5341,2562,2534,3705,296, - 5344,5345,868,3746,2377,2044,2256,3616,3071,3745, - 866,3709,3308,3684,5330,5254,4969,4969,4969,4969, - 4969,4969,5261,4969,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5258, + 1,1,1,1,1,1,137,1597,803,5571, + 1,563,115,1,1,5407,2501,2429,3765,300, + 5410,5411,1677,3636,3137,2074,3096,3556,3116,3635, + 579,3574,3093,3571,5396,5317,5032,5032,5032,5032, + 5032,5032,5324,5032,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5321, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,395,1,1,1,1, + 1,1,1,1,1,399,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,330,1582,626,5505,1,567,384,1, - 1,5341,111,396,3481,3159,2264,387,868,3746, - 2377,2044,2256,3616,3071,3745,866,3709,3308,3684, - 5330,5254,4969,4969,4969,4969,4969,4969,5261,4969, + 1,1,5396,1597,803,5571,1,563,3154,1, + 1,5407,111,400,3740,3205,2287,391,1677,3636, + 3137,2074,3096,3556,3116,3635,579,3574,3093,3571, + 5396,5317,5032,5032,5032,5032,5032,5032,5324,5032, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5258,1,1,1,1, + 1,1,1,1,1,5321,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,930,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,130,1582, - 626,5505,1,567,5330,1,1,5341,5330,4975, - 4972,4056,5368,4078,868,3746,2377,2044,2256,3616, - 3071,3745,866,3709,3308,3684,5330,5254,4969,4969, - 4969,4969,4969,4969,5261,4969,1,1,1,1, + 1,1129,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,130,1597, + 803,5571,1,563,334,1,1,5407,5396,5038, + 5035,4031,5434,4054,1677,3636,3137,2074,3096,3556, + 3116,3635,579,3574,3093,3571,5396,5317,5032,5032, + 5032,5032,5032,5032,5324,5032,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5258,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5330,1,1, + 1,5321,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,388,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,291,1582,626,5505,1,567, - 117,1,1,5341,2562,2534,3705,5330,5093,5090, - 868,3746,2377,2044,2256,3616,3071,3745,866,3709, - 3308,3684,5330,5254,4969,4969,4969,4969,4969,4969, - 5261,4969,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5258,1,1, + 1,1,1,1,453,1597,803,5571,1,563, + 117,1,1,5407,2501,2429,3765,5396,5156,5153, + 1677,3636,3137,2074,3096,3556,3116,3635,579,3574, + 3093,3571,5396,5317,5032,5032,5032,5032,5032,5032, + 5324,5032,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5321,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2006,1,1,1,1,1,1, + 1,1,1,2494,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5330,1582,626,5505,1,567,39,1,1,5341, - 5368,48,3481,3159,448,5345,868,3746,2377,2044, - 2256,3616,3071,3745,866,3709,3308,3684,5330,5254, - 4969,4969,4969,4969,4969,4969,5261,4969,1,1, + 5396,1597,803,5571,1,563,39,1,1,5407, + 5434,48,3740,3205,452,5411,1677,3636,3137,2074, + 3096,3556,3116,3635,579,3574,3093,3571,5396,5317, + 5032,5032,5032,5032,5032,5032,5324,5032,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5258,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5345, + 1,1,1,5321,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5411, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,623,1582,626,5505, - 1,567,116,1,1,5341,5330,387,3705,5330, - 5344,5345,868,3746,2377,2044,2256,3616,3071,3745, - 866,3709,3308,3684,5330,5254,4969,4969,4969,4969, - 4969,4969,5261,4969,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5258, + 1,1,1,1,1,1,650,1597,803,5571, + 1,563,116,1,1,5407,5396,391,3765,5396, + 5410,5411,1677,3636,3137,2074,3096,3556,3116,3635, + 579,3574,3093,3571,5396,5317,5032,5032,5032,5032, + 5032,5032,5324,5032,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5321, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5087,1,1,1,1, + 1,1,1,1,1,5150,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,135,1582,626,5505,1,567,5330,1, - 1,5341,3523,48,3481,3159,5330,5344,868,3746, - 2377,2044,2256,3616,3071,3745,866,3709,3308,3684, - 5330,5254,4969,4969,4969,4969,4969,4969,5261,4969, + 1,1,135,1597,803,5571,1,563,5396,1, + 1,5407,661,48,3740,3205,5396,5410,1677,3636, + 3137,2074,3096,3556,3116,3635,579,3574,3093,3571, + 5396,5317,5032,5032,5032,5032,5032,5032,5324,5032, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5258,1,1,1,1, + 1,1,1,1,1,5321,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5344,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5731,1582, - 626,5505,1,567,5330,1,1,5341,5330,5344, - 5345,2298,428,3225,868,3746,2377,2044,2256,3616, - 3071,3745,866,3709,3308,3684,5330,5254,4969,4969, - 4969,4969,4969,4969,5261,4969,1,1,1,1, + 1,5410,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5801,1597, + 803,5571,1,563,5396,1,1,5407,5396,5410, + 5411,2322,432,2952,1677,3636,3137,2074,3096,3556, + 3116,3635,579,3574,3093,3571,5396,5317,5032,5032, + 5032,5032,5032,5032,5324,5032,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5258,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,374,1,1, + 1,5321,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5396,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3230,1582,626,5505,1,567, - 5330,1,1,5341,5330,6708,6536,48,5093,5090, - 868,3746,2377,2044,2256,3616,3071,3745,866,3709, - 3308,3684,5330,5254,4969,4969,4969,4969,4969,4969, - 5261,4969,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5258,1,1, + 1,1,1,1,2756,1597,803,5571,1,563, + 5396,1,1,5407,5396,6779,6607,48,5156,5153, + 1677,3636,3137,2074,3096,3556,3116,3635,579,3574, + 3093,3571,5396,5317,5032,5032,5032,5032,5032,5032, + 5324,5032,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5321,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5330,1,1,1,1,1,1, + 1,1,1,443,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5330,1582,626,5505,1,567,395,1,1,5341, - 388,5330,37,5135,5135,3832,868,3746,2377,2044, - 2256,3616,3071,3745,866,3709,3308,3684,39,4975, - 4972,4637,2252,3858,3946,4742,5330,3968,786,5594, - 5592,5601,5600,5596,5597,5595,5598,5599,5602,5593, - 5590,5666,5667,5366,5584,5591,5587,5563,5589,5588, - 5585,5586,5564,3924,3897,4012,3990,5728,5349,357, - 2962,1708,1758,854,5351,1716,2996,1744,5729,5352, - 5350,1674,5730,5346,5347,5348,397,5344,5345,5330, - 1376,5330,5145,5145,229,5141,229,229,229,5149, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,1, - 1,1,1,1,1,1,5330,5344,5345,1082, - 1,4965,5138,444,1,1,1,1,5330,5123, - 5330,1,5123,114,573,1,5330,565,5340,439, - 3097,877,5742,5330,4975,4972,224,2252,734,5686, - 4742,121,416,229,139,5339,5330,366,4988,4984, - 577,4981,734,1,4742,5330,1,5830,5590,5666, - 5667,138,5584,5591,5587,5563,5589,5588,5585,5586, - 5564,4034,999,5765,5766,5767,5330,5145,5145,229, - 5141,229,229,229,5221,229,1,1,1,1, + 5396,1597,803,5571,1,563,399,1,1,5407, + 392,5396,37,5198,5198,5396,1677,3636,3137,2074, + 3096,3556,3116,3635,579,3574,3093,3571,39,5038, + 5035,4820,632,3826,3916,3125,5396,3939,877,5662, + 5660,5669,5668,5664,5665,5663,5666,5667,5670,5661, + 5657,5736,5737,5432,5651,5658,5654,5630,5656,5655, + 5652,5653,5631,3890,3867,3985,3962,5798,5415,1, + 3803,1769,1847,1451,5417,1770,3531,1813,5799,5418, + 5416,1727,5800,5412,5413,5414,5835,5836,5837,5396, + 1428,5396,5208,5208,230,5204,230,230,230,5212, + 230,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,230,1,1,1, + 1,1,1,1,1,1,5396,5410,5411,1045, + 1,5028,5201,448,1,1,1,1,3720,5186, + 118,1,5186,1181,114,1,401,5410,5411,304, + 680,1949,5812,5396,5038,5035,225,632,939,5699, + 3125,5396,420,230,139,5396,5051,5047,4370,5044, + 939,5159,3125,5396,5159,3070,2725,5900,5657,5736, + 5737,5402,5651,5658,5654,5630,5656,5655,5652,5653, + 5631,4008,1006,537,5835,5836,5837,5396,5208,5208, + 230,5204,230,230,230,5284,230,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,229,1,1,1,1,1,1,1,1, - 1,1048,4056,1838,4078,1,1227,5138,445,39, - 39,1,5368,4482,5230,2779,1,5230,3023,3049, - 1,5765,5766,5767,5330,3097,877,5742,5330,3225, - 5330,225,5330,6708,6536,2216,5334,415,229,1, - 3605,1796,1754,1712,1670,1628,1586,1544,1502,1460, - 1418,2264,5830,5590,5666,5667,125,5584,5591,5587, - 5563,5589,5588,5585,5586,5564,139,5330,5765,5766, - 5767,5330,4969,4969,229,4969,229,229,229,4998, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,8608, - 1,1,1,1,1,1,3436,5330,5344,5345, - 1,33,4966,1172,5132,5342,1,5132,300,5132, - 5132,1,5330,4975,4972,1,2252,734,5629,4742, - 931,626,5541,5330,567,5330,5132,394,5001,5001, - 5330,283,219,3023,3049,5333,5132,5132,5132,5132, - 319,1,4988,4984,577,4981,734,5830,4742,5330, - 4988,4984,3759,4981,734,5096,4742,2216,5096,5132, - 317,5330,3605,5120,5341,5132,1094,642,283,5132, - 5132,5132,5132,5132,5132,1,4988,4984,577,4981, - 734,219,4742,5233,5330,126,5330,1658,5132,5132, - 5132,5132,5132,5132,5132,5132,5132,5132,5132,5132, - 5132,5132,5132,5330,1048,1048,5132,5132,5132,5132, - 5132,5132,5132,5132,5132,5132,5132,5132,5132,5330, - 5132,1090,5242,5330,1048,5242,1080,5242,5242,4461, - 1,4988,4984,4978,4981,4995,226,4992,454,1048, - 290,5344,5345,2716,5242,5330,4975,4972,5236,2252, - 5245,307,4742,5224,5242,5242,5242,5242,5590,5666, - 5667,335,5584,5591,5587,5563,5589,5588,5585,5586, - 5564,227,92,1,1,2092,1,5242,5291,2662, - 2635,5291,47,5242,5666,5667,1314,5242,5242,5242, - 5242,5242,5242,5590,5666,5667,5108,5584,5591,5587, - 5563,5589,5588,5585,5586,5564,5242,5242,5242,5242, - 5242,5242,5242,5242,5242,5242,5242,5242,5242,5242, - 5242,3692,113,926,5242,5242,5242,5242,5242,5242, - 5242,5242,5242,5242,5242,5242,5242,458,5242,5330, - 4969,4969,229,4969,229,229,229,229,229,1, + 1,1,230,1,1,1,1,1,1,1, + 1,1,5396,4031,1902,4054,1,1098,5201,449, + 39,39,1,5434,5396,5293,5401,1,5293,5396, + 1796,1,1546,1312,5396,3989,680,1949,5812,5396, + 5038,5035,226,632,939,2248,3125,5396,419,230, + 4852,3448,1859,1816,1773,1730,1687,1644,1601,1558, + 1515,1472,361,5900,5657,5736,5737,458,5651,5658, + 5654,5630,5656,5655,5652,5653,5631,5396,5254,5251, + 5835,5836,5837,5396,5032,5032,230,5032,230,230, + 230,5061,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,230,1, + 1,8692,1,1,1,1,1,1,5432,5396, + 5410,5411,1,33,5029,5171,5195,5408,1,5195, + 304,5195,5195,1,38,5168,5165,1,121,5162, + 5699,3125,629,803,5608,5396,563,5396,5195,398, + 5064,5064,5756,285,220,5396,6779,6607,5195,5195, + 5195,5195,5396,5156,5153,43,5260,5260,1,5900, + 312,5051,5047,4370,5044,939,5159,3125,5269,5159, + 1,5195,113,2916,35,112,5407,5195,5296,649, + 285,5195,5195,5195,5195,5195,5195,1,5051,5047, + 583,5044,939,220,3125,5296,5257,5272,138,2569, + 5195,5195,5195,5195,5195,5195,5195,5195,5195,5195, + 5195,5195,5195,5195,5195,2858,2886,4008,1006,5195, + 5195,5195,5195,5195,5195,5195,5195,5195,5195,5195, + 5195,5195,5195,5396,1055,321,5305,5396,5183,5305, + 409,5305,5305,5299,1097,5406,350,5396,5278,3039, + 227,1055,1,5051,5047,5041,5044,5058,5305,5055, + 5299,4031,5405,4054,4031,5281,4054,5396,5305,5305, + 5305,5305,5657,5736,5737,5404,5651,5658,5654,5630, + 5656,5655,5652,5653,5631,228,92,1,1,378, + 1,5305,5354,5396,5396,5354,3412,5305,2287,1055, + 5396,5305,5305,5305,5305,5305,5305,5657,5736,5737, + 1055,5651,5658,5654,5630,5656,5655,5652,5653,5631, + 5305,5305,5305,5305,5305,5305,5305,5305,5305,5305, + 5305,5305,5305,5305,5305,1033,1010,5396,5403,5305, + 5305,5305,5305,5305,5305,5305,5305,5305,5305,5305, + 5305,5305,5305,5396,5032,5032,230,5032,230,230, + 230,230,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,230,1, + 1,8692,1,1,1,1,1,1,294,5410, + 5411,3720,1,5396,5029,5396,5038,5035,1,632, + 5308,5396,3125,1,5396,4479,39,1,3270,5406, + 5434,5396,629,803,5608,136,563,1,5051,5047, + 4370,5044,939,5396,3125,526,5405,133,2378,224, + 334,5038,5035,4370,632,939,612,3125,5396,5900, + 5662,5660,5669,5668,5664,5665,5663,5666,5667,5670, + 5661,5657,5736,5737,5396,5651,5658,5654,5630,5656, + 5655,5652,5653,5631,1,5051,5047,4370,5044,939, + 4100,3125,5396,221,5396,5032,5032,230,5032,230, + 230,230,230,230,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,230, + 1,1,8692,1,1,1,1,1,1,5835, + 5836,5837,1935,1,2322,5029,5396,5038,5035,1, + 632,5308,5912,3125,1,2355,314,1,1,1229, + 5396,5396,1050,629,803,5608,1098,563,5408,370, + 5051,5047,583,5044,939,1,3125,5396,1,348, + 5038,5035,583,632,939,334,3125,2458,334,323, + 5900,5396,5032,5032,230,5032,230,230,230,5275, + 230,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,230,1,1,8692, + 1,1,1,1,1,1,1150,5407,125,5855, + 1,5396,5029,1055,4174,139,1,134,39,1281, + 5396,1,5434,1055,5396,1,124,1,5400,462, + 629,803,5608,1055,563,5180,5396,1,5330,5330, + 3351,5327,221,334,5404,366,334,348,39,39, + 2916,5434,123,334,122,5396,334,5900,5396,5032, + 5032,230,5032,230,230,230,5275,230,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,229,1,1,8608,1,1, - 1,1,1,1,5330,5330,346,300,1,3091, - 4966,5330,4975,4972,1,2252,5245,5629,4742,1, - 38,5105,5102,1,5330,5099,5330,4742,931,626, - 5541,5126,567,308,4988,4984,3759,4981,734,5096, - 4742,4056,5096,4078,133,223,1,4988,4984,3759, - 4981,734,2622,4742,112,5830,5594,5592,5601,5600, - 5596,5597,5595,5598,5599,5602,5593,5590,5666,5667, - 1048,5584,5591,5587,5563,5589,5588,5585,5586,5564, - 1,4988,4984,3759,4981,734,5330,4742,440,220, - 5330,4969,4969,229,4969,229,229,229,229,229, + 1,1,1,230,1,1,8692,1,1,1, + 1,1,1,5189,5407,2858,2886,1,5396,5029, + 95,39,39,1,5434,5396,5381,5403,1,5381, + 366,1055,1,2858,2886,2355,2248,629,803,5608, + 5396,563,3448,4593,3483,126,295,366,5396,221, + 1,5051,5047,583,5044,939,5402,3125,5399,2858, + 2886,2858,2886,461,5900,5396,5032,5032,230,5032, + 230,230,230,5275,230,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,8608,1, - 1,1,1,1,1,5330,5330,124,4774,1, - 3534,4966,95,39,39,1,5368,521,5315,1, - 1,5315,2330,4056,1,4078,5111,362,1231,931, - 626,5541,1090,567,5842,344,4975,4972,577,2252, - 734,330,4742,5330,330,5330,1,5267,5267,5330, - 5264,5338,330,5342,362,330,5830,5330,4969,4969, - 229,4969,229,229,229,5212,229,1,1,1, + 230,1,1,8692,1,1,1,1,1,1, + 5396,5410,5411,2799,1,939,5029,3125,1,47, + 1,5396,2113,5287,1055,1,1237,4311,5269,1, + 339,5401,5396,1,629,803,5608,5192,563,5396, + 1,161,128,2916,1,5396,221,127,344,2697, + 2669,5396,366,5736,5737,91,29,5272,5302,2569, + 2152,5900,5396,5032,5032,230,5032,230,230,230, + 230,230,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,230,1,1, + 8692,1,1,1,1,1,1,37,5198,5198, + 2799,1,5198,5029,1055,2799,161,1,344,344, + 5342,120,1,344,1129,5345,1,366,1,3864, + 3483,629,803,5608,1,563,5290,8,428,36, + 5375,5372,533,365,366,5387,2697,2669,3567,5396, + 5396,2697,2669,45,5314,5314,3070,2725,5900,5396, + 5032,5032,230,5032,230,230,230,230,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,229,1,1,8608,1,1,1,1, - 1,1,362,39,3023,3049,1,5368,4966,1048, - 5330,37,1,5330,5344,5345,5330,1,734,362, - 4742,1,5341,1003,5337,1306,931,626,5541,362, - 567,369,5330,344,39,39,3325,5368,220,330, - 5338,515,330,1,29,3832,362,123,5330,5191, - 5188,5117,5366,5830,5330,4969,4969,229,4969,229, - 229,229,5212,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,229, - 1,1,8608,1,1,1,1,1,1,5366, - 37,5135,5135,1,185,4966,330,1048,5330,1, - 1272,2774,930,5337,1,5765,5766,5767,1,122, - 5341,880,134,931,626,5541,424,567,449,330, - 4975,4972,3759,2252,734,220,4742,5330,5093,5090, - 1,5366,5330,3325,3023,3049,310,532,5233,1219, - 5830,5330,4969,4969,229,4969,229,229,229,5212, - 229,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,229,1,1,8608, - 1,1,1,1,1,1,37,5135,5135,1, - 1,5135,4966,43,5197,5197,1,118,2936,5206, - 5330,1,4034,999,1048,1,3023,3049,5336,4016, - 931,626,5541,5236,567,1142,1,128,29,3325, - 2330,1,220,127,340,5327,361,3426,5209,161, - 2525,5330,2879,2590,5194,5330,5330,5830,5330,4969, - 4969,229,4969,229,229,229,229,229,1,1, + 1,1,1,1,230,1,1,8692,1,1, + 1,1,1,1,5311,37,5198,5198,1,5403, + 5029,334,119,1,1,1,1,533,5387,1, + 5396,5406,783,1,191,1,1,5841,629,803, + 5608,5396,563,163,5402,293,1554,1554,5405,287, + 293,191,444,5396,157,5396,5432,3070,2725,29, + 5396,8684,8684,5396,5396,5900,5396,5032,5032,230, + 5032,230,230,230,230,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,229,1,1,8608,1,1,1, - 1,1,1,5335,120,2716,5114,1,119,4966, - 1048,2716,405,1,340,5279,340,5330,1,340, - 5215,5282,1,1700,161,5330,774,931,626,5541, - 1,567,5330,5336,3901,3421,2779,5218,5227,2879, - 2590,2662,2635,2879,2590,5330,5330,2662,2635,45, - 5251,5251,5330,457,5830,5330,4969,4969,229,4969, - 229,229,229,229,229,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 229,1,1,8608,1,1,1,1,1,1, - 5248,5330,8571,8571,1,4880,4966,1,5335,39, - 1,5337,1,5368,930,1,5330,5206,289,1, - 5340,1,5330,5785,931,626,5541,5129,567,528, - 5340,2990,36,5309,5306,1,8,5339,5330,157, - 347,1,5366,163,5321,395,5209,5339,2525,5336, - 1,5830,5330,4969,4969,229,4969,229,229,229, - 229,229,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,229,1,1, - 8608,1,1,1,1,1,1,5330,1374,5330, - 5330,1,3729,4966,528,5330,1231,1,37,5135, - 5135,367,1,930,1048,508,1,5321,163,1880, - 506,931,626,5541,5335,567,1,4988,4984,4637, - 4981,3858,3946,4742,5330,3968,5152,5179,5185,5158, - 5161,5173,5170,5176,5167,5164,5155,5182,5830,3086, - 5688,1,4988,4984,4978,4981,4995,3311,4992,5340, - 5330,3924,3897,4012,3990,5771,5349,5330,2962,1708, - 1758,5330,5351,1716,2996,1744,5339,5352,5350,1674, - 1331,5346,5347,5348,4848,5330,5302,5298,1376,4874, - 91,39,39,5239,516,39,4975,4972,4637,2252, - 3858,3946,4742,5312,3968,2759,5594,5592,5601,5600, - 5596,5597,5595,5598,5599,5602,5593,5330,3515,5330, - 1,4988,4984,3759,4981,734,5366,4742,308,4163, - 3924,3897,4012,3990,136,5349,5330,2962,1708,1758, - 5330,5351,1716,2996,1744,308,5352,5350,1674,5330, - 5346,5347,5348,5330,5330,5330,237,1376,420,5270, - 5330,75,5203,5330,3212,5330,5337,39,4975,4972, - 4637,2252,3858,3946,4742,5200,3968,2759,5594,5592, - 5601,5600,5596,5597,5595,5598,5599,5602,5593,1922, - 1,3211,1,4875,4177,5330,5330,132,5392,5393, - 191,5330,3924,3897,4012,3990,2373,5349,3775,2962, - 1708,1758,2940,5351,1716,2996,1744,191,5352,5350, - 1674,3791,5346,5347,5348,3508,426,2130,3798,1376, - 3893,3821,5330,2298,5203,141,4975,4972,4637,2252, - 3858,3946,4742,5330,3968,2759,5594,5592,5601,5600, - 5596,5597,5595,5598,5599,5602,5593,5330,5330,5330, - 4821,4842,4440,5330,5330,5330,593,3248,4861,5330, - 3924,3897,4012,3990,5330,5349,1,2962,1708,1758, - 801,5351,1716,2996,1744,5330,5352,5350,1674,2931, - 5346,5347,5348,5330,73,5330,4146,1376,3795,5330, - 39,39,1,4988,4984,4637,4981,3858,3946,4742, - 5330,3968,5152,5179,5185,5158,5161,5173,5170,5176, - 5167,5164,5155,5182,5330,5330,5330,4145,4213,4240, - 5330,5330,100,4165,3582,3302,99,3924,3897,4012, - 3990,5330,5349,1830,2962,1708,1758,5330,5351,1716, - 2996,1744,5318,5352,5350,1674,2,5346,5347,5348, - 5330,5330,5330,4406,1376,4855,3749,39,39,39, - 4975,4972,4637,2252,3858,3946,4742,5200,3968,2759, - 5594,5592,5601,5600,5596,5597,5595,5598,5599,5602, - 5593,103,1,1,4495,1660,4280,5799,5793,5330, - 2178,5797,510,3447,3924,3897,4012,3990,5330,5349, - 1964,2962,1708,1758,37,5351,1716,2996,1744,5330, - 5352,5350,1674,5330,5346,5347,5348,5791,5792,5822, - 5823,1376,5330,679,5800,4664,5203,278,5330,5330, - 5324,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 5802,5330,5330,5330,5330,5330,1047,1492,1498,5330, - 5803,5801,5824,5330,5330,5330,5330,5330,5330,5330, - 5330,942,5330,5330,5330,5330,5330,5330,5330,5813, - 5812,5825,5330,5330,5794,5795,5818,5819,5816,5817, - 5796,5798,5820,5821,5330,5330,5330,5826,5330,5806, - 5807,5808,5804,5805,5814,5815,5810,5809,5811,39, - 4975,4972,4637,2252,3858,3946,4742,5334,3968,2759, - 5594,5592,5601,5600,5596,5597,5595,5598,5599,5602, - 5593,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 5330,5330,5330,5330,3924,3897,4012,3990,5330,5349, - 5330,2962,1708,1758,5330,5351,1716,2996,1744,5330, - 5352,5350,1674,5330,5346,5347,5348,39,4975,4972, - 4637,2252,3858,3946,4742,5330,3968,2759,5594,5592, - 5601,5600,5596,5597,5595,5598,5599,5602,5593,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 5330,5330,3924,3897,4012,3990,5330,5349,5330,2962, - 1708,1758,5330,5351,1716,2996,1744,5330,5352,5350, - 1674,5330,5346,5347,5348,5330,5333,5330,5330,1376, - 39,4975,4972,4637,2252,3858,3946,4742,5330,3968, - 2759,5594,5592,5601,5600,5596,5597,5595,5598,5599, - 5602,5593,5330,5330,5330,5330,5330,5330,5330,5330, - 5330,5330,5330,5330,5330,3924,3897,4012,3990,5330, - 5349,5330,2962,1708,1758,5330,5351,1716,2996,1744, - 5330,5352,5350,1674,5330,5346,5347,5348,5330,5330, - 5330,5330,5330,5330,3229,39,4975,4972,4637,2252, - 3858,3946,4742,5330,3968,2759,5594,5592,5601,5600, - 5596,5597,5595,5598,5599,5602,5593,5330,5330,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 3924,3897,4012,3990,5330,5349,5330,2962,1708,1758, - 5330,5351,1716,2996,1744,5330,5352,5350,1674,5330, - 5346,5347,5348,5330,5330,5330,5330,1376,39,4975, - 4972,4808,2252,3858,3946,4742,5330,3968,2759,5594, - 5592,5601,5600,5596,5597,5595,5598,5599,5602,5593, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 5330,5330,5330,3924,3897,4012,3990,5330,5349,5330, - 2962,1708,1758,5330,5351,1716,2996,1744,5330,5352, - 5350,1674,5330,5346,5347,5348,39,4975,4972,4637, - 2252,3858,3946,4742,5330,3968,2759,5594,5592,5601, - 5600,5596,5597,5595,5598,5599,5602,5593,5330,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 5330,3924,3897,4012,3990,5330,5349,5330,2962,1708, - 1758,5330,5351,1716,2996,1744,5330,5352,5350,1674, - 5330,5346,5347,5348,39,4975,4972,4637,2252,3858, - 3946,4742,5330,3968,2759,5594,5592,5601,5600,5596, - 5597,5595,5598,5599,5602,5593,5330,5330,5330,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,3924, - 3897,4012,3990,5330,5349,5330,2962,1708,1758,5330, - 5351,1716,2996,1744,5330,5352,5350,1674,5330,5346, - 5347,5348,5330,4975,4972,5330,5368,5330,5330,5330, - 5330,5330,606,5594,5592,5601,5600,5596,5597,5595, - 5598,5599,5602,5593,5590,5666,5667,5330,5584,5591, - 5587,5563,5589,5588,5585,5586,5564,5330,5330,5330, - 5330,5728,5330,5330,5330,5330,5330,854,5330,241, - 5080,5076,5729,5084,5330,5330,5730,5330,5330,606, - 5067,5073,5046,5049,5061,5058,5064,5055,5052,5043, - 5070,5022,5016,5013,5330,5040,5019,5031,5010,5025, - 5028,5037,5034,5007,5330,5330,5330,5330,5728,5330, - 5330,5330,5330,5330,854,5330,5330,5330,5330,5729, - 5330,5330,5330,5730,29,387,387,5276,387,387, - 5276,387,5276,5276,5330,5330,5330,5330,5330,5330, - 5330,5330,5330,5330,5330,5330,387,387,387,5276, - 387,387,387,387,387,387,387,387,387,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 5330,5330,5114,5330,5330,5330,5330,5330,5276,5330, - 5330,5330,5330,5330,5330,5330,5330,5276,32,388, - 388,5273,388,388,5273,388,5273,5273,5330,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 388,388,388,5273,388,388,388,388,388,388, - 388,388,388,5330,5330,5330,5330,5330,5330,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 5330,5330,5330,5330,5330,5330,5330,5330,5330,5330, - 5330,5330,5273,5330,5330,5330,5330,5330,5330,5330, - 5330,5273 + 1,230,1,1,8692,1,1,1,1,1, + 1,5432,1988,5396,5396,1,399,5029,163,5401, + 5174,1,37,5198,5198,5758,1,5177,5682,8231, + 1,1589,1129,1945,351,629,803,5608,37,563, + 1,5051,5047,4820,5044,3826,3916,3125,5396,3939, + 5215,5242,5248,5221,5224,5236,5233,5239,5230,5227, + 5218,5245,5900,2934,5396,1,5051,5047,5041,5044, + 5058,1050,5055,5406,1129,3890,3867,3985,3962,5432, + 5415,5396,3803,1769,1847,5396,5417,1770,3531,1813, + 5405,5418,5416,1727,430,5412,5413,5414,1055,5396, + 5368,5364,1428,5396,373,39,39,371,520,39, + 5038,5035,4820,632,3826,3916,3125,5378,3939,2493, + 5662,5660,5669,5668,5664,5665,5663,5666,5667,5670, + 5661,5396,3690,512,1,5051,5047,4370,5044,939, + 5432,3125,312,3268,3890,3867,3985,3962,5396,5415, + 5396,3803,1769,1847,5396,5417,1770,3531,1813,312, + 5418,5416,1727,4228,5412,5413,5414,5396,5396,5396, + 510,1428,424,5396,1336,75,5266,1385,4139,5396, + 5403,39,5038,5035,4820,632,3826,3916,3125,5263, + 3939,2493,5662,5660,5669,5668,5664,5665,5663,5666, + 5667,5670,5661,3650,238,5396,3428,5333,3562,5396, + 5396,1,5458,5459,4309,194,3890,3867,3985,3962, + 5396,5415,3702,3803,1769,1847,3591,5417,1770,3531, + 1813,3014,5418,5416,1727,3709,5412,5413,5414,2763, + 4145,3258,2161,1428,100,5396,5396,3710,5266,141, + 5038,5035,4820,632,3826,3916,3125,5396,3939,2493, + 5662,5660,5669,5668,5664,5665,5663,5666,5667,5670, + 5661,5396,5396,5396,4893,4918,2574,3295,5396,5396, + 5396,599,4923,3615,3890,3867,3985,3962,5396,5415, + 5361,3803,1769,1847,809,5417,1770,3531,1813,5396, + 5418,5416,1727,2409,5412,5413,5414,5396,4736,5396, + 4449,1428,4588,5396,39,39,1,5051,5047,4820, + 5044,3826,3916,3125,1,3939,5215,5242,5248,5221, + 5224,5236,5233,5239,5230,5227,5218,5245,5396,5396, + 5396,4654,4279,5396,5396,5396,4245,4519,4931,99, + 3350,3890,3867,3985,3962,525,5415,5396,3803,1769, + 1847,2766,5417,1770,3531,1813,5396,5418,5416,1727, + 5396,5412,5413,5414,103,2952,5396,4607,1428,73, + 5396,39,39,39,5038,5035,4820,632,3826,3916, + 3125,5263,3939,2493,5662,5660,5669,5668,5664,5665, + 5663,5666,5667,5670,5661,3302,1,514,2,2021, + 1097,5869,5863,2200,4182,5867,1,5396,3890,3867, + 3985,3962,5396,5415,5396,3803,1769,1847,185,5417, + 1770,3531,1813,5396,5418,5416,1727,5384,5412,5413, + 5414,5861,5862,5892,5893,1428,2031,5396,5870,5396, + 5266,280,3359,5396,5390,5396,665,3720,5396,5396, + 5396,5396,5396,5396,5872,5396,37,5396,5396,5396, + 571,1418,1495,5396,5873,5894,5871,945,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5883,5882,5895,5396,5396,5864,5865, + 5888,5889,5886,5887,5866,5868,5890,5891,5396,5396, + 5396,5396,5896,5396,5876,5877,5878,5874,5875,5884, + 5885,5880,5879,5881,39,5038,5035,4820,632,3826, + 3916,3125,5400,3939,2493,5662,5660,5669,5668,5664, + 5665,5663,5666,5667,5670,5661,5396,5396,5396,5393, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,3890, + 3867,3985,3962,5396,5415,5396,3803,1769,1847,5396, + 5417,1770,3531,1813,5396,5418,5416,1727,5396,5412, + 5413,5414,39,5038,5035,4820,632,3826,3916,3125, + 5396,3939,2493,5662,5660,5669,5668,5664,5665,5663, + 5666,5667,5670,5661,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,3890,3867,3985, + 3962,5396,5415,5396,3803,1769,1847,5396,5417,1770, + 3531,1813,5396,5418,5416,1727,5396,5412,5413,5414, + 5396,5396,5399,5396,1428,39,5038,5035,4820,632, + 3826,3916,3125,5396,3939,2493,5662,5660,5669,5668, + 5664,5665,5663,5666,5667,5670,5661,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 3890,3867,3985,3962,5396,5415,5396,3803,1769,1847, + 5396,5417,1770,3531,1813,5396,5418,5416,1727,5396, + 5412,5413,5414,5396,5396,5396,5396,5396,5396,2452, + 39,5038,5035,4820,632,3826,3916,3125,5396,3939, + 2493,5662,5660,5669,5668,5664,5665,5663,5666,5667, + 5670,5661,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,3890,3867,3985,3962,5396, + 5415,5396,3803,1769,1847,5396,5417,1770,3531,1813, + 5396,5418,5416,1727,5396,5412,5413,5414,5396,5396, + 5396,5396,1428,39,5038,5035,4865,632,3826,3916, + 3125,5396,3939,2493,5662,5660,5669,5668,5664,5665, + 5663,5666,5667,5670,5661,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,3890,3867, + 3985,3962,5396,5415,5396,3803,1769,1847,5396,5417, + 1770,3531,1813,5396,5418,5416,1727,5396,5412,5413, + 5414,39,5038,5035,4820,632,3826,3916,3125,5396, + 3939,2493,5662,5660,5669,5668,5664,5665,5663,5666, + 5667,5670,5661,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,3890,3867,3985,3962, + 5396,5415,5396,3803,1769,1847,5396,5417,1770,3531, + 1813,5396,5418,5416,1727,5396,5412,5413,5414,39, + 5038,5035,4820,632,3826,3916,3125,5396,3939,2493, + 5662,5660,5669,5668,5664,5665,5663,5666,5667,5670, + 5661,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,3890,3867,3985,3962,5396,5415, + 5396,3803,1769,1847,5396,5417,1770,3531,1813,5396, + 5418,5416,1727,5396,5412,5413,5414,5396,5038,5035, + 5396,5434,5396,5396,5396,5396,5396,743,5662,5660, + 5669,5668,5664,5665,5663,5666,5667,5670,5661,5657, + 5736,5737,5396,5651,5658,5654,5630,5656,5655,5652, + 5653,5631,5396,5396,5396,5396,5798,5396,5396,5396, + 5396,5396,1451,5396,242,5143,5139,5799,5147,5396, + 5396,5800,5396,5396,743,5130,5136,5109,5112,5124, + 5121,5127,5118,5115,5106,5133,5085,5079,5076,5396, + 5103,5082,5094,5073,5088,5091,5100,5097,5070,5396, + 5396,5396,5396,5798,5396,5396,5396,5396,5396,1451, + 5396,5396,5396,5396,5799,5396,5396,5396,5800,29, + 391,391,5339,391,391,5339,391,5339,5339,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,391,391,391,5339,391,391,391,391,391, + 391,391,391,391,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5177,5396,5396, + 5396,5396,5396,5339,5396,5396,5396,5396,5396,5396, + 5396,5396,5339,32,392,392,5336,392,392,5336, + 392,5336,5336,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,392,392,392,5336,392, + 392,392,392,392,392,392,392,392,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5396,5396,5396, + 5396,5396,5396,5396,5396,5396,5396,5336,5396,5396, + 5396,5396,5396,5396,5396,5396,5336 }; }; public final static char termAction[] = TermAction.termAction; @@ -1812,61 +1825,61 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Asb { public final static char asb[] = {0, - 786,1,961,874,1091,488,110,876,656,53, - 922,444,1045,656,974,985,55,985,50,985, - 145,985,969,985,444,445,58,488,439,248, - 727,727,1051,445,727,445,874,612,709,298, - 55,55,357,445,1046,542,63,52,107,53, - 444,151,445,445,108,1121,547,547,829,344, - 344,442,351,353,439,445,496,542,151,151, - 724,295,542,727,727,612,727,445,338,9, - 79,924,924,923,923,55,444,445,1046,829, - 63,445,547,551,545,108,55,556,445,151, - 108,445,915,547,55,444,255,439,445,406, - 211,439,915,722,720,151,151,442,295,295, - 1046,9,79,923,923,923,445,829,829,773, - 445,63,591,53,612,203,581,63,547,546, - 547,547,108,556,556,445,709,533,874,612, - 612,612,612,444,874,390,250,407,407,407, - 407,407,407,407,407,407,729,735,740,737, - 744,742,749,747,751,750,752,448,753,708, - 445,1121,445,55,370,561,445,874,295,767, - 497,542,406,773,55,497,720,709,709,724, - 542,577,565,576,708,612,44,44,773,773, - 923,445,338,583,547,547,547,547,445,556, - 773,593,772,442,5,573,572,390,1091,1091, - 1091,1091,445,614,542,542,390,834,1090,338, - 390,729,337,337,614,406,407,407,407,407, - 407,407,407,407,407,407,407,407,407,407, - 407,407,407,407,407,406,406,406,406,406, - 406,406,406,406,406,406,406,407,390,915, - 694,371,444,445,614,598,773,211,720,720, - 696,406,574,574,3,442,112,79,924,79, - 707,707,773,829,1046,353,407,591,352,605, - 547,547,711,773,407,445,533,542,7,9, - 542,542,709,709,709,709,108,542,407,658, - 991,991,444,250,295,1090,406,542,1045,1047, - 1045,542,295,737,737,735,735,735,742,742, - 742,742,740,740,747,744,744,750,749,751, - 591,752,694,370,591,407,591,829,369,874, - 874,874,371,874,445,455,829,829,445,55, - 542,406,211,720,719,696,406,406,7,565, - 79,1091,1091,829,583,407,407,561,1118,712, - 445,542,9,874,874,874,874,445,445,445, - 338,407,1091,733,499,542,445,1047,338,406, - 361,874,361,371,591,371,390,390,388,832, - 390,829,829,784,694,772,720,698,708,711, - 445,444,444,445,776,542,406,406,406,406, - 874,874,108,1046,542,733,442,1121,445,1046, - 112,371,542,439,542,388,488,874,542,694, - 771,210,698,42,445,445,445,776,776,542, - 542,542,542,614,614,445,733,734,733,406, - 499,1049,729,1121,542,542,1039,371,784,371, - 829,488,406,371,368,771,771,874,44,445, - 445,703,776,542,542,1026,733,614,407,295, - 1049,55,55,1041,406,369,614,829,542,10, - 707,703,703,734,542,295,371,542,829,541, - 1045,703,371,1091 + 935,1,1102,876,663,394,150,454,834,60, + 1063,778,1057,834,986,997,62,997,57,997, + 405,997,981,997,778,779,98,394,773,190, + 886,886,623,779,886,779,876,568,621,197, + 62,62,350,779,1058,550,103,59,147,60, + 778,286,779,779,148,693,413,413,978,44, + 44,776,51,53,773,779,402,550,286,286, + 883,283,550,886,886,568,886,779,237,9, + 119,1065,1065,1064,1064,62,778,779,1058,978, + 103,779,413,345,411,148,62,417,779,286, + 148,779,493,413,62,778,243,773,779,740, + 153,773,493,881,879,286,286,776,283,283, + 1058,9,119,1064,1064,1064,779,978,978,932, + 779,103,1120,60,568,338,1110,103,413,412, + 413,413,148,417,417,779,621,541,876,568, + 568,568,568,778,876,724,192,741,741,741, + 741,741,741,741,741,741,888,894,899,896, + 903,901,908,906,910,909,911,354,912,620, + 779,693,779,62,704,423,779,876,283,926, + 403,550,740,932,62,403,879,621,621,883, + 550,439,427,438,620,568,443,443,932,932, + 1064,779,237,1112,413,413,413,413,779,417, + 931,449,931,776,5,435,434,724,663,663, + 663,663,779,792,550,550,724,836,662,237, + 724,888,236,236,792,740,741,741,741,741, + 741,741,741,741,741,741,741,741,741,741, + 741,741,741,741,741,740,740,740,740,740, + 740,740,740,740,740,740,740,741,724,493, + 570,705,778,779,792,500,932,153,879,879, + 608,740,436,436,3,776,65,119,1065,119, + 619,619,932,978,1058,53,741,1120,52,561, + 413,413,553,931,932,741,779,541,550,7, + 9,550,550,621,621,621,621,148,550,741, + 572,1003,1003,778,192,283,662,740,550,1057, + 1059,1057,550,283,896,896,894,894,894,901, + 901,901,901,899,899,906,903,903,909,908, + 910,1120,911,570,704,1120,741,1120,978,703, + 876,876,876,705,876,779,361,978,978,779, + 62,550,740,153,879,878,608,740,740,7, + 427,119,663,663,978,1112,741,741,423,690, + 554,779,932,550,9,876,876,876,876,779, + 779,779,237,741,663,892,507,550,779,1059, + 237,740,695,876,695,705,1120,705,724,724, + 722,703,724,978,978,790,702,931,879,610, + 620,553,779,778,778,779,782,550,740,740, + 740,740,876,876,148,1058,550,892,776,693, + 779,1058,65,705,550,773,550,722,394,876, + 550,570,930,152,610,42,779,779,779,782, + 782,550,550,550,550,792,792,779,892,893, + 892,740,507,1061,888,693,550,550,1051,705, + 790,705,978,394,740,705,702,930,930,876, + 443,779,779,615,782,550,550,1038,892,792, + 741,283,1061,62,62,1053,740,703,792,978, + 550,10,619,615,615,893,550,283,705,550, + 978,549,1057,615,705,663 }; }; public final static char asb[] = Asb.asb; @@ -1878,115 +1891,115 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 11,12,23,13,45,27,28,14,29,30, 15,16,31,32,17,18,33,50,34,10, 54,19,22,20,24,21,1,2,4,73, - 8,39,0,68,69,70,1,2,0,41, - 4,72,1,2,67,8,0,8,72,67, - 74,0,86,59,7,102,103,104,60,8, + 8,39,0,74,68,72,90,73,67,64, + 3,70,8,25,69,0,41,4,72,1, + 2,67,8,0,26,11,12,39,23,13, + 45,27,28,14,29,30,15,16,31,32, + 17,18,33,50,34,10,54,19,22,20, + 24,21,1,2,4,90,0,8,72,67, + 74,0,86,59,7,103,104,105,60,8, 3,9,6,5,72,71,25,61,26,11, 12,39,23,13,45,27,28,14,29,30, 15,16,31,32,17,18,33,50,34,10, 54,19,22,20,24,21,4,1,2,41, - 0,26,11,12,39,23,13,45,27,28, - 14,29,30,15,16,31,32,17,18,33, - 50,34,10,54,19,22,20,24,21,1, - 2,4,90,0,4,8,67,1,2,0, - 26,11,12,39,23,43,65,13,44,45, - 27,28,46,14,29,30,15,16,31,66, - 32,47,17,18,48,33,49,50,51,62, - 52,34,53,54,19,22,20,24,21,55, - 56,57,40,3,37,38,9,6,35,36, - 42,68,7,1,2,5,4,10,0,71, - 62,37,38,9,6,35,36,42,48,3, - 4,55,56,57,40,52,46,51,12,21, - 11,17,15,16,18,19,14,13,20,10, - 44,49,47,43,53,67,8,7,5,1, - 2,66,65,0,65,66,3,10,44,49, - 47,43,53,12,21,11,17,15,16,18, - 19,14,13,20,55,56,57,40,52,46, - 51,5,7,4,37,38,9,6,35,36, - 42,48,1,2,117,8,0,63,26,11, - 12,39,23,13,45,27,86,28,14,29, - 30,15,16,31,59,32,17,18,33,50, - 34,10,54,19,60,22,20,24,21,3, - 9,6,25,61,67,8,4,7,5,41, - 1,2,0,74,68,72,90,73,67,64, - 3,69,8,25,70,0,8,67,69,0, - 86,102,103,104,41,72,120,118,121,71, - 61,74,60,59,63,76,78,84,82,75, - 80,81,83,85,67,77,79,25,8,26, - 39,23,45,27,28,29,30,31,32,33, - 50,34,54,22,24,62,65,66,10,44, - 49,47,43,53,12,21,11,17,15,16, - 18,19,14,13,20,55,56,57,40,52, - 46,51,37,38,35,36,42,48,5,7, - 3,9,6,4,1,2,0,68,72,90, - 70,117,73,71,11,12,43,65,13,44, - 46,14,15,16,66,47,17,18,48,49, - 51,62,52,53,10,19,20,21,55,56, - 57,40,37,38,35,36,42,8,25,5, - 7,1,2,4,3,9,6,0,91,89, - 35,36,92,93,87,88,58,94,95,96, - 97,98,99,100,101,106,72,90,69,107, - 108,109,110,111,112,113,114,115,116,117, - 71,25,68,1,2,9,6,4,3,64, - 70,73,8,0,4,58,8,72,67,0, - 4,8,72,67,0,1,2,8,71,0, - 8,67,70,0,9,6,7,5,4,1, - 2,3,64,68,69,70,8,73,90,0, - 25,8,3,7,5,9,6,4,1,2, - 72,0,8,70,71,69,0,8,72,117, - 73,25,70,0,72,8,64,3,69,70, - 25,58,0,8,73,11,12,43,65,13, - 44,46,14,15,16,66,7,47,17,18, - 48,49,51,62,52,53,10,19,20,21, - 55,56,57,1,2,3,37,38,9,6, - 35,36,5,42,4,40,0,26,11,12, - 23,13,27,28,14,29,30,15,16,31, - 7,32,17,18,33,34,19,22,20,24, - 21,1,2,8,64,9,6,5,4,73, - 25,3,0,118,0,23,24,74,3,72, - 25,67,62,8,90,73,69,70,68,0, - 22,1,2,4,102,103,104,0,62,23, - 24,7,5,1,2,4,74,67,119,105, - 37,38,64,3,91,89,6,92,93,35, - 36,88,87,58,94,95,96,97,9,98, - 99,100,68,90,73,69,107,108,109,110, - 111,112,113,114,115,116,72,117,101,106, - 25,70,71,8,0,23,62,24,8,68, - 90,70,73,69,0,3,9,6,5,7, - 26,11,12,39,23,13,45,27,14,29, - 30,15,16,31,32,17,18,33,50,34, - 10,54,19,22,20,24,21,120,61,59, - 28,86,63,60,1,2,4,41,25,8, - 0,75,0,65,66,37,38,9,6,35, - 36,5,42,48,4,7,55,56,57,40, - 52,46,51,12,21,11,17,15,16,18, - 19,14,13,20,10,44,49,47,43,53, - 64,1,2,3,0,39,23,13,45,27, - 14,29,30,15,16,31,32,17,18,33, - 50,34,10,54,19,22,20,24,21,12, - 11,26,8,3,9,25,60,59,63,86, - 28,61,58,4,7,6,5,1,2,41, - 0,120,71,39,23,13,45,27,14,29, + 0,71,62,37,38,9,6,35,36,42, + 48,3,4,55,56,57,40,52,46,51, + 12,21,11,17,15,16,18,19,14,13, + 20,10,44,49,47,43,53,67,8,7, + 5,1,2,66,65,0,63,26,11,12, + 39,23,13,45,27,86,28,14,29,30, + 15,16,31,59,32,17,18,33,50,34, + 10,54,19,60,22,20,24,21,3,9, + 6,25,61,67,8,4,7,5,41,1, + 2,0,65,66,3,10,44,49,47,43, + 53,12,21,11,17,15,16,18,19,14, + 13,20,55,56,57,40,52,46,51,5, + 7,4,37,38,9,6,35,36,42,48, + 1,2,118,8,0,26,11,12,39,23, + 43,65,13,44,45,27,28,46,14,29, + 30,15,16,31,66,32,47,17,18,48, + 33,49,50,51,62,52,34,53,54,19, + 22,20,24,21,55,56,57,40,3,37, + 38,9,6,35,36,42,68,7,1,2, + 5,4,10,0,4,8,72,67,0,8, + 67,70,0,68,72,90,69,118,73,71, + 11,12,43,65,13,44,46,14,15,16, + 66,47,17,18,48,49,51,62,52,53, + 10,19,20,21,55,56,57,40,37,38, + 35,36,42,8,25,5,7,1,2,4, + 3,9,6,0,4,8,67,1,2,0, + 4,58,8,72,67,0,1,2,8,69, + 71,0,8,67,69,0,9,6,7,5, + 4,1,2,3,64,68,70,69,8,73, + 90,0,68,70,69,1,2,0,8,69, + 71,70,0,39,23,13,45,27,14,29, 30,15,16,31,32,17,18,33,50,34, - 54,19,22,20,24,21,12,11,26,8, - 3,9,6,25,61,28,86,63,60,41, - 7,1,2,5,4,10,59,0,10,45, - 39,50,54,12,21,11,17,15,16,18, - 19,14,13,20,74,72,90,117,71,67, - 119,91,105,89,37,38,35,36,92,93, - 87,88,58,68,94,95,96,97,98,99, - 100,101,106,69,107,108,109,110,111,112, - 113,114,115,116,70,26,23,27,28,29, - 30,31,32,33,34,22,24,25,8,73, - 9,6,3,64,4,7,1,2,5,0, - 66,65,35,36,6,92,93,98,9,99, - 5,42,69,58,68,110,111,107,108,109, - 115,114,116,88,87,112,113,96,97,94, - 95,100,101,37,38,70,89,105,64,3, + 10,54,19,22,20,24,21,12,11,26, + 8,3,9,25,60,59,63,86,28,61, + 58,4,7,6,5,1,2,41,0,8, + 72,118,73,25,69,0,91,89,35,36, + 92,93,87,88,58,94,95,96,97,98, + 99,100,101,107,72,90,70,108,109,110, + 111,112,113,114,115,116,117,118,71,25, + 68,1,2,9,6,4,3,64,69,73, + 8,0,22,1,2,4,103,104,105,0, + 72,8,64,3,70,69,25,58,0,102, + 0,26,11,12,23,13,27,28,14,29, + 30,15,16,31,7,32,17,18,33,34, + 19,22,20,24,21,1,2,8,64,9, + 6,5,4,73,25,3,0,23,24,74, + 3,72,25,67,62,8,90,73,70,69, + 68,0,66,65,35,36,6,92,93,98, + 9,99,5,42,70,58,68,111,112,108, + 109,110,116,115,117,88,87,113,114,96, + 97,94,95,100,101,37,38,69,89,106, + 64,3,10,45,39,50,54,12,21,11, + 17,15,16,18,19,14,13,20,26,32, + 33,28,31,30,27,23,24,29,34,1, + 2,22,4,0,86,103,104,105,41,72, + 120,102,121,71,61,74,60,59,63,76, + 78,84,82,75,80,81,83,85,67,77, + 79,25,8,26,39,23,45,27,28,29, + 30,31,32,33,50,34,54,22,24,62, + 65,66,10,44,49,47,43,53,12,21, + 11,17,15,16,18,19,14,13,20,55, + 56,57,40,52,46,51,37,38,35,36, + 42,48,5,7,3,9,6,4,1,2, + 0,23,62,24,8,68,90,69,73,70, + 0,8,73,11,12,43,65,13,44,46, + 14,15,16,66,7,47,17,18,48,49, + 51,62,52,53,10,19,20,21,55,56, + 57,1,2,3,37,38,9,6,35,36, + 5,42,4,40,0,65,66,37,38,9, + 6,35,36,5,42,48,4,7,55,56, + 57,40,52,46,51,12,21,11,17,15, + 16,18,19,14,13,20,10,44,49,47, + 43,53,64,1,2,3,0,62,23,24, + 7,5,1,2,4,74,67,119,106,37, + 38,64,3,91,89,6,92,93,35,36, + 88,87,58,94,95,96,97,9,98,99, + 100,68,90,73,70,108,109,110,111,112, + 113,114,115,116,117,72,118,101,107,25, + 69,71,8,0,3,9,6,5,7,26, + 11,12,39,23,13,45,27,14,29,30, + 15,16,31,32,17,18,33,50,34,10, + 54,19,22,20,24,21,120,61,59,28, + 86,63,60,1,2,4,41,25,8,0, 10,45,39,50,54,12,21,11,17,15, - 16,18,19,14,13,20,26,32,33,28, - 31,30,27,23,24,29,34,1,2,22, - 4,0 + 16,18,19,14,13,20,74,72,90,118, + 71,67,119,91,106,89,37,38,35,36, + 92,93,87,88,58,68,94,95,96,97, + 98,99,100,101,107,70,108,109,110,111, + 112,113,114,115,116,117,69,26,23,27, + 28,29,30,31,32,33,34,22,24,25, + 8,73,9,6,3,64,4,7,1,2, + 5,0,120,71,39,23,13,45,27,14, + 29,30,15,16,31,32,17,18,33,50, + 34,54,19,22,20,24,21,12,11,26, + 8,3,9,6,25,61,28,86,63,60, + 41,7,1,2,5,4,10,59,0,25, + 8,3,7,5,9,6,4,1,2,72, + 0 }; }; public final static byte asr[] = Asr.asr; @@ -1994,61 +2007,61 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasb { public final static char nasb[] = {0, - 206,12,40,12,5,138,12,231,12,74, - 231,91,91,12,242,243,153,243,42,243, - 65,243,236,12,10,33,23,128,18,182, - 12,12,276,218,12,33,12,12,12,152, - 153,75,12,211,211,274,23,257,91,62, - 91,23,33,11,12,12,23,114,192,100, - 100,133,57,12,178,33,12,274,23,23, - 79,98,274,12,12,12,12,11,47,23, - 23,231,231,23,23,153,91,174,182,192, - 250,258,119,119,12,211,153,23,211,49, - 59,258,199,114,123,36,93,178,33,102, - 85,18,68,135,135,49,49,133,98,98, - 182,168,168,206,206,23,211,192,192,108, - 33,192,12,173,12,40,137,250,119,119, - 23,23,59,23,219,11,12,195,12,12, - 12,12,12,91,12,264,33,87,87,214, - 87,87,87,87,87,87,12,12,12,12, - 12,12,12,12,12,12,12,87,12,12, - 258,12,11,123,107,12,211,12,98,12, - 135,274,87,23,153,12,23,12,12,227, - 274,12,16,12,12,12,31,31,108,108, - 206,174,47,128,23,23,105,105,258,219, - 108,12,12,133,194,100,100,264,54,54, - 54,54,33,155,274,274,1,87,82,47, - 264,12,25,25,155,162,87,87,87,87, - 87,87,87,87,87,87,87,87,87,87, - 87,87,87,87,87,87,87,87,87,87, - 87,87,87,87,87,87,162,87,49,199, - 23,149,36,11,155,12,108,23,135,171, - 23,87,12,12,15,133,168,168,231,23, - 12,12,108,192,182,192,87,12,77,12, - 105,105,186,108,87,219,225,274,165,23, - 274,274,12,12,12,12,46,274,87,12, - 12,12,10,33,98,54,102,274,181,33, - 181,274,98,12,12,12,12,12,12,12, + 236,12,75,12,5,258,12,142,12,31, + 142,95,95,12,251,252,165,252,67,252, + 113,252,245,12,10,204,23,126,18,200, + 12,12,188,233,12,204,12,12,12,164, + 165,32,12,207,207,218,23,167,95,81, + 95,23,204,11,12,12,23,122,184,34, + 34,131,77,12,196,204,12,218,23,23, + 44,102,218,12,12,12,12,11,49,23, + 23,142,142,23,23,165,95,55,200,184, + 265,168,57,57,12,207,165,23,207,59, + 51,168,40,122,116,36,97,196,204,106, + 89,18,213,133,133,59,59,131,102,102, + 200,275,275,236,236,23,207,184,184,73, + 204,184,12,54,12,75,257,265,57,57, + 23,23,51,23,234,11,12,157,12,12, + 12,12,12,95,12,278,204,91,91,229, + 91,91,91,91,91,91,12,12,12,12, + 12,12,12,12,12,12,12,91,12,12, + 168,12,11,116,72,12,207,12,102,12, + 133,218,91,23,165,12,23,12,12,222, + 218,12,16,12,12,12,135,135,73,73, + 236,55,49,126,23,23,13,13,168,234, + 109,12,12,131,156,34,34,278,64,64, + 64,64,204,226,218,218,1,91,86,49, + 278,12,25,25,226,175,91,91,91,91, + 91,91,91,91,91,91,91,91,91,91, + 91,91,91,91,91,91,91,91,91,91, + 91,91,91,91,91,91,175,91,59,40, + 23,161,36,11,226,12,73,23,133,111, + 23,91,12,12,15,131,275,275,142,23, + 12,12,73,184,200,184,91,12,104,12, + 13,13,152,109,73,91,234,220,218,272, + 23,218,218,12,12,12,12,48,218,91, + 12,12,12,10,204,102,64,106,218,199, + 204,199,218,102,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,12,126,158,12,87,12,192,12,12, - 12,12,159,12,219,190,192,192,219,71, - 274,87,85,23,171,171,87,87,165,176, - 168,54,54,192,18,87,87,12,91,110, - 211,274,168,12,12,12,12,258,11,33, - 47,87,54,23,116,274,33,261,47,87, - 112,12,12,159,12,159,280,280,245,12, - 280,192,192,12,23,108,171,23,12,221, - 211,91,91,11,23,274,162,162,162,162, - 12,12,45,258,274,145,227,12,218,258, - 54,159,274,18,274,268,23,12,274,126, - 121,84,13,12,11,211,211,171,23,274, - 274,274,274,155,155,258,23,147,12,162, - 227,262,12,12,274,274,23,159,12,159, - 192,18,162,159,112,121,12,12,31,11, - 11,23,171,274,274,12,145,155,87,98, - 262,71,71,16,87,12,203,192,274,272, - 12,13,23,147,274,98,159,274,192,274, - 181,13,159,54 + 12,12,12,84,171,12,91,12,184,12, + 12,12,12,172,12,234,182,184,184,234, + 119,218,91,89,23,111,111,91,91,272, + 194,275,64,64,184,18,91,91,12,95, + 124,207,73,218,275,12,12,12,12,168, + 11,204,49,91,64,23,149,218,204,210, + 49,91,192,12,12,172,12,172,282,282, + 137,12,282,184,184,12,23,73,111,23, + 12,241,207,95,95,11,23,218,175,175, + 175,175,12,12,47,168,218,186,222,12, + 233,168,64,172,218,18,218,178,23,12, + 218,84,79,88,70,12,11,207,207,111, + 23,218,218,218,218,226,226,168,23,147, + 12,175,222,211,12,12,218,218,23,172, + 12,172,184,18,175,172,192,79,12,12, + 135,11,11,23,111,218,218,12,186,226, + 91,102,211,119,119,16,91,12,254,184, + 218,216,12,70,23,147,218,102,172,218, + 184,218,199,70,172,64 }; }; public final static char nasb[] = Nasb.nasb; @@ -2056,35 +2069,35 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,152,150,119,149,148,5, - 2,0,125,0,32,93,92,64,5,2, - 9,10,4,0,5,2,9,10,139,0, - 108,0,2,44,0,172,5,171,0,156, - 0,153,188,0,2,136,65,0,5,10, - 9,2,13,4,45,0,184,0,2,65, - 0,42,1,0,153,183,0,65,54,0, - 42,56,0,1,121,0,191,0,4,195, - 0,175,0,67,129,42,13,2,9,10, - 5,0,13,2,9,10,5,81,0,78, - 0,4,30,0,110,0,4,67,0,193, - 0,113,0,159,0,4,177,0,109,0, - 162,0,42,160,0,161,0,4,10,9, - 2,64,5,88,54,0,38,5,2,9, - 10,4,158,0,143,0,141,0,48,39, - 179,4,42,0,4,95,0,67,42,48, - 68,4,39,0,54,5,88,22,4,0, - 62,0,121,104,0,93,92,54,64,58, - 5,10,9,2,0,5,100,192,0,4, - 39,38,0,32,92,93,4,0,65,138, - 137,0,4,178,0,103,79,48,4,0, - 2,57,0,5,10,9,13,3,1,0, - 5,100,168,0,93,92,54,5,58,0, - 4,48,79,82,0,2,5,119,115,116, - 117,13,85,0,39,4,22,181,0,4, - 48,79,100,46,5,0,44,2,3,0, - 2,114,0,4,45,39,0,45,4,180, - 0,45,4,32,0,4,45,196,0,4, - 45,102,0 + 3,13,10,9,153,151,120,150,149,5, + 2,0,111,0,33,94,93,65,5,2, + 9,10,4,0,5,2,9,10,140,0, + 1,122,0,79,0,174,5,173,0,66, + 139,138,0,4,197,0,2,137,66,0, + 2,66,0,122,105,0,110,0,5,10, + 9,2,13,4,46,0,154,190,0,126, + 0,4,68,0,158,0,186,0,164,0, + 43,1,0,163,0,177,0,68,130,43, + 13,2,9,10,5,0,13,2,9,10, + 5,82,0,193,0,4,31,0,155,0, + 63,0,154,185,0,43,162,0,43,57, + 0,161,0,195,0,4,10,9,2,65, + 5,89,55,0,109,0,40,4,23,183, + 0,4,49,80,83,0,142,0,4,179, + 0,5,101,194,0,33,93,94,4,0, + 49,40,181,4,43,0,45,2,3,0, + 68,43,49,69,4,40,0,46,4,182, + 0,4,40,39,0,144,0,4,46,198, + 0,114,0,94,93,55,65,59,5,10, + 9,2,0,2,45,0,2,58,0,2, + 115,0,66,55,0,46,4,33,0,94, + 93,55,5,59,0,4,96,0,5,10, + 9,13,3,1,0,104,80,49,4,0, + 5,101,170,0,2,5,120,116,117,118, + 13,86,0,4,180,0,39,5,2,9, + 10,4,160,0,4,49,80,101,47,5, + 0,55,5,89,23,4,0,4,46,40, + 0,4,46,103,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2098,12 +2111,12 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym 76,83,89,98,11,12,7,8,53,112, 93,14,55,61,63,67,84,88,90,91, 94,97,99,101,109,110,111,19,77,103, - 122,95,46,1,58,78,121,20,33,44, + 122,95,46,1,58,78,121,20,44,33, 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 4,15,16,21,22,23,24,25,26,27, - 28,80,81,82,5,29,34,35,36,37, - 38,39,40,41,42,43,117,51,3,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2113,26 +2126,26 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, 129,134,135,0,0,133,0,0,228,234, - 132,0,142,131,0,0,141,147,0,0, - 148,179,157,158,159,160,161,162,163,150, - 164,125,165,140,166,167,0,127,130,168, - 0,128,137,136,151,176,0,0,0,0, - 0,0,0,0,144,171,0,154,0,203, - 0,186,200,204,0,0,126,170,0,0, - 0,0,0,0,0,0,0,205,0,174, - 124,177,0,0,185,0,0,201,211,156, - 207,208,209,0,0,145,0,0,206,219, - 0,173,178,195,0,0,210,0,0,0, - 0,239,240,146,188,189,190,191,192,194, - 0,197,0,198,0,213,216,0,0,218, - 0,237,0,238,0,0,138,139,143,0, - 0,153,155,0,169,0,180,181,182,183, - 184,187,0,0,193,0,196,202,0,214, - 215,0,0,220,223,0,225,227,0,231, - 232,233,236,0,0,149,152,0,172,0, - 175,0,0,199,212,217,0,0,221,222, - 224,226,0,229,230,235,241,242,0,0, - 0 + 132,0,142,0,131,0,0,141,147,0, + 0,148,179,157,158,159,160,161,162,163, + 150,164,125,165,140,166,167,0,127,130, + 168,0,128,137,136,151,176,0,0,0, + 0,0,0,0,0,144,171,0,154,0, + 203,0,186,200,204,0,0,126,170,0, + 0,0,0,0,0,0,0,0,205,0, + 174,124,177,0,0,185,0,0,201,211, + 156,207,208,209,0,0,145,0,0,206, + 219,0,173,178,195,0,0,210,0,0, + 0,0,239,240,146,188,189,190,191,192, + 194,0,197,0,198,0,213,216,0,0, + 218,0,237,0,238,0,0,138,139,143, + 0,0,153,155,0,169,0,180,181,182, + 183,184,187,0,0,0,193,0,196,202, + 0,214,215,0,0,220,223,0,225,227, + 0,231,232,233,236,0,0,149,152,0, + 172,0,175,0,0,199,212,217,0,0, + 221,222,224,226,0,229,230,235,241,242, + 0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2140,18 +2153,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 159,587,606,304,311,538,554,565,576,370, - 267,281,298,318,331,42,292,390,428,167, - 595,481,20,51,71,80,85,90,130,195, - 324,339,344,144,273,287,509,27,144,380, - 344,614,27,217,246,1,14,61,76,106, - 349,359,363,446,474,503,530,534,624,628, - 632,97,7,97,408,424,437,458,522,116, - 116,232,437,545,561,572,583,207,492,56, + 159,311,589,608,304,319,540,556,567,578, + 372,267,281,298,333,42,292,392,430,167, + 597,483,20,51,71,80,85,90,130,195, + 326,341,346,144,273,287,511,27,144,382, + 346,616,27,217,246,1,14,61,76,106, + 351,361,365,448,476,505,532,536,626,630, + 634,97,7,97,410,426,439,460,524,116, + 116,232,439,547,563,574,585,207,494,56, 56,156,222,225,56,241,262,225,225,56, - 367,471,478,156,56,647,110,353,412,452, - 465,56,353,399,177,104,450,636,643,636, - 643,65,418,137,104,104,251 + 369,473,480,156,56,649,110,355,414,454, + 467,56,355,401,177,104,452,638,645,638, + 645,65,420,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2159,18 +2172,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,135,5,5,5,5,377, - 135,95,135,135,337,48,278,396,434,173, - 67,487,25,25,25,59,59,95,135,200, - 329,329,337,149,278,101,514,38,152,385, - 601,619,32,211,211,5,18,5,59,95, - 329,95,95,135,244,5,5,5,5,5, - 244,645,11,101,377,377,377,462,514,120, - 125,236,441,549,549,549,549,211,496,59, + 18,135,5,5,135,135,5,5,5,5, + 379,135,95,135,339,48,278,398,436,173, + 67,489,25,25,25,59,59,95,135,200, + 331,331,339,149,278,101,516,38,152,387, + 603,621,32,211,211,5,18,5,59,95, + 331,95,95,135,244,5,5,5,5,5, + 244,647,11,101,379,379,379,464,516,120, + 125,236,443,551,551,551,551,211,498,59, 59,5,5,228,230,244,5,265,265,230, - 95,5,244,5,507,5,113,356,415,455, - 468,526,517,402,180,95,95,638,638,640, - 640,67,420,139,202,187,253 + 95,5,244,5,509,5,113,358,417,457, + 470,528,519,404,180,95,95,640,640,642, + 642,67,422,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2178,18 +2191,18 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,77,117,17,17,17,17,71, - 84,47,77,117,116,75,52,71,70,46, - 17,19,3,7,8,168,168,164,115,46, - 116,116,118,128,53,47,139,133,128,71, - 17,17,133,94,59,135,74,171,168,164, - 118,182,50,56,143,18,17,17,17,17, - 17,12,113,164,71,70,70,37,139,130, - 130,58,70,17,17,17,17,94,19,172, - 168,184,92,99,61,78,60,158,80,118, - 72,144,143,175,139,16,164,118,102,69, - 21,139,139,71,46,164,66,137,44,137, - 44,171,102,115,46,46,59 + 47,118,18,18,78,118,18,18,18,18, + 72,85,48,78,117,76,53,72,71,47, + 18,20,3,7,8,170,170,166,116,47, + 117,117,119,129,54,48,140,134,129,72, + 18,18,134,95,60,136,75,173,170,166, + 119,184,51,57,144,19,18,18,18,18, + 18,12,114,166,72,71,71,38,140,131, + 131,59,71,18,18,18,18,95,20,174, + 170,186,93,100,62,79,61,160,81,119, + 73,145,144,177,140,17,166,119,103,70, + 22,140,140,72,47,166,67,138,45,138, + 45,173,103,116,47,47,60 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2197,16 +2210,16 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,71,73,73,73,73,73, - 71,25,71,71,1,68,1,73,121,67, + 102,71,73,73,71,71,73,73,73,73, + 73,71,25,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,25,71,67, - 1,1,1,71,1,1,4,68,70,25, - 1,1,68,73,73,73,118,73,1,25, - 1,25,25,71,117,73,73,73,73,73, - 117,1,73,1,73,73,73,72,4,1, + 1,1,1,71,1,1,4,68,69,25, + 1,1,68,73,73,73,102,73,1,25, + 1,25,25,71,118,73,73,73,73,73, + 118,1,73,1,73,73,73,72,4,1, 1,6,73,68,68,68,68,73,3,1, - 1,73,73,3,1,117,73,1,1,1, - 25,73,117,73,5,73,1,41,69,72, + 1,73,73,3,1,118,73,1,1,1, + 25,73,118,73,5,73,1,41,70,72, 73,1,41,75,74,25,25,4,4,4, 4,3,1,67,1,1,3 }; @@ -2216,8 +2229,8 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 284,213,213,307,280,213,213,213,213,295, - 309,284,307,280,280,307,286,295,295,284, + 284,280,213,213,307,280,213,213,213,213, + 295,309,284,307,280,307,286,295,295,284, 213,213,145,189,189,21,21,69,280,284, 280,280,280,276,286,284,37,42,276,295, 213,213,42,78,126,4,295,46,21,69, @@ -2235,71 +2248,72 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 320,3,62,0,125,0,319,3,118,0, - 125,171,0,126,178,74,0,215,0,253, - 126,58,124,0,20,0,295,126,58,41, + 322,3,62,0,125,0,321,3,102,0, + 125,171,0,126,179,74,0,215,0,254, + 126,58,124,0,20,0,297,126,58,41, 0,20,53,0,33,131,0,20,53,0, - 0,295,126,58,41,201,0,20,177,0, - 253,126,58,132,0,179,127,0,140,0, - 217,3,294,0,294,0,2,0,125,0, - 253,126,58,131,0,179,127,222,0,179, - 127,22,222,0,179,127,315,22,0,128, - 187,166,127,0,127,0,187,166,127,0, - 133,127,0,170,0,311,126,170,0,126, - 170,0,221,127,0,166,310,241,0,135, - 0,0,0,0,134,0,0,0,0,309, - 126,164,252,0,126,0,252,0,128,0, - 0,126,0,308,126,164,251,0,126,0, - 0,44,126,0,0,152,3,0,126,282, - 281,126,74,280,170,0,281,126,74,280, - 170,0,214,0,215,0,280,170,0,96, + 0,297,126,58,41,202,0,20,177,0, + 254,126,58,132,0,180,127,0,140,0, + 218,3,296,0,296,0,2,0,125,0, + 254,126,58,131,0,180,127,223,0,180, + 127,22,223,0,180,127,317,22,0,128, + 188,167,127,0,127,0,188,167,127,0, + 133,127,0,171,0,313,126,171,0,126, + 171,0,221,127,0,167,312,242,0,135, + 0,0,0,0,134,0,0,0,0,311, + 126,165,253,0,126,0,253,0,128,0, + 0,126,0,310,126,165,252,0,126,0, + 0,44,126,0,0,153,3,0,126,284, + 283,126,74,282,171,0,283,126,74,282, + 171,0,214,0,215,0,282,171,0,96, 0,0,214,0,215,0,202,96,0,0, - 214,0,215,0,281,126,280,170,0,214, - 0,202,0,0,214,0,227,126,3,0, - 125,0,0,0,0,0,227,126,3,214, - 0,221,3,0,210,126,0,207,0,145, - 0,176,166,127,0,10,0,0,0,0, - 212,64,0,124,0,227,126,3,182,0, - 182,0,2,0,0,125,0,0,0,0, - 0,202,3,0,200,0,223,126,164,40, - 28,0,179,127,59,60,0,195,127,0, - 128,179,127,278,60,0,179,127,278,60, - 0,179,127,69,123,59,0,223,126,164, - 243,59,0,223,126,164,243,226,59,0, - 276,126,164,123,305,45,0,276,126,164, - 305,45,0,179,127,275,45,0,134,0, - 187,179,127,275,241,0,135,0,179,127, - 275,241,0,187,166,127,10,0,166,127, - 10,0,166,127,0,93,135,0,268,126, - 144,0,268,126,170,0,161,84,0,300, - 160,302,303,3,81,0,125,170,0,302, - 303,3,81,0,127,0,125,170,0,161, - 3,75,190,80,0,125,127,0,190,80, - 0,108,2,130,125,127,0,224,3,75, - 0,202,167,0,33,168,0,167,0,174, - 33,168,0,224,3,85,0,190,154,224, - 3,83,0,62,170,0,224,3,83,0, - 125,170,62,170,0,301,126,164,0,161, - 0,212,77,0,30,170,0,161,106,158, - 0,30,168,0,177,3,0,125,148,0, - 217,3,0,212,64,265,0,161,64,0, - 177,3,297,66,127,0,125,0,0,0, - 0,297,66,127,0,2,144,125,0,0, - 0,0,177,3,48,0,146,0,125,41, - 166,127,0,31,146,0,93,135,31,146, - 0,218,179,127,0,145,31,146,0,177, - 3,53,0,161,3,53,0,161,3,68, - 177,58,43,0,177,58,43,0,20,2, - 130,125,0,161,3,68,177,58,47,0, - 177,58,47,0,161,3,68,177,58,49, - 0,177,58,49,0,161,3,68,177,58, - 44,0,177,58,44,0,217,3,125,187, - 166,127,10,0,125,187,166,127,10,0, - 135,2,0,125,0,217,3,124,258,166, - 127,10,0,258,166,127,10,0,134,2, - 0,125,0,217,3,135,0,217,3,139, - 0,161,64,139,0,260,0,31,0,31, - 138,0,165,0,133,0,161,3,0 + 214,0,215,0,283,126,282,171,0,214, + 0,202,0,0,214,0,228,126,3,0, + 125,0,0,0,0,0,228,126,3,215, + 0,222,3,0,211,126,0,207,0,145, + 0,177,167,127,0,10,0,0,0,0, + 213,64,0,124,0,228,126,3,183,0, + 183,0,2,0,0,125,0,0,0,0, + 0,203,3,0,200,0,224,126,165,40, + 28,0,180,127,59,60,0,195,127,0, + 128,180,127,280,60,0,180,127,280,60, + 0,180,127,70,123,59,0,224,126,165, + 244,59,0,224,126,165,244,227,59,0, + 277,278,126,165,123,307,45,0,277,278, + 126,165,307,45,0,180,127,276,45,0, + 134,0,188,180,127,276,242,0,135,0, + 180,127,276,242,0,188,167,127,10,0, + 167,127,10,0,167,127,0,93,135,0, + 269,126,145,0,269,126,171,0,162,84, + 0,302,161,304,305,3,81,0,125,170, + 0,304,305,3,81,0,127,0,125,170, + 0,162,3,75,191,80,0,125,127,0, + 191,80,0,108,2,130,125,127,0,225, + 3,75,0,203,168,0,33,168,0,168, + 0,174,33,168,0,225,3,85,0,191, + 155,225,3,83,0,62,170,0,225,3, + 83,0,125,170,62,170,0,303,126,165, + 0,162,0,213,77,0,30,170,0,162, + 107,159,0,30,168,0,178,3,0,125, + 148,0,218,3,0,213,64,266,0,162, + 64,0,178,3,299,66,127,0,125,0, + 0,0,0,299,66,127,0,2,144,125, + 0,0,0,0,178,3,48,0,146,0, + 125,41,167,127,0,31,146,0,93,135, + 31,146,0,219,180,127,0,145,31,146, + 0,178,3,53,0,162,3,53,0,162, + 3,68,178,58,43,0,178,58,43,0, + 20,2,130,125,0,162,3,68,178,58, + 47,0,178,58,47,0,162,3,68,178, + 58,49,0,178,58,49,0,162,3,68, + 178,58,44,0,178,58,44,0,218,3, + 125,188,167,127,10,0,125,188,167,127, + 10,0,135,2,0,125,0,218,3,124, + 259,167,127,10,0,259,167,127,10,0, + 134,2,0,125,0,218,3,135,0,218, + 3,140,0,162,64,140,0,261,0,31, + 0,31,138,0,166,0,133,0,162,3, + 0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2307,38 +2321,38 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface ScopeState { public final static char scopeState[] = {0, - 3309,2693,0,3662,2788,539,0,3133,2657,0, - 4661,4861,4842,4821,0,2443,2173,1327,1961,0, - 4146,3230,0,3617,3580,3503,3393,3339,3302,3248, - 3211,3071,2780,2743,4440,0,801,593,0,999, - 0,4383,2779,3247,0,2936,623,0,3617,3580, - 1576,1408,3503,3393,3339,3302,3248,3211,868,3071, - 2780,2743,4126,1954,0,3534,3523,0,4569,4563, - 0,738,0,1624,1302,1139,1137,3146,4157,2855, - 577,3325,2427,1042,0,3394,2442,3146,3535,2820, - 4157,3455,3217,2450,673,2444,4297,4266,2441,2360, - 0,4767,4759,4737,4833,4788,4722,4701,4677,4783, - 4671,3846,3810,4655,3082,4650,4592,4586,2950,4580, - 4420,3783,3563,615,0,3146,2463,4297,4266,3184, - 2855,3468,4331,3729,577,2450,2427,3692,3759,2360, - 0,2463,3184,0,3362,3129,3777,4767,4759,3102, - 3426,3225,3086,2958,4737,4599,4833,4788,2168,4722, - 4701,4677,2478,4783,2086,4671,632,2082,3846,3810, - 4655,3082,926,4650,4592,870,2805,4586,643,2950, - 4580,4420,3783,3563,734,615,4373,2870,2760,2748, - 2402,2252,942,2855,3468,4331,3729,3146,2622,1314, - 577,801,593,2450,2427,2463,3692,4297,4266,3759, - 2360,3184,2996,4122,4100,2216,2264,2330,2298,2562, - 2534,2373,3049,3023,2716,2689,2662,2635,3705,3481, - 3159,2879,2590,4078,4056,4034,4012,3990,3968,3946, - 3924,3897,3858,2962,1964,2178,1922,2130,2092,1331, - 1272,1880,2044,2006,1090,1227,880,1838,1796,1754, - 1712,1670,1628,1586,1544,1502,1460,1418,535,1185, - 1376,824,744,1048,688,1003,960,1142,0,535, - 4373,2870,0,4569,4563,4482,4212,4154,4144,4471, - 4461,4366,4350,3754,3617,3580,3503,3393,3339,3302, - 3248,3211,3071,2780,2743,0,4569,4563,4482,4212, - 4154,4144,4471,4461,4366,4350,3754,0 + 3177,2620,0,2097,1335,749,0,3196,3123,0, + 2996,4923,4918,4893,0,3341,2196,3134,927,0, + 4228,2756,0,3664,3609,3553,3442,3387,3350,3295, + 3258,3116,2981,2917,2574,0,809,599,0,1006, + 0,4819,3483,4704,0,2494,650,0,3664,3609, + 1849,1763,3553,3442,3387,3350,3295,3258,1677,3116, + 2981,2917,1591,1505,0,3270,661,0,4613,4604, + 0,813,0,1777,1225,1198,646,3192,3374,3057, + 583,2916,2542,2755,0,1316,737,3192,4692,4683, + 3374,4148,4147,2584,3261,3634,4412,4399,3633,2416, + 0,4813,4809,4805,4912,4899,4801,4783,4717,4884, + 4710,4829,4721,4699,4349,4621,4490,4298,2535,2928, + 3586,3238,3234,3230,0,3192,4573,4412,4399,3100, + 3057,3518,4436,4100,583,2584,2542,3790,4370,2416, + 0,4573,3100,0,3140,2615,3669,4813,4809,2244, + 3567,2952,2934,2157,4805,3242,4912,4899,2851,4801, + 4783,4717,935,4884,2608,4710,1381,2530,4829,4721, + 4699,4349,2152,4621,4490,1141,3500,4298,3475,2535, + 2928,3586,3238,3234,939,3230,4272,2827,2558,2482, + 1324,632,945,3057,3518,4436,4100,3192,2458,612, + 583,809,599,2584,2542,4573,3790,4412,4399,4370, + 2416,3100,3531,4113,4077,2248,2287,2355,2322,2501, + 2429,2386,2886,2858,2799,2771,2697,2669,3765,3740, + 3205,3070,2725,4054,4031,4008,3985,3962,3939,3916, + 3890,3867,3826,3803,2031,2200,1988,2161,2113,1385, + 1336,1945,2074,1237,1098,1281,888,1902,1859,1816, + 1773,1730,1687,1644,1601,1558,1515,1472,540,1194, + 1428,830,752,1055,694,1010,966,1150,0,540, + 4272,2827,0,4613,4604,4593,4243,4204,4146,4518, + 4479,4462,2577,4136,3664,3609,3553,3442,3387,3350, + 3295,3258,3116,2981,2917,0,4613,4604,4593,4243, + 4204,4146,4518,4479,4462,2577,4136,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2346,61 +2360,61 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,296,60,63,126,170,201,41,28,59, - 225,59,278,3,269,270,252,271,241,272, - 45,273,274,124,10,127,280,126,3,4, - 132,131,7,5,124,127,182,41,58,40, - 243,226,123,127,127,40,164,310,275,305, - 275,58,127,179,166,165,74,126,268,186, - 182,126,246,279,210,127,176,202,58,58, - 167,64,3,65,66,124,123,179,166,3, - 58,68,126,164,164,243,69,179,179,154, - 126,166,230,125,124,127,123,164,127,126, - 166,41,4,126,281,72,64,210,127,3, - 69,70,166,9,6,126,126,126,64,64, - 187,126,126,126,126,164,127,226,128,309, - 127,168,222,59,41,60,170,312,125,124, - 231,231,179,164,126,179,253,167,53,43, + 0,298,60,63,126,171,202,41,28,59, + 226,59,280,3,270,271,253,272,242,273, + 45,274,275,124,10,127,282,126,3,4, + 132,131,7,5,124,127,183,41,58,40, + 244,227,123,127,127,40,165,312,276,307, + 276,58,127,180,167,166,74,126,269,187, + 183,126,247,281,211,127,177,203,58,58, + 168,64,3,65,66,124,123,180,167,3, + 58,68,126,165,165,244,70,180,180,155, + 126,167,231,125,124,127,123,165,127,126, + 167,41,4,126,283,72,64,211,127,3, + 70,69,167,9,6,126,126,126,64,64, + 188,126,126,126,126,165,127,227,128,311, + 127,169,223,59,41,60,171,314,125,124, + 232,232,180,165,126,180,254,168,53,43, 47,49,44,10,135,3,127,48,42,5, - 36,35,6,9,38,37,139,145,147,146, - 149,148,151,150,155,153,157,62,158,256, - 187,260,187,281,164,293,127,294,212,158, - 166,152,126,164,251,176,176,253,253,210, - 227,228,144,229,295,41,10,39,223,223, - 126,179,166,126,231,231,126,126,187,126, - 276,123,277,126,3,215,214,3,58,58, - 58,58,127,3,177,161,126,65,66,166, - 3,125,105,119,3,64,89,91,36,35, + 36,35,6,9,38,37,140,146,148,147, + 150,149,152,151,156,154,158,62,159,257, + 188,261,188,283,165,295,127,296,213,159, + 167,153,126,165,252,177,177,254,254,211, + 228,229,145,230,297,41,10,39,224,224, + 126,180,167,126,232,232,126,126,188,126, + 278,123,279,126,3,216,215,3,58,58, + 58,58,127,3,178,162,126,65,66,167, + 3,125,106,119,3,64,89,91,36,35, 93,92,6,95,94,68,58,87,88,9, - 97,96,99,98,100,116,115,114,113,112, - 111,110,109,108,107,69,106,101,70,4, - 282,126,70,179,3,267,126,164,6,126, - 154,69,221,202,3,126,70,70,68,58, - 230,230,223,226,187,311,72,289,202,124, - 126,126,72,276,69,70,210,221,126,3, - 177,161,177,177,177,177,166,217,154,135, - 125,124,10,127,64,297,3,177,41,127, - 41,217,161,146,146,145,145,145,148,148, - 148,148,147,147,150,149,149,153,151,155, - 161,157,126,301,79,77,1,161,8,85, - 83,81,80,75,82,84,78,76,59,74, - 217,70,126,176,184,126,69,69,126,210, - 126,69,69,128,70,72,69,314,222,22, - 127,227,126,68,68,68,68,187,258,127, - 166,203,3,298,167,152,127,179,166,72, - 283,118,8,72,212,72,3,3,3,190, - 3,123,161,123,178,308,126,219,295,70, - 127,22,315,179,154,227,3,3,3,3, - 125,124,166,41,177,126,126,218,5,41, - 3,72,224,167,224,303,144,75,224,126, - 189,70,126,68,179,127,127,126,154,161, - 161,161,161,3,3,187,154,262,265,64, - 180,4,123,125,90,319,167,154,202,154, - 302,126,3,154,283,189,8,62,39,179, - 179,219,126,217,217,125,126,3,64,161, - 4,154,154,126,69,190,160,268,161,3, - 230,126,219,262,217,212,121,300,154,320, - 69,126,154,70 + 97,96,99,98,100,117,116,115,114,113, + 112,111,110,109,108,70,107,101,69,4, + 284,126,69,180,3,268,126,165,6,126, + 155,70,222,203,3,126,69,69,68,58, + 231,231,224,227,188,313,72,291,203,124, + 126,126,72,278,277,70,69,211,222,126, + 3,178,162,178,178,178,178,167,218,155, + 135,125,124,10,127,64,299,3,178,41, + 127,41,218,162,147,147,146,146,146,149, + 149,149,149,148,148,151,150,150,154,152, + 156,162,158,126,303,79,77,1,162,8, + 85,83,81,80,75,82,84,78,76,59, + 74,218,69,126,177,185,126,70,70,126, + 211,126,70,70,128,69,72,70,316,223, + 22,127,277,228,126,68,68,68,68,188, + 259,127,167,204,3,300,168,153,127,180, + 167,72,285,102,8,72,213,72,3,3, + 3,191,3,123,162,123,179,310,126,220, + 297,69,127,22,317,180,155,228,3,3, + 3,3,125,124,167,41,178,126,126,219, + 5,41,3,72,225,168,225,305,145,75, + 225,126,190,69,126,68,180,127,127,126, + 155,162,162,162,162,3,3,188,155,263, + 266,64,181,4,123,125,90,321,168,155, + 203,155,304,126,3,155,285,190,8,62, + 39,180,180,220,126,218,218,125,126,3, + 64,162,4,155,155,126,70,191,161,269, + 162,3,231,126,220,263,218,213,121,302, + 155,322,70,126,155,69 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2674,20 +2688,20 @@ public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 544, + NUM_STATES = 546, NT_OFFSET = 122, - LA_STATE_OFFSET = 5864, + LA_STATE_OFFSET = 5935, MAX_LA = 2147483647, - NUM_RULES = 534, - NUM_NONTERMINALS = 201, - NUM_SYMBOLS = 323, + NUM_RULES = 539, + NUM_NONTERMINALS = 203, + NUM_SYMBOLS = 325, SEGMENT_SIZE = 8192, - START_STATE = 3754, + START_STATE = 4136, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 4965, - ERROR_ACTION = 5330; + ACCEPT_ACTION = 5028, + ERROR_ACTION = 5396; 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 c1f6f3758f3..6cbe37bc364 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 @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -20,7 +20,7 @@ public interface CPPParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 39, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 32, TK_reinterpret_cast = 47, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, - TK_Assign = 69, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, - TK_Comma = 70, - TK_RightBracket = 117, + TK_Assign = 70, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, + TK_Comma = 69, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 25, @@ -208,8 +208,8 @@ public interface CPPParsersym { "new", "LeftBrace", "GT", - "Assign", "Comma", + "Assign", "RightBrace", "Colon", "RightParen", @@ -241,6 +241,7 @@ public interface CPPParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", 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 bc851362440..2ecad34fb15 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 @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -991,985 +991,937 @@ public CPPSizeofExpressionParser(ITokenStream stream, Map<String,String> propert // // Rule 191: iteration_statement ::= do statement while ( expression ) ; // - case 191: { action. consumeStatementDoLoop(); break; + case 191: { action. consumeStatementDoLoop(true); break; } // - // Rule 192: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 192: iteration_statement ::= do statement // - case 192: { action. consumeStatementForLoop(); break; + case 192: { action. consumeStatementDoLoop(false); break; } // - // Rule 194: for_init_statement ::= simple_declaration_with_declspec + // Rule 193: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 194: { action. consumeStatementDeclaration(); break; + case 193: { action. consumeStatementForLoop(); break; } // - // Rule 195: jump_statement ::= break ; + // Rule 195: for_init_statement ::= simple_declaration_with_declspec // - case 195: { action. consumeStatementBreak(); break; + case 195: { action. consumeStatementDeclaration(); break; } // - // Rule 196: jump_statement ::= continue ; + // Rule 196: jump_statement ::= break ; // - case 196: { action. consumeStatementContinue(); break; + case 196: { action. consumeStatementBreak(); break; } // - // Rule 197: jump_statement ::= return expression ; + // Rule 197: jump_statement ::= continue ; // - case 197: { action. consumeStatementReturn(true); break; + case 197: { action. consumeStatementContinue(); break; } // - // Rule 198: jump_statement ::= return ; + // Rule 198: jump_statement ::= return expression ; // - case 198: { action. consumeStatementReturn(false); break; + case 198: { action. consumeStatementReturn(true); break; } // - // Rule 199: jump_statement ::= goto identifier_token ; + // Rule 199: jump_statement ::= return ; // - case 199: { action. consumeStatementGoto(); break; + case 199: { action. consumeStatementReturn(false); break; } // - // Rule 200: declaration_statement ::= block_declaration + // Rule 200: jump_statement ::= goto identifier_token ; // - case 200: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 200: { action. consumeStatementGoto(); break; } // - // Rule 201: declaration_statement ::= function_definition + // Rule 201: declaration_statement ::= block_declaration // - case 201: { action. consumeStatementDeclaration(); break; + case 201: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 209: declaration ::= ERROR_TOKEN + // Rule 202: declaration_statement ::= function_definition // - case 209: { action. consumeDeclarationProblem(); break; + case 202: { action. consumeStatementDeclaration(); break; } // - // Rule 219: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 210: declaration ::= ERROR_TOKEN // - case 219: { action. consumeDeclarationSimple(true); break; + case 210: { action. consumeDeclarationProblem(); break; } // - // Rule 220: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 220: { action. consumeDeclarationSimple(true); break; } // - // Rule 221: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 221: { action. consumeDeclarationSpecifiersSimple(); break; + case 221: { action. consumeDeclarationSimple(true); break; } // - // Rule 222: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 222: { action. consumeDeclarationSpecifiersComposite(); break; + case 222: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 223: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 224: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 225: { action. consumeDeclarationSpecifiersTypeName(); break; + case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers_opt ::= $Empty + // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 227: { action. consumeEmpty(); break; + case 226: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 231: no_type_declaration_specifier ::= friend + // Rule 228: declaration_specifiers_opt ::= $Empty // - case 231: { action. consumeToken(); break; + case 228: { action. consumeEmpty(); break; } // - // Rule 232: no_type_declaration_specifier ::= typedef + // Rule 232: no_type_declaration_specifier ::= friend // case 232: { action. consumeToken(); break; } // - // Rule 252: storage_class_specifier ::= auto + // Rule 233: no_type_declaration_specifier ::= typedef // - case 252: { action. consumeToken(); break; + case 233: { action. consumeToken(); break; } // - // Rule 253: storage_class_specifier ::= register + // Rule 253: storage_class_specifier ::= auto // case 253: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= static + // Rule 254: storage_class_specifier ::= register // case 254: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= extern + // Rule 255: storage_class_specifier ::= static // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= mutable + // Rule 256: storage_class_specifier ::= extern // case 256: { action. consumeToken(); break; } // - // Rule 257: function_specifier ::= inline + // Rule 257: storage_class_specifier ::= mutable // case 257: { action. consumeToken(); break; } // - // Rule 258: function_specifier ::= virtual + // Rule 258: function_specifier ::= inline // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= explicit + // Rule 259: function_specifier ::= virtual // case 259: { action. consumeToken(); break; } // - // Rule 260: simple_type_specifier ::= char + // Rule 260: function_specifier ::= explicit // case 260: { action. consumeToken(); break; } // - // Rule 261: simple_type_specifier ::= wchar_t + // Rule 261: simple_type_specifier ::= simple_type_specifier_token // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= bool + // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 262: { action. consumeToken(); break; - } - - // - // Rule 263: simple_type_specifier ::= short - // - case 263: { action. consumeToken(); break; - } - - // - // Rule 264: simple_type_specifier ::= int - // - case 264: { action. consumeToken(); break; - } - - // - // Rule 265: simple_type_specifier ::= long - // - case 265: { action. consumeToken(); break; - } - - // - // Rule 266: simple_type_specifier ::= signed - // - case 266: { action. consumeToken(); break; - } - - // - // Rule 267: simple_type_specifier ::= unsigned - // - case 267: { action. consumeToken(); break; - } - - // - // Rule 268: simple_type_specifier ::= float - // - case 268: { action. consumeToken(); break; - } - - // - // Rule 269: simple_type_specifier ::= double - // - case 269: { action. consumeToken(); break; + case 275: { action. consumeQualifiedId(false); break; } // - // Rule 270: simple_type_specifier ::= void + // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 270: { action. consumeToken(); break; + case 276: { action. consumeQualifiedId(false); break; } // - // Rule 273: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 273: { action. consumeQualifiedId(false); break; + case 277: { action. consumeQualifiedId(false); break; } // - // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 274: { action. consumeQualifiedId(false); break; + case 278: { action. consumeQualifiedId(true); break; } // - // Rule 275: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 275: { action. consumeQualifiedId(false); break; + case 280: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 276: { action. consumeQualifiedId(true); break; + case 281: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 278: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 278: { action. consumeTypeSpecifierElaborated(false); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 286: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 279: { action. consumeTypeSpecifierElaborated(true); break; + case 286: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 280: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 287: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 280: { action. consumeTypeSpecifierElaborated(false); break; + case 287: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 282: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } + // Rule 293: enumerator_definition ::= identifier_token // - case 282: { action. consumeTypeSpecifierEnumeration(false); break; + case 293: { action. consumeEnumerator(false); break; } // - // Rule 283: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } + // Rule 294: enumerator_definition ::= identifier_token = constant_expression // - case 283: { action. consumeTypeSpecifierEnumeration(true); break; + case 294: { action. consumeEnumerator(true); break; } // - // Rule 289: enumerator_definition ::= identifier_token + // Rule 296: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 289: { action. consumeEnumerator(false); break; + case 296: { action. consumeNamespaceDefinition(true); break; } // - // Rule 290: enumerator_definition ::= identifier_token = constant_expression + // Rule 297: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 290: { action. consumeEnumerator(true); break; + case 297: { action. consumeNamespaceDefinition(false); break; } // - // Rule 292: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 292: { action. consumeNamespaceDefinition(true); break; + case 299: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 293: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 293: { action. consumeNamespaceDefinition(false); break; + case 300: { action. consumeUsingDeclaration(); break; } // - // Rule 295: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 301: typename_opt ::= typename // - case 295: { action. consumeNamespaceAliasDefinition(); break; + case 301: { action. consumePlaceHolder(); break; } // - // Rule 296: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 302: typename_opt ::= $Empty // - case 296: { action. consumeUsingDeclaration(); break; + case 302: { action. consumeEmpty(); break; } // - // Rule 297: typename_opt ::= typename + // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 297: { action. consumePlaceHolder(); break; + case 303: { action. consumeUsingDirective(); break; } // - // Rule 298: typename_opt ::= $Empty + // Rule 304: asm_definition ::= asm ( stringlit ) ; // - case 298: { action. consumeEmpty(); break; + case 304: { action. consumeDeclarationASM(); break; } // - // Rule 299: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 305: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 299: { action. consumeUsingDirective(); break; + case 305: { action. consumeLinkageSpecification(); break; } // - // Rule 300: asm_definition ::= asm ( stringlit ) ; + // Rule 306: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 300: { action. consumeDeclarationASM(); break; + case 306: { action. consumeLinkageSpecification(); break; } // - // Rule 301: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 311: init_declarator_complete ::= init_declarator // - case 301: { action. consumeLinkageSpecification(); break; + case 311: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 302: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 313: init_declarator ::= complete_declarator initializer // - case 302: { action. consumeLinkageSpecification(); break; + case 313: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 307: init_declarator_complete ::= init_declarator + // Rule 316: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 307: { action. consumeInitDeclaratorComplete(); break; + case 316: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 309: init_declarator ::= complete_declarator initializer + // Rule 318: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 309: { action. consumeDeclaratorWithInitializer(true); break; + case 318: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 312: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 322: basic_direct_declarator ::= declarator_id_name // - case 312: { action. consumeDeclaratorWithPointer(true); break; + case 322: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 314: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 323: basic_direct_declarator ::= ( declarator ) // - case 314: { action. consumeDeclaratorWithPointer(true); break; + case 323: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 318: basic_direct_declarator ::= declarator_id_name + // Rule 324: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 318: { action. consumeDirectDeclaratorIdentifier(); break; + case 324: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 319: basic_direct_declarator ::= ( declarator ) + // Rule 325: array_direct_declarator ::= array_direct_declarator array_modifier // - case 319: { action. consumeDirectDeclaratorBracketed(); break; + case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 320: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 326: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 320: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 321: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 327: array_modifier ::= [ constant_expression ] // - case 321: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 327: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 322: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 328: array_modifier ::= [ ] // - case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 328: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 323: array_modifier ::= [ constant_expression ] + // Rule 329: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 323: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 329: { action. consumePointer(); break; } // - // Rule 324: array_modifier ::= [ ] + // Rule 330: ptr_operator ::= pointer_hook & pointer_hook // - case 324: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 330: { action. consumeReferenceOperator(); break; } // - // Rule 325: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 331: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 325: { action. consumePointer(); break; + case 331: { action. consumePointerToMember(); break; } // - // Rule 326: ptr_operator ::= pointer_hook & pointer_hook + // Rule 338: cv_qualifier ::= const // - case 326: { action. consumeReferenceOperator(); break; + case 338: { action. consumeToken(); break; } // - // Rule 327: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 339: cv_qualifier ::= volatile // - case 327: { action. consumePointerToMember(); break; + case 339: { action. consumeToken(); break; } // - // Rule 334: cv_qualifier ::= const + // Rule 341: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 334: { action. consumeToken(); break; + case 341: { action. consumeQualifiedId(false); break; } // - // Rule 335: cv_qualifier ::= volatile + // Rule 342: type_id ::= type_specifier_seq // - case 335: { action. consumeToken(); break; + case 342: { action. consumeTypeId(false); break; } // - // Rule 337: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 343: type_id ::= type_specifier_seq abstract_declarator // - case 337: { action. consumeQualifiedId(false); break; + case 343: { action. consumeTypeId(true); break; } // - // Rule 338: type_id ::= type_specifier_seq + // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 338: { action. consumeTypeId(false); break; + case 346: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 339: type_id ::= type_specifier_seq abstract_declarator + // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 339: { action. consumeTypeId(true); break; + case 347: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 351: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 342: { action. consumeDeclaratorWithPointer(false); break; + case 351: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 352: basic_direct_abstract_declarator ::= ( ) // - case 343: { action. consumeDeclaratorWithPointer(true); break; + case 352: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 347: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 353: array_direct_abstract_declarator ::= array_modifier // - case 347: { action. consumeDirectDeclaratorBracketed(); break; + case 353: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 348: basic_direct_abstract_declarator ::= ( ) + // Rule 354: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 348: { action. consumeAbstractDeclaratorEmpty(); break; + case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 349: array_direct_abstract_declarator ::= array_modifier + // Rule 355: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 349: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 350: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 356: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 356: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 351: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 357: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 357: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 352: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 352: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 358: { action. consumePlaceHolder(); break; } // - // Rule 353: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 353: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 359: { action. consumeEmpty(); break; } // - // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 354: { action. consumePlaceHolder(); break; + case 360: { action. consumePlaceHolder(); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 366: abstract_declarator_opt ::= $Empty // - case 355: { action. consumeEmpty(); break; + case 366: { action. consumeEmpty(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 367: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 356: { action. consumePlaceHolder(); break; + case 367: { action. consumeParameterDeclaration(); break; } // - // Rule 362: abstract_declarator_opt ::= $Empty + // Rule 368: parameter_declaration ::= declaration_specifiers // - case 362: { action. consumeEmpty(); break; + case 368: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 363: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 370: parameter_init_declarator ::= declarator = parameter_initializer // - case 363: { action. consumeParameterDeclaration(); break; + case 370: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 364: parameter_declaration ::= declaration_specifiers + // Rule 372: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 364: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 372: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 366: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 373: parameter_init_declarator ::= = parameter_initializer // - case 366: { action. consumeDeclaratorWithInitializer(true); break; + case 373: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 368: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 374: parameter_initializer ::= assignment_expression // - case 368: { action. consumeDeclaratorWithInitializer(true); break; + case 374: { action. consumeInitializer(); break; } // - // Rule 369: parameter_init_declarator ::= = parameter_initializer + // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 369: { action. consumeDeclaratorWithInitializer(false); break; + case 375: { action. consumeFunctionDefinition(false); break; } // - // Rule 370: parameter_initializer ::= assignment_expression + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 370: { action. consumeInitializer(); break; + case 376: { action. consumeFunctionDefinition(true); break; } // - // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 379: initializer ::= ( expression_list ) // - case 371: { action. consumeFunctionDefinition(false); break; + case 379: { action. consumeInitializerConstructor(); break; } // - // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 380: initializer_clause ::= assignment_expression // - case 372: { action. consumeFunctionDefinition(true); break; + case 380: { action. consumeInitializer(); break; } // - // Rule 375: initializer ::= ( expression_list ) + // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // - case 375: { action. consumeInitializerConstructor(); break; + case 382: { action. consumeInitializerList(); break; } // - // Rule 376: initializer_clause ::= assignment_expression + // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // - case 376: { action. consumeInitializer(); break; + case 383: { action. consumeInitializerList(); break; } // - // Rule 378: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 384: initializer_list ::= { <openscope-ast> } // - case 378: { action. consumeInitializerList(); break; + case 384: { action. consumeInitializerList(); break; } // - // Rule 379: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 385: start_initializer_list ::= $Empty // - case 379: { action. consumeInitializerList(); break; + case 385: { action. initializerListStart(); break; } // - // Rule 380: initializer_list ::= { <openscope-ast> } + // Rule 386: end_initializer_list ::= $Empty // - case 380: { action. consumeInitializerList(); break; + case 386: { action. initializerListEnd(); break; } // - // Rule 381: start_initializer_list ::= $Empty + // Rule 391: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 381: { action. initializerListStart(); break; + case 391: { action. consumeClassSpecifier(); break; } // - // Rule 382: end_initializer_list ::= $Empty + // Rule 392: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // - case 382: { action. initializerListEnd(); break; + case 392: { action. consumeClassHead(false); break; } // - // Rule 387: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 393: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 387: { action. consumeClassSpecifier(); break; + case 393: { action. consumeClassHead(false); break; } // - // Rule 388: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 388: { action. consumeClassHead(false); break; + case 394: { action. consumeClassHead(true); break; } // - // Rule 389: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 389: { action. consumeClassHead(false); break; + case 395: { action. consumeClassHead(true); break; } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 399: identifier_name_opt ::= $Empty // - case 390: { action. consumeClassHead(true); break; - } + case 399: { action. consumeEmpty(); break; + } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 403: visibility_label ::= access_specifier_keyword : // - case 391: { action. consumeClassHead(true); break; + case 403: { action. consumeVisibilityLabel(); break; } // - // Rule 395: identifier_name_opt ::= $Empty - // - case 395: { action. consumeEmpty(); break; - } - - // - // Rule 399: visibility_label ::= access_specifier_keyword : + // Rule 404: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 399: { action. consumeVisibilityLabel(); break; + case 404: { action. consumeDeclarationSimple(true); break; } // - // Rule 400: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 405: member_declaration ::= declaration_specifiers_opt ; // - case 400: { action. consumeDeclarationSimple(true); break; + case 405: { action. consumeDeclarationSimple(false); break; } // - // Rule 401: member_declaration ::= declaration_specifiers_opt ; + // Rule 408: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 401: { action. consumeDeclarationSimple(false); break; + case 408: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 404: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 414: member_declaration ::= ERROR_TOKEN // - case 404: { action. consumeMemberDeclarationQualifiedId(); break; + case 414: { action. consumeDeclarationProblem(); break; } // - // Rule 410: member_declaration ::= ERROR_TOKEN + // Rule 423: member_declarator ::= declarator constant_initializer // - case 410: { action. consumeDeclarationProblem(); break; + case 423: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 419: member_declarator ::= declarator constant_initializer + // Rule 424: member_declarator ::= bit_field_declarator : constant_expression // - case 419: { action. consumeMemberDeclaratorWithInitializer(); break; + case 424: { action. consumeBitField(true); break; } // - // Rule 420: member_declarator ::= bit_field_declarator : constant_expression + // Rule 425: member_declarator ::= : constant_expression // - case 420: { action. consumeBitField(true); break; + case 425: { action. consumeBitField(false); break; } // - // Rule 421: member_declarator ::= : constant_expression + // Rule 426: bit_field_declarator ::= identifier_name // - case 421: { action. consumeBitField(false); break; + case 426: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 422: bit_field_declarator ::= identifier_name + // Rule 427: constant_initializer ::= = constant_expression // - case 422: { action. consumeDirectDeclaratorIdentifier(); break; + case 427: { action. consumeInitializer(); break; } // - // Rule 423: constant_initializer ::= = constant_expression + // Rule 433: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 423: { action. consumeInitializer(); break; + case 433: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 429: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 434: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 429: { action. consumeBaseSpecifier(false, false); break; + case 434: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 430: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 430: { action. consumeBaseSpecifier(true, true); break; + case 435: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 431: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 431: { action. consumeBaseSpecifier(true, true); break; + case 436: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 432: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 437: access_specifier_keyword ::= private // - case 432: { action. consumeBaseSpecifier(true, false); break; + case 437: { action. consumeToken(); break; } // - // Rule 433: access_specifier_keyword ::= private + // Rule 438: access_specifier_keyword ::= protected // - case 433: { action. consumeToken(); break; + case 438: { action. consumeToken(); break; } // - // Rule 434: access_specifier_keyword ::= protected + // Rule 439: access_specifier_keyword ::= public // - case 434: { action. consumeToken(); break; + case 439: { action. consumeToken(); break; } // - // Rule 435: access_specifier_keyword ::= public + // Rule 441: access_specifier_keyword_opt ::= $Empty // - case 435: { action. consumeToken(); break; + case 441: { action. consumeEmpty(); break; } // - // Rule 437: access_specifier_keyword_opt ::= $Empty + // Rule 443: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 437: { action. consumeEmpty(); break; + case 443: { action. consumeTemplateId(); break; } // - // Rule 439: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 444: conversion_function_id ::= operator conversion_type_id // - case 439: { action. consumeTemplateId(); break; + case 444: { action. consumeConversionName(); break; } // - // Rule 440: conversion_function_id ::= operator conversion_type_id + // Rule 445: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 440: { action. consumeConversionName(); break; + case 445: { action. consumeTypeId(true); break; } // - // Rule 441: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 446: conversion_type_id ::= type_specifier_seq // - case 441: { action. consumeTypeId(true); break; + case 446: { action. consumeTypeId(false); break; } // - // Rule 442: conversion_type_id ::= type_specifier_seq + // Rule 447: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 442: { action. consumeTypeId(false); break; + case 447: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 443: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 453: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 443: { action. consumeDeclaratorWithPointer(false); break; + case 453: { action. consumeConstructorChainInitializer(); break; } // - // Rule 449: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 454: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 449: { action. consumeConstructorChainInitializer(); break; + case 454: { action. consumeQualifiedId(false); break; } // - // Rule 450: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 457: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 450: { action. consumeQualifiedId(false); break; + case 457: { action. consumeTemplateId(); break; } // - // Rule 453: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 458: operator_id_name ::= operator overloadable_operator // - case 453: { action. consumeTemplateId(); break; + case 458: { action. consumeOperatorName(); break; } // - // Rule 454: operator_id_name ::= operator overloadable_operator + // Rule 501: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 454: { action. consumeOperatorName(); break; + case 501: { action. consumeTemplateDeclaration(); break; } // - // Rule 497: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 502: export_opt ::= export // - case 497: { action. consumeTemplateDeclaration(); break; + case 502: { action. consumePlaceHolder(); break; } // - // Rule 498: export_opt ::= export + // Rule 503: export_opt ::= $Empty // - case 498: { action. consumePlaceHolder(); break; + case 503: { action. consumeEmpty(); break; } // - // Rule 499: export_opt ::= $Empty + // Rule 507: template_parameter ::= parameter_declaration // - case 499: { action. consumeEmpty(); break; + case 507: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 503: template_parameter ::= parameter_declaration + // Rule 508: type_parameter ::= class identifier_name_opt // - case 503: { action. consumeTemplateParamterDeclaration(); break; + case 508: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 504: type_parameter ::= class identifier_name_opt + // Rule 509: type_parameter ::= class identifier_name_opt = type_id // - case 504: { action. consumeSimpleTypeTemplateParameter(false); break; + case 509: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 505: type_parameter ::= class identifier_name_opt = type_id + // Rule 510: type_parameter ::= typename identifier_name_opt // - case 505: { action. consumeSimpleTypeTemplateParameter(true); break; + case 510: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 506: type_parameter ::= typename identifier_name_opt + // Rule 511: type_parameter ::= typename identifier_name_opt = type_id // - case 506: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 507: type_parameter ::= typename identifier_name_opt = type_id + // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 507: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 508: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 508: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 513: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 514: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 509: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 514: { action. consumeTemplateId(); break; } // - // Rule 510: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 519: template_argument ::= assignment_expression // - case 510: { action. consumeTemplateId(); break; + case 519: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 515: template_argument ::= assignment_expression + // Rule 520: template_argument ::= type_id // - case 515: { action. consumeTemplateArgumentExpression(); break; + case 520: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 516: template_argument ::= type_id + // Rule 521: explicit_instantiation ::= template declaration // - case 516: { action. consumeTemplateArgumentTypeId(); break; + case 521: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 517: explicit_instantiation ::= template declaration + // Rule 522: explicit_specialization ::= template < > declaration // - case 517: { action. consumeTemplateExplicitInstantiation(); break; + case 522: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 518: explicit_specialization ::= template < > declaration + // Rule 523: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 518: { action. consumeTemplateExplicitSpecialization(); break; + case 523: { action. consumeStatementTryBlock(true); break; } // - // Rule 519: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 524: try_block ::= try compound_statement // - case 519: { action. consumeStatementTryBlock(); break; + case 524: { action. consumeStatementTryBlock(false); break; } // - // Rule 522: handler ::= catch ( exception_declaration ) compound_statement + // Rule 527: handler ::= catch ( exception_declaration ) compound_statement // - case 522: { action. consumeStatementCatchHandler(false); break; + case 527: { action. consumeStatementCatchHandler(false); break; } // - // Rule 523: handler ::= catch ( ... ) compound_statement + // Rule 528: handler ::= catch ( ... ) compound_statement // - case 523: { action. consumeStatementCatchHandler(true); break; + case 528: { action. consumeStatementCatchHandler(true); break; } // - // Rule 524: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 524: { action. consumeDeclarationSimple(true); break; + case 529: { action. consumeDeclarationSimple(true); break; } // - // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 525: { action. consumeDeclarationSimple(true); break; + case 530: { action. consumeDeclarationSimple(true); break; } // - // Rule 526: exception_declaration ::= type_specifier_seq + // Rule 531: exception_declaration ::= type_specifier_seq // - case 526: { action. consumeDeclarationSimple(false); break; + case 531: { action. consumeDeclarationSimple(false); break; } // - // Rule 528: exception_specification ::= throw ( ) + // Rule 533: exception_specification ::= throw ( ) // - case 528: { action. consumePlaceHolder(); break; + case 533: { action. consumePlaceHolder(); break; } // - // Rule 534: no_sizeof_type_id_start ::= ERROR_TOKEN + // Rule 539: no_sizeof_type_id_start ::= ERROR_TOKEN // - case 534: { action. consumeEmpty(); break; + case 539: { action. consumeEmpty(); 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 a283f87f5ec..e261e4643eb 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 @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -56,470 +56,479 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,1,1,0,1,1,1,1,1,1, 1,1,1,3,4,3,2,1,4,2, 1,2,5,7,5,1,4,1,0,5, - 7,8,1,1,2,2,3,2,3,1, + 7,2,8,1,1,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,1,0,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,1,1, + 1,1,1,1,1,1,2,1,0,4, + 4,2,2,2,2,2,1,0,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,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3,4,4,5,2,5,6,5, - 0,6,7,0,1,3,1,0,1,3, - 1,7,6,0,7,6,1,0,6,5, - 6,4,1,3,1,0,1,1,2,1, - 1,3,1,3,1,1,1,1,3,9, - 2,2,3,2,5,3,7,0,1,2, - 2,1,0,1,1,1,3,1,2,1, - 1,2,3,1,1,1,3,2,1,2, - 2,9,8,2,1,3,1,3,1,0, - 1,0,2,1,1,3,1,3,2,1, - 5,8,1,2,3,1,1,7,6,3, - 0,0,1,3,1,1,5,6,6,7, - 7,0,0,1,0,1,1,1,2,4, - 2,2,1,5,1,1,1,1,1,1, - 1,2,1,0,1,3,1,1,2,3, - 2,1,2,2,1,0,1,3,3,5, - 5,4,1,1,1,1,0,1,5,2, - 2,1,2,2,1,0,1,3,4,3, - 1,1,5,2,1,1,3,3,1,1, + 1,1,1,1,3,4,4,5,2,5, + 6,5,0,1,0,7,8,0,1,3, + 1,0,1,3,1,7,6,0,7,6, + 1,0,6,5,6,4,1,3,1,0, + 1,1,2,1,1,3,1,3,1,1, + 1,1,3,9,2,2,3,2,5,3, + 7,0,1,2,2,1,0,1,1,1, + 3,1,2,1,1,2,3,1,1,1, + 3,2,1,2,2,9,8,2,1,3, + 1,3,1,0,1,0,2,1,1,3, + 1,3,2,1,5,8,1,2,3,1, + 1,7,6,3,0,0,1,3,1,1, + 5,6,6,7,7,0,0,1,0,1, + 1,1,2,4,2,2,1,5,1,1, + 1,1,1,1,1,2,1,0,1,3, + 1,1,2,3,2,1,2,2,1,0, + 1,3,3,5,5,4,1,1,1,1, + 0,1,5,2,2,1,2,2,1,0, + 1,3,4,3,1,1,5,2,1,1, + 3,3,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,2,2,7,1,0,1, - 3,1,1,2,4,2,4,7,9,5, - 1,3,1,0,1,1,2,4,4,1, - 2,5,5,3,3,1,4,3,1,0, - 1,3,1,1,-62,0,0,0,-257,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-2,0,0, - 0,0,0,-123,0,0,0,0,0,-404, - 0,0,-10,0,0,0,0,0,-297,-281, - 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,-231,0,0,-14,0, - 0,0,0,-54,-186,-16,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-412,0,0,0,-4,0, - 0,0,0,0,0,0,-5,-112,0,-146, - 0,0,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,-114,0,0, + 1,1,1,1,1,1,1,1,2,2, + 7,1,0,1,3,1,1,2,4,2, + 4,7,9,5,1,3,1,0,1,1, + 2,4,4,2,1,2,5,5,3,3, + 1,4,3,1,0,1,3,1,1,-62, + 0,0,0,-422,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,-123, + 0,0,0,0,0,-49,0,0,-406,0, + 0,0,0,-314,-281,0,0,0,0,0, + 0,0,0,0,0,0,0,-382,-19,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -188,0,0,0,0,0,-7,0,0,-287, - -147,-121,0,-71,0,0,0,-243,0,0, - 0,0,0,0,0,0,0,-8,0,-115, + 0,-177,0,0,-1,0,0,0,0,0, + -10,-16,0,0,0,0,0,0,0,0, + 0,0,-2,0,0,0,0,0,0,0, + -58,0,0,0,0,0,0,0,0,0, + 0,0,-53,0,0,-146,0,0,0,-4, 0,0,0,0,0,0,0,0,0,0, + -482,-126,0,0,0,0,0,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,-9,0, - 0,0,-408,0,-463,0,0,0,0,0, - 0,-118,-373,0,0,0,0,0,-335,0, - 0,0,0,-11,0,0,0,0,0,-64, - 0,-12,0,0,0,0,-241,-328,0,-356, - 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,-128,0,0, + 0,0,-186,-118,0,0,-120,0,0,0, + -71,0,0,0,0,0,0,0,0,0, + 0,0,0,-219,0,0,-115,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,-255,0,0,-117,0,0,0, - 0,-13,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-218,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,-136,0,0,0,0, + 0,-5,0,0,0,-72,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,-28,0,0,0,0,0,0,0,-65, - 0,0,-271,0,0,-374,0,0,0,0, - -224,0,0,0,0,0,-53,0,-187,0, - 0,0,0,0,-29,0,0,0,0,0, - 0,-511,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-147,-119,0,-310, + -6,-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,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-462, - 0,0,0,0,-535,0,0,0,-136,0, + 0,-117,0,0,0,-7,0,0,0,0, + 0,0,0,0,0,0,-8,0,-357,0, + 0,-141,0,0,-188,-377,0,-405,0,0, + -9,0,0,0,-218,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-49,0,0,0,0,0,-393, - 0,0,-59,0,0,0,0,0,-134,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-51,-11,0,0,0,0,0, + 0,0,0,0,-224,0,-12,0,0,0, + -121,-335,0,0,0,-129,0,0,0,0, + 0,0,-13,0,0,0,0,-137,-15,-513, + 0,0,0,-54,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-241,0,0,0,0,0,0, + 0,0,0,-242,0,0,0,0,0,0, + 0,0,0,-537,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,-330,0,0,0,-128,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-30,0,0,0,0,0, - -50,0,0,0,0,0,-51,0,0,0, - 0,0,0,0,-58,0,0,0,0,-207, - 0,0,0,-442,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-134,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-31,0,0,0, - 0,0,0,0,0,0,0,0,-360,0, - 0,0,0,0,0,0,-3,0,0,0, - -60,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-119, - 0,0,0,0,0,-57,0,0,0,0, - 0,-129,0,0,-228,0,0,0,-275,0, - 0,0,-107,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-204,0,0, - 0,0,0,-32,0,0,0,0,0,0, - 0,0,0,-318,0,0,0,-113,0,0, + 0,0,0,0,0,0,0,-57,0,0, + 0,0,0,-228,0,0,-29,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,-33,0,0,0, - 0,0,0,0,0,0,-34,0,-200,0, - 0,-225,0,0,0,-126,0,0,-35,0, - 0,0,0,-210,-238,0,0,-79,0,0, + 0,0,0,0,-255,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-297,0, + 0,0,0,0,-187,0,0,-342,0,-207, + 0,0,0,-444,0,0,0,0,0,0, 0,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,-31, + 0,0,0,0,0,0,0,-3,0,0, 0,0,0,0,0,0,0,0,0,0, - -319,0,0,0,0,0,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,-387,0,-342,0,0,0,0, - 0,0,-177,0,0,-39,0,0,0,0, + 0,-32,0,0,0,0,0,-395,0,0, + 0,0,0,-299,0,0,0,0,0,0, + -330,0,0,0,-59,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-220,0,0,0,0,0, + 0,0,0,0,-116,0,0,0,0,0, + 0,0,0,0,-275,0,0,0,-221,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-299,0,0,0,-467,0, - -262,0,0,-375,0,0,0,-41,0,0, - 0,-37,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-337,0,0,-137,0,0,0,-94, + -262,0,0,-296,0,0,0,-375,0,0, + 0,0,0,0,0,0,0,0,0,-318, 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,0, - 0,0,-38,0,0,0,0,-143,0,0, - 0,-95,0,0,0,-151,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-328, + 0,0,0,0,0,-33,0,0,-204,-64, + 0,0,0,-414,0,0,0,-319,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,0,0,0,0,0,0, - 0,0,0,0,0,0,-534,0,0,-152, - 0,0,0,-96,0,0,0,0,0,0, + 0,-257,0,-376,0,0,-34,0,0,0, + -39,0,0,0,-107,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-287,0,0,0,0,0, + 0,0,0,0,-389,0,0,0,0,-184, + 0,0,0,0,-41,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,-278,0,0,0,-97,0,0,0,-196, + 0,0,0,0,0,0,0,0,-35,0, + 0,0,0,0,-337,0,0,0,-469,0, + 0,0,0,0,0,0,0,-94,0,0, + 0,-354,0,0,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,-55,0,0,0,0,0, - 0,0,0,-194,0,0,0,-98,0,0, + 0,-386,0,0,0,0,0,0,0,0, + 0,0,0,-36,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,0, 0,0,0,0,0,0,0,0,0,0, - -265,0,0,0,0,0,0,0,0,0, - -527,0,-184,0,0,-56,0,0,0,-99, - 0,0,0,-205,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,0,0,0,0,0,-331,0,0, - 0,-100,0,0,0,0,0,0,0,0, + 0,0,0,-96,0,0,0,-113,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-476,0,0,0,0,0, - -198,0,0,0,0,0,-203,0,0,-362, - 0,0,0,-101,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-478,0,0, + 0,0,0,-37,0,0,0,-528,0,-38, + 0,0,0,0,0,0,-97,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,0,0,0,0,0,0, - 0,0,-229,0,0,0,0,0,0,0, - 0,-480,-219,0,0,-102,0,0,0,0, + 0,0,-40,0,0,-291,-143,0,0,-98, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-66,0, - 0,0,0,0,-254,0,0,0,0,0, - 0,0,0,-279,-220,0,0,-103,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -67,0,0,0,0,0,-267,0,0,0, - 0,0,-69,0,0,-300,-221,0,0,-104, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-55,0,0,0,0,0,-56, + 0,0,0,-529,0,-66,0,0,-67,-152, + 0,0,-99,0,0,0,0,0,0,0, 0,0,0,0,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,0, - 0,0,-376,0,-268,0,0,-450,0,0, - 0,-211,0,0,0,0,0,0,0,0, + 0,-332,-194,0,0,-100,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-70,0,0,0,0,0, - -108,0,0,0,0,0,-270,0,0,-109, - 0,0,0,-529,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-110,0,0,0, - 0,0,-403,0,0,0,0,0,-274,0, - 0,-322,0,0,0,-345,0,0,0,-314, + 0,0,0,0,0,-198,0,0,0,0, + 0,0,0,0,-70,-331,0,0,-101,0, + 0,0,-151,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,-203,0, + 0,0,0,0,0,0,0,-108,0,0, + 0,-102,0,0,0,-196,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-111,0, - -131,0,0,-355,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, + -109,0,0,0,-103,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-210,0, + 0,0,0,0,-254,0,0,0,0,0, + -267,0,0,-110,0,0,0,-104,0,0, + 0,-205,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-433,0,0,0,-138,-344,-435,0,0, - 0,-379,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, + 0,-111,0,0,0,0,0,-268,0,0, + 0,0,0,-131,0,0,-138,0,0,0, + -211,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-364,0,0,-380, + 0,0,0,0,-112,0,0,0,0,0, + -270,0,0,0,0,0,-274,0,0,-373, + 0,0,0,-531,0,0,0,-225,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,-278,0,0,0,-303,0,-140, + 0,0,0,-279,0,0,-345,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-286,0, - 0,0,0,0,0,0,0,-469,0,0, - 0,-139,-347,-470,0,0,0,-453,0,0, 0,0,0,0,0,0,0,0,0,0, + -417,0,0,0,0,0,-286,0,0,0, + 0,0,-153,0,0,-356,0,0,0,-344, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -140,0,-291,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,-332,0, - 0,0,0,0,-304,0,0,0,0,0, - -148,0,0,0,-402,0,0,0,0,0, - 0,0,0,-93,0,0,0,0,0,0, + 0,0,0,0,-176,0,0,0,0,-435, + 0,0,0,-380,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-153,0,0,0, - 0,0,0,0,0,0,-91,0,0,0, - -154,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-155, - 0,0,0,0,0,0,0,0,-92,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,0,0,0,-354,0,-88, + 0,0,0,0,0,0,0,-300,0,-154, + 0,0,-381,0,0,0,0,0,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,0,0,0,0,-394,0, + 0,0,-155,0,0,0,0,0,-233,0, + 0,-223,0,0,0,-355,-437,0,0,0, + -455,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-89,0,0,0,-158,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-385, - -209,0,0,0,-141,0,0,0,-159,0, - -176,0,0,0,-384,0,0,0,0,0, - -160,0,0,-223,0,0,0,-272,0,0, - -377,0,0,0,0,0,-313,0,-190,0, - 0,0,-90,0,0,0,0,0,0,0, + 0,0,0,0,-156,0,-265,0,0,-93, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-161,0,0,0,0, - -61,0,-308,-309,0,-43,0,0,-310,0, - 0,0,0,-235,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-540,0,0, - -536,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-232,0,0,0, - 0,-305,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-372,0,-390,-162,-181, - -296,0,0,0,0,0,0,0,-466,0, - -18,0,0,0,-311,-163,0,-164,0,0, - -233,0,0,0,0,-321,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,-145, - 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,-83,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-240,0,0,0,0, - -165,0,0,0,-21,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,-72,0,0,0,-167,0,0,0, - 0,0,0,0,0,-168,-84,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,-85,0,0,0,-419,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-431,0,0,0, - 0,-150,0,0,0,-351,0,0,0,0, - 0,0,0,0,-170,0,-17,-320,-135,0, - 0,0,0,-381,-171,0,-239,0,0,0, - -127,0,0,0,0,0,-326,-172,0,0, - 0,-415,0,0,0,0,0,0,0,0, - 0,0,-451,0,-496,0,0,-245,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-173,0,-400,0, - 0,0,-52,0,0,0,0,0,0,-174, - 0,0,-333,0,0,0,0,-510,0,0, - 0,-175,0,0,0,0,0,0,-120,0, - 0,0,0,0,0,0,-178,0,0,0, - 0,0,0,0,0,0,0,-528,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,0,0,0, - 0,0,0,-179,0,0,0,0,0,0, - 0,-142,0,0,0,0,0,-317,0,0, - -185,0,0,0,0,0,0,0,-441,0, - 0,0,0,0,0,0,-352,0,0,0, - 0,0,0,0,0,-447,-336,-339,0,0, - 0,0,0,0,0,0,-180,0,0,0, - 0,0,-183,0,0,-191,0,0,0,0, - 0,0,0,0,0,-87,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-325,0,0,0,-192,0,0,0,0, - 0,0,0,0,0,0,-432,0,0,-237, - -48,0,-247,0,0,-197,0,-341,-358,0, - 0,0,0,-460,0,-420,-195,0,-259,0, - 0,-242,0,-357,0,0,0,0,0,0, - 0,0,-246,0,0,0,0,0,0,0, - 0,0,0,-366,0,0,-44,0,-206,-389, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-248,0,0,0,0,-483,-216,0,0, - 0,0,0,0,0,0,0,0,0,-217, - -226,0,-234,0,0,0,-488,0,0,0, - 0,-523,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-193,-236,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-485,-425,0,0,0,0,-397,0, - -249,-244,0,0,0,0,0,0,0,0, - 0,-273,0,0,0,0,0,-285,0,0, - 0,0,0,0,-290,0,0,0,0,0, - 0,0,-264,0,0,0,0,0,0,0, - 0,-250,0,0,0,0,0,0,-502,-414, - -284,0,0,0,-294,0,-295,-416,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-253,-258,0,0,0,0, - 0,0,0,-260,-506,0,0,0,0,0, - 0,0,-116,-323,0,0,0,0,0,0, - 0,0,0,0,-516,-261,-334,0,0,0, - 0,0,0,0,0,-276,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -361,-410,0,0,-388,-418,0,0,0,0, - -365,0,0,0,0,-277,0,-422,-411,0, - 0,0,0,0,0,0,0,0,0,0, - -518,-288,-423,0,0,0,0,0,0,0, - 0,-292,0,0,0,0,0,0,0,-293, - 0,-468,0,0,-301,0,0,0,0,0, - 0,0,0,0,0,0,0,-427,0,0, - -302,0,0,0,0,-430,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-42,0,0,0,0,0,-307,0,0, - 0,0,0,0,0,-520,0,0,0,0, - 0,0,0,0,0,0,0,0,-444,-1, - 0,-486,0,0,0,0,-122,-471,-359,-124, - 0,-45,-522,-315,0,0,0,-371,0,0, - -312,0,0,0,0,-316,-327,-346,0,-46, - 0,-455,-348,0,0,0,0,-367,0,-464, - 0,0,0,0,0,0,0,-370,0,0, - 0,0,0,-472,0,-383,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-473,0,-537,-395,0,0,0, - 0,0,0,0,0,0,0,-401,0,0, - 0,0,0,0,0,0,0,-475,0,-465, - -497,0,0,-396,0,0,0,0,0,0, - -398,-202,-338,0,0,0,0,0,-474,0, - -494,0,0,0,0,0,0,0,0,0, - 0,0,-542,-503,0,0,0,0,0,-478, 0,0,0,0,0,0,0,0,0,0, - -491,-399,-405,0,-407,0,0,-413,0,0, - 0,0,0,0,0,0,0,0,0,-524, - 0,0,0,0,0,-421,-505,0,0,0, - 0,-428,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-429,0,-452, - 0,0,0,0,0,0,0,-77,0,0, + 0,0,0,-148,0,0,0,-157,0,0, + 0,0,0,0,0,0,-158,-91,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -454,0,-78,0,0,0,0,0,0,0, + 0,-159,0,0,0,0,0,-365,0,0, + -92,0,0,0,-363,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-456,0,-80,0,0, - 0,-457,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -81,0,0,0,-458,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-378,0,0,0,0,0,0, - 0,0,0,0,0,0,-492,-443,0,0, - 0,0,0,0,0,0,0,0,0,0, - -22,0,0,0,-499,0,0,0,0,0, + -240,0,-88,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-498,-507,0,-459,0,0,-512,0, - 0,0,0,0,-515,-461,0,0,0,-479, - -481,-482,0,-484,-489,0,0,0,-493,0, - 0,0,-500,-508,-517,-525,-530,-541,0,-23, + 0,0,0,0,0,0,-160,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,0,0,0,0, - 0,-24,0,0,0,0,0,0,0,0, + 0,-90,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,-519,0,0, - 0,0,-25,0,0,0,0,0,0,0, + 0,0,0,0,0,-161,0,0,0,0, + -396,0,0,0,0,0,0,0,0,0, + 0,0,0,-82,0,0,0,-162,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-145,0,0, + 0,0,-490,-402,0,0,0,-403,0,0, + 0,-163,-283,-231,0,0,0,-385,0,0, + 0,0,0,-133,0,0,0,0,0,-272, + 0,0,0,-378,0,0,0,0,0,-164, + -298,0,0,0,-247,-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,0,0,0,-404,-471,0,0,0,0, + 0,0,-165,0,0,0,-538,0,0,0, + -166,0,0,0,0,0,0,0,0,-311, + -421,0,0,-434,0,0,0,0,0,0, + 0,-248,0,0,0,-84,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,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,-322,0,0, + 0,-235,0,0,0,0,0,0,0,0, + 0,0,0,0,-452,0,0,-190,0,0, + 0,-167,-305,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -127,0,0,0,-399,-52,0,0,0,0, + 0,0,-514,0,0,-238,0,0,0,0, + 0,0,0,0,-168,0,0,-249,-142,0, + 0,0,0,-250,0,-169,-388,0,0,0, + 0,0,0,0,0,0,0,0,-321,0, + 0,0,-284,0,0,0,0,0,-392,0, + -433,0,0,0,0,0,0,0,0,0, + -193,0,0,0,0,0,-472,0,0,0, + -122,0,0,-304,0,0,0,0,0,-181, + 0,0,0,0,0,-232,0,0,0,0, + 0,-308,0,0,0,0,-170,0,0,0, + 0,0,0,0,0,0,0,-512,-171,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-172,0, + -448,0,0,0,-351,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-347, + -173,-446,0,0,0,0,0,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,-174,0,0,-87,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -453,0,0,-175,0,-150,0,0,0,0, + 0,0,0,0,0,0,0,0,-479,0, + 0,0,-498,0,0,-209,0,0,0,-178, + 0,-48,-309,0,0,0,0,-179,-237,0, + 0,-359,0,0,-180,0,-320,0,0,0, + 0,0,0,0,0,0,0,-294,-183,0, + 0,0,0,-124,-243,0,-361,0,0,0, + 0,0,0,0,0,0,-530,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,0,0,0, + 0,0,0,-352,0,-464,0,-191,-259,0, + 0,0,0,-468,0,-326,0,0,0,0, + 0,0,0,-192,-61,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-325,0,0,0,0,0, + 0,0,0,0,0,0,0,-457,0,0, + 0,0,-78,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-418,0,-149,0, + 0,0,0,0,0,-42,0,-195,0,0, + 0,0,0,0,0,0,-295,-206,0,0, + -462,0,0,0,0,-216,0,0,0,0, + 0,-217,0,-226,0,0,-18,0,0,0, + 0,-234,0,0,0,0,0,0,0,0, + 0,-412,0,-43,-236,0,0,0,-485,0, + 0,-353,0,0,0,-244,0,0,0,0, + 0,0,0,0,0,0,0,0,-253,-258, + 0,0,0,-239,0,0,0,0,0,0, + 0,0,0,0,0,0,-487,0,0,0, + 0,0,-260,-282,-323,0,0,0,0,0, + 0,0,0,0,0,0,-245,0,0,0, + 0,-246,0,0,0,0,0,0,0,0, + 0,0,0,0,-504,0,0,-317,0,0, + 0,-350,-362,0,0,0,0,0,0,0, + 0,0,0,0,-273,0,0,0,0,-390, + -261,0,0,0,0,0,0,0,0,0, + 0,0,-518,0,0,-333,0,0,0,0, + -336,0,0,0,0,0,0,0,0,0, + 0,0,0,-339,-341,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -520,0,0,-358,0,0,-276,0,-73,0, + 0,0,0,0,0,0,0,0,0,-367, + 0,0,-475,0,0,0,0,-271,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-277,-391,0,-288,0,0,0,0,0, + -466,0,0,0,0,0,0,-185,0,0, + 0,-47,0,0,0,-292,-293,0,-301,0, + 0,0,0,0,0,0,-522,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-372,0,0,0,-416,-269,0,0, + 0,0,0,-524,0,0,0,0,-263,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-302,-313,0,-420,-44,-135,0,0,0, + 0,-334,-307,0,-413,0,0,0,-315,0, + 0,0,0,0,-424,-470,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -425,-473,0,0,0,0,-467,0,0,0, + 0,0,0,0,0,0,0,0,0,-316, + 0,0,-68,0,0,-539,0,0,-327,0, + -285,0,0,0,0,0,-346,0,-348,0, + 0,0,0,-45,-360,0,-364,0,-441,0, + -368,-371,0,-429,0,0,-384,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-480,0,0,0,0,0,0,0,0, + 0,0,-544,0,-465,-397,0,-74,0,0, + -476,0,0,-536,0,0,0,0,0,0, + 0,-312,0,0,0,0,0,0,0,0, + 0,0,0,-398,0,-400,-432,0,0,0, + 0,0,0,0,0,0,0,0,-474,0, + 0,0,0,0,0,0,0,0,0,-542, + -401,-407,0,0,0,0,0,0,-409,0, + -505,0,0,0,0,0,0,0,-79,0, + 0,0,-415,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,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,-81,0,0,0, + -423,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -20,0,0,0,-430,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,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-22,0,0,0, + -431,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,0,0,0,0,0,0,0,0,0, + 0,0,-24,0,0,0,-454,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-25,0,0,0,-456, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-26,0, + 0,0,-458,0,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,-27,0,0,0,-459,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-63,0,0,0,-460,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,-75,0,0, + 0,-461,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-63,0,0,0,0, + -76,0,0,0,-463,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,-132,0,0,0,-481,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,-201,0,0,0, + -483,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-379, 0,0,0,0,0,0,0,0,0,0, + 0,0,-493,-445,0,0,0,0,0,0, + 0,0,0,0,0,0,-477,-105,-484,-496, + 0,0,-366,0,-486,-500,0,-491,-410,0, + -495,-443,-46,0,-394,0,0,-502,0,-509, + -290,0,-510,0,-519,0,0,0,0,0, + 0,-527,-532,0,0,-374,0,0,0,0, + -494,0,0,0,0,-501,0,0,0,0, + 0,0,-543,0,0,0,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,-212,-213,-533,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-182,0, + 0,0,0,0,0,0,-442,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-201,0,0,0,0,0,0, + -440,0,0,0,0,0,0,0,0,0, + 0,0,0,-507,-511,0,-517,0,-521,0, + 0,-214,0,0,0,0,0,0,0,-189, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-19,0,0,0,-532, + 0,0,-125,0,0,0,0,0,-144,0, + 0,0,0,0,-499,0,0,0,0,0, + -515,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-306,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-392,-531,-68,-509, - 0,0,0,-353,0,-440,0,-539,0,0, - -73,0,-251,0,0,0,0,0,0,0, - 0,-149,0,0,0,0,0,0,0,0, - 0,-74,0,-513,0,0,0,0,0,0, + -227,0,0,0,0,-516,0,-535,0,0, + 0,0,0,0,-526,0,-343,0,0,0, + -534,0,0,0,0,0,0,0,0,-540, + 0,0,0,-215,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-251,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-283,0,0,0,0,0,-514, + 0,0,0,0,0,0,0,0,-541,0, + 0,0,0,0,-383,0,0,0,0,0, + 0,0,0,0,0,0,0,-506,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-503,0,-338,0,0,0, + 0,0,0,0,0,-252,-427,-202,-369,0, 0,0,0,0,0,0,0,0,0,0, - -306,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-133,0,0,0, - 0,0,0,-47,0,0,0,0,0,0, - -343,0,0,0,-533,0,0,0,0,0, - 0,0,0,-382,0,0,0,-538,0,0, - 0,0,0,0,0,0,0,-105,0,0, - 0,0,0,0,0,0,0,0,-252,0, - -329,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-504,0, 0,0,0,0,0,0,0,0,0,0, - 0,-125,0,0,0,-448,0,-363,0,0, - -446,0,0,0,0,-263,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-368,-212,-213,0,0,0,0,-434,-477, + 0,0,0,0,-289,0,-393,-523,0,0, + 0,0,0,0,0,0,0,0,-419,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,0,0,0,0, - -439,0,0,0,0,0,-391,0,0,0, + 0,0,0,0,0,0,0,0,-230,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-189,0,0,0,0,0,-417,0, + 0,0,0,0,-428,0,0,0,0,0, + 0,0,0,0,0,0,0,-329,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-436,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-426,0, + -370,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,-264,0,0,0, + 0,0,-197,0,0,0,0,0,0,0, + 0,-324,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-282,0,0, + 0,0,0,0,0,0,-280,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-340,0,0,0,-449,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,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,-324,0,-144,0,0,0,0, - 0,0,0,-227,0,0,0,0,-230,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-280,0,0, - 0,0,-340,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-501, + 0,0,-349,0,0,0,0,0,0,0, + -450,0,0,0,0,0,0,0,0,-387, + 0,0,0,-408,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-411,0,0, + 0,-426,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-349,0,0,0, + 0,0,0,0,0,0,0,0,0,-508, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-386,0,0,0,0,0, - -406,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-409,0,0,0,0,0, - 0,-424,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-436, + 0,0,0,0,0,0,0,-438,0,0, + 0,0,0,0,0,0,-488,0,0,0, + 0,-439,0,0,0,-447,0,0,0,0, + 0,0,0,-17,0,0,0,0,0,0, + 0,0,-199,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-437, - 0,0,0,0,0,0,-445,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,0,0,-199,0,0,0,-208,0, - 0,0,0,-350,0,0,-487,0,0,0, - 0,0,0,0,-256,0,0,0,0,0, - 0,0,0,0,-214,0,-438,0,0,0, - 0,0,0,0,0,0,-490,0,0,-449, - 0,0,0,0,-495,0,0,0,0,0, + -489,-492,0,0,0,0,0,0,0,-451, + 0,0,0,0,0,0,-208,0,0,0, + -256,0,0,0,0,0,0,0,-497,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-215,0,0,0,0,-289, - -521,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -534,7 +543,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,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -544,541 +553,550 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 174,4,136,81,81,35,35,67,67,38, - 38,42,42,200,1,1,15,15,15,15, - 15,15,15,16,16,16,14,11,11,6, - 6,6,6,6,6,2,65,65,5,5, - 12,12,44,44,137,137,138,56,56,43, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,139, - 139,139,113,113,18,18,18,18,18,18, - 18,18,18,18,18,18,19,19,175,175, - 176,176,177,142,142,143,143,140,140,144, - 141,141,20,20,21,21,22,22,22,24, - 24,24,24,25,25,25,26,26,26,27, - 27,27,27,27,28,28,28,30,30,31, - 31,32,32,34,34,36,36,37,37,41, - 41,40,40,40,40,40,40,40,40,40, - 40,40,40,40,39,29,145,145,95,95, - 178,178,90,201,201,68,68,68,68,68, - 68,68,68,68,69,69,69,66,66,55, - 55,179,179,70,70,70,101,101,180,180, - 71,71,71,181,181,72,72,72,72,72, - 73,73,82,82,82,82,82,82,82,82, - 50,50,50,50,50,114,114,112,112,51, - 182,23,23,23,23,23,48,48,85,85, - 85,85,85,152,152,147,147,147,147,147, - 148,148,148,149,149,149,150,150,150,151, - 151,151,86,86,86,86,86,87,87,87, - 13,13,13,13,13,13,13,13,13,13, - 13,96,118,118,118,118,118,118,116,116, - 116,153,117,117,183,155,155,154,154,120, - 120,102,79,79,121,53,47,156,156,54, - 52,84,84,157,157,146,146,122,123,123, - 124,76,76,158,158,63,63,63,59,59, - 58,64,64,75,75,57,57,57,49,88, - 88,98,97,97,62,62,60,60,61,61, - 45,99,99,99,91,91,91,92,92,93, - 93,93,94,94,103,103,103,105,105,104, - 104,202,202,89,89,185,185,185,185,185, - 126,46,46,160,184,184,127,127,128,128, - 128,129,162,186,186,33,33,115,130,130, - 130,130,188,107,106,106,119,119,119,163, - 164,164,164,164,164,164,164,164,164,164, - 164,190,190,187,187,189,189,165,166,166, - 166,166,167,191,109,108,108,192,192,168, - 168,168,168,100,100,100,193,193,8,8, - 9,194,194,195,169,159,159,170,170,171, - 172,172,7,7,10,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,77,80,80, - 173,173,132,132,133,133,133,133,133,133, - 3,134,134,131,131,110,110,83,78,74, - 161,161,111,111,197,197,197,135,135,125, - 125,198,198,174,174,1119,35,2231,2192,2049, - 2982,27,30,31,872,916,26,28,2106,25, - 23,50,922,104,75,76,106,955,1278,1167, - 1115,1297,1264,1319,241,1307,1442,1380,271,1513, - 838,1629,141,69,2807,156,142,402,4244,737, - 1888,35,812,32,4564,4598,27,30,31,872, - 916,336,28,3121,35,812,32,230,2601,27, - 30,31,872,916,26,28,804,25,23,50, - 922,104,75,76,84,348,1947,35,275,2715, - 233,228,229,2893,1614,69,1500,35,812,32, - 4574,272,41,30,31,872,916,180,316,1854, - 318,3337,340,311,1602,588,35,1881,386,2039, - 240,243,246,249,732,349,3324,71,1279,495, - 2407,35,812,32,1127,1210,40,30,31,872, - 916,341,1476,1009,346,1267,325,332,429,1610, - 649,3242,867,792,2919,3487,3490,4342,2316,35, - 812,32,2893,2601,27,30,31,872,916,26, - 28,804,25,23,50,922,104,75,76,106, - 955,340,1167,1115,1297,1264,1319,721,1307,1442, - 1380,69,1513,2461,1629,141,4579,2023,515,142, - 2615,1351,1229,2521,1217,35,812,32,2440,4152, - 27,30,31,872,916,57,28,949,2154,516, - 2316,35,812,32,2893,2601,27,30,31,872, - 916,26,28,804,25,23,50,922,104,75, - 76,106,955,340,1167,1115,1297,1264,1319,2168, - 1307,1442,1380,2122,1513,2717,1629,141,4655,1187, - 515,142,1225,2646,1393,2521,1140,2893,511,2407, - 35,812,32,1140,1016,2147,30,31,872,916, - 1017,516,2493,440,154,454,2534,2060,2060,2927, - 588,3494,2974,198,3797,2316,35,812,32,2893, - 2601,27,30,31,872,916,26,28,804,25, - 23,50,922,104,75,76,106,955,340,1167, - 1115,1297,1264,1319,230,1307,1442,1380,69,1513, - 511,1629,141,4603,322,515,142,3347,42,3139, - 2521,86,2681,61,100,44,3139,242,228,229, - 237,3027,503,2465,2974,625,516,2524,35,812, - 32,2893,2601,27,30,31,872,916,26,28, - 804,25,23,50,922,104,75,76,106,955, - 340,1167,1115,1297,1264,1319,2682,1307,1442,1380, - 2991,1513,2245,1629,141,500,502,515,142,230, - 2121,387,2521,2050,3494,511,2407,35,812,32, - 286,142,2275,30,31,872,916,1010,516,2129, - 1225,428,238,228,229,413,3076,730,1179,2974, - 3392,3392,2659,35,812,32,3591,2601,27,30, - 31,872,916,26,28,804,25,23,50,922, - 104,75,76,106,955,4566,1167,1115,1297,1264, - 1319,1803,1307,1442,1380,660,1513,512,1629,141, - 588,3631,376,142,3578,2385,35,812,32,1873, - 2601,27,30,31,872,916,26,28,804,25, - 23,50,922,104,75,76,106,955,496,1167, - 1115,1297,1264,1319,56,1307,1442,1380,688,1513, - 2271,1629,141,1614,4439,376,142,3578,1887,2832, - 35,812,32,285,2601,27,30,31,872,916, - 26,28,804,25,23,50,922,104,75,76, - 106,955,2548,1167,1115,1297,1264,1319,4062,1307, - 1442,1380,3366,1513,350,3107,162,2030,3506,383, - 377,1755,3121,35,812,32,1010,2601,27,30, - 31,872,916,26,28,804,25,23,50,922, - 104,75,76,106,955,1445,1167,1115,1297,1264, - 1319,56,1307,1442,1380,750,1513,1599,3107,162, - 324,3323,384,377,1755,588,1893,2061,34,1644, - 588,35,1881,386,2591,35,812,32,3650,2601, - 27,30,31,872,916,26,28,804,25,23, - 50,922,104,75,76,106,955,64,1167,1115, - 1297,1264,1319,49,1307,1442,1380,458,1513,2615, - 1629,141,1770,46,376,142,3578,2887,35,812, - 32,1614,2601,27,30,31,872,916,26,28, - 804,25,23,50,922,104,75,76,106,955, - 1330,1167,1115,1297,1264,1319,56,1307,1442,1380, - 825,1513,1010,1629,141,1330,24,156,142,2887, - 35,812,32,1614,2601,27,30,31,872,916, - 26,28,804,25,23,50,922,104,75,76, - 106,955,1683,1167,1115,1297,1264,1319,1868,1307, - 1442,1380,3112,1513,2284,1629,141,1977,68,370, - 142,374,377,1755,2887,35,812,32,1614,2601, - 27,30,31,872,916,26,28,804,25,23, - 50,922,104,75,76,106,955,587,1167,1115, - 1297,1264,1319,457,1307,1442,1380,494,1513,1818, - 1629,141,2135,53,370,142,327,35,277,1355, - 87,4433,441,100,1334,2079,35,275,3121,35, - 812,32,649,2601,27,30,31,872,916,26, - 28,804,25,23,50,922,104,75,76,106, - 2340,2887,35,812,32,369,2601,27,30,31, - 872,916,26,28,804,25,23,50,922,104, - 75,76,106,955,660,1167,1115,1297,1264,1319, - 400,1307,1442,1380,1721,1513,2655,1629,141,660, - 3248,370,142,588,35,3180,2457,35,812,32, - 368,2601,27,30,31,872,916,26,28,804, - 25,23,50,922,104,75,76,106,955,1935, - 1167,1115,1297,1264,1319,1330,1307,1442,1380,1330, - 1513,236,1629,141,2655,91,140,142,2887,35, - 812,32,1226,2601,27,30,31,872,916,26, - 28,804,25,23,50,922,104,75,76,106, - 955,1393,1167,1115,1297,1264,1319,3017,1307,1442, - 1380,570,1513,1330,1629,141,1699,366,157,142, - 2887,35,812,32,3601,2601,27,30,31,872, - 916,26,28,804,25,23,50,922,104,75, - 76,106,955,2121,1167,1115,1297,1264,1319,353, - 1307,1442,1380,1146,1513,3134,1629,141,1010,529, - 153,142,2887,35,812,32,1614,2601,27,30, - 31,872,916,26,28,804,25,23,50,922, - 104,75,76,106,955,1933,1167,1115,1297,1264, - 1319,351,1307,1442,1380,445,1513,221,1629,141, - 1010,52,152,142,2887,35,812,32,799,2601, - 27,30,31,872,916,26,28,804,25,23, - 50,922,104,75,76,106,955,858,1167,1115, - 1297,1264,1319,2013,1307,1442,1380,1330,1513,4084, - 1629,141,2551,445,151,142,2887,35,812,32, - 1614,2601,27,30,31,872,916,26,28,804, - 25,23,50,922,104,75,76,106,955,1617, - 1167,1115,1297,1264,1319,1625,1307,1442,1380,570, - 1513,51,1629,141,1010,347,150,142,2887,35, - 812,32,523,2601,27,30,31,872,916,26, - 28,804,25,23,50,922,104,75,76,106, - 955,142,1167,1115,1297,1264,1319,321,1307,1442, - 1380,1330,1513,56,1629,141,1627,4549,149,142, - 2887,35,812,32,1614,2601,27,30,31,872, - 916,26,28,804,25,23,50,922,104,75, - 76,106,955,2693,1167,1115,1297,1264,1319,379, - 1307,1442,1380,570,1513,323,1629,141,1010,88, - 148,142,2887,35,812,32,522,2601,27,30, - 31,872,916,26,28,804,25,23,50,922, - 104,75,76,106,955,1330,1167,1115,1297,1264, - 1319,56,1307,1442,1380,3090,1513,56,1629,141, - 1010,817,147,142,2887,35,812,32,2523,2601, - 27,30,31,872,916,26,28,804,25,23, - 50,922,104,75,76,106,955,3833,1167,1115, - 1297,1264,1319,56,1307,1442,1380,933,1513,95, - 1629,141,1964,135,146,142,2887,35,812,32, - 2524,2601,27,30,31,872,916,26,28,804, - 25,23,50,922,104,75,76,106,955,1174, - 1167,1115,1297,1264,1319,56,1307,1442,1380,579, - 1513,96,1629,141,2380,135,145,142,2887,35, - 812,32,3305,2601,27,30,31,872,916,26, - 28,804,25,23,50,922,104,75,76,106, - 955,2683,1167,1115,1297,1264,1319,56,1307,1442, - 1380,2529,1513,1323,1629,141,159,135,144,142, - 2887,35,812,32,326,2601,27,30,31,872, - 916,26,28,804,25,23,50,922,104,75, - 76,106,955,521,1167,1115,1297,1264,1319,322, - 1307,1442,1380,1330,1513,56,1629,141,1088,2605, - 143,142,2887,35,812,32,1845,2601,27,30, - 31,872,916,26,28,804,25,23,50,922, - 104,75,76,106,955,1441,1167,1115,1297,1264, - 1319,160,1307,1442,1380,570,1513,56,1629,141, - 676,2487,138,142,3005,35,812,32,373,2601, - 27,30,31,872,916,26,28,804,25,23, - 50,922,104,75,76,106,955,848,1167,1115, - 1297,1264,1319,1330,1307,1442,1380,1473,1513,56, - 1629,141,2484,2988,187,142,3121,35,812,32, - 322,2601,27,30,31,872,916,26,28,804, - 25,23,50,922,104,75,76,106,955,520, - 1167,1115,1297,1264,1319,570,1307,1442,1380,1167, - 1513,2690,3107,162,3121,35,812,32,373,2601, - 27,30,31,872,916,26,28,804,25,23, - 50,922,104,75,76,106,955,660,1167,1115, - 1297,1264,1319,371,1307,1442,1380,282,1513,1812, - 3107,162,588,35,1881,386,1503,1604,588,35, - 1881,386,3121,35,812,32,421,2601,27,30, - 31,872,916,26,28,804,25,23,50,922, - 104,75,76,106,955,450,1167,1115,1297,1264, - 1319,432,1307,1442,1380,400,1513,2552,3107,162, - 3121,35,812,32,290,2601,27,30,31,872, - 916,26,28,804,25,23,50,922,104,75, - 76,106,955,3436,1167,1115,1297,1264,1319,56, - 1307,1442,1380,818,1513,404,3107,162,588,35, - 1881,386,3321,2729,588,35,1881,386,3176,35, - 812,32,420,2601,27,30,31,872,916,26, - 28,804,25,23,50,922,104,75,76,106, - 955,431,1167,1115,1297,1264,1319,430,1307,1442, - 1380,1453,1513,666,3107,162,3121,35,812,32, - 423,2601,27,30,31,872,916,26,28,804, - 25,23,50,922,104,75,76,106,955,666, - 1167,1115,1297,1264,1319,1390,1307,1442,1380,1386, - 2835,1715,35,812,32,2552,4749,27,30,31, - 872,916,59,28,3121,35,812,32,3854,2601, - 27,30,31,872,916,26,28,804,25,23, - 50,922,104,75,76,106,955,408,1167,1115, - 1297,1264,1319,296,1307,1442,2780,3121,35,812, - 32,580,2601,27,30,31,872,916,26,28, - 804,25,23,50,922,104,75,76,106,955, - 1015,1167,1115,1297,1264,1319,69,1307,2747,3121, - 35,812,32,1700,2601,27,30,31,872,916, - 26,28,804,25,23,50,922,104,75,76, - 106,955,70,1167,1115,1297,1264,1319,322,2756, - 3121,35,812,32,419,2601,27,30,31,872, - 916,26,28,804,25,23,50,922,104,75, - 76,106,955,1787,1167,1115,1297,1264,2608,1518, - 35,812,32,4754,4637,27,30,31,872,916, - 336,28,3121,35,812,32,1223,2601,27,30, - 31,872,916,26,28,804,25,23,50,922, - 104,75,76,106,955,283,1167,1115,1297,2711, - 314,757,35,1881,386,327,35,277,3033,1385, - 4745,588,35,2061,3168,2627,329,316,1854,318, - 4675,1559,311,1602,588,35,1713,1671,588,35, - 280,327,35,451,271,310,4661,2050,3494,588, - 35,1881,386,3121,35,812,32,4251,2601,27, - 30,31,872,916,26,28,804,25,23,50, - 922,104,75,76,106,955,1875,1167,1115,1297, - 2740,2147,271,56,56,4237,56,2816,3007,2582, - 2893,303,307,3106,1400,35,812,32,4498,4598, - 27,30,31,872,916,336,28,3232,221,340, - 436,2344,35,812,32,2788,4749,27,30,31, - 872,916,26,28,71,509,3656,588,35,2061, - 274,2521,1898,35,3513,32,4754,4637,27,30, - 31,872,916,336,28,273,2221,1971,322,1965, - 1773,135,316,1854,318,4398,349,311,1602,588, - 3859,1976,35,1881,386,2582,2022,285,1709,349, - 3376,1614,341,1476,1009,346,588,35,1881,386, - 339,3033,2449,35,278,341,1476,1009,346,329, - 316,1854,318,3346,49,311,1602,388,425,3033, - 2903,2378,3506,3379,1839,930,2019,330,2193,271, - 56,444,3633,3635,1187,293,3121,35,812,32, - 4251,2601,27,30,31,872,916,26,28,804, - 25,23,50,922,104,75,76,106,955,1694, - 1167,1115,2426,3121,35,812,32,3501,2601,27, - 30,31,872,916,26,28,804,25,23,50, - 922,104,75,76,106,955,1614,1167,1115,2459, - 378,2491,337,389,425,3121,1893,812,1965,363, - 2601,27,30,31,872,916,26,28,804,25, - 23,50,922,104,75,76,83,415,417,3508, - 2558,2179,858,1860,35,812,32,1701,4152,27, - 30,31,872,916,56,28,1703,3121,35,812, - 32,2107,2601,27,30,31,872,916,26,28, - 804,25,23,50,922,104,75,76,106,955, - 486,1167,1115,2471,3121,35,812,32,2552,2601, - 27,30,31,872,916,26,28,804,25,23, - 50,922,104,75,76,106,955,259,1167,1115, - 2516,535,1715,35,812,32,2582,4749,27,30, - 31,872,916,58,28,1374,219,56,56,2417, - 226,535,3099,3096,2371,1515,154,1543,35,2061, - 274,929,35,1881,386,178,3512,56,1883,570, - 340,3489,1721,201,213,4534,154,200,210,211, - 212,214,167,1,348,1721,1191,535,588,3402, - 2061,73,2521,166,49,181,165,168,169,170, - 171,172,60,3305,1839,3036,226,2125,1043,1243, - 35,394,154,3231,35,1881,386,2489,2841,660, - 2413,178,3512,56,349,570,235,4348,1088,201, - 213,4534,2415,200,210,211,212,214,167,1240, - 341,1476,1009,346,391,425,271,2306,1610,166, - 179,182,165,168,169,170,171,172,2070,35, - 812,32,4498,4598,27,30,31,872,916,336, - 28,3121,35,812,32,230,2601,27,30,31, - 872,916,26,28,804,25,23,50,922,104, - 75,76,106,955,2305,1167,2589,352,233,228, - 229,230,2212,35,1881,386,2863,529,737,272, - 320,1243,35,3181,1312,3662,316,1854,318,56, - 529,311,1602,1187,245,228,229,2582,240,243, - 246,249,732,349,524,49,2647,56,56,520, - 2893,3371,793,1210,49,1839,1309,2453,3599,341, - 1476,1009,346,1096,1839,2474,2149,525,2489,2534, - 867,792,2919,3487,3490,4342,3121,35,812,32, - 3337,2601,27,30,31,872,916,26,28,804, - 25,23,50,922,104,75,76,106,955,3192, - 1167,2606,1363,35,812,32,2487,4637,27,30, - 31,872,916,336,28,3114,332,843,35,451, - 2234,1354,4661,1614,2893,1187,1375,941,56,2234, - 2893,4398,1434,2893,345,503,2244,49,535,1643, - 35,291,1607,2534,56,390,425,4398,1384,2534, - 158,3033,2534,1543,35,2061,3410,226,67,330, - 316,1854,318,154,56,312,1602,56,4127,1817, - 56,2893,178,3512,2852,3033,570,349,500,502, - 201,213,4534,329,200,210,211,212,214,167, - 340,3033,1614,343,1476,1009,346,431,2515,3255, - 166,535,3855,165,168,169,170,171,172,357, - 2553,2218,2521,1250,3207,357,1278,2717,357,3850, - 226,535,2044,3281,3183,3208,154,66,1980,2611, - 3183,3208,3365,3183,3208,178,3512,1983,2513,570, - 3834,1896,4398,201,213,4534,154,200,210,211, - 212,214,167,517,2646,178,3512,535,2893,69, - 1425,1614,2272,166,4682,176,165,168,169,170, - 171,172,588,35,2061,276,226,2534,588,35, - 2061,3507,154,193,92,2034,3033,448,3633,3635, - 4398,178,3512,1285,330,570,65,2893,4765,201, - 213,4534,1614,200,210,211,212,214,167,603, - 56,1614,349,535,4411,1614,226,1614,322,166, - 309,174,165,168,169,170,171,172,343,1476, - 1009,346,226,521,3033,1790,2433,64,154,539, - 405,4356,3255,503,2691,2722,2847,178,3512,535, - 55,570,54,1607,1614,201,213,4534,4398,200, - 210,211,212,214,167,689,2572,737,340,535, - 406,407,408,3336,154,166,1714,175,165,168, - 169,170,171,172,186,292,501,502,226,319, - 4329,1614,69,3306,154,1614,56,4700,3315,194, - 4136,1562,3033,178,3512,2893,1906,570,1614,69, - 329,201,213,4534,4720,200,210,211,212,214, - 167,775,2587,69,226,535,99,94,4727,3337, - 3280,166,2699,185,165,168,169,170,171,172, - 2343,2590,1614,3479,226,2557,188,203,213,4534, - 154,202,210,211,212,214,409,412,56,178, - 3512,2707,3016,570,331,332,56,201,213,4534, - 1938,200,210,211,212,214,167,449,204,206, - 208,3336,56,215,205,207,1187,166,2619,3867, - 165,168,169,170,171,172,1952,35,812,32, - 4754,4598,27,30,31,872,916,336,28,2552, - 2249,154,56,2588,1187,4417,535,1606,2446,737, - 1780,1233,56,861,2689,3918,2893,535,1643,3584, - 291,588,35,2061,279,340,2716,2728,2723,154, - 56,154,2552,2492,2893,340,226,300,2732,533, - 2552,186,154,527,316,1854,318,4329,2739,311, - 1602,178,3512,340,56,570,2735,2521,2865,201, - 213,4534,310,200,210,211,212,214,167,230, - 177,3337,230,2007,322,2521,947,2733,196,166, - 535,190,165,168,169,170,171,172,1243,35, - 394,2059,248,228,229,251,228,229,56,226, - 2552,322,3581,3614,2750,154,3140,332,303,307, - 3106,2068,56,1997,178,3512,2893,2893,570,1614, - 1896,56,201,213,4534,2908,200,210,211,212, - 214,167,4110,1033,1614,340,226,535,195,1425, - 2552,301,166,3656,184,165,168,169,170,171, - 172,2552,2734,2747,375,2757,226,2521,2761,203, - 213,4534,154,202,210,211,212,214,380,3335, - 1778,178,3512,2706,558,570,2751,1614,299,201, - 213,4534,2787,200,210,211,212,214,167,199, - 204,206,208,3336,3678,518,205,207,2790,166, - 2782,192,165,168,169,170,171,172,3121,35, - 812,32,3391,2601,27,30,31,872,916,26, - 28,804,25,23,50,922,104,75,76,106, - 955,2788,2307,3121,35,812,32,1557,2601,27, - 30,31,872,916,26,28,804,25,23,50, - 922,104,75,76,106,955,87,2321,3121,35, - 812,32,2763,2601,27,30,31,872,916,26, - 28,804,25,23,50,922,104,75,76,106, - 2353,3121,35,812,32,2765,2601,27,30,31, - 872,916,26,28,804,25,23,50,922,104, - 75,76,106,2403,2062,35,3513,32,4754,4598, - 27,30,31,872,916,336,28,2552,1691,35, - 812,32,4754,4598,27,30,31,872,916,336, - 28,3121,35,812,32,2552,2601,27,30,31, - 872,916,26,28,804,25,23,50,922,104, - 75,76,82,56,56,197,2773,962,3466,1243, - 35,394,316,1854,318,2447,2774,311,1602,2938, - 2444,2791,173,295,2792,2793,316,1854,318,2796, - 2193,311,1602,1761,2797,2866,2909,2648,1337,5342, - 3121,35,812,32,310,2601,27,30,31,872, - 916,26,28,804,25,23,50,922,104,75, - 76,81,3121,35,812,32,5342,2601,27,30, - 31,872,916,26,28,804,25,23,50,922, - 104,75,76,80,5342,5342,5342,5342,2552,5342, - 304,307,3106,3121,35,812,32,5342,2601,27, - 30,31,872,916,26,28,804,25,23,50, - 922,104,75,76,79,3866,5342,5342,5342,416, - 417,3508,3121,35,812,32,4128,2601,27,30, - 31,872,916,26,28,804,25,23,50,922, - 104,75,76,78,3121,35,812,32,5342,2601, - 27,30,31,872,916,26,28,804,25,23, - 50,922,104,75,76,77,2950,35,812,32, - 5342,2601,27,30,31,872,916,26,28,804, - 25,23,50,922,104,75,76,102,3121,35, - 812,32,5342,2601,27,30,31,872,916,26, - 28,804,25,23,50,922,104,75,76,108, - 3121,35,812,32,5342,2601,27,30,31,872, - 916,26,28,804,25,23,50,922,104,75, - 76,107,3121,35,812,32,5342,2601,27,30, - 31,872,916,26,28,804,25,23,50,922, - 104,75,76,105,3121,35,812,32,5342,2601, - 27,30,31,872,916,26,28,804,25,23, - 50,922,104,75,76,103,3066,35,812,32, - 2552,2601,27,30,31,872,916,26,28,804, - 25,23,50,922,85,75,76,1823,2481,56, - 1614,2893,1187,1187,2122,5342,1910,5342,2552,4655, - 2893,1354,5342,1354,5342,1187,5342,1187,220,5342, - 226,5342,932,35,1881,386,5342,154,154,226, - 5342,5342,56,5342,1614,3493,1187,160,1191,5342, - 158,5342,158,203,213,4534,191,202,210,211, - 212,214,203,213,4534,49,202,210,211,212, - 214,154,5342,5342,2624,1839,1324,5342,2893,1597, - 1614,1560,5342,5342,204,206,208,3336,2451,215, - 205,207,5342,204,206,208,3336,2534,215,205, - 207,1691,35,812,32,4754,4598,27,30,31, - 872,916,336,28,2465,1681,1526,1607,3285,3288, - 5342,4417,4398,5342,588,35,1881,386,3554,5342, - 4417,2156,35,812,32,1614,4637,27,30,31, - 872,916,336,28,2156,35,812,32,1614,4637, - 27,30,31,872,916,336,28,49,56,316, - 1854,318,1187,358,311,1602,3033,1839,658,1354, - 4138,1354,5342,1187,329,1187,5342,3324,5342,5342, - 3033,5342,427,3613,5342,5342,4268,154,330,316, - 1854,318,5342,3033,314,1602,5342,2825,158,5342, - 158,330,316,1854,318,3207,3536,312,1602,1691, - 35,812,32,4754,4598,27,30,31,872,916, - 336,28,3280,35,1881,386,56,2841,737,5342, - 2893,588,35,291,5342,236,1490,35,812,32, - 2572,4598,27,30,31,872,916,336,28,340, - 5342,5342,1649,56,56,271,2893,1187,1187,1354, - 588,35,291,1187,3287,5342,3361,316,1854,318, - 5342,2521,311,1602,401,226,5342,5342,588,35, - 1881,386,154,154,230,3865,5342,507,158,5342, - 3337,737,3093,3162,313,3458,318,1736,203,213, - 4534,2893,202,210,211,212,214,234,228,229, - 5342,49,5342,588,35,1881,386,5342,272,2084, - 226,1839,1813,2893,5342,327,332,5342,5342,204, - 206,208,3336,3620,517,205,207,241,244,247, - 250,732,226,203,213,4534,49,202,210,211, - 212,214,1210,3337,3412,5342,1839,616,5342,2171, - 5342,5342,3815,2893,5342,203,213,4534,5342,202, - 210,211,212,214,204,206,208,3336,1607,216, - 205,207,226,4398,5342,5342,5342,5342,3534,332, - 5342,5342,5342,5342,2265,5342,204,206,208,3336, - 5342,302,205,207,5342,203,213,4534,5342,202, - 210,211,212,214,2236,35,812,32,2409,4598, - 27,30,31,872,916,336,28,3033,5342,1180, - 5342,5342,5342,2893,4765,329,204,206,208,3336, - 5342,497,205,207,1375,5342,1785,5342,2893,4398, - 2893,5342,226,5342,932,35,1881,386,5342,929, - 35,1881,386,5342,5342,5342,3072,2534,5342,340, - 5342,5342,313,3458,318,539,405,4356,929,35, - 1881,386,5342,932,35,1881,386,49,5342,5342, - 5342,1258,49,3033,5342,5342,5342,1839,47,5342, - 2855,329,1839,47,2893,5342,406,407,408,3336, - 2622,49,5342,5342,5342,2478,49,929,35,1881, - 386,1839,2022,340,5342,5342,1839,47,5342,3306, - 5342,5342,3072,357,2616,929,35,1881,386,936, - 5342,929,35,1881,386,3845,5342,2611,3183,3208, - 49,5342,5342,5342,5342,929,35,1881,386,5342, - 1839,2834,2151,35,1881,386,5342,5342,49,5342, - 5342,5342,2265,2616,49,5342,5342,5342,1839,47, - 929,35,1881,386,1839,47,5342,5342,49,5342, - 5342,645,409,411,5342,49,5342,2102,1839,47, - 929,35,1881,386,5342,1839,47,2164,35,1881, - 386,2108,5342,49,5342,5342,864,5342,4351,3263, - 5342,5342,1767,1839,47,588,35,1881,386,588, - 35,1881,386,49,1607,5342,2188,56,5342,4398, - 49,535,5342,1839,47,588,35,1881,386,5342, - 1839,47,5342,5342,5342,56,2194,2208,49,1187, - 340,2893,49,4380,5342,5342,154,56,1839,1325, - 56,535,1839,930,2893,56,186,5342,49,2893, - 340,5342,4329,3033,154,5342,5342,5342,1839,1503, - 340,329,528,340,3231,56,154,4200,340,1187, - 56,56,2521,5342,1187,1187,186,5342,5342,5342, - 5342,5342,4329,5342,5342,2521,5342,5342,531,5342, - 2521,5342,4264,5342,154,5342,5342,5342,5342,154, - 154,505,5342,5342,3272,5342,532,5342,3657,1728, - 4255,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,5342,4130,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,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,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,5342,5342,5342, - 5342,5342,5342,5342,5342,3488,5342,0,39,5357, - 0,39,5356,0,1034,29,0,438,1121,0, - 452,1216,0,38,1135,0,38,5357,0,38, - 5356,0,2757,124,0,1,442,0,456,1096, - 0,455,1222,0,2650,89,0,1034,385,0, - 35,33,0,32,34,0,39,1135,0,1, - 573,0,1,5612,0,1,5611,0,1,5610, - 0,1,5609,0,1,5608,0,1,5607,0, - 1,5606,0,1,5605,0,1,5604,0,1, - 5603,0,1,5602,0,39,1,5357,0,39, - 1,5356,0,626,1,0,281,392,0,281, - 284,0,5574,239,0,5573,239,0,5677,239, - 0,5676,239,0,5601,239,0,5600,239,0, - 5599,239,0,5598,239,0,5597,239,0,5596, - 239,0,5595,239,0,5594,239,0,5612,239, - 0,5611,239,0,5610,239,0,5609,239,0, - 5608,239,0,5607,239,0,5606,239,0,5605, - 239,0,5604,239,0,5603,239,0,5602,239, - 0,39,5357,239,0,39,5356,239,0,5380, - 239,0,5357,48,0,5356,48,0,5348,1, - 0,5347,1,0,3091,235,0,32,386,0, - 29,385,0,43,5378,0,43,37,0,2757, - 126,0,2757,125,0,328,443,0,5380,1, - 0,39,1,0,47,37,0,1,90,0, - 499,3314,0,5380,1,227,0,39,1,227, - 0,227,414,0,5357,37,0,5356,37,0, - 5357,2,37,0,5356,2,37,0,5357,36, - 0,5356,36,0,5378,45,0,37,45,0, - 5352,403,0,5351,403,0,1,4221,0,1, - 619,0,1,1135,0,227,413,0,2828,315, - 0,328,93,0,35,72,0,1,328,0, - 4143,276,0,499,4372,0,1,227,0,227, - 218,0,1,2889,0,1,3568,0,227,217, - 0,5354,1,0,5350,1,0,1,227,3711, - 0,5351,227,0,3736,227,0,5354,381,0, - 5353,381,0,3852,227,0,10,12,0,8, - 10,12,0,183,3556,0,3868,381,0,8, - 12,0 + 176,4,137,82,82,36,36,68,68,39, + 39,43,43,202,1,1,16,16,16,16, + 16,16,16,17,17,17,15,11,11,6, + 6,6,6,6,6,2,66,66,5,5, + 12,12,45,45,138,138,139,57,57,44, + 18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,140, + 140,140,114,114,19,19,19,19,19,19, + 19,19,19,19,19,19,20,20,177,177, + 178,178,179,143,143,144,144,141,141,145, + 142,142,21,21,22,22,23,23,23,25, + 25,25,25,26,26,26,27,27,27,28, + 28,28,28,28,29,29,29,31,31,32, + 32,33,33,35,35,37,37,38,38,42, + 42,41,41,41,41,41,41,41,41,41, + 41,41,41,41,40,30,146,146,96,96, + 180,180,91,203,203,69,69,69,69,69, + 69,69,69,69,70,70,70,67,67,56, + 56,181,181,71,71,71,102,102,182,182, + 72,72,72,72,183,183,73,73,73,73, + 73,74,74,83,83,83,83,83,83,83, + 83,51,51,51,51,51,115,115,113,113, + 52,184,24,24,24,24,24,49,49,86, + 86,86,86,86,153,153,148,148,148,148, + 148,149,149,149,150,150,150,151,151,151, + 152,152,152,87,87,87,87,87,88,88, + 88,13,14,14,14,14,14,14,14,14, + 14,14,14,97,119,119,119,119,119,119, + 117,117,117,154,155,155,118,118,185,157, + 157,156,156,121,121,103,80,80,122,54, + 48,158,158,55,53,85,85,159,159,147, + 147,123,124,124,125,77,77,160,160,64, + 64,64,60,60,59,65,65,76,76,58, + 58,58,50,89,89,99,98,98,63,63, + 61,61,62,62,46,100,100,100,92,92, + 92,93,93,94,94,94,95,95,104,104, + 104,106,106,105,105,204,204,90,90,187, + 187,187,187,187,127,47,47,162,186,186, + 128,128,129,129,129,130,164,188,188,34, + 34,116,131,131,131,131,190,108,107,107, + 120,120,120,165,166,166,166,166,166,166, + 166,166,166,166,166,192,192,189,189,191, + 191,167,168,168,168,168,169,193,110,109, + 109,194,194,170,170,170,170,101,101,101, + 195,195,8,8,9,196,196,197,171,161, + 161,172,172,173,174,174,7,7,10,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,78,81,81,175,175,133,133,134,134, + 134,134,134,134,3,135,135,132,132,111, + 111,84,79,75,75,163,163,112,112,199, + 199,199,136,136,126,126,200,200,176,176, + 1119,35,2070,2058,1356,2769,27,30,31,963, + 969,26,28,1987,261,25,23,50,1018,104, + 75,76,106,1097,1312,1190,1178,1376,1222,1499, + 241,1427,1634,1554,273,1640,49,1683,141,1882, + 694,156,142,2801,2315,1892,35,947,32,4632, + 4657,27,30,31,963,969,340,28,1777,3072, + 35,947,32,231,3197,27,30,31,963,969, + 26,28,935,261,25,23,50,1018,85,75, + 76,352,587,35,3192,2253,234,229,230,1198, + 666,155,1504,35,947,32,3432,274,41,30, + 31,963,969,1791,320,2074,322,180,3239,315, + 2064,587,1757,1984,34,154,241,244,247,250, + 951,353,3265,1088,666,538,1718,35,947,32, + 73,828,40,30,31,963,969,345,968,796, + 350,2770,327,35,279,1866,670,4230,862,734, + 737,2821,3024,4243,2320,35,947,32,2746,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,344,1190, + 1178,1376,1222,1499,885,1427,1634,1554,1088,1640, + 313,1683,141,155,1225,519,142,1240,4291,2246, + 3095,1217,35,947,32,500,3159,27,30,31, + 963,969,57,28,56,1145,520,2320,35,947, + 32,2746,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,106, + 1097,344,1190,1178,1376,1222,1499,49,1427,1634, + 1554,757,1640,526,1683,141,1456,231,519,142, + 231,643,71,3095,3239,515,1381,35,947,32, + 462,3159,27,30,31,963,969,56,28,520, + 243,229,230,246,229,230,2990,1352,1611,2998, + 2425,1592,2320,35,947,32,2746,3197,27,30, + 31,963,969,26,28,935,261,25,23,50, + 1018,104,75,76,106,1097,344,1190,1178,1376, + 1222,1499,3353,1427,1634,1554,1766,1640,515,1683, + 141,1470,354,519,142,238,261,1853,3095,587, + 3509,61,327,35,279,155,1611,4843,1611,3005, + 4519,2086,2998,1150,520,2528,35,947,32,2746, + 3197,27,30,31,963,969,26,28,935,261, + 25,23,50,1018,104,75,76,106,1097,344, + 1190,1178,1376,1222,1499,231,1427,1634,1554,579, + 1640,579,1683,141,1603,1377,519,142,1275,392, + 429,3095,377,515,377,69,60,2229,239,229, + 230,1229,1718,35,947,32,1088,520,2368,30, + 31,963,969,2230,3094,42,3178,2998,1877,2246, + 2663,35,947,32,1618,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,1631,1190,1178,1376,1222,1499, + 290,1427,1634,1554,1446,1640,516,1683,141,4179, + 499,380,142,4087,2389,35,947,32,2249,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,461,1190, + 1178,1376,1222,1499,355,1427,1634,1554,375,1640, + 3647,1683,141,1941,3019,380,142,4087,2837,35, + 947,32,4111,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,3670,1190,1178,1376,1222,1499,49,1427, + 1634,1554,832,1640,1611,3168,162,413,387,381, + 1628,3127,35,947,32,733,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,752,1190,1178,1376,1222, + 1499,445,1427,1634,1554,1455,2859,2021,3415,1800, + 328,3428,388,381,1628,2275,1094,92,2437,1773, + 587,35,1729,390,2595,35,947,32,4305,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,1449,1190, + 1178,1376,1222,1499,49,1427,1634,1554,1892,1640, + 64,1683,141,391,46,380,142,4087,2892,35, + 947,32,3502,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,2288,1190,1178,1376,1222,1499,2075,1427, + 1634,1554,4489,1640,1611,1683,141,329,336,156, + 142,3127,35,947,32,1618,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,56,1190,1178,1376,1222, + 1499,3495,1427,1634,1554,1446,1640,3341,3168,162, + 4179,4014,378,381,1628,2892,35,947,32,56, + 3197,27,30,31,963,969,26,28,935,261, + 25,23,50,1018,104,75,76,106,1097,886, + 1190,1178,1376,1222,1499,330,1427,1634,1554,449, + 1640,322,1683,141,56,3019,374,142,1718,35, + 947,32,2375,333,2605,30,31,963,969,1935, + 2892,35,947,32,670,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,2830,1190,1178,1376,1222,1499, + 1631,1427,1634,1554,3336,1640,330,1683,141,2125, + 1547,374,142,1004,587,35,1729,390,2892,35, + 947,32,1618,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,373,1190,1178,1376,1222,1499,433,1427, + 1634,1554,1621,1640,2437,1683,141,494,24,374, + 142,2461,35,947,32,1618,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,2619,1190,1178,1376,1222, + 1499,406,1427,1634,1554,1906,1640,372,1683,141, + 49,68,140,142,4606,2892,35,947,32,2068, + 3197,27,30,31,963,969,26,28,935,261, + 25,23,50,1018,104,75,76,106,1097,1243, + 1190,1178,1376,1222,1499,1611,1427,1634,1554,1611, + 1640,3027,1683,141,3415,370,157,142,2892,35, + 947,32,2315,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,1951,1190,1178,1376,1222,1499,3390,1427, + 1634,1554,579,1640,400,1683,141,4249,91,153, + 142,2892,35,947,32,4090,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,888,1190,1178,1376,1222, + 1499,357,1427,1634,1554,449,1640,86,1683,141, + 100,534,152,142,2892,35,947,32,1618,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,1611,1190, + 1178,1376,1222,1499,1409,1427,1634,1554,1611,1640, + 1105,1683,141,440,53,151,142,2892,35,947, + 32,2783,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,106, + 1097,4096,1190,1178,1376,1222,1499,2777,1427,1634, + 1554,579,1640,1620,1683,141,666,1088,150,142, + 2892,35,947,32,528,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,416,1190,1178,1376,1222,1499, + 1447,1427,1634,1554,1611,1640,1174,1683,141,2563, + 1088,149,142,2892,35,947,32,3505,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,1097,1324,1190,1178, + 1376,1222,1499,526,1427,1634,1554,579,1640,4037, + 1683,141,666,1088,148,142,2892,35,947,32, + 527,3197,27,30,31,963,969,26,28,935, + 261,25,23,50,1018,104,75,76,106,1097, + 69,1190,1178,1376,1222,1499,49,1427,1634,1554, + 2999,1640,51,1683,141,1445,1088,147,142,2892, + 35,947,32,1618,3197,27,30,31,963,969, + 26,28,935,261,25,23,50,1018,104,75, + 76,106,1097,1864,1190,1178,1376,1222,1499,49, + 1427,1634,1554,994,1640,327,1683,141,160,52, + 146,142,2892,35,947,32,1618,3197,27,30, + 31,963,969,26,28,935,261,25,23,50, + 1018,104,75,76,106,1097,70,1190,1178,1376, + 1222,1499,49,1427,1634,1554,3398,1640,95,1683, + 141,246,351,145,142,2892,35,947,32,666, + 3197,27,30,31,963,969,26,28,935,261, + 25,23,50,1018,104,75,76,106,1097,1336, + 1190,1178,1376,1222,1499,49,1427,1634,1554,1139, + 1640,49,1683,141,590,830,144,142,2892,35, + 947,32,1618,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,848,1190,1178,1376,1222,1499,49,1427, + 1634,1554,2630,1640,2687,1683,141,1878,88,143, + 142,2892,35,947,32,666,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,1280,1190,1178,1376,1222, + 1499,49,1427,1634,1554,3493,1640,49,1683,141, + 1706,3298,138,142,3011,35,947,32,2448,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,3327,1190, + 1178,1376,1222,1499,1988,1427,1634,1554,155,1640, + 1457,1683,141,4675,1964,187,142,3127,35,947, + 32,2155,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,106, + 1097,1906,1190,1178,1376,1222,1499,49,1427,1634, + 1554,1370,1640,408,3168,162,3127,35,947,32, + 2556,3197,27,30,31,963,969,26,28,935, + 261,25,23,50,1018,104,75,76,106,1097, + 325,1190,1178,1376,1222,1499,1978,1427,1634,1554, + 326,1640,622,3168,162,587,35,1984,3186,404, + 587,35,1729,390,3127,35,947,32,425,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,2068,1190, + 1178,1376,1222,1499,454,1427,1634,1554,135,1640, + 580,3168,162,3127,35,947,32,294,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,1097,356,1190,1178, + 1376,1222,1499,1015,1427,1634,1554,534,1640,1618, + 3168,162,587,35,2466,2287,752,587,35,1729, + 390,3182,35,947,32,424,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,2027,1190,1178,1376,1222, + 1499,436,1427,1634,1554,1234,1640,69,3168,162, + 3127,35,947,32,427,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,286,1190,1178,1376,1222,1499, + 1505,1427,1634,2776,1785,35,947,32,1378,4897, + 27,30,31,963,969,59,28,846,3127,35, + 947,32,4095,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 106,1097,932,1190,1178,1376,1222,1499,1795,1427, + 2722,3127,35,947,32,1088,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,106,1097,2842,1190,1178,1376,1222, + 1499,1618,2765,3127,35,947,32,408,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,1097,1311,1190,1178, + 1376,1222,2570,3127,35,947,32,2107,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,1097,96,1190,1178, + 1376,2613,3127,35,947,32,2694,3197,27,30, + 31,963,969,26,28,935,261,25,23,50, + 1018,104,75,76,106,1097,1548,1190,1178,1376, + 2621,1522,35,947,32,3302,4723,27,30,31, + 963,969,340,28,3127,35,947,32,1591,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,49,1190, + 1178,2337,1198,2560,1016,35,398,540,1016,35, + 398,3019,1679,2328,2375,35,277,2746,2631,333, + 320,2074,322,4758,1446,315,2064,4110,1952,4179, + 587,35,282,154,327,35,455,2702,314,4744, + 1278,1312,178,3128,2993,1618,3127,35,947,32, + 4307,3197,27,30,31,963,969,26,28,935, + 261,25,23,50,1018,104,75,76,106,1097, + 194,1190,1178,2362,3019,1795,587,35,1729,390, + 3315,67,333,2562,307,311,544,2347,35,947, + 32,2643,4897,27,30,31,963,969,26,28, + 2425,1795,513,362,843,35,455,952,2631,4744, + 435,3765,1618,2811,300,3811,3127,35,947,32, + 3741,3197,27,30,31,963,969,26,28,935, + 261,25,23,50,1018,104,75,76,106,1097, + 220,1190,1178,2427,3127,35,947,32,66,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,106,1097,2488,1190, + 1178,2486,2067,35,947,32,3264,4657,27,30, + 31,963,969,340,28,2762,4790,195,587,35, + 1729,390,1707,1401,35,3569,32,3302,4723,27, + 30,31,963,969,340,28,448,3672,3679,393, + 429,674,35,1729,390,155,3237,35,1729,390, + 4762,2741,273,1016,35,398,2411,35,277,236, + 261,320,2074,322,666,2139,315,2064,1618,2216, + 35,1729,390,3019,1618,49,486,752,353,3412, + 273,333,320,2074,322,1726,3078,315,2064,587, + 35,1729,390,1618,345,968,796,350,2718,752, + 2900,259,3377,49,65,540,452,3672,3679,231, + 64,1980,4307,1726,1843,275,4179,587,35,1729, + 390,1610,3561,273,2576,227,2718,525,1148,3086, + 2038,154,234,229,230,4179,587,35,1984,276, + 178,3128,49,274,579,287,2885,2066,202,214, + 4591,434,201,211,212,213,215,167,2762,1127, + 4122,3019,241,244,247,250,951,297,166,334, + 181,165,168,169,170,171,172,828,681,2132, + 3019,587,35,295,231,2425,341,353,334,367, + 419,421,3567,622,862,734,737,2821,3024,4243, + 2685,2225,1795,347,968,796,350,249,229,230, + 3127,35,947,32,2120,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,2235,1190,2508,3127,35,947, + 32,304,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,106, + 1097,1,1190,2542,2350,540,1785,35,947,32, + 525,4897,27,30,31,963,969,58,28,587, + 35,295,2961,1906,3602,227,757,35,1729,390, + 1267,154,1355,49,395,429,1198,3074,761,1879, + 178,3128,1879,2746,579,1726,2746,49,202,214, + 4591,3002,201,211,212,213,215,167,1618,1226, + 273,1651,158,2702,1784,2444,2702,2619,166,179, + 182,165,168,169,170,171,172,2077,35,947, + 32,3264,4657,27,30,31,963,969,340,28, + 3127,35,947,32,55,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,106,1097,2425,2113,587,4073,2085,1244, + 35,295,4136,3226,587,4101,49,231,1608,361, + 3575,1150,361,423,2310,2151,320,2074,322,2554, + 71,315,2064,2793,3202,3215,3320,3202,3215,324, + 252,229,230,353,529,1364,35,947,32,534, + 4723,27,30,31,963,969,340,28,1795,345, + 968,796,350,3127,35,947,32,530,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,1097,752,2200,929, + 35,1729,390,44,3178,3019,49,177,2280,87, + 1198,353,100,334,320,2074,322,1618,2416,316, + 2064,345,2198,394,429,540,2419,345,968,796, + 350,353,2517,49,2289,343,154,2156,35,1729, + 390,1234,2226,1726,1929,227,1435,347,968,796, + 350,154,155,54,49,2143,2986,4808,2746,431, + 178,3128,2447,540,579,296,2491,4740,202,214, + 4591,49,201,211,212,213,215,167,344,2519, + 2155,1726,564,227,1101,35,1984,276,166,154, + 4098,165,168,169,170,171,172,517,178,3128, + 3095,540,579,2692,1446,1618,202,214,4591,4179, + 201,211,212,213,215,167,1858,587,3436,1984, + 73,227,1101,35,1984,3437,166,154,176,165, + 168,169,170,171,172,603,178,3128,1800,540, + 579,323,1446,1618,202,214,4591,4179,201,211, + 212,213,215,167,3019,587,35,1984,278,227, + 1618,2153,333,2548,166,154,174,165,168,169, + 170,171,172,689,178,3128,49,540,579,99, + 3577,49,202,214,4591,4093,201,211,212,213, + 215,167,3019,3115,49,49,3467,227,4126,1424, + 333,3502,166,154,175,165,168,169,170,171, + 172,775,178,3128,49,540,579,2522,1465,1355, + 202,214,4591,1198,201,211,212,213,215,167, + 49,4375,431,752,4105,227,3374,336,1476,3509, + 166,154,185,165,168,169,170,171,172,158, + 178,3128,2557,49,579,2496,3587,2101,202,214, + 4591,1795,201,211,212,213,215,167,1016,35, + 3194,2038,587,35,1729,390,2695,2586,166,2555, + 4123,165,168,169,170,171,172,1695,35,947, + 32,3302,4657,27,30,31,963,969,340,28, + 197,305,49,1244,3644,295,49,49,2453,35, + 280,3579,1726,2242,861,1823,1726,2015,540,1494, + 35,947,32,2723,4657,27,30,31,963,969, + 340,28,2697,1476,3509,49,49,2421,227,4187, + 2746,4623,1800,2626,154,155,320,2074,322,2584, + 4822,315,2064,178,3128,1618,1618,579,405,289, + 344,202,214,4591,314,201,211,212,213,215, + 167,155,1979,352,3632,945,4826,1795,317,3503, + 322,166,3095,190,165,168,169,170,171,172, + 2591,2902,453,49,584,3550,947,1198,1901,2690, + 540,587,35,1984,3559,3502,2198,2703,532,1738, + 307,311,544,353,49,1800,196,1800,2746,1800, + 227,2585,2743,154,49,1234,154,2658,4679,345, + 968,796,350,1392,4311,178,3128,1866,344,579, + 335,336,1795,202,214,4591,3741,201,211,212, + 213,215,167,1033,289,2560,2720,540,49,1198, + 3095,1618,1198,166,150,184,165,168,169,170, + 171,172,587,35,1984,281,1944,227,3502,2824, + 3502,303,3502,154,2732,154,1713,49,154,1522, + 3550,2715,178,3128,199,4131,579,379,1730,49, + 202,214,4591,2983,201,211,212,213,215,167, + 150,2718,2741,3413,336,331,336,3659,336,2751, + 166,1618,193,165,168,169,170,171,172,3127, + 35,947,32,2758,3197,27,30,31,963,969, + 26,28,935,261,25,23,50,1018,104,75, + 76,106,2233,3127,35,947,32,3333,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,106,2285,3127,35,947, + 32,2753,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,106, + 2328,3127,35,947,32,2733,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,84,3127,1757,947,1815,383,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,83,3127,35,947, + 32,2739,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,82, + 3127,35,947,32,382,3197,27,30,31,963, + 969,26,28,935,261,25,23,50,1018,104, + 75,76,81,3127,35,947,32,2793,3197,27, + 30,31,963,969,26,28,935,261,25,23, + 50,1018,104,75,76,80,3127,35,947,32, + 2794,3197,27,30,31,963,969,26,28,935, + 261,25,23,50,1018,104,75,76,79,3127, + 35,947,32,87,3197,27,30,31,963,969, + 26,28,935,261,25,23,50,1018,104,75, + 76,78,3127,35,947,32,2763,3197,27,30, + 31,963,969,26,28,935,261,25,23,50, + 1018,104,75,76,77,2956,35,947,32,2764, + 3197,27,30,31,963,969,26,28,935,261, + 25,23,50,1018,104,75,76,102,3127,35, + 947,32,2765,3197,27,30,31,963,969,26, + 28,935,261,25,23,50,1018,104,75,76, + 108,3127,35,947,32,2769,3197,27,30,31, + 963,969,26,28,935,261,25,23,50,1018, + 104,75,76,107,3127,35,947,32,1977,3197, + 27,30,31,963,969,26,28,935,261,25, + 23,50,1018,104,75,76,105,3127,35,947, + 32,2776,3197,27,30,31,963,969,26,28, + 935,261,25,23,50,1018,104,75,76,103, + 1992,35,3569,32,3302,4657,27,30,31,963, + 969,340,28,1795,1869,35,947,32,3302,4657, + 27,30,31,963,969,340,28,49,49,173, + 2771,4255,1198,1566,2858,2795,49,2746,2796,2447, + 970,2790,49,49,4740,1827,1198,2746,2417,2746, + 49,2241,200,2777,3447,2799,4179,227,154,320, + 2074,322,2800,2798,315,2064,2651,344,2847,227, + 2746,1795,3621,320,2074,322,1795,2900,315,2064, + 204,214,4591,1990,203,211,212,213,215,3095, + 2702,314,204,214,4591,5437,203,211,212,213, + 215,3019,49,49,2516,1972,1198,1198,1198,4111, + 198,205,207,209,3321,299,216,206,208,587, + 35,1729,390,205,207,209,3321,1914,216,206, + 208,2746,154,154,154,5437,5437,308,311,544, + 2548,2450,2575,2642,160,2746,2799,5437,4477,5437, + 5437,227,5437,49,1618,1618,507,2485,3157,1795, + 4477,3037,49,1726,754,344,1198,420,421,3567, + 587,35,1729,390,204,214,4591,533,203,211, + 212,213,215,3286,35,1729,390,3095,2741,2050, + 3371,3474,154,2746,94,752,237,261,4164,504, + 506,1618,2768,536,49,205,207,209,3321,432, + 216,206,208,344,1726,2544,5437,273,1869,35, + 947,32,3302,4657,27,30,31,963,969,340, + 28,929,35,1729,390,1379,1618,1638,1618,5437, + 3393,3646,4477,5437,5437,2240,231,1956,35,947, + 32,1795,4723,27,30,31,963,969,340,28, + 1618,5437,5437,384,49,49,5437,5437,1198,235, + 229,230,1724,5437,4369,1726,47,320,2074,322, + 274,5437,315,2064,4320,5437,5437,5437,3468,1355, + 221,5437,5437,1198,154,3265,3613,3019,5437,242, + 245,248,251,951,2774,334,320,2074,322,1795, + 5437,318,2064,3624,828,1956,35,947,32,158, + 4723,27,30,31,963,969,340,28,1869,35, + 947,32,3302,4657,27,30,31,963,969,340, + 28,3532,5437,5437,5437,2778,5437,2001,191,2746, + 5437,2746,5437,5437,5437,5437,1355,2651,49,1653, + 1198,2746,2746,2746,5437,3019,5437,1849,5437,344, + 5437,227,5437,334,320,2074,322,5437,5437,316, + 2064,2702,344,227,5437,3018,158,320,2074,322, + 5437,4217,315,2064,204,214,4591,5437,203,211, + 212,213,215,5437,3095,4115,204,214,4591,5437, + 203,211,212,213,215,49,5437,1740,49,1198, + 2401,2746,1198,5437,5437,205,207,209,3321,2088, + 522,206,208,2746,5437,5437,5437,205,207,209, + 3321,227,521,206,208,154,5437,507,154,5437, + 5437,5437,3177,227,5437,1816,5437,5437,4298,674, + 35,1729,390,5437,204,214,4591,5437,203,211, + 212,213,215,5437,5437,2175,204,214,4591,2746, + 203,211,212,213,215,5437,5437,5437,1355,5437, + 505,506,1198,49,5437,205,207,209,3321,227, + 217,206,208,1726,47,5437,5437,205,207,209, + 3321,5437,306,206,208,1355,2560,5437,158,1198, + 5437,5437,204,214,4591,5437,203,211,212,213, + 215,2160,35,947,32,2491,4657,27,30,31, + 963,969,340,28,4296,158,1180,5437,5437,5437, + 2746,4901,5437,205,207,209,3321,1286,501,206, + 208,2746,4901,1901,5437,5437,5437,2746,4179,5437, + 227,5437,1901,5437,5437,5437,2746,4179,5437,5437, + 5437,227,5437,5437,3303,5437,5437,2702,5437,5437, + 317,3503,322,1422,409,3479,2702,674,35,1729, + 390,5437,5437,5437,1422,409,3479,5437,5437,5437, + 5437,3516,5437,3019,5437,929,35,1729,390,2686, + 5437,333,3019,2746,410,411,412,3321,5437,5437, + 333,49,5437,5437,5437,410,411,412,3321,5437, + 5437,1726,2698,2702,5437,5437,5437,3240,5437,49, + 5437,5437,2811,361,2789,5437,5437,5437,3240,1726, + 47,3115,361,674,35,1729,390,2239,3202,3215, + 5437,49,1328,5437,5437,2746,2239,3202,3215,5437, + 674,35,1729,390,674,35,1729,390,5437,5437, + 5437,2824,5437,5437,5437,344,5437,49,674,35, + 1729,390,1649,35,1729,390,5437,1726,598,507, + 5437,413,415,5437,49,5437,5437,3095,49,5437, + 2789,5437,413,416,1726,47,5437,5437,1726,47, + 2721,5437,49,511,540,1125,49,1384,4617,5437, + 5437,2160,1726,47,5437,5437,1726,47,674,35, + 1729,390,504,506,344,2247,5437,49,5437,2881, + 154,540,674,35,1729,390,2168,35,1729,390, + 186,5437,5437,5437,49,5437,4388,5437,540,5437, + 5437,344,49,587,35,1729,390,154,5437,5437, + 5437,5437,1726,47,4018,5437,49,186,344,5437, + 49,5437,5437,4388,154,2606,1726,47,5437,2719, + 1726,47,5437,2746,1392,5437,5437,49,5437,2817, + 3095,49,49,2979,5437,540,540,1726,2756,5437, + 49,5437,188,344,2746,5437,1245,587,35,1729, + 390,587,35,1729,390,344,344,5437,5437,49, + 5437,154,154,2746,344,934,5437,5437,5437,3681, + 5437,186,186,5437,5437,5437,5437,4388,4388,5437, + 5437,49,5437,344,5437,49,3095,5437,5437,5437, + 5437,1726,564,5437,5437,1726,2571,5437,5437,5437, + 5437,5437,509,5437,5437,3095,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,537,4219,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,4214,4215,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,5437,5437,444,5437,458,5437,0, + 39,5452,0,39,5451,0,576,29,0,442, + 787,0,456,1088,0,38,651,0,38,5452, + 0,38,5451,0,2646,124,0,1,446,0, + 460,728,0,459,956,0,2528,89,0,576, + 389,0,35,33,0,32,34,0,39,651, + 0,1,631,0,1,5709,0,1,5708,0, + 1,5707,0,1,5706,0,1,5705,0,1, + 5704,0,1,5703,0,1,5702,0,1,5701, + 0,1,5700,0,1,5699,0,39,1,5452, + 0,39,1,5451,0,632,1,0,283,396, + 0,283,288,0,5670,240,0,5669,240,0, + 5776,240,0,5775,240,0,5697,240,0,5696, + 240,0,5695,240,0,5694,240,0,5693,240, + 0,5692,240,0,5691,240,0,5690,240,0, + 5709,240,0,5708,240,0,5707,240,0,5706, + 240,0,5705,240,0,5704,240,0,5703,240, + 0,5702,240,0,5701,240,0,5700,240,0, + 5699,240,0,39,5452,240,0,39,5451,240, + 0,5475,240,0,5452,48,0,5451,48,0, + 5443,1,0,5442,1,0,2992,236,0,32, + 390,0,29,389,0,43,5473,0,43,37, + 0,2646,126,0,2646,125,0,332,447,0, + 5475,1,0,39,1,0,47,37,0,1, + 90,0,503,3263,0,5475,1,228,0,39, + 1,228,0,228,418,0,5452,37,0,5451, + 37,0,5452,2,37,0,5451,2,37,0, + 5452,36,0,5451,36,0,5473,45,0,37, + 45,0,5447,407,0,5446,407,0,1,4278, + 0,1,4869,0,1,651,0,228,417,0, + 3007,319,0,332,93,0,35,72,0,1, + 332,0,4349,278,0,503,4419,0,1,228, + 0,228,219,0,1,2534,0,1,2538,0, + 228,218,0,5449,1,0,5445,1,0,1, + 228,3880,0,5446,228,0,3903,228,0,5449, + 385,0,5448,385,0,4089,228,0,10,12, + 0,8,10,12,0,4113,192,0,183,3556, + 0,4143,385,0,8,12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1095,15 +1113,15 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,0,56,57,58,59, 60,61,62,0,64,65,66,67,0,6, - 0,71,4,3,74,75,76,77,78,79, + 0,71,0,3,74,75,76,77,78,79, 80,81,82,83,84,85,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,0,49,50,51,52,53, - 54,0,56,57,58,59,60,61,62,101, - 64,65,66,67,106,92,93,71,0,0, + 54,69,56,57,58,59,60,61,62,0, + 64,65,66,67,0,92,93,71,4,0, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1112,30 +1130,30 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,1,2,71,4,10,74,75,76,77, + 0,1,2,71,4,0,74,75,76,77, 78,79,80,81,82,83,84,85,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,0,49,50,51, - 52,53,54,0,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,8, - 4,0,74,75,76,77,78,79,80,81, + 52,53,54,68,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,0, + 4,10,74,75,76,77,78,79,80,81, 82,83,84,85,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,71,49,50,51,52,53,54,0, + 46,47,0,49,50,51,52,53,54,0, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,6,0,102,103,104,74,75, + 66,67,0,6,0,0,87,88,74,75, 76,77,78,79,80,81,82,83,84,85, 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,0,49, + 40,41,42,43,44,45,46,47,63,49, 50,51,52,53,54,0,56,57,58,59, 60,61,62,0,64,65,66,67,99,92, 93,89,9,91,74,75,76,77,78,79, @@ -1146,42 +1164,42 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,99,6,0,0,1,2, + 64,65,66,67,99,6,0,1,2,0, 74,75,76,77,78,79,80,81,82,83, 84,85,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, - 0,49,50,51,52,53,54,0,56,57, + 0,49,50,51,52,53,54,68,56,57, 58,59,60,61,62,0,64,65,66,67, - 5,92,93,87,88,0,74,75,76,77, + 5,92,93,0,1,2,74,75,76,77, 78,79,80,81,82,83,84,85,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,0,49,50,51, - 52,53,54,68,56,57,58,59,60,61, - 62,0,64,65,66,67,0,1,2,23, - 24,5,74,75,76,77,78,79,80,81, + 52,53,54,0,56,57,58,59,60,61, + 62,0,64,65,66,67,0,1,2,8, + 0,5,74,75,76,77,78,79,80,81, 82,83,84,85,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,0,49,50,51,52,53,54,0, + 46,47,71,49,50,51,52,53,54,69, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,1,2,8,4,0,74,75, + 66,67,0,1,2,0,4,0,74,75, 76,77,78,79,80,81,82,83,84,85, 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,71,49, + 40,41,42,43,44,45,46,47,0,49, 50,51,52,53,54,68,56,57,58,59, 60,61,62,0,64,65,66,67,0,1, - 2,0,1,2,74,75,76,77,78,79, + 2,0,87,88,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1189,7 +1207,7 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 34,35,36,37,38,39,40,41,42,43, 44,45,46,47,0,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,0,0,8,3,3, + 64,65,66,67,0,0,1,2,87,88, 74,75,76,77,78,79,80,81,82,83, 84,85,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1197,10 +1215,10 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, 0,49,50,51,52,53,54,0,56,57, - 58,59,60,61,62,0,64,65,66,67, - 0,6,0,89,9,91,74,75,76,77, + 58,59,60,61,62,8,64,65,66,67, + 0,1,2,89,0,91,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, - 2,3,4,5,6,7,117,9,10,11, + 2,3,4,5,6,7,0,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,0,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, @@ -1208,233 +1226,234 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 52,53,54,0,56,57,58,4,60,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,0,118,27,28,29,30, + 21,22,23,24,100,118,27,28,29,30, 31,32,33,34,35,36,0,1,2,40, - 4,5,0,7,0,0,0,48,0,1, - 2,0,4,0,68,56,57,58,59,0, - 61,62,0,1,2,100,22,23,24,0, + 4,5,0,7,0,0,100,48,0,1, + 2,6,4,0,9,56,57,58,59,0, + 61,62,0,0,1,2,22,23,24,0, 71,72,28,29,30,31,32,33,34,35, 36,22,23,24,48,86,0,28,29,30, - 31,32,33,34,35,36,48,0,0,1, - 2,102,103,104,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,87, - 88,27,28,29,30,31,32,33,34,35, - 36,55,0,98,40,3,48,0,6,0, - 8,9,48,0,1,2,0,8,5,90, - 56,57,58,59,8,61,62,25,26,27, - 0,1,2,0,0,71,72,0,0,37, - 38,8,0,1,2,3,4,5,6,7, - 86,9,0,0,0,1,2,55,4,0, - 6,48,8,9,0,63,102,103,104,0, - 68,69,70,71,72,73,67,120,48,0, - 1,2,3,4,5,6,7,71,9,87, - 88,89,90,91,92,93,94,95,96,97, - 98,99,100,101,0,63,73,105,106,107, - 108,109,110,111,112,113,114,115,116,117, - 0,119,120,3,0,72,6,73,8,9, - 96,97,0,1,2,3,4,5,6,7, - 8,9,63,74,90,25,26,27,69,25, - 26,87,88,0,22,23,24,37,38,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,3,4,5,55,7,8,0,0, - 1,2,0,63,5,3,7,55,68,69, - 70,71,72,73,0,63,27,0,1,2, - 3,4,5,6,7,73,9,87,88,89, - 90,91,92,93,94,95,96,97,98,99, - 100,101,0,1,2,105,106,107,108,109, - 110,111,112,113,114,115,116,117,0,119, - 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,0,0,27,28, - 29,30,31,32,33,34,35,36,0,1, - 2,40,4,0,6,0,0,9,0,48, - 4,8,6,0,100,9,0,56,57,58, - 59,8,61,62,0,64,0,22,23,24, - 27,0,71,28,29,30,31,32,33,34, - 35,36,0,1,2,87,88,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,70,0,27,28,29,30,31, - 32,33,34,35,36,69,73,63,40,63, - 0,1,2,3,4,5,48,7,0,0, - 0,3,0,55,56,57,58,59,0,61, - 62,9,64,0,0,1,2,101,4,5, - 0,7,106,107,108,109,110,111,112,113, - 114,115,116,0,86,0,1,2,3,4, + 31,32,33,34,35,36,48,0,0,0, + 1,2,103,104,105,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, + 0,0,27,28,29,30,31,32,33,34, + 35,36,89,0,91,40,3,48,0,6, + 0,8,9,48,68,0,1,2,96,97, + 5,56,57,58,59,0,61,62,25,26, + 27,0,1,2,0,0,71,72,3,48, + 37,38,8,0,1,2,3,4,5,6, + 7,86,9,96,97,0,0,0,55,3, + 0,1,2,48,4,5,63,7,103,104, + 105,68,69,70,71,72,73,87,88,48, + 0,1,2,3,4,5,6,7,0,9, + 87,88,89,90,91,92,93,94,95,96, + 97,98,99,100,101,70,63,73,48,106, + 107,108,109,110,111,112,113,114,115,116, + 117,118,119,120,0,0,0,3,0,4, + 6,6,8,9,9,0,0,1,2,3, + 4,5,6,7,8,9,89,0,91,25, + 26,27,72,25,26,0,1,2,22,23, + 24,37,38,27,28,29,30,31,32,33, + 34,35,36,0,1,2,3,4,5,55, + 7,8,0,0,1,2,98,63,5,63, + 7,55,68,69,70,71,72,73,63,63, + 27,0,1,2,3,4,5,6,7,73, + 9,87,88,89,90,91,92,93,94,95, + 96,97,98,99,100,101,0,0,0,3, + 106,107,108,109,110,111,112,113,114,115, + 116,117,118,119,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, - 0,63,27,28,29,30,31,32,33,34, + 0,0,27,28,29,30,31,32,33,34, 35,36,0,1,2,40,4,0,6,0, - 60,9,69,48,0,8,0,3,89,0, - 91,56,57,58,59,6,61,62,98,64, - 40,22,23,24,96,97,71,28,29,30, - 31,32,33,34,35,36,0,0,1,2, - 4,86,0,1,2,3,4,5,6,7, + 0,9,0,48,0,25,26,0,8,0, + 0,56,57,58,59,8,61,62,8,64, + 0,22,23,24,87,88,71,28,29,30, + 31,32,33,34,35,36,55,27,0,1, + 2,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,70,71,27, - 28,29,30,31,32,33,34,35,36,0, - 1,2,40,4,5,48,7,0,1,2, - 48,4,0,6,0,89,9,91,56,57, - 58,59,0,61,62,3,64,0,1,2, - 3,4,5,71,7,8,0,0,1,2, - 3,4,5,6,7,0,9,48,86,0, + 18,19,20,21,22,23,24,67,0,27, + 28,29,30,31,32,33,34,35,36,70, + 73,0,40,63,0,1,2,3,4,5, + 48,7,8,25,26,0,0,55,56,57, + 58,59,0,61,62,10,64,0,1,2, + 101,27,5,0,7,0,107,108,109,110, + 111,112,113,114,115,116,117,0,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,0,63,27,28,29,30, + 21,22,23,24,59,0,27,28,29,30, 31,32,33,34,35,36,0,1,2,40, - 63,0,1,2,3,4,5,48,7,8, - 73,87,88,0,0,56,57,58,59,72, - 61,62,0,64,69,0,1,2,27,0, - 71,0,0,1,2,3,4,0,6,25, - 26,9,0,0,48,86,0,1,2,3, + 68,69,6,0,0,1,2,48,4,5, + 0,7,55,68,0,56,57,58,59,0, + 61,62,8,64,98,22,23,24,0,72, + 71,28,29,30,31,32,33,34,35,36, + 55,27,23,24,48,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,0,0,27,28,29,30,31,32,33, - 34,35,36,0,1,2,40,4,0,6, - 65,66,9,0,48,63,25,26,0,0, - 1,2,56,57,58,59,8,61,62,0, - 64,0,1,2,3,4,5,0,7,0, - 1,2,3,4,5,27,7,55,0,1, - 2,118,86,0,1,2,3,4,5,6, + 34,35,36,0,1,2,40,0,0,1, + 2,3,4,5,48,7,0,0,0,3, + 3,0,56,57,58,59,8,61,62,8, + 64,0,1,2,3,4,5,71,7,8, + 0,1,2,0,4,0,6,55,8,9, + 120,48,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,70,0, + 17,18,19,20,21,22,23,24,0,63, 27,28,29,30,31,32,33,34,35,36, - 0,0,63,40,0,4,48,3,0,1, - 2,48,63,72,0,68,8,70,4,56, - 57,58,59,22,61,62,0,64,0,3, - 0,1,2,0,8,0,1,2,3,4, - 5,118,7,0,1,2,0,0,48,86, + 0,73,71,40,63,0,1,2,3,4, + 5,48,7,0,73,60,3,0,90,56, + 57,58,59,73,61,62,0,64,0,0, + 1,2,3,4,71,6,8,0,9,0, + 90,0,1,2,3,4,5,8,7,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,67,48,27,28,29, - 30,31,32,33,34,35,36,0,55,63, - 40,0,1,2,68,8,70,0,48,73, - 0,4,55,102,103,104,56,57,58,59, - 10,61,62,0,64,0,1,2,3,4, - 5,8,7,0,0,0,3,3,0,1, - 2,3,4,5,6,7,86,9,10,11, - 12,13,14,15,16,17,18,19,20,21, - 0,0,55,25,26,4,65,66,8,59, - 73,37,38,0,0,37,38,39,4,41, - 42,43,44,45,46,47,0,49,50,51, - 52,53,54,0,0,0,73,63,60,61, - 0,0,69,65,66,0,1,2,3,4, - 5,6,7,90,9,10,11,12,13,14, - 15,16,17,18,19,20,21,67,55,55, - 25,26,0,0,1,2,4,4,5,105, - 7,68,37,38,39,0,41,42,43,44, - 45,46,47,119,49,50,51,52,53,54, - 0,1,2,68,70,60,6,94,95,0, - 65,66,3,68,0,1,2,3,4,5, + 20,21,22,23,24,0,63,27,28,29, + 30,31,32,33,34,35,36,0,1,2, + 40,4,63,6,68,69,9,69,48,0, + 63,73,3,103,104,105,56,57,58,59, + 71,61,62,72,64,0,0,1,2,3, + 4,5,6,7,0,9,0,1,2,3, + 4,5,8,7,0,0,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,0,0,27,28,29,30,31,32, + 33,34,35,36,0,1,2,40,4,63, + 6,0,48,9,3,48,70,72,0,63, + 55,67,0,56,57,58,59,9,61,62, + 0,64,0,3,0,0,1,2,8,0, + 1,2,3,4,5,0,7,0,1,2, + 0,1,2,86,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,25, - 26,5,0,7,0,3,0,3,48,3, - 0,37,38,39,8,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, - 1,2,63,0,60,0,0,0,0,1, - 2,67,0,8,8,71,0,1,2,3, - 4,5,6,7,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,63, - 0,25,26,0,1,2,0,48,8,73, - 0,0,0,37,38,39,48,41,42,43, - 44,45,46,47,72,49,50,51,52,53, - 54,68,0,70,0,70,60,3,73,73, - 68,65,66,0,1,2,3,4,5,6, - 7,48,9,10,11,12,13,14,15,16, - 17,18,19,20,21,55,55,55,25,26, - 0,0,0,73,68,3,0,0,68,8, - 37,38,39,72,41,42,43,44,45,46, - 47,0,49,50,51,52,53,54,27,0, - 0,0,70,60,94,95,0,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,55,63,0,25,26,3,0,48, - 0,3,0,0,68,68,0,37,38,39, - 4,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,0,0,22,63, - 60,94,95,72,0,10,10,67,0,1, + 16,17,18,19,20,21,22,23,24,0, + 48,27,28,29,30,31,32,33,34,35, + 36,69,0,63,40,0,1,2,68,69, + 65,66,48,73,0,0,72,3,0,0, + 56,57,58,59,0,61,62,3,64,0, + 0,1,2,0,4,0,6,8,0,9, + 0,3,0,1,2,3,4,5,6,7, + 86,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,1,2,25,26,0, + 65,66,8,55,55,37,38,0,0,37, + 38,39,4,41,42,43,44,45,46,47, + 55,49,50,51,52,53,54,0,69,0, + 71,63,60,61,0,90,0,65,66,0, + 1,2,3,4,5,6,7,0,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,67,55,55,25,26,0,1,2,0, + 4,5,3,7,106,68,37,38,39,0, + 41,42,43,44,45,46,47,119,49,50, + 51,52,53,54,0,1,2,68,0,60, + 101,94,95,69,65,66,107,68,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 0,0,0,25,26,40,40,0,0,0, - 0,4,0,48,48,37,38,39,0,41, + 0,1,2,25,26,0,0,90,0,4, + 0,3,48,3,0,37,38,39,8,41, 42,43,44,45,46,47,0,49,50,51, - 52,53,54,90,0,0,0,3,60,5, - 6,0,0,9,8,67,72,0,0,8, - 3,0,0,0,0,55,55,55,0,25, - 26,3,55,27,55,55,0,55,27,0, - 0,37,38,55,0,41,0,69,0,3, - 0,55,0,3,0,3,0,3,121,55, - 39,39,0,0,0,3,3,63,0,65, - 66,0,68,69,70,70,0,0,55,0, - 0,0,0,3,72,0,0,69,0,3, - 0,87,88,89,70,0,92,93,94,95, - 96,97,98,99,100,101,70,39,69,105, - 70,107,108,109,110,111,112,113,114,115, - 116,0,1,2,3,4,5,6,7,8, + 52,53,54,0,1,2,0,0,60,0, + 4,4,0,1,2,67,40,8,48,71, + 0,1,2,3,4,5,6,7,22,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,63,0,25,26,0,1,2, + 0,48,8,73,4,0,72,37,38,39, + 48,41,42,43,44,45,46,47,72,49, + 50,51,52,53,54,0,0,0,0,3, + 60,0,73,8,6,65,66,0,1,2, + 3,4,5,6,7,48,9,10,11,12, + 13,14,15,16,17,18,19,20,21,103, + 104,105,25,26,0,0,0,73,63,0, + 0,0,0,8,37,38,39,8,41,42, + 43,44,45,46,47,0,49,50,51,52, + 53,54,27,0,0,0,27,60,73,4, + 0,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,55,55,0,25, + 26,3,68,39,69,0,70,0,3,68, + 0,37,38,39,4,41,42,43,44,45, + 46,47,0,49,50,51,52,53,54,74, + 0,0,22,70,60,94,95,0,0,69, + 10,67,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,0,0,0,25,26,0, + 40,0,3,0,0,10,0,55,48,37, + 38,39,0,41,42,43,44,45,46,47, + 68,49,50,51,52,53,54,0,0,0, + 0,3,60,5,6,40,69,9,8,67, + 0,0,0,48,4,0,94,95,0,4, + 0,55,0,25,26,3,55,27,55,55, + 0,55,0,3,70,37,38,0,39,41, + 3,0,0,0,0,3,3,3,0,0, + 0,3,55,55,72,0,0,0,3,3, + 0,63,0,65,66,55,68,69,70,0, + 55,0,0,0,0,0,0,0,0,0, + 0,70,70,0,0,87,88,89,70,69, + 92,93,94,95,96,97,98,99,100,101, + 0,69,0,0,106,0,108,109,110,111, + 112,113,114,115,116,117,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,55,70, + 0,25,26,102,72,72,72,90,70,70, + 75,102,102,37,38,39,0,41,42,43, + 44,45,46,47,102,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,39, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,72,0,69,25,26,69,72, - 55,0,0,72,69,0,0,75,37,38, + 19,20,21,0,0,0,25,26,121,0, + 0,0,0,0,0,0,0,0,37,38, 39,0,41,42,43,44,45,46,47,0, - 49,50,51,52,53,54,0,1,2,3, - 4,5,6,7,0,9,10,11,12,13, - 14,15,16,17,18,19,20,21,0,0, - 0,25,26,0,0,0,0,0,0,0, - 0,0,0,37,38,39,0,41,42,43, - 44,45,46,47,69,49,50,51,52,53, - 54,0,0,0,90,0,60,0,117,0, - 1,2,3,4,5,6,7,0,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,25,26,0,69,0,0, - 0,0,0,0,0,0,37,38,39,0, - 41,42,43,44,45,46,47,0,49,50, - 51,52,53,54,0,1,2,3,4,5, - 6,7,63,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,25, - 26,0,0,0,0,0,0,0,0,0, - 0,37,38,39,0,41,42,43,44,45, - 46,47,0,49,50,51,52,53,54,0, - 0,0,0,0,60,0,1,2,3,4, + 49,50,51,52,53,54,0,0,0,0, + 0,60,0,0,118,0,1,2,3,4, 5,6,7,0,9,10,11,12,13,14, 15,16,17,18,19,20,21,0,0,0, 25,26,0,0,0,0,0,0,0,0, 0,0,37,38,39,0,41,42,43,44, 45,46,47,0,49,50,51,52,53,54, - 0,1,2,3,4,5,6,7,0,9, + 0,1,2,3,4,5,6,7,63,9, 10,11,12,13,14,15,16,17,18,19, 20,21,0,0,0,25,26,0,0,0, 0,0,0,0,0,0,0,37,38,39, 0,41,42,43,44,45,46,47,0,49, - 50,51,52,53,54,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 25,26,0,0,0,0,0,0,0,0, - 0,0,37,38,39,0,41,42,43,44, - 45,46,47,0,49,50,51,52,53,54, - 0,1,2,0,4,0,0,0,0,0, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,0,0,28,29, - 30,31,32,33,34,35,36,0,0,0, - 40,0,0,0,0,0,0,0,0,0, - 1,2,0,4,0,0,56,57,58,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,0,0,28,29,30, - 31,32,33,34,35,36,0,0,0,40, - 0,1,2,3,4,5,6,7,8,9, - 0,0,0,0,0,56,57,58,0,0, - 0,0,22,23,24,0,0,27,28,29, - 30,31,32,33,34,35,36,11,12,13, + 50,51,52,53,54,0,0,0,0,0, + 60,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,3, + 4,5,6,7,0,9,10,11,12,13, + 14,15,16,17,18,19,20,21,0,0, + 0,25,26,0,0,0,0,0,0,0, + 0,0,0,37,38,39,0,41,42,43, + 44,45,46,47,0,49,50,51,52,53, + 54,0,1,2,3,4,5,6,7,0, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,25,26,0,0, + 0,0,0,0,0,0,0,0,37,38, + 39,0,41,42,43,44,45,46,47,0, + 49,50,51,52,53,54,0,1,2,0, + 4,0,0,0,0,0,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, 24,0,0,0,28,29,30,31,32,33, - 34,35,36,63,0,0,0,0,0,0, - 0,0,0,73,0,0,0,0,0,0, + 34,35,36,0,0,0,40,0,0,0, + 0,0,0,0,0,0,1,2,0,4, + 0,0,56,57,58,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 0,0,0,28,29,30,31,32,33,34, + 35,36,0,0,0,40,0,1,2,3, + 4,5,6,7,8,9,0,0,0,0, + 0,56,57,58,0,0,0,0,22,23, + 24,0,0,27,28,29,30,31,32,33, + 34,35,36,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,0,0,0, + 28,29,30,31,32,33,34,35,36,63, + 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,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 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; @@ -1442,346 +1461,346 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 5342,5307,5286,5286,5286,5286,5286,5286,5323,5286, + 5437,5399,5378,5378,5378,5378,5378,5378,5415,5378, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5403,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5311,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,137,1, - 1,1,1,1,1,1,1,1,1,2599, - 1,5515,2586,113,3528,1,1,5353,39,3761, - 5342,5349,5380,3452,1429,3846,3580,2198,3520,3680, - 3104,3836,1000,3765,785,3742,10,5326,5326,5326, - 5326,5326,5326,5326,5326,5326,5326,5326,5326,5326, - 5326,5326,5326,5326,5326,5326,5326,5326,5326,5326, - 5326,5326,5326,5326,5326,5326,5326,5326,5326,5326, - 5326,5326,5326,5326,5326,5326,5326,5326,5326,5326, - 5326,5326,5326,5326,328,5326,5326,5326,5326,5326, - 5326,393,5326,5326,5326,5326,5326,5326,5326,2236, - 5326,5326,5326,5326,4278,3738,1328,5326,294,5342, - 5326,5326,5326,5326,5326,5326,5326,5326,5326,5326, - 5326,5326,8,5329,5329,5329,5329,5329,5329,5329, - 5329,5329,5329,5329,5329,5329,5329,5329,5329,5329, - 5329,5329,5329,5329,5329,5329,5329,5329,5329,5329, - 5329,5329,5329,5329,5329,5329,5329,5329,5329,5329, - 5329,5329,5329,5329,5329,5329,5329,5329,5329,5329, - 382,5329,5329,5329,5329,5329,5329,2848,5329,5329, - 5329,5329,5329,5329,5329,298,5329,5329,5329,5329, - 284,5079,5079,5329,281,5639,5329,5329,5329,5329, - 5329,5329,5329,5329,5329,5329,5329,5329,5342,5307, - 5286,5286,5286,5286,5286,5286,5314,5286,1,1, + 1,1,1,1,1,332,1,1,1,3084, + 1,5610,2030,113,3582,1,1,5448,397,3737, + 5437,5444,155,3166,1509,3995,3537,2251,3421,3857, + 3181,3972,3076,3949,3615,3926,10,5418,5418,5418, + 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, + 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, + 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, + 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, + 5418,5418,5418,5418,298,5418,5418,5418,5418,5418, + 5418,1475,5418,5418,5418,5418,5418,5418,5418,386, + 5418,5418,5418,5418,39,3713,3689,5418,5475,5437, + 5418,5418,5418,5418,5418,5418,5418,5418,5418,5418, + 5418,5418,8,5421,5421,5421,5421,5421,5421,5421, + 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, + 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, + 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, + 5421,5421,5421,5421,5421,5421,5421,5421,5421,5421, + 5437,5421,5421,5421,5421,5421,5421,2879,5421,5421, + 5421,5421,5421,5421,5421,5437,5421,5421,5421,5421, + 288,5171,5171,5421,283,5437,5421,5421,5421,5421, + 5421,5421,5421,5421,5421,5421,5421,5421,5437,5399, + 5378,5378,5378,5378,5378,5378,5406,5378,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5311,1,1,1,1, + 1,1,1,1,1,5403,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5342,1,1,1, - 1,1,1,437,1,1,1,2599,1,5515, - 2586,5342,3528,1,1,5353,5342,4981,4978,5350, - 5380,5342,1429,3846,3580,2198,3520,3680,3104,3836, - 1000,3765,785,3742,5342,5307,5286,5286,5286,5286, - 5286,5286,5314,5286,1,1,1,1,1,1, + 1,1,1,1,1,1,5437,1,1,1, + 1,1,1,2901,1,1,1,3084,1,5610, + 2030,302,3582,1,1,5448,5437,5073,5070,119, + 5475,5738,1509,3995,3537,2251,3421,3857,3181,3972, + 3076,3949,3615,3926,5437,5399,5378,5378,5378,5378, + 5378,5378,5406,5378,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5311,1,1,1,1,1,1,1,1, + 1,5403,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5349,1,1,1,1,1,1,133, - 1,1,1,2599,1,5515,2586,115,3528,1, - 1,5353,109,3761,5342,5775,5776,5777,1429,3846, - 3580,2198,3520,3680,3104,3836,1000,3765,785,3742, - 5342,5307,5286,5286,5286,5286,5286,5286,5314,5286, + 1,1,5437,1,1,1,1,1,1,133, + 1,1,1,3084,1,5610,2030,115,3582,1, + 1,5448,109,3737,5437,460,2910,2937,1509,3995, + 3537,2251,3421,3857,3181,3972,3076,3949,3615,3926, + 5437,5399,5378,5378,5378,5378,5378,5378,5406,5378, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5311,1,1, + 1,1,1,1,1,1,1,5403,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5342,1, - 1,1,1,1,1,134,1,1,1,2599, - 1,5515,2586,129,3528,1,1,5353,2317,3738, - 1328,4018,2380,4040,1429,3846,3580,2198,3520,3680, - 3104,3836,1000,3765,785,3742,5342,5307,5286,5286, - 5286,5286,5286,5286,5314,5286,1,1,1,1, + 1,1,1,1,1,1,1,1,5100,1, + 1,1,1,1,1,134,1,1,1,3084, + 1,5610,2030,129,3582,1,1,5448,2338,3713, + 3689,3968,2403,3991,1509,3995,3537,2251,3421,3857, + 3181,3972,3076,3949,3615,3926,5437,5399,5378,5378, + 5378,5378,5378,5378,5406,5378,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5311,1,1,1,1,1,1, + 1,1,1,5403,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5342,1,1,1,1,1, - 1,5342,1,1,1,2599,1,5515,2586,114, - 3528,1,1,5353,2317,3761,119,5342,5356,5357, - 1429,3846,3580,2198,3520,3680,3104,3836,1000,3765, - 785,3742,5342,5307,5286,5286,5286,5286,5286,5286, - 5314,5286,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5311, + 1,1,1,1,5437,1,1,1,1,1, + 1,5437,1,1,1,3084,1,5610,2030,114, + 3582,1,1,5448,2338,3737,5437,5451,5452,5437, + 1509,3995,3537,2251,3421,3857,3181,3972,3076,3949, + 3615,3926,5437,5399,5378,5378,5378,5378,5378,5378, + 5406,5378,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5403, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5342,1,1,1,1,1,1,5342,1,1, - 1,2599,1,5515,2586,5342,3528,1,1,5353, - 2868,3738,1328,2951,3046,5342,1429,3846,3580,2198, - 3520,3680,3104,3836,1000,3765,785,3742,5342,5307, - 5286,5286,5286,5286,5286,5286,5314,5286,1,1, + 5437,1,1,1,1,1,1,2934,1,1, + 1,3084,1,5610,2030,5437,3582,1,1,5448, + 3277,3713,3689,5437,5257,5254,1509,3995,3537,2251, + 3421,3857,3181,3972,3076,3949,3615,3926,5437,5399, + 5378,5378,5378,5378,5378,5378,5406,5378,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5311,1,1,1,1, + 1,1,1,1,1,5403,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,333,1,1,1, - 1,1,1,2887,1,1,1,2599,1,5515, - 2586,5342,3528,1,1,5353,5342,5356,5357,5676, - 5677,2868,1429,3846,3580,2198,3520,3680,3104,3836, - 1000,3765,785,3742,5342,5307,5286,5286,5286,5286, - 5286,5286,5314,5286,1,1,1,1,1,1, + 1,1,1,1,1,1,5437,1,1,1, + 1,1,1,5437,1,1,1,3084,1,5610, + 2030,5437,3582,1,1,5448,5437,5451,5452,5445, + 517,3277,1509,3995,3537,2251,3421,3857,3181,3972, + 3076,3949,3615,3926,5437,5399,5378,5378,5378,5378, + 5378,5378,5406,5378,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5311,1,1,1,1,1,1,1,1, + 1,5403,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,5342,1,1,1,1,1,1,5342, - 1,1,1,2599,1,5515,2586,1,3528,1, - 1,5353,5342,4981,4978,5304,5380,5342,1429,3846, - 3580,2198,3520,3680,3104,3836,1000,3765,785,3742, - 5342,5307,5286,5286,5286,5286,5286,5286,5314,5286, + 1,1,5444,1,1,1,1,1,1,895, + 1,1,1,3084,1,5610,2030,5437,3582,1, + 1,5448,5437,5073,5070,123,5475,5437,1509,3995, + 3537,2251,3421,3857,3181,3972,3076,3949,3615,3926, + 5437,5399,5378,5378,5378,5378,5378,5378,5406,5378, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5311,1,1, + 1,1,1,1,1,1,1,5403,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,5349,1, - 1,1,1,1,1,2900,1,1,1,2599, - 1,5515,2586,5342,3528,1,1,5353,5342,5165, - 5162,48,5165,5162,1429,3846,3580,2198,3520,3680, - 3104,3836,1000,3765,785,3742,5342,5307,5286,5286, - 5286,5286,5286,5286,5314,5286,1,1,1,1, + 1,1,1,1,1,1,1,1,5437,1, + 1,1,1,1,1,2964,1,1,1,3084, + 1,5610,2030,5437,3582,1,1,5448,48,5257, + 5254,122,2910,2937,1509,3995,3537,2251,3421,3857, + 3181,3972,3076,3949,3615,3926,5437,5399,5378,5378, + 5378,5378,5378,5378,5406,5378,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5311,1,1,1,1,1,1, + 1,1,1,5403,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5342,1,1,1,1,1, - 1,5342,1,1,1,2599,1,5515,2586,5342, - 3528,1,1,5353,112,5342,89,5346,3091,5014, - 1429,3846,3580,2198,3520,3680,3104,3836,1000,3765, - 785,3742,5342,3711,1,1,1,1,1,1, - 3736,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5351, + 1,1,1,1,5437,1,1,1,1,1, + 1,5437,1,1,1,3084,1,5610,2030,5437, + 3582,1,1,5448,112,399,5451,5452,2910,2937, + 1509,3995,3537,2251,3421,3857,3181,3972,3076,3949, + 3615,3926,5437,3880,1,1,1,1,1,1, + 3903,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5446, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5342,1,1,1,1,1,1,5342,1,1, - 1,2599,1,5515,2586,5342,3528,1,1,5353, - 5342,1897,5342,4018,1855,4040,1429,3846,3580,2198, - 3520,3680,3104,3836,1000,3765,785,3742,39,4981, - 4978,2827,626,2715,3892,619,5345,3923,2455,5604, - 5602,5611,5610,5606,5607,5605,5608,5609,5612,5603, - 5600,5676,5677,3870,3811,135,5594,5601,5597,5573, - 5599,5598,5595,5596,5574,3974,3952,5361,5738,593, - 675,779,5363,727,4106,748,5342,5364,5362,657, - 5358,5359,5360,5342,564,5739,5740,731,1396,5342, - 5217,5217,227,5213,227,227,227,5221,227,1, + 5437,1,1,1,1,1,1,5437,1,1, + 1,3084,1,5610,2030,5441,3582,1,1,5448, + 36,5333,5330,3968,135,3991,1509,3995,3537,2251, + 3421,3857,3181,3972,3076,3949,3615,3926,39,5073, + 5070,4834,632,3784,3853,4869,136,3876,882,5701, + 5699,5708,5707,5703,5704,5702,5705,5706,5709,5700, + 5696,5775,5776,3830,3807,5437,5690,5697,5693,5669, + 5695,5694,5691,5692,5670,3922,3899,5456,5837,3761, + 831,891,5458,866,599,877,5437,5459,5457,802, + 5453,5454,5455,5437,570,5838,5839,827,1431,5437, + 5309,5309,228,5305,228,228,228,5313,228,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5342,3851,227,1,1,1, - 1,1,1,1,1,1,5342,4981,4978,1, - 626,5026,123,619,222,131,5342,5210,392,5076, - 5076,5342,281,5342,2912,1,1,1,3109,223, - 5752,1431,395,5356,5357,2284,5600,5676,5677,355, - 414,227,5594,5601,5597,5573,5599,5598,5595,5596, - 5574,5600,5676,5677,2271,5840,5342,5594,5601,5597, - 5573,5599,5598,5595,5596,5574,281,5342,5342,8682, - 8682,5775,5776,5777,5342,5217,5217,227,5213,227, - 227,227,5265,227,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,2951, - 3046,227,1,1,1,1,1,1,1,1, - 1,2526,33,2349,1,5020,5378,5342,5020,5342, - 5020,5020,5210,37,5204,5204,8,5354,5204,5696, - 1,1,1,3109,5339,5752,1431,5020,5020,5020, - 43,5186,5186,1,127,413,227,5342,5342,5020, - 5020,159,342,4981,4978,580,626,1135,328,619, - 5840,328,5342,5342,1,5201,5201,5020,5198,5342, - 328,3123,360,328,122,5020,5775,5776,5777,1, - 5020,5020,5020,5020,5020,5020,5353,4977,5183,364, - 5069,5065,580,5073,1135,1,619,5339,1,5020, - 5020,5020,5020,5020,5020,5020,5020,5020,5020,5020, - 5020,5020,5020,5020,5342,1049,159,5020,5020,5020, - 5020,5020,5020,5020,5020,5020,5020,5020,5020,5020, - 5342,5020,5020,5023,116,1942,5023,360,5023,5023, - 2493,2422,29,385,385,5180,385,385,5180,385, - 5180,5180,1049,3098,360,5023,5023,5023,1229,3713, - 3688,2951,3046,5342,385,385,385,5023,5023,5180, - 385,385,385,385,385,385,385,385,385,1, - 5069,5065,5256,5073,5262,5023,5259,5352,5342,38, - 4999,4996,235,5023,4993,5174,619,4984,5023,5023, - 5023,5023,5023,5023,136,5180,5351,306,5069,5065, - 4221,5073,1135,5277,619,5180,5277,5023,5023,5023, - 5023,5023,5023,5023,5023,5023,5023,5023,5023,5023, - 5023,5023,36,5241,5238,5023,5023,5023,5023,5023, - 5023,5023,5023,5023,5023,5023,5023,5023,121,5023, - 5023,5342,5286,5286,227,5286,227,227,227,5289, - 227,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,5342,5342,227,1, - 1,8655,1,1,1,1,1,1,442,1, - 1,1,1,5342,5005,224,39,5005,5342,5283, - 5380,5352,328,5342,2284,328,137,1,1,1, - 3498,5348,5551,2586,456,3528,455,5600,5676,5677, - 5351,5342,218,5594,5601,5597,5573,5599,5598,5595, - 5596,5574,294,5356,5357,2951,3046,5840,5342,5286, - 5286,227,5286,227,227,227,227,227,1,1, + 1,1,1,1,2290,5440,228,1,1,1, + 1,1,1,1,1,1,5437,5073,5070,1, + 632,5118,5437,4869,223,5437,2290,5302,396,5168, + 5168,1289,283,111,1265,1,1,1,3079,224, + 5851,1321,127,298,5451,5452,5696,5775,5776,5437, + 418,228,5690,5697,5693,5669,5695,5694,5691,5692, + 5670,5696,5775,5776,2324,5939,5437,5690,5697,5693, + 5669,5695,5694,5691,5692,5670,283,128,5437,5437, + 8780,8780,5874,5875,5876,5437,5309,5309,228,5305, + 228,228,228,5357,228,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3784,5342,227,1,1,8655,1, - 1,1,1,1,1,1900,5347,5008,1,5011, - 1,5069,5065,4221,5073,1135,5283,619,344,111, - 132,1761,130,3415,1,1,1,3498,128,5551, - 2586,2380,3528,367,5342,4981,4978,2236,626,1135, - 530,619,4278,1858,1816,1774,1732,1690,1648,1606, - 1564,1522,1480,5342,5840,5342,5286,5286,227,5286, - 227,227,227,5298,227,1,1,1,1,1, + 121,37,228,1,1,1,1,1,1,1, + 1,1,3968,33,3991,1,5112,5473,5437,5112, + 5437,5112,5112,5302,5951,37,5296,5296,2462,2433, + 5296,1,1,1,3079,5437,5851,1321,5112,5112, + 5112,43,5278,5278,1,312,417,228,4102,5473, + 5112,5112,159,346,5073,5070,585,632,651,332, + 4869,5939,332,2462,2433,5437,5437,110,5112,2992, + 5437,5073,5070,3282,632,5118,5112,4869,5874,5875, + 5876,5112,5112,5112,5112,5112,5112,2910,2937,5275, + 5437,5161,5157,4278,5165,651,5369,4869,131,5369, + 5112,5112,5112,5112,5112,5112,5112,5112,5112,5112, + 5112,5112,5112,5112,5112,1154,1058,159,2966,5112, + 5112,5112,5112,5112,5112,5112,5112,5112,5112,5112, + 5112,5112,5112,5112,5437,39,459,5115,116,5475, + 5115,332,5115,5115,332,349,29,389,389,5272, + 389,389,5272,389,5272,5272,3968,5437,3991,5115, + 5115,5115,2077,3133,3050,292,5451,5452,389,389, + 389,5115,5115,5272,389,389,389,389,389,389, + 389,389,389,1,5161,5157,5348,5165,5354,5115, + 5351,5447,5437,38,5091,5088,2371,5115,5085,5103, + 4869,5076,5115,5115,5115,5115,5115,5115,1058,5272, + 5446,310,5161,5157,4278,5165,651,5369,4869,5272, + 5369,5115,5115,5115,5115,5115,5115,5115,5115,5115, + 5115,5115,5115,5115,5115,5115,89,120,5437,5106, + 5115,5115,5115,5115,5115,5115,5115,5115,5115,5115, + 5115,5115,5115,5115,5115,5437,5378,5378,228,5378, + 228,228,228,5381,228,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 5342,1049,227,1,1,8655,1,1,1,1, - 1,1,443,39,39,1,5380,5342,5195,225, - 3638,5195,1274,5283,1,5350,110,3592,4018,5342, - 4040,1,1,1,3498,2591,5551,2586,2349,3528, - 3839,5600,5676,5677,2493,2422,217,5594,5601,5597, - 5573,5599,5598,5595,5596,5574,5342,37,5204,5204, - 738,5840,5342,5286,5286,227,5286,227,227,227, - 5289,227,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1005,5349,227, - 1,1,8655,1,1,1,1,1,1,5342, - 4981,4978,1,626,5026,2837,619,90,1,1, - 5283,1,345,5207,120,4018,5207,4040,1,1, - 1,3498,5342,5551,2586,4373,3528,1,5069,5065, - 580,5073,1135,218,619,5168,5342,5342,5069,5065, - 4221,5073,1135,5277,619,365,5277,2812,5840,5342, - 5286,5286,227,5286,227,227,227,5289,227,1, + 118,5437,228,1,1,8837,1,1,1,1, + 1,1,446,1,1,1,1,5437,5097,225, + 5437,5097,5437,5375,5437,3133,3050,5437,5449,137, + 407,1,1,1,3463,5443,5647,2030,5342,3582, + 98,5696,5775,5776,2910,2937,219,5690,5697,5693, + 5669,5695,5694,5691,5692,5670,3214,5345,5437,8712, + 8707,5939,5437,5378,5378,228,5378,228,228,228, + 228,228,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5448,117,228, + 1,1,8837,1,1,1,1,1,1,1948, + 5442,5437,1,4475,1,5161,5157,4278,5165,651, + 5375,4869,310,3133,3050,302,132,3439,1,1, + 1,3463,5437,5647,2030,5738,3582,5437,5451,5452, + 1101,310,651,5437,4869,5437,4088,1905,1862,1819, + 1776,1733,1690,1647,1604,1561,1518,29,5939,5437, + 5378,5378,228,5378,228,228,228,5390,228,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,5342,1049,227,1,1,8655, - 1,1,1,1,1,1,5342,5227,5224,1, - 1049,1,5069,5065,4221,5073,1135,5283,619,306, - 5171,2951,3046,372,118,1,1,1,3498,2026, - 5551,2586,5342,3528,1351,5342,5356,5357,306,5342, - 218,5342,342,39,39,2829,5380,5342,328,3713, - 3688,328,5342,5342,5378,5840,5342,5286,5286,227, - 5286,227,227,227,227,227,1,1,1,1, + 1,1,1,1,2745,5437,228,1,1,8837, + 1,1,1,1,1,1,37,5296,5296,1, + 4535,4417,332,226,5437,5073,5070,5375,632,651, + 5437,4869,576,5880,5437,1,1,1,3463,337, + 5647,2030,5447,3582,2371,5696,5775,5776,5437,426, + 218,5690,5697,5693,5669,5695,5694,5691,5692,5670, + 3496,5446,5775,5776,5473,5939,5437,5378,5378,228, + 5378,228,228,228,5381,228,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,117,5342,227,1,1,8655,1,1,1, - 1,1,1,93,39,39,1,5380,155,5271, - 3996,810,5271,519,5283,1049,3713,3688,403,288, - 5356,5357,1,1,1,3498,5250,5551,2586,98, - 3528,1,5069,5065,4221,5073,1135,5342,619,1, - 5069,5065,580,5073,1135,5253,619,3137,5342,5234, - 5230,3851,5840,5342,5286,5286,227,5286,227,227, - 227,227,227,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1438,5342, - 227,1,1,8655,1,1,1,1,1,1, - 37,39,4820,1,5342,5380,5378,4374,5342,5356, - 5357,5283,1049,2026,393,4479,5354,3224,386,1, - 1,1,3498,2450,5551,2586,1,3528,47,2829, - 5342,8564,8161,5342,338,328,4981,4978,4221,626, - 1135,3851,619,5342,8564,8161,5342,5342,5378,5840, - 5342,5286,5286,227,5286,227,227,227,227,227, + 1,5437,5437,228,1,1,8837,1,1,1, + 1,1,1,37,5296,5296,1,5437,1,5161, + 5157,4278,5165,651,5375,4869,348,236,1,1806, + 5266,1,1,1,1,3463,364,5647,2030,5396, + 3582,1,5161,5157,585,5165,651,219,4869,5260, + 1,5293,5293,5437,5290,535,332,3574,364,332, + 5069,3244,5939,5437,5378,5378,228,5378,228,228, + 228,5381,228,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5437,1058, + 228,1,1,8837,1,1,1,1,1,1, + 441,364,5444,1,1058,332,5073,5070,4278,632, + 651,5375,4869,319,5263,3693,5360,5437,364,1, + 1,1,3463,364,5647,2030,5437,3582,5437,346, + 39,39,3497,5475,219,332,5443,321,332,8, + 364,1,5161,5157,4278,5165,651,5434,4869,5939, + 5437,5378,5378,228,5378,228,228,228,228,228, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5353,2567,227,1,1, - 8655,1,1,1,1,1,1,1,3492,1049, - 1,5342,5165,5162,338,5348,338,394,5283,338, - 298,385,3510,5775,5776,5777,1,1,1,3498, - 5639,5551,2586,1,3528,1,5069,5065,5256,5073, - 5262,360,5259,308,74,5342,2999,4141,5342,1, - 1,1,1,1,1,1,5840,1,1,1, + 1,1,1,1,1,5437,1058,228,1,1, + 8837,1,1,1,1,1,1,447,39,39, + 1,5475,1058,5287,4108,4417,5287,4909,5375,1, + 1058,5442,4418,5874,5875,5876,1,1,1,3463, + 5434,5647,2030,2077,3582,5437,368,5161,5157,585, + 5165,651,1,4869,1,1,1,5161,5157,585, + 5165,651,5393,4869,47,5437,5939,5437,5378,5378, + 228,5378,228,228,228,228,228,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5342,1034,1,1,2233,3996,810,5301,3229, - 5347,5404,5405,124,48,1,1,1,5357,1, - 1,1,1,1,1,1,5342,1,1,1, - 1,1,1,5342,513,5342,360,4162,1,5876, - 5342,5342,1144,1,1,1,5069,5065,2827,5073, - 2715,3892,619,360,3923,5029,5056,5062,5035,5038, - 5050,5047,5053,5044,5041,5032,5059,5353,2784,5357, - 3870,3811,5342,5342,4981,4978,2259,626,1135,734, - 619,5002,3974,3952,5361,5342,593,675,779,5363, - 727,4106,748,2743,5364,5362,657,5358,5359,5360, - 37,5204,5204,5852,887,1396,328,2683,2656,315, - 39,39,5268,514,39,4981,4978,2827,626,2715, - 3892,619,5336,3923,573,5604,5602,5611,5610,5606, - 5607,5605,5608,5609,5612,5603,5342,5356,5357,3870, - 3811,1135,5342,619,5342,4775,1,4815,5378,2829, - 5342,3974,3952,5361,5168,593,675,779,5363,727, - 4106,748,5342,5364,5362,657,5358,5359,5360,45, - 5247,5247,1049,5342,1396,5342,1,5342,5342,5227, - 5224,5320,5342,5348,526,5349,139,4981,4978,2827, - 626,2715,3892,619,5342,3923,573,5604,5602,5611, - 5610,5606,5607,5605,5608,5609,5612,5603,5342,1049, - 1,3870,3811,37,5204,5204,5342,5244,161,5171, - 126,29,29,3974,3952,5361,5378,593,675,779, - 5363,727,4106,748,5741,5364,5362,657,5358,5359, - 5360,3863,359,3224,5342,4795,1396,4143,5347,526, - 5781,39,39,1,5069,5065,2827,5073,2715,3892, - 619,5378,3923,5029,5056,5062,5035,5038,5050,5047, - 5053,5044,5041,5032,5059,2784,1034,4984,3870,3811, - 317,5342,5342,161,5795,4289,5342,125,5189,5352, - 3974,3952,5361,422,593,675,779,5363,727,4106, - 748,5342,5364,5362,657,5358,5359,5360,5351,5342, - 5342,426,4194,1396,2683,2656,97,5342,39,39, - 39,4981,4978,2827,626,2715,3892,619,5317,3923, - 573,5604,5602,5611,5610,5606,5607,5605,5608,5609, - 5612,5603,2784,1049,101,3870,3811,4291,5342,3431, - 5342,2828,5342,1,3593,5192,39,3974,3952,5361, - 5380,593,675,779,5363,727,4106,748,5342,5364, - 5362,657,5358,5359,5360,1,1,183,3362,1092, - 1396,2683,2656,4134,446,5292,5292,5320,39,4981, - 4978,2827,626,2715,3892,619,5317,3923,573,5604, - 5602,5611,5610,5606,5607,5605,5608,5609,5612,5603, - 438,452,385,3870,3811,5295,5295,48,289,5342, - 5342,5356,393,3632,3632,3974,3952,5361,72,593, - 675,779,5363,727,4106,748,5342,5364,5362,657, - 5358,5359,5360,5698,1,287,1,624,1396,5809, - 5803,1,5342,5807,5352,5320,2481,276,418,189, - 5280,5342,5342,5342,424,4987,4990,5017,5342,5801, - 5802,3557,5356,5351,1034,3415,447,1034,189,35, - 305,5832,5833,5274,5342,5810,5342,2064,5342,4379, - 5342,3018,5342,4777,5342,3482,5342,4757,5333,5812, - 1040,3378,5342,5342,5342,3187,4787,947,1,1635, - 1686,5342,5813,5811,5834,820,506,5342,3428,504, - 5342,5342,5342,4620,2112,5342,5342,2150,5342,4821, - 5342,5823,5822,5835,783,2,5804,5805,5828,5829, - 5826,5827,5806,5808,5830,5831,3087,3518,3393,5836, - 3798,5816,5817,5818,5814,5815,5824,5825,5820,5819, - 5821,39,4981,4978,2827,626,2715,3892,619,5346, - 3923,573,5604,5602,5611,5610,5606,5607,5605,5608, - 5609,5612,5603,3167,1,4346,3870,3811,4790,3223, - 37,5342,5342,3279,3393,5342,5342,3864,3974,3952, - 5361,5342,593,675,779,5363,727,4106,748,5342, - 5364,5362,657,5358,5359,5360,39,4981,4978,2827, - 626,2715,3892,619,5342,3923,573,5604,5602,5611, - 5610,5606,5607,5605,5608,5609,5612,5603,508,5342, - 5342,3870,3811,5342,5342,5342,5342,5342,5342,5342, - 5342,5342,5342,3974,3952,5361,5342,593,675,779, - 5363,727,4106,748,1984,5364,5362,657,5358,5359, - 5360,5342,5342,5342,4164,5342,1396,5342,5345,39, - 4981,4978,2827,626,2715,3892,619,5342,3923,573, - 5604,5602,5611,5610,5606,5607,5605,5608,5609,5612, - 5603,5342,5342,5342,3870,3811,5342,2551,5342,5342, - 5342,5342,5342,5342,5342,5342,3974,3952,5361,5342, - 593,675,779,5363,727,4106,748,5342,5364,5362, - 657,5358,5359,5360,39,4981,4978,2827,626,2715, - 3892,619,1518,3923,573,5604,5602,5611,5610,5606, - 5607,5605,5608,5609,5612,5603,5342,5342,5342,3870, - 3811,5342,5342,5342,5342,5342,5342,5342,5342,5342, - 5342,3974,3952,5361,5342,593,675,779,5363,727, - 4106,748,5342,5364,5362,657,5358,5359,5360,5342, - 5342,5342,5342,5342,1396,39,4981,4978,4129,626, - 2715,3892,619,5342,3923,573,5604,5602,5611,5610, - 5606,5607,5605,5608,5609,5612,5603,5342,5342,5342, - 3870,3811,5342,5342,5342,5342,5342,5342,5342,5342, - 5342,5342,3974,3952,5361,5342,593,675,779,5363, - 727,4106,748,5342,5364,5362,657,5358,5359,5360, - 39,4981,4978,2827,626,2715,3892,619,5342,3923, - 573,5604,5602,5611,5610,5606,5607,5605,5608,5609, - 5612,5603,5342,5342,5342,3870,3811,5342,5342,5342, - 5342,5342,5342,5342,5342,5342,5342,3974,3952,5361, - 5342,593,675,779,5363,727,4106,748,5342,5364, - 5362,657,5358,5359,5360,39,4981,4978,2827,626, - 2715,3892,619,5342,3923,573,5604,5602,5611,5610, - 5606,5607,5605,5608,5609,5612,5603,5342,5342,5342, - 3870,3811,5342,5342,5342,5342,5342,5342,5342,5342, - 5342,5342,3974,3952,5361,5342,593,675,779,5363, - 727,4106,748,5342,5364,5362,657,5358,5359,5360, - 5342,4981,4978,5342,5380,5342,5342,5342,5342,5342, - 1316,5604,5602,5611,5610,5606,5607,5605,5608,5609, - 5612,5603,5600,5676,5677,5342,5342,5342,5594,5601, - 5597,5573,5599,5598,5595,5596,5574,5342,5342,5342, - 5738,5342,5342,5342,5342,5342,5342,5342,5342,239, - 5155,5151,5342,5159,5342,5342,564,5739,5740,1316, - 5142,5148,5121,5124,5136,5133,5139,5130,5127,5118, - 5145,5097,5091,5088,5342,5342,5342,5115,5094,5106, - 5085,5100,5103,5112,5109,5082,5342,5342,5342,5738, - 32,386,386,5177,386,386,5177,386,5177,5177, - 5342,5342,5342,5342,5342,564,5739,5740,5342,5342, - 5342,5342,386,386,386,5342,221,5177,386,386, - 386,386,386,386,386,386,386,5604,5602,5611, - 5610,5606,5607,5605,5608,5609,5612,5603,5600,5676, - 5677,5342,5342,5342,5594,5601,5597,5573,5599,5598, - 5595,5596,5574,5177,5342,5342,5342,5342,5342,5342, - 5342,5342,5342,5177 + 1,1,5437,5437,228,1,1,8837,1,1, + 1,1,1,1,90,1,1,1,1,1058, + 5299,5437,2836,5299,4162,5375,1285,1991,130,1058, + 4103,5448,363,1,1,1,3463,2403,5647,2030, + 1,3582,5437,3497,5437,5437,5451,5452,342,1, + 5161,5157,5348,5165,5354,5437,5351,5437,8712,8707, + 291,879,879,5939,5437,5378,5378,228,5378,228, + 228,228,228,228,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5437, + 3492,228,1,1,8837,1,1,1,1,1, + 1,2543,5437,1058,1,5437,5257,5254,342,342, + 3945,1380,5375,342,5437,359,5840,4163,29,442, + 1,1,1,3463,5437,5647,2030,4222,3582,5437, + 93,39,39,5437,5475,456,5363,5445,74,5363, + 5437,3379,5437,1,1,1,1,1,1,1, + 5939,1,1,1,1,1,1,1,1,1, + 1,1,1,1,5437,5451,5452,1,1,137, + 3945,1380,5449,5076,5079,5499,5500,124,398,1, + 1,1,389,1,1,1,1,1,1,1, + 5082,1,1,1,1,1,1,5437,1014,5437, + 5444,3618,1,5976,285,5795,5437,1,1,1, + 5161,5157,4834,5165,3784,3853,4869,1,3876,5121, + 5148,5154,5127,5130,5142,5139,5145,5136,5133,5124, + 5151,5448,2674,576,3830,3807,5437,5073,5070,5437, + 632,651,4324,4869,741,5094,3922,3899,5456,5437, + 3761,831,891,5458,866,599,877,806,5459,5457, + 802,5453,5454,5455,5437,5319,5316,5894,5437,1431, + 1101,2576,2504,5721,39,39,4088,518,39,5073, + 5070,4834,632,3784,3853,4869,5431,3876,631,5701, + 5699,5708,5707,5703,5704,5702,5705,5706,5709,5700, + 5437,5326,5322,3830,3807,5437,5437,5797,5437,3025, + 1,4349,5473,3497,430,3922,3899,5456,5260,3761, + 831,891,5458,866,599,877,450,5459,5457,802, + 5453,5454,5455,45,5339,5339,39,397,1431,1, + 5475,390,5437,5319,5316,5412,2753,5443,5473,5444, + 139,5073,5070,4834,632,3784,3853,4869,1542,3876, + 631,5701,5699,5708,5707,5703,5704,5702,5705,5706, + 5709,5700,5437,1058,1,3830,3807,37,5296,5296, + 5437,5336,531,5263,1686,97,3222,3922,3899,5456, + 5473,3761,831,891,5458,866,599,877,2564,5459, + 5457,802,5453,5454,5455,1,5437,5437,5437,4416, + 1431,371,5442,161,1324,39,39,1,5161,5157, + 4834,5165,3784,3853,4869,5473,3876,5121,5148,5154, + 5127,5130,5142,5139,5145,5136,5133,5124,5151,5874, + 5875,5876,3830,3807,5437,5437,369,531,1241,1, + 5437,126,389,5447,3922,3899,5456,5447,3761,831, + 891,5458,866,599,877,1,5459,5457,802,5453, + 5454,5455,5446,293,5437,5437,5446,1431,161,1772, + 291,1340,39,39,39,5073,5070,4834,632,3784, + 3853,4869,5409,3876,631,5701,5699,5708,5707,5703, + 5704,5702,5705,5706,5709,5700,2674,5109,101,3830, + 3807,4548,4407,1228,4060,5437,1388,5437,3007,5281, + 39,3922,3899,5456,5475,3761,831,891,5458,866, + 599,877,125,5459,5457,802,5453,5454,5455,3355, + 1,5437,3212,2116,1431,2576,2504,428,5437,8147, + 5384,5412,39,5073,5070,4834,632,3784,3853,4869, + 5409,3876,631,5701,5699,5708,5707,5703,5704,5702, + 5705,5706,5709,5700,422,1,5437,3830,3807,278, + 5387,5437,5372,397,72,5384,5437,2674,3671,3922, + 3899,5456,5437,3761,831,891,5458,866,599,877, + 5284,5459,5457,802,5453,5454,5455,5437,1,5437, + 1,974,1431,5908,5902,5387,4099,5906,189,5412, + 48,35,510,3671,5452,48,2576,2504,508,5451, + 451,576,5437,5900,5901,3616,3439,189,576,5366, + 5437,3354,309,4575,2203,5931,5932,5437,3515,5909, + 4201,5437,5437,5437,5437,4817,4881,2533,5437,376, + 524,4882,3584,5911,2164,5437,5437,1,4405,4478, + 5437,663,523,1714,1720,5452,5912,5933,5910,5437, + 5451,5437,5437,5437,5437,192,5437,183,5437,512, + 5437,3531,4731,2,5437,5922,5921,5934,4890,2634, + 5903,5904,5927,5928,5925,5926,5905,5907,5929,5930, + 5437,4074,5437,5437,5935,5437,5915,5916,5917,5913, + 5914,5923,5924,5919,5918,5920,39,5073,5070,4834, + 632,3784,3853,4869,5441,3876,631,5701,5699,5708, + 5707,5703,5704,5702,5705,5706,5709,5700,37,3531, + 1,3830,3807,4041,3219,3257,3295,4261,2034,2617, + 5425,4041,1,3922,3899,5456,5437,3761,831,891, + 5458,866,599,877,4041,5459,5457,802,5453,5454, + 5455,39,5073,5070,4834,632,3784,3853,4869,3581, + 3876,631,5701,5699,5708,5707,5703,5704,5702,5705, + 5706,5709,5700,5437,5437,5437,3830,3807,5428,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,3922,3899, + 5456,5437,3761,831,891,5458,866,599,877,5437, + 5459,5457,802,5453,5454,5455,5437,5437,5437,5437, + 5437,1431,5437,5437,5440,39,5073,5070,4834,632, + 3784,3853,4869,5437,3876,631,5701,5699,5708,5707, + 5703,5704,5702,5705,5706,5709,5700,5437,5437,5437, + 3830,3807,5437,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,3922,3899,5456,5437,3761,831,891,5458, + 866,599,877,5437,5459,5457,802,5453,5454,5455, + 39,5073,5070,4834,632,3784,3853,4869,1687,3876, + 631,5701,5699,5708,5707,5703,5704,5702,5705,5706, + 5709,5700,5437,5437,5437,3830,3807,5437,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,3922,3899,5456, + 5437,3761,831,891,5458,866,599,877,5437,5459, + 5457,802,5453,5454,5455,5437,5437,5437,5437,5437, + 1431,39,5073,5070,3553,632,3784,3853,4869,5437, + 3876,631,5701,5699,5708,5707,5703,5704,5702,5705, + 5706,5709,5700,5437,5437,5437,3830,3807,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,3922,3899, + 5456,5437,3761,831,891,5458,866,599,877,5437, + 5459,5457,802,5453,5454,5455,39,5073,5070,4834, + 632,3784,3853,4869,5437,3876,631,5701,5699,5708, + 5707,5703,5704,5702,5705,5706,5709,5700,5437,5437, + 5437,3830,3807,5437,5437,5437,5437,5437,5437,5437, + 5437,5437,5437,3922,3899,5456,5437,3761,831,891, + 5458,866,599,877,5437,5459,5457,802,5453,5454, + 5455,39,5073,5070,4834,632,3784,3853,4869,5437, + 3876,631,5701,5699,5708,5707,5703,5704,5702,5705, + 5706,5709,5700,5437,5437,5437,3830,3807,5437,5437, + 5437,5437,5437,5437,5437,5437,5437,5437,3922,3899, + 5456,5437,3761,831,891,5458,866,599,877,5437, + 5459,5457,802,5453,5454,5455,5437,5073,5070,5437, + 5475,5437,5437,5437,5437,5437,682,5701,5699,5708, + 5707,5703,5704,5702,5705,5706,5709,5700,5696,5775, + 5776,5437,5437,5437,5690,5697,5693,5669,5695,5694, + 5691,5692,5670,5437,5437,5437,5837,5437,5437,5437, + 5437,5437,5437,5437,5437,240,5247,5243,5437,5251, + 5437,5437,570,5838,5839,682,5234,5240,5213,5216, + 5228,5225,5231,5222,5219,5210,5237,5189,5183,5180, + 5437,5437,5437,5207,5186,5198,5177,5192,5195,5204, + 5201,5174,5437,5437,5437,5837,32,390,390,5269, + 390,390,5269,390,5269,5269,5437,5437,5437,5437, + 5437,570,5838,5839,5437,5437,5437,5437,390,390, + 390,5437,222,5269,390,390,390,390,390,390, + 390,390,390,5701,5699,5708,5707,5703,5704,5702, + 5705,5706,5709,5700,5696,5775,5776,5437,5437,5437, + 5690,5697,5693,5669,5695,5694,5691,5692,5670,5269, + 5437,5437,5437,5437,5437,5437,5437,5437,5437,5269 }; }; public final static char termAction[] = TermAction.termAction; @@ -1789,61 +1808,61 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 830,126,544,120,871,885,885,885,885,1059, - 871,778,778,48,778,174,528,176,545,545, - 545,545,545,545,545,545,545,780,786,791, - 788,795,793,800,798,802,801,803,381,804, - 544,544,88,88,88,88,583,705,181,181, - 775,88,326,373,778,778,181,583,373,373, - 364,528,897,87,1115,1061,996,544,778,780, - 698,698,705,544,545,545,545,545,545,545, - 545,545,545,545,545,545,545,545,545,545, - 545,545,545,544,544,544,544,544,544,544, - 544,544,544,544,544,545,373,768,768,768, - 768,491,373,181,181,1057,985,996,133,996, - 128,996,1,996,980,1059,583,326,326,181, - 885,545,1057,286,9,645,644,596,1003,1003, - 1059,176,326,87,544,581,1114,580,582,580, - 373,326,788,788,786,786,786,793,793,793, - 793,791,791,798,795,795,801,800,802,1073, - 803,871,871,871,871,583,583,768,767,768, - 775,583,430,446,130,490,131,1059,583,583, - 491,768,364,326,819,373,11,13,583,1115, - 545,88,784,329,373,1061,583,583,582,1115, - 544,544,544,544,544,871,871,528,431,773, - 771,446,583,751,376,749,491,133,495,583, - 491,583,373,649,637,648,13,491,581,373, - 784,1057,1114,1061,583,581,373,373,373,373, - 705,705,431,771,875,583,446,1073,131,885, - 493,233,1063,446,751,750,751,751,491,495, - 495,583,583,586,544,646,646,433,433,583, - 7,1057,947,373,583,784,785,784,544,329, - 238,780,1061,373,373,771,771,1115,133,133, - 768,885,580,632,1065,577,871,751,751,751, - 751,583,495,875,873,874,586,544,544,13, - 583,1115,373,11,637,586,1038,784,705,545, - 326,238,771,770,581,659,133,241,462,581, - 751,751,577,824,545,1073,441,878,583,1057, - 751,751,939,875,545,583,762,13,586,785, - 373,326,771,825,659,659,747,1075,422,871, - 131,278,462,581,751,133,1059,1065,545,545, - 1114,577,887,115,940,583,762,373,762,875, - 659,659,240,422,747,891,1059,767,885,653, - 653,825,133,508,887,583,871,939,583,1059, - 1059,583,871,755,762,875,241,659,825,440, - 824,373,1059,583,462,241,462,766,766,828, - 509,1059,583,705,583,583,583,14,755,659, - 544,137,577,825,583,583,462,88,88,828, - 508,1073,545,1073,825,507,871,871,871,509, - 871,583,389,825,825,583,133,373,583,583, - 372,757,875,373,875,133,583,825,767,500, - 871,500,509,1073,509,528,528,526,895,528, - 825,825,444,828,88,757,875,137,825,46, - 947,509,373,577,373,526,422,871,373,828, - 137,653,373,373,1051,509,444,509,825,422, - 544,509,506,874,766,133,133,1053,544,507, - 705,825,373,823,136,580,509,373,825,823, - 823,509 + 107,156,202,150,148,865,865,865,865,998, + 148,803,803,1048,803,290,186,292,203,203, + 203,203,203,203,203,203,203,805,811,816, + 813,820,818,825,823,827,826,828,433,829, + 202,202,1088,1088,1088,1088,241,664,7,7, + 800,1088,337,430,803,803,7,241,430,430, + 421,186,877,1087,1042,1000,935,202,803,805, + 761,761,664,202,203,203,203,203,203,203, + 203,203,203,203,203,203,203,203,203,203, + 203,203,203,202,202,202,202,202,202,202, + 202,202,202,202,202,203,430,781,781,781, + 781,530,430,7,7,996,924,935,249,935, + 244,935,1,935,919,998,241,337,337,7, + 865,203,996,297,68,651,650,540,942,942, + 998,292,337,1087,202,239,1041,238,240,238, + 430,337,813,813,811,811,811,818,818,818, + 818,816,816,823,820,820,826,825,827,793, + 828,148,148,148,148,241,241,781,780,781, + 800,241,482,485,246,529,247,998,241,241, + 530,781,421,337,844,430,70,72,241,1042, + 203,1088,809,386,430,1000,241,241,240,1042, + 202,202,202,202,202,148,148,186,483,798, + 796,485,241,710,586,708,530,249,534,241, + 530,241,430,655,643,654,72,530,239,430, + 809,996,1041,1000,241,239,430,430,430,430, + 664,664,483,796,537,241,485,793,247,865, + 532,59,783,485,710,709,710,710,530,534, + 534,241,241,576,202,652,652,591,591,241, + 66,996,610,430,241,809,810,809,202,386, + 64,805,1000,430,430,796,796,1042,249,249, + 781,865,238,659,785,235,148,710,710,710, + 710,241,534,536,853,536,576,202,202,72, + 241,1042,430,70,643,576,977,809,664,203, + 337,64,796,795,239,722,249,341,501,239, + 710,710,235,849,203,793,599,858,241,996, + 710,710,714,536,537,203,241,775,72,576, + 810,430,337,796,850,722,722,706,1002,474, + 148,247,378,501,239,710,249,998,785,203, + 203,1041,235,867,1115,715,241,537,775,430, + 775,537,722,722,340,474,706,871,998,780, + 865,604,604,850,249,166,867,241,148,714, + 241,998,998,241,148,768,775,537,341,722, + 850,598,849,430,998,241,501,341,501,779, + 779,875,167,998,241,664,241,241,241,73, + 768,722,202,253,235,850,241,241,501,1088, + 1088,875,166,793,203,793,850,165,148,148, + 148,167,148,241,441,850,850,241,249,430, + 241,241,429,770,537,430,537,249,241,850, + 780,158,148,158,167,793,167,186,186,184, + 165,186,850,850,602,164,1088,770,537,253, + 850,105,610,167,430,235,430,184,474,148, + 430,875,253,604,430,430,990,167,602,167, + 850,474,202,167,164,536,779,249,249,992, + 202,165,664,850,430,848,252,238,167,430, + 850,848,848,167 }; }; public final static char asb[] = Asb.asb; @@ -1851,118 +1870,118 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 4,8,67,1,2,0,5,7,3,63, - 6,9,90,28,11,12,23,13,56,29, - 30,14,31,32,15,16,33,34,17,18, - 35,57,36,10,58,19,22,20,24,21, - 1,2,4,73,8,40,0,66,65,25, - 26,6,92,93,98,9,99,5,41,69, - 55,68,110,111,107,108,109,115,114,116, - 88,87,112,113,96,97,94,95,100,101, - 37,38,70,89,105,63,3,28,11,12, - 40,23,13,56,29,30,14,31,32,15, - 16,33,34,17,18,35,57,36,10,58, - 19,20,24,21,1,2,4,22,0,8, - 72,117,73,27,70,120,0,48,4,72, - 1,2,67,8,0,71,60,37,38,9, - 6,25,26,41,46,3,4,52,53,54, - 39,50,44,49,12,21,11,17,15,16, - 18,19,14,13,20,10,43,47,45,42, - 51,67,8,7,5,1,2,66,65,0, - 28,11,12,40,23,42,65,13,43,56, - 29,30,44,14,31,32,15,16,33,66, - 34,45,17,18,46,35,47,57,49,60, - 50,36,51,58,19,22,20,24,21,52, - 53,54,39,3,37,38,9,6,25,26, - 41,68,7,1,2,4,10,5,0,67, + 4,8,67,1,2,0,28,11,12,40, + 23,42,65,13,43,56,29,30,44,14, + 31,32,15,16,33,66,34,45,17,18, + 46,35,47,57,49,60,50,36,51,58, + 19,22,20,24,21,52,53,54,39,3, + 37,38,9,6,25,26,41,68,7,1, + 2,4,10,5,0,5,7,3,63,6, + 9,90,28,11,12,23,13,56,29,30, + 14,31,32,15,16,33,34,17,18,35, + 57,36,10,58,19,22,20,24,21,1, + 2,4,73,8,40,0,11,12,42,65, + 13,43,44,14,15,16,66,7,45,17, + 18,46,47,49,60,50,51,10,19,20, + 21,52,53,54,39,1,2,37,38,9, + 6,25,26,5,41,4,61,3,0,8, + 72,118,73,27,69,120,0,86,103,104, + 105,48,72,102,121,71,61,74,62,59, + 64,76,78,84,82,75,80,81,83,85, + 67,77,79,27,8,28,40,23,56,29, + 30,31,32,33,34,35,57,36,58,22, + 24,60,65,66,10,43,47,45,42,51, + 12,21,11,17,15,16,18,19,14,13, + 20,52,53,54,39,50,44,49,37,38, + 25,26,41,46,9,6,3,4,7,5, + 1,2,0,48,4,72,1,2,67,8, + 0,71,60,37,38,9,6,25,26,41, + 46,3,4,52,53,54,39,50,44,49, + 12,21,11,17,15,16,18,19,14,13, + 20,10,43,47,45,42,51,67,8,7, + 5,1,2,66,65,0,65,66,3,10, + 43,47,45,42,51,12,21,11,17,15, + 16,18,19,14,13,20,52,53,54,39, + 50,44,49,5,7,4,37,38,9,6, + 25,26,41,46,1,2,118,8,0,67, 40,23,13,56,29,14,31,32,15,16, 33,34,17,18,35,57,36,58,19,22, 20,24,21,12,11,28,8,3,9,6, 27,62,64,86,30,61,48,7,1,2, - 5,4,10,59,0,65,66,3,10,43, - 47,45,42,51,12,21,11,17,15,16, - 18,19,14,13,20,52,53,54,39,50, - 44,49,5,7,4,37,38,9,6,25, - 26,41,46,1,2,117,8,0,91,89, - 25,26,92,93,87,88,55,94,95,96, - 97,98,99,100,101,106,72,90,69,107, - 108,109,110,111,112,113,114,115,116,117, - 71,27,120,68,1,2,9,6,4,3, - 63,70,73,8,0,4,8,72,67,0, - 68,72,90,70,117,73,71,120,11,12, - 42,65,13,43,44,14,15,16,66,45, - 17,18,46,47,49,60,50,51,10,19, - 20,21,52,53,54,39,37,38,25,26, - 41,8,27,5,7,1,2,4,3,9, - 6,0,74,68,72,90,73,67,63,3, - 8,70,27,69,0,86,59,7,102,103, - 104,62,8,3,9,6,5,72,71,27, - 61,28,11,12,40,23,13,56,29,30, - 14,31,32,15,16,33,34,17,18,35, - 57,36,10,58,19,22,20,24,21,4, - 1,2,48,0,1,2,8,71,0,86, - 102,103,104,48,72,118,121,71,61,74, - 62,59,64,76,78,84,82,75,80,81, - 83,85,67,77,79,27,8,28,40,23, - 56,29,30,31,32,33,34,35,57,36, - 58,22,24,60,65,66,10,43,47,45, - 42,51,12,21,11,17,15,16,18,19, - 14,13,20,52,53,54,39,50,44,49, - 37,38,25,26,41,46,9,6,3,4, - 7,5,1,2,0,23,60,24,8,68, - 90,69,70,73,0,28,11,12,23,13, - 29,30,14,31,32,15,16,33,7,34, - 17,18,35,36,19,22,20,24,21,1, - 2,8,63,9,6,5,4,73,27,3, - 0,8,72,67,74,0,9,6,7,5, - 4,1,2,3,63,68,69,70,8,73, - 90,0,68,69,70,1,2,0,64,28, - 11,12,40,23,13,56,29,86,30,14, - 31,32,15,16,33,59,34,17,18,35, - 57,36,10,58,19,62,22,20,24,21, - 8,3,9,6,71,27,61,7,4,48, - 5,1,2,0,8,73,11,12,42,65, - 13,43,44,14,15,16,66,7,45,17, - 18,46,47,49,60,50,51,10,19,20, - 21,52,53,54,1,2,3,37,38,9, - 6,25,26,5,41,4,39,0,4,55, - 8,72,67,0,23,24,74,3,72,27, - 67,60,8,90,73,69,70,68,0,60, - 23,24,7,5,1,2,4,74,67,119, - 105,37,38,63,3,91,89,6,92,93, - 25,26,88,87,55,94,95,96,97,9, - 98,99,100,68,90,73,120,69,107,108, - 109,110,111,112,113,114,115,116,72,117, - 101,106,71,70,27,8,0,118,0,11, - 12,42,65,13,43,44,14,15,16,66, - 7,45,17,18,46,47,49,60,50,51, - 10,19,20,21,52,53,54,39,1,2, - 37,38,9,6,25,26,5,41,4,61, - 3,0,69,70,71,8,0,72,8,63, - 3,69,70,27,55,0,8,67,70,0, - 8,67,69,0,75,0,65,66,37,38, + 5,4,10,59,0,91,89,25,26,92, + 93,87,88,55,94,95,96,97,98,99, + 100,101,107,72,90,70,108,109,110,111, + 112,113,114,115,116,117,118,71,27,120, + 68,1,2,9,6,4,3,63,69,73, + 8,0,68,72,90,69,118,73,71,120, + 11,12,42,65,13,43,44,14,15,16, + 66,45,17,18,46,47,49,60,50,51, + 10,19,20,21,52,53,54,39,37,38, + 25,26,41,8,27,5,7,1,2,4, + 3,9,6,0,86,59,7,103,104,105, + 62,8,3,9,6,5,72,71,27,61, + 28,11,12,40,23,13,56,29,30,14, + 31,32,15,16,33,34,17,18,35,57, + 36,10,58,19,22,20,24,21,4,1, + 2,48,0,1,2,69,71,8,0,28, + 11,12,23,13,29,30,14,31,32,15, + 16,33,7,34,17,18,35,36,19,22, + 20,24,21,1,2,8,63,9,6,5, + 4,73,27,3,0,23,60,24,8,68, + 90,70,69,73,0,4,8,72,67,0, + 74,68,72,90,73,67,63,3,8,69, + 27,70,0,68,70,69,1,2,0,28, + 11,12,40,23,13,56,29,30,14,31, + 32,15,16,33,34,17,18,35,57,36, + 10,58,19,22,20,24,21,1,2,4, + 90,0,9,6,7,5,4,1,2,3, + 63,68,70,69,8,73,90,0,8,72, + 67,74,0,8,73,11,12,42,65,13, + 43,44,14,15,16,66,7,45,17,18, + 46,47,49,60,50,51,10,19,20,21, + 52,53,54,1,2,3,37,38,9,6, + 25,26,5,41,4,39,0,4,55,8, + 72,67,0,22,1,2,4,103,104,105, + 0,64,28,11,12,40,23,13,56,29, + 86,30,14,31,32,15,16,33,59,34, + 17,18,35,57,36,10,58,19,62,22, + 20,24,21,8,3,9,6,71,27,61, + 7,4,48,5,1,2,0,23,24,74, + 3,72,27,67,60,8,90,73,70,69, + 68,0,27,8,3,7,5,9,6,4, + 1,2,72,0,60,23,24,7,5,1, + 2,4,74,67,119,106,37,38,63,3, + 91,89,6,92,93,25,26,88,87,55, + 94,95,96,97,9,98,99,100,68,90, + 73,120,70,108,109,110,111,112,113,114, + 115,116,117,72,118,101,107,71,69,27, + 8,0,8,69,71,70,0,72,8,63, + 3,70,69,27,55,0,8,67,69,0, + 8,67,70,0,102,0,65,66,37,38, 9,6,25,26,5,41,46,3,4,7, 52,53,54,39,50,44,49,12,21,11, 17,15,16,18,19,14,13,20,10,43, - 47,45,42,51,63,1,2,0,22,1, - 2,4,102,103,104,0,28,11,12,40, - 23,13,56,29,30,14,31,32,15,16, - 33,34,17,18,35,57,36,10,58,19, - 22,20,24,21,1,2,4,90,0,10, - 56,40,57,58,12,21,11,17,15,16, - 18,19,14,13,20,74,72,90,117,71, - 67,120,119,91,105,89,37,38,25,26, - 92,93,87,88,55,68,94,95,96,97, - 98,99,100,101,106,69,107,108,109,110, - 111,112,113,114,115,116,70,28,23,29, - 30,31,32,33,34,35,36,22,24,27, - 8,73,3,63,7,5,9,6,1,2, - 4,0,27,8,3,7,5,9,6,4, - 1,2,72,0,40,23,13,56,29,14, - 31,32,15,16,33,34,17,18,35,57, - 36,10,58,19,22,20,24,21,12,11, - 28,8,3,9,27,62,59,64,86,30, - 61,55,4,6,7,1,2,5,48,0 + 47,45,42,51,63,1,2,0,10,56, + 40,57,58,12,21,11,17,15,16,18, + 19,14,13,20,74,72,90,118,71,67, + 120,119,91,106,89,37,38,25,26,92, + 93,87,88,55,68,94,95,96,97,98, + 99,100,101,107,70,108,109,110,111,112, + 113,114,115,116,117,69,28,23,29,30, + 31,32,33,34,35,36,22,24,27,8, + 73,3,63,7,5,9,6,1,2,4, + 0,40,23,13,56,29,14,31,32,15, + 16,33,34,17,18,35,57,36,10,58, + 19,22,20,24,21,12,11,28,8,3, + 9,27,62,59,64,86,30,61,55,4, + 6,7,1,2,5,48,0,66,65,25, + 26,6,92,93,98,9,99,5,41,70, + 55,68,111,112,108,109,110,116,115,117, + 88,87,113,114,96,97,94,95,100,101, + 37,38,69,89,106,63,3,28,11,12, + 40,23,13,56,29,30,14,31,32,15, + 16,33,34,17,18,35,57,36,10,58, + 19,20,24,21,1,2,4,22,0 }; }; public final static byte asr[] = Asr.asr; @@ -1970,61 +1989,61 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 234,12,81,12,12,12,12,12,12,85, - 12,12,12,31,12,196,165,146,81,81, - 152,81,81,81,81,81,81,12,12,12, - 12,12,12,12,12,12,12,12,81,12, - 81,162,43,43,43,43,146,200,29,29, - 96,5,94,285,12,12,29,156,285,285, - 170,1,81,69,104,12,12,162,12,12, - 55,55,200,162,81,81,81,81,81,81, - 81,81,81,81,81,81,81,81,81,81, - 81,81,81,81,81,81,81,81,81,81, - 81,81,81,81,162,81,285,12,12,12, - 12,35,285,38,38,142,262,263,182,263, - 52,263,13,263,256,10,146,94,94,38, - 12,81,142,89,169,87,87,12,12,12, - 10,146,94,43,149,196,48,195,146,195, - 285,94,12,12,12,12,12,12,12,12, + 36,12,79,12,12,12,12,12,12,83, + 12,12,12,285,12,183,281,187,79,79, + 220,79,79,79,79,79,79,12,12,12, + 12,12,12,12,12,12,12,12,79,12, + 79,150,46,46,46,46,187,171,31,31, + 66,5,90,241,12,12,31,224,241,241, + 210,1,79,104,145,12,12,150,12,12, + 49,49,171,150,79,79,79,79,79,79, + 79,79,79,79,79,79,79,79,79,79, + 79,79,79,79,79,79,79,79,79,79, + 79,79,79,79,150,79,241,12,12,12, + 12,115,241,41,41,139,249,250,166,250, + 71,250,15,250,243,10,187,90,90,41, + 12,79,139,85,209,55,55,12,12,12, + 10,187,90,46,118,183,57,182,187,182, + 241,90,12,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 12,12,12,12,12,187,11,12,12,12, - 221,146,12,29,186,85,75,85,146,11, - 12,12,219,94,12,285,203,29,146,104, - 81,43,29,99,285,12,11,146,128,104, - 81,162,162,162,162,12,12,38,144,144, - 144,273,187,73,73,12,280,182,29,280, - 103,187,285,12,22,12,206,102,187,285, - 71,221,48,12,156,187,285,285,285,285, - 200,200,12,29,17,146,67,12,211,12, - 12,113,265,273,73,73,29,29,103,29, - 157,11,187,29,81,12,12,87,87,146, - 21,142,206,285,187,29,46,12,162,221, - 129,12,12,285,285,144,19,104,182,242, - 12,12,85,29,137,24,12,29,29,135, - 135,187,157,17,12,12,19,81,81,29, - 11,104,285,203,190,29,12,71,200,81, - 94,129,29,19,196,29,182,244,29,280, - 29,108,192,67,81,12,124,12,146,142, - 135,135,252,17,81,157,29,206,19,46, - 285,94,19,67,229,29,12,244,266,12, - 241,113,206,196,108,119,131,24,81,81, - 174,192,12,85,126,280,106,285,29,17, - 244,229,181,137,12,12,85,12,12,184, - 184,67,119,16,12,280,12,61,280,85, - 85,11,12,29,106,17,244,29,67,209, - 12,285,85,280,206,244,29,12,12,29, - 159,131,11,200,11,280,280,283,19,229, - 149,79,24,67,280,212,206,43,43,122, - 177,12,81,12,67,12,12,12,12,178, - 12,157,65,67,67,157,110,285,11,11, - 285,29,17,285,29,182,212,67,12,117, - 12,12,178,12,178,237,237,214,12,237, - 67,67,12,29,43,106,17,29,67,12, - 43,178,285,24,285,225,29,12,285,122, - 79,184,285,285,29,178,12,178,67,24, - 162,178,117,17,12,110,110,22,81,12, - 249,67,285,115,78,195,178,285,67,115, - 12,178 + 12,12,12,12,12,195,11,12,12,12, + 155,187,12,31,194,83,94,83,187,11, + 12,12,153,90,12,241,267,31,187,145, + 79,46,31,101,241,12,11,187,168,145, + 79,150,150,150,150,12,12,41,141,141, + 141,260,195,69,69,12,252,166,31,252, + 144,195,241,12,24,12,270,143,195,241, + 74,155,57,12,224,195,241,241,241,241, + 171,171,12,31,19,187,216,12,174,12, + 12,99,201,260,69,69,31,31,144,31, + 225,11,195,31,79,12,12,55,55,187, + 23,139,270,241,195,31,106,12,150,155, + 169,12,12,241,241,141,92,145,166,199, + 12,12,83,31,134,26,12,31,31,61, + 61,195,225,21,12,12,92,79,79,31, + 11,145,241,267,177,31,12,74,171,79, + 90,169,31,92,183,31,166,255,31,252, + 31,97,179,216,79,12,159,12,187,139, + 61,61,190,21,19,79,225,31,270,92, + 106,241,90,92,216,227,31,12,255,202, + 12,198,99,270,183,97,63,128,26,79, + 79,33,179,12,83,113,252,19,108,241, + 31,19,255,227,165,134,12,12,83,12, + 12,126,126,216,63,18,12,252,12,232, + 252,83,83,11,12,31,108,19,255,31, + 216,13,12,241,83,252,270,255,31,12, + 12,31,147,128,11,171,11,252,252,239, + 92,227,118,77,26,216,252,175,270,46, + 46,132,161,12,79,12,216,12,12,12, + 12,162,12,225,214,216,216,225,110,241, + 11,11,241,31,19,241,31,166,175,216, + 12,39,12,12,162,12,162,277,277,121, + 12,277,216,216,12,31,46,108,19,31, + 216,12,46,162,241,26,241,273,31,12, + 241,132,77,126,241,241,31,162,12,162, + 216,26,150,162,39,19,12,110,110,24, + 79,12,236,216,241,218,76,182,162,241, + 216,218,12,162 }; }; public final static char nasb[] = Nasb.nasb; @@ -2032,35 +2051,35 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,152,150,119,149,148,5, - 2,0,153,183,0,4,67,0,62,0, - 35,93,92,64,5,2,9,10,4,0, - 4,45,196,0,136,65,0,5,10,9, - 2,13,4,45,0,141,0,65,138,137, - 0,153,188,0,5,2,9,10,139,0, - 5,100,168,0,4,39,38,0,175,0, - 143,0,107,0,42,1,0,67,129,42, - 10,9,2,13,5,0,75,0,13,2, - 9,10,5,81,0,4,195,0,4,177, - 0,136,2,65,0,125,0,159,0,42, - 55,0,156,0,162,0,111,0,42,160, - 0,161,0,191,0,193,0,2,113,0, - 172,5,171,0,108,0,4,10,9,2, - 64,5,88,49,0,2,44,0,4,29, - 0,5,10,9,13,3,1,0,48,42, - 179,4,39,0,4,45,39,0,35,92, - 93,4,0,65,49,0,67,39,48,68, - 4,42,0,106,0,44,2,3,0,93, - 92,49,64,57,5,10,9,2,0,4, - 95,0,49,5,88,23,4,0,184,0, - 121,102,0,39,4,23,181,0,93,92, - 49,5,57,0,45,4,180,0,114,4, - 48,80,0,4,174,0,4,45,101,0, - 1,121,0,4,48,80,82,0,4,178, - 0,5,100,192,0,2,5,119,115,116, - 117,13,85,0,38,5,2,9,10,4, - 158,0,4,48,80,100,46,5,0,2, - 56,0,45,4,35,0 + 3,13,10,9,153,151,120,150,149,5, + 2,0,186,0,154,185,0,4,68,0, + 155,0,36,94,93,65,5,2,9,10, + 4,0,66,50,0,4,176,0,112,0, + 5,10,9,2,13,4,46,0,5,2, + 9,10,140,0,76,0,66,139,138,0, + 109,0,43,162,0,4,197,0,108,0, + 154,190,0,144,0,68,130,43,10,9, + 2,13,5,0,13,2,9,10,5,82, + 0,63,0,43,1,0,161,0,158,0, + 4,179,0,177,0,142,0,126,0,43, + 56,0,195,0,137,66,0,4,30,0, + 40,4,24,183,0,107,0,174,5,173, + 0,163,0,4,10,9,2,65,5,89, + 50,0,137,2,66,0,49,43,181,4, + 40,0,94,93,50,5,58,0,193,0, + 68,40,49,69,4,43,0,2,114,0, + 4,96,0,122,103,0,94,93,50,65, + 58,5,10,9,2,0,2,45,0,5, + 101,194,0,45,2,3,0,1,122,0, + 39,5,2,9,10,4,160,0,36,93, + 94,4,0,4,40,39,0,164,0,5, + 10,9,13,3,1,0,115,4,49,81, + 0,5,101,170,0,4,180,0,46,4, + 36,0,2,5,120,116,117,118,13,86, + 0,2,57,0,4,49,81,83,0,4, + 49,81,101,47,5,0,50,5,89,24, + 4,0,46,4,182,0,4,46,102,0, + 4,46,40,0,4,46,198,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2074,12 +2093,12 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 70,73,76,83,89,98,7,8,112,53, 14,55,61,67,84,88,90,93,94,97, 99,109,110,111,19,63,91,101,77,95, - 122,103,1,46,58,78,121,20,33,44, + 122,103,1,46,58,78,121,20,44,33, 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 4,15,16,21,22,23,24,25,26,27, - 28,80,81,82,5,29,34,35,36,37, - 38,39,40,41,42,43,117,51,3,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2089,26 +2108,26 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, 130,135,136,0,0,134,0,0,229,235, - 133,0,143,132,0,0,142,148,0,0, - 149,158,180,159,160,161,162,163,151,164, - 165,166,141,167,126,168,0,128,131,169, - 0,129,138,137,152,177,0,0,0,0, - 0,0,0,0,172,0,155,0,204,0, - 145,187,201,205,0,0,127,171,0,0, - 0,0,0,0,206,175,0,0,0,0, - 125,178,0,0,186,0,0,202,212,157, - 208,209,210,0,0,146,0,0,207,220, - 174,196,0,0,211,0,0,0,0,240, - 241,0,147,179,189,190,191,192,193,195, - 0,198,0,199,0,214,217,0,0,219, - 0,238,0,239,0,0,139,140,144,0, - 0,154,156,0,170,0,181,182,183,184, - 185,188,0,0,194,0,197,203,0,215, - 216,0,0,221,224,0,226,228,0,232, - 233,234,237,124,0,150,153,0,173,0, - 176,0,0,200,213,218,0,0,222,223, - 225,227,0,230,231,236,242,243,0,0, - 0,0 + 133,0,143,0,132,0,0,142,148,0, + 0,149,158,180,159,160,161,162,163,151, + 164,165,166,141,167,126,168,0,128,131, + 169,0,129,138,137,152,177,0,0,0, + 0,0,0,0,0,172,0,155,0,204, + 0,145,187,201,205,0,0,127,171,0, + 0,0,0,0,0,206,175,0,0,0, + 0,125,178,0,0,186,0,0,202,212, + 157,208,209,210,0,0,146,0,0,207, + 220,174,196,0,0,211,0,0,0,0, + 240,241,0,147,179,189,190,191,192,193, + 195,0,198,0,199,0,214,217,0,0, + 219,0,238,0,239,0,0,139,140,144, + 0,0,154,156,0,170,0,181,182,183, + 184,185,188,0,0,0,194,0,197,203, + 0,215,216,0,0,221,224,0,226,228, + 0,232,233,234,237,124,0,150,153,0, + 173,0,176,0,0,200,213,218,0,0, + 222,223,225,227,0,230,231,236,242,243, + 0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2116,18 +2135,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 159,579,598,304,311,530,546,557,568,370, - 267,281,298,318,331,42,292,390,428,167, - 587,481,20,51,71,80,85,90,130,195, - 324,339,344,144,273,287,505,27,144,380, - 344,606,27,217,246,1,14,61,76,106, - 349,359,363,446,474,526,616,620,624,97, - 7,97,408,424,437,458,518,116,116,232, - 437,537,553,564,575,207,492,56,56,156, - 222,225,56,241,262,225,225,56,367,471, - 478,156,56,639,110,353,412,452,465,56, - 353,399,177,104,450,628,635,628,635,65, - 418,137,104,104,251 + 159,311,581,600,304,319,532,548,559,570, + 372,267,281,298,333,42,292,392,430,167, + 589,483,20,51,71,80,85,90,130,195, + 326,341,346,144,273,287,507,27,144,382, + 346,608,27,217,246,1,14,61,76,106, + 351,361,365,448,476,528,618,622,626,97, + 7,97,410,426,439,460,520,116,116,232, + 439,539,555,566,577,207,494,56,56,156, + 222,225,56,241,262,225,225,56,369,473, + 480,156,56,641,110,355,414,454,467,56, + 355,401,177,104,452,630,637,630,637,65, + 420,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2135,18 +2154,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,135,5,5,5,5,377, - 135,95,135,135,337,48,278,396,434,173, - 67,487,25,25,25,59,59,95,135,200, - 329,329,337,149,278,101,510,38,152,385, - 593,611,32,211,211,5,18,5,59,95, - 329,95,95,135,244,5,5,5,244,637, - 11,101,377,377,377,462,510,120,125,236, - 441,541,541,541,541,211,496,59,59,5, + 18,135,5,5,135,135,5,5,5,5, + 379,135,95,135,339,48,278,398,436,173, + 67,489,25,25,25,59,59,95,135,200, + 331,331,339,149,278,101,512,38,152,387, + 595,613,32,211,211,5,18,5,59,95, + 331,95,95,135,244,5,5,5,244,639, + 11,101,379,379,379,464,512,120,125,236, + 443,543,543,543,543,211,498,59,59,5, 5,228,230,244,5,265,265,230,95,5, - 244,5,503,5,113,356,415,455,468,522, - 513,402,180,95,95,630,630,632,632,67, - 420,139,202,187,253 + 244,5,505,5,113,358,417,457,470,524, + 515,404,180,95,95,632,632,634,634,67, + 422,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2154,18 +2173,18 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,79,117,17,17,17,17,71, - 84,47,79,117,116,77,53,71,70,46, - 17,19,3,7,8,168,168,164,115,46, - 116,116,118,128,54,47,139,133,128,71, - 17,17,133,94,58,135,74,171,168,164, - 118,182,51,55,143,17,17,17,17,12, - 111,164,71,70,70,37,139,130,130,57, - 70,17,17,17,17,94,19,172,168,184, - 92,99,60,75,59,158,76,118,72,144, - 143,175,139,16,164,118,101,69,21,139, - 139,71,46,164,66,137,44,137,44,171, - 101,115,46,46,58 + 47,118,18,18,80,118,18,18,18,18, + 72,85,48,80,117,78,54,72,71,47, + 18,20,3,7,8,170,170,166,116,47, + 117,117,119,129,55,48,140,134,129,72, + 18,18,134,95,59,136,75,173,170,166, + 119,184,52,56,144,18,18,18,18,12, + 112,166,72,71,71,38,140,131,131,58, + 71,18,18,18,18,95,20,174,170,186, + 93,100,61,76,60,160,77,119,73,145, + 144,177,140,17,166,119,102,70,22,140, + 140,72,47,166,67,138,45,138,45,173, + 102,116,47,47,59 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2173,16 +2192,16 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,71,73,73,73,73,73, - 71,27,71,71,1,68,1,73,121,67, + 102,71,73,73,71,71,73,73,73,73, + 73,71,27,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,27,71,67, - 1,1,1,71,1,1,4,68,70,27, - 1,1,68,73,73,73,118,73,1,27, - 1,27,27,71,117,73,73,73,117,1, + 1,1,1,71,1,1,4,68,69,27, + 1,1,68,73,73,73,102,73,1,27, + 1,27,27,71,118,73,73,73,118,1, 73,1,73,73,73,72,4,1,1,6, 73,68,68,68,68,73,3,1,1,73, - 73,3,1,117,73,1,1,1,27,73, - 117,73,5,73,1,48,69,72,73,1, + 73,3,1,118,73,1,1,1,27,73, + 118,73,5,73,1,48,70,72,73,1, 48,75,74,27,27,4,4,4,4,3, 1,67,1,1,3 }; @@ -2192,8 +2211,8 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 85,250,250,107,154,250,250,250,250,95, - 109,85,107,154,154,107,87,95,95,85, + 85,154,250,250,107,154,250,250,250,250, + 95,109,85,107,154,107,87,95,95,85, 250,250,182,226,226,54,54,82,154,85, 154,154,154,313,87,85,137,50,313,95, 250,250,50,146,66,26,95,30,54,82, @@ -2211,71 +2230,71 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 320,3,60,0,126,0,319,3,118,0, - 126,172,0,126,177,74,0,216,0,253, - 126,55,124,0,20,0,295,126,55,48, + 322,3,60,0,126,0,321,3,102,0, + 126,172,0,126,178,74,0,216,0,254, + 126,55,124,0,20,0,297,126,55,48, 0,20,53,0,33,132,0,20,53,0, - 0,295,126,55,48,202,0,20,178,0, - 253,126,55,132,0,178,127,0,141,0, - 217,3,294,0,294,0,2,0,126,0, - 253,126,55,131,0,178,127,222,0,178, - 127,22,222,0,178,127,315,22,0,128, - 187,166,127,0,128,0,187,166,127,0, - 134,128,0,170,0,311,126,170,0,126, - 170,0,222,128,0,166,310,241,0,136, - 0,0,0,0,135,0,0,0,0,309, - 126,164,252,0,127,0,252,0,129,0, - 0,127,0,308,126,164,251,0,127,0, - 0,44,127,0,0,151,3,0,126,282, - 281,126,74,280,170,0,281,126,74,280, - 170,0,215,0,216,0,280,170,0,96, + 0,297,126,55,48,203,0,20,178,0, + 254,126,55,132,0,179,127,0,141,0, + 218,3,296,0,296,0,2,0,126,0, + 254,126,55,131,0,179,127,223,0,179, + 127,22,223,0,179,127,317,22,0,128, + 188,167,127,0,128,0,188,167,127,0, + 134,128,0,171,0,313,126,171,0,126, + 171,0,222,128,0,167,312,242,0,136, + 0,0,0,0,135,0,0,0,0,311, + 126,165,253,0,127,0,253,0,129,0, + 0,127,0,310,126,165,252,0,127,0, + 0,44,127,0,0,152,3,0,126,284, + 283,126,74,282,171,0,283,126,74,282, + 171,0,215,0,216,0,282,171,0,96, 0,0,215,0,216,0,203,96,0,0, - 215,0,216,0,281,126,280,170,0,215, - 0,203,0,0,215,0,225,126,3,0, - 126,0,0,0,0,0,225,126,3,214, - 0,221,3,0,210,126,0,208,0,146, - 0,171,166,127,0,10,0,0,0,0, - 212,63,0,125,0,225,126,3,181,0, - 181,0,2,0,0,126,0,0,0,0, - 0,198,3,0,201,0,234,126,164,39, - 30,0,178,127,59,62,0,196,128,0, - 128,178,127,278,62,0,178,127,278,62, - 0,178,127,69,123,59,0,234,126,164, - 243,59,0,234,126,164,243,224,59,0, - 276,126,164,123,305,56,0,276,126,164, - 305,56,0,178,127,275,56,0,135,0, - 187,178,127,275,241,0,136,0,178,127, - 275,241,0,187,166,127,10,0,166,127, - 10,0,166,127,0,93,136,0,268,126, - 145,0,268,126,170,0,161,84,0,300, - 160,302,303,3,81,0,126,171,0,302, - 303,3,81,0,128,0,126,171,0,161, - 3,75,190,80,0,126,128,0,190,80, - 0,108,2,131,126,128,0,223,3,75, - 0,198,167,0,33,169,0,167,0,175, - 33,169,0,223,3,85,0,190,157,223, - 3,83,0,62,171,0,223,3,83,0, - 126,171,62,171,0,301,126,164,0,161, - 0,212,77,0,30,171,0,161,106,158, - 0,30,169,0,183,3,0,126,149,0, - 217,3,0,212,63,265,0,161,63,0, - 183,3,297,66,127,0,126,0,0,0, - 0,297,66,127,0,2,145,126,0,0, - 0,0,147,0,125,48,166,127,0,31, - 147,0,93,136,31,147,0,218,178,127, - 0,146,31,147,0,161,3,51,0,161, - 3,68,183,55,42,0,183,55,42,0, - 20,2,131,126,0,161,3,68,183,55, - 45,0,183,55,45,0,161,3,68,183, - 55,47,0,183,55,47,0,161,3,68, - 183,55,43,0,183,55,43,0,217,3, - 125,187,166,127,10,0,125,187,166,127, - 10,0,136,2,0,126,0,217,3,124, - 258,166,127,10,0,258,166,127,10,0, - 135,2,0,126,0,217,3,135,0,217, - 3,139,0,161,63,139,0,260,0,31, - 0,31,139,0,165,0,134,0,161,3, - 0 + 215,0,216,0,283,126,282,171,0,215, + 0,203,0,0,215,0,226,126,3,0, + 126,0,0,0,0,0,226,126,3,215, + 0,222,3,0,211,126,0,208,0,146, + 0,172,167,127,0,10,0,0,0,0, + 213,63,0,125,0,226,126,3,182,0, + 182,0,2,0,0,126,0,0,0,0, + 0,199,3,0,201,0,235,126,165,39, + 30,0,179,127,59,62,0,196,128,0, + 128,179,127,280,62,0,179,127,280,62, + 0,179,127,70,123,59,0,235,126,165, + 244,59,0,235,126,165,244,225,59,0, + 277,278,126,165,123,307,56,0,277,278, + 126,165,307,56,0,179,127,276,56,0, + 135,0,188,179,127,276,242,0,136,0, + 179,127,276,242,0,188,167,127,10,0, + 167,127,10,0,167,127,0,93,136,0, + 269,126,146,0,269,126,171,0,162,84, + 0,302,161,304,305,3,81,0,126,171, + 0,304,305,3,81,0,128,0,126,171, + 0,162,3,75,191,80,0,126,128,0, + 191,80,0,108,2,131,126,128,0,224, + 3,75,0,199,168,0,33,169,0,168, + 0,175,33,169,0,224,3,85,0,191, + 158,224,3,83,0,62,171,0,224,3, + 83,0,126,171,62,171,0,303,126,165, + 0,162,0,213,77,0,30,171,0,162, + 107,159,0,30,169,0,184,3,0,126, + 149,0,218,3,0,213,63,266,0,162, + 63,0,184,3,299,66,127,0,126,0, + 0,0,0,299,66,127,0,2,145,126, + 0,0,0,0,147,0,125,48,167,127, + 0,31,147,0,93,136,31,147,0,219, + 179,127,0,146,31,147,0,162,3,51, + 0,162,3,68,184,55,42,0,184,55, + 42,0,20,2,131,126,0,162,3,68, + 184,55,45,0,184,55,45,0,162,3, + 68,184,55,47,0,184,55,47,0,162, + 3,68,184,55,43,0,184,55,43,0, + 218,3,125,188,167,127,10,0,125,188, + 167,127,10,0,136,2,0,126,0,218, + 3,124,259,167,127,10,0,259,167,127, + 10,0,135,2,0,126,0,218,3,135, + 0,218,3,140,0,162,63,140,0,261, + 0,31,0,31,139,0,166,0,134,0, + 162,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2283,38 +2302,38 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 3315,4787,4757,3482,0,3192,2908,1812,1938,0, - 3613,3556,3493,3391,3335,3279,3223,3167,3104,2863, - 2807,3187,0,3106,0,2865,2852,1384,0,3087, - 2481,0,3613,3556,1681,1597,3493,3391,3335,3279, - 3223,3167,1429,3104,2863,2807,2013,1933,0,3016, - 3224,793,0,783,4134,0,1179,730,0,4534, - 4356,0,818,817,0,4264,4534,4251,3072,4356, - 2938,3466,4329,3798,2409,3784,4221,2572,580,2534, - 0,3263,4549,0,3263,4549,4136,4479,4439,4127, - 4417,4372,3371,3593,3613,3556,3493,3391,3335,3279, - 3223,3167,3104,2863,2807,0,3263,4549,4136,4479, - 4439,4127,4417,4372,3371,3593,0,738,731,0, - 2409,4264,4754,4251,3072,4564,2572,3255,4498,3112, - 3096,3207,2590,4237,3323,0,2743,734,0,810, - 0,1854,1602,1476,1009,3072,3207,2938,580,2534, - 2829,2521,0,4342,535,2893,0,4727,4720,4700, - 4682,4675,4661,4655,4637,4603,4598,4765,4579,4574, - 4749,4745,4433,2991,4398,4152,2982,2841,4244,2601, - 0,2194,2188,4727,4720,4700,2108,2102,4682,645, - 4675,4661,4655,4637,4603,2616,3501,3248,4598,3242, - 4765,3123,2868,2837,2567,4579,4574,2474,2451,4749, - 1140,4745,2489,4433,2991,4398,2461,4152,2982,2841, - 4342,1135,2893,4244,2601,936,799,660,626,2551, - 2938,3466,4329,3798,2409,4264,3784,4534,4251,3072, - 4221,2572,580,4356,2534,2812,2271,2743,734,4106, - 4084,4062,2236,2284,2349,2317,2493,2422,2380,3046, - 2951,2784,2757,2683,2656,3761,3738,1328,3713,3688, - 4040,4018,3996,3974,3952,3923,3892,3870,3811,2715, - 593,1984,2198,2150,2112,2064,2026,1092,1351,1274, - 1229,887,1942,1049,825,750,688,1900,1858,1816, - 1774,1732,1690,1648,1606,1564,1522,1480,535,1438, - 1396,1187,1005,962,1144,0 + 4790,4882,4881,4817,0,1651,2858,681,2715,0, + 3613,3556,3474,3371,3333,3295,3257,3219,3181,2961, + 2801,2533,0,544,0,2983,2101,1465,0,2634, + 2564,0,3613,3556,1724,1638,3474,3371,3333,3295, + 3257,3219,1509,3181,2961,2801,888,886,0,4679, + 4417,4126,0,4099,3222,0,3027,1455,0,4591, + 3479,0,1370,994,0,4375,4591,4307,3115,3479, + 3037,3447,4388,4074,2491,4060,4278,2723,585,2702, + 0,4617,4606,0,4617,4606,4187,4535,4489,4105, + 4477,4419,4093,4407,3613,3556,3474,3371,3333,3295, + 3257,3219,3181,2961,2801,0,4617,4606,4187,4535, + 4489,4105,4477,4419,4093,4407,0,3025,827,0, + 2491,4375,3302,4307,3115,4632,2723,4111,3264,1004, + 4623,2811,2830,2554,1275,0,806,741,0,1380, + 0,2074,2064,968,796,3115,2811,3037,585,2702, + 3497,3095,0,4243,540,2746,0,4826,4822,4808, + 4762,4758,4744,4740,4723,4675,4657,4901,4519,4291, + 4897,4843,4230,3428,4179,3159,2769,2741,3432,3197, + 0,2817,2606,4826,4822,4808,2247,2160,4762,1384, + 4758,4744,4740,4723,4675,2789,3632,3561,4657,3315, + 4901,3282,3277,3244,2836,4519,4291,2242,2986,4897, + 1150,4843,2718,4230,3428,4179,2155,3159,2769,2741, + 4243,651,2746,3432,3197,1328,952,666,632,2617, + 3037,3447,4388,4074,2491,4375,4060,4591,4307,3115, + 4278,2723,585,3479,2702,2966,2324,806,741,599, + 4037,4014,1101,2290,2371,2338,2462,2433,2403,2937, + 2910,2674,2646,2576,2504,3737,3713,3689,3133,3050, + 3991,3968,3945,3922,3899,3876,3853,3830,3807,3784, + 3761,2034,2251,2203,2164,2116,2077,1241,1388,1340, + 1285,895,1991,1058,832,757,694,1948,1905,1862, + 1819,1776,1733,1690,1647,1604,1561,1518,540,1475, + 1431,1198,1014,970,1154,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2322,61 +2341,61 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,296,126,267,51,42,45,47,43,10, + 0,298,126,268,51,42,45,47,43,10, 135,124,131,7,132,4,3,127,46,41, - 5,26,25,6,9,38,37,139,144,147, - 146,149,148,152,150,154,153,156,60,158, - 70,3,55,55,55,55,127,3,55,55, - 167,126,63,3,65,66,55,5,183,161, - 167,126,65,66,166,165,124,3,123,125, - 105,119,3,63,89,91,26,25,93,92, + 5,26,25,6,9,38,37,140,145,148, + 147,150,149,153,151,155,154,157,60,159, + 69,3,55,55,55,55,127,3,55,55, + 168,126,63,3,65,66,55,5,184,162, + 168,126,65,66,167,166,124,3,123,125, + 106,119,3,63,89,91,26,25,93,92, 6,95,94,68,55,87,88,9,97,96, - 99,98,100,116,115,114,113,112,111,110, - 109,108,107,69,106,101,161,183,183,183, - 183,166,217,126,126,126,269,270,252,271, - 241,272,56,273,274,10,127,63,63,126, - 124,157,126,63,3,215,214,135,125,124, - 10,127,63,297,3,187,4,48,127,48, - 217,161,146,146,144,144,144,148,148,148, - 148,147,147,150,149,149,153,152,154,161, - 156,68,68,68,68,187,258,253,256,253, - 210,127,171,164,310,275,305,275,127,178, - 166,253,210,212,158,221,126,3,127,166, - 203,3,298,167,151,260,187,127,178,166, - 72,3,3,3,3,125,124,70,166,9, - 6,126,166,228,125,124,127,123,164,127, - 166,48,225,226,145,227,126,166,48,183, - 126,126,4,218,5,48,161,161,161,161, - 3,3,171,171,309,127,168,222,59,48, - 202,62,170,312,125,124,229,229,178,164, - 126,178,187,157,69,221,198,186,181,127, - 3,126,70,225,187,157,262,265,63,179, - 4,123,125,217,217,6,126,166,243,224, - 55,48,278,280,126,3,181,229,229,126, - 126,187,126,276,123,277,126,69,69,3, - 178,166,198,126,210,157,125,126,3,63, - 161,4,171,184,187,164,243,68,55,127, - 74,126,210,311,72,289,198,124,127,126, - 126,126,72,276,69,70,219,126,126,262, - 217,212,126,128,126,164,30,48,170,64, - 59,62,126,178,126,281,72,70,72,69, - 166,210,314,222,22,127,126,225,219,234, - 236,126,39,126,3,123,59,295,48,10, - 40,128,281,164,293,127,294,70,127,22, - 315,178,60,157,126,234,126,164,268,246, - 279,39,69,127,70,68,55,228,228,282, - 126,70,178,3,178,127,127,3,126,126, - 3,69,70,157,127,178,126,69,69,126, - 301,79,77,1,161,8,85,83,81,80, - 75,82,84,78,76,59,74,217,178,178, - 320,219,234,151,164,251,178,224,295,283, - 118,8,72,212,72,3,3,3,190,3, - 123,161,123,177,70,126,126,164,224,68, - 3,72,223,167,223,303,145,75,223,126, - 126,40,90,319,167,157,198,157,302,126, - 3,157,283,308,228,157,157,126,69,190, - 160,268,161,189,70,69,121,300,157,189, - 8,157 + 99,98,100,117,116,115,114,113,112,111, + 110,109,108,70,107,101,162,184,184,184, + 184,167,218,126,126,126,270,271,253,272, + 242,273,56,274,275,10,127,63,63,126, + 124,158,126,63,3,216,215,135,125,124, + 10,127,63,299,3,188,4,48,127,48, + 218,162,147,147,145,145,145,149,149,149, + 149,148,148,151,150,150,154,153,155,162, + 157,68,68,68,68,188,259,254,257,254, + 211,127,172,165,312,276,307,276,127,179, + 167,254,211,213,159,222,126,3,127,167, + 204,3,300,168,152,261,188,127,179,167, + 72,3,3,3,3,125,124,69,167,9, + 6,126,167,229,125,124,127,123,165,127, + 167,48,226,227,146,228,126,167,48,184, + 126,126,4,219,5,48,162,162,162,162, + 3,3,172,172,311,127,169,223,59,48, + 203,62,171,314,125,124,230,230,179,165, + 126,179,188,158,70,222,199,187,182,127, + 3,126,69,226,188,158,263,266,63,180, + 4,123,125,218,218,6,126,167,244,225, + 55,48,280,282,126,3,182,230,230,126, + 126,188,126,278,123,279,126,70,70,3, + 179,167,199,126,211,158,125,126,3,63, + 162,4,172,185,188,165,244,68,55,127, + 74,126,211,313,72,291,199,124,127,126, + 126,126,72,278,277,70,69,220,126,126, + 263,218,213,126,128,126,165,30,48,171, + 64,59,62,126,179,126,283,72,69,72, + 70,167,211,316,223,22,127,277,126,226, + 220,235,237,126,39,126,3,123,59,297, + 48,10,40,128,283,165,295,127,296,69, + 127,22,317,179,60,158,126,235,126,165, + 269,247,281,39,70,127,69,68,55,229, + 229,284,126,69,179,3,179,127,127,3, + 126,126,3,70,69,158,127,179,126,70, + 70,126,303,79,77,1,162,8,85,83, + 81,80,75,82,84,78,76,59,74,218, + 179,179,322,220,235,152,165,252,179,225, + 297,285,102,8,72,213,72,3,3,3, + 191,3,123,162,123,178,69,126,126,165, + 225,68,3,72,224,168,224,305,146,75, + 224,126,126,40,90,321,168,158,199,158, + 304,126,3,158,285,310,229,158,158,126, + 70,191,161,269,162,190,69,70,121,302, + 158,190,8,158 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2651,20 +2670,20 @@ public class CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 542, + NUM_STATES = 544, NT_OFFSET = 122, - LA_STATE_OFFSET = 5876, + LA_STATE_OFFSET = 5976, MAX_LA = 2147483647, - NUM_RULES = 534, - NUM_NONTERMINALS = 202, - NUM_SYMBOLS = 324, + NUM_RULES = 539, + NUM_NONTERMINALS = 204, + NUM_SYMBOLS = 326, SEGMENT_SIZE = 8192, - START_STATE = 3480, + START_STATE = 625, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 4977, - ERROR_ACTION = 5342; + ACCEPT_ACTION = 5069, + ERROR_ACTION = 5437; 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 56d6a51d01c..7bfd42ee65b 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 @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -20,7 +20,7 @@ public interface CPPSizeofExpressionParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 40, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPSizeofExpressionParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 34, TK_reinterpret_cast = 45, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPSizeofExpressionParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPSizeofExpressionParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, - TK_Assign = 69, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, - TK_Comma = 70, - TK_RightBracket = 117, + TK_Assign = 70, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, + TK_Comma = 69, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 27, @@ -208,8 +208,8 @@ public interface CPPSizeofExpressionParsersym { "new", "LeftBrace", "GT", - "Assign", "Comma", + "Assign", "RightBrace", "Colon", "RightParen", @@ -241,6 +241,7 @@ public interface CPPSizeofExpressionParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPSizeofExpressionParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java index cecd3ae1963..b25f22e30a8 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParser.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -1005,985 +1005,937 @@ public CPPTemplateTypeParameterParser(ITokenStream stream, Map<String,String> pr // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= char + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 263: simple_type_specifier ::= wchar_t + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // case 263: { action. consumeToken(); break; } // - // Rule 264: simple_type_specifier ::= bool + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 264: { action. consumeToken(); break; - } - - // - // Rule 265: simple_type_specifier ::= short - // - case 265: { action. consumeToken(); break; - } - - // - // Rule 266: simple_type_specifier ::= int - // - case 266: { action. consumeToken(); break; - } - - // - // Rule 267: simple_type_specifier ::= long - // - case 267: { action. consumeToken(); break; - } - - // - // Rule 268: simple_type_specifier ::= signed - // - case 268: { action. consumeToken(); break; - } - - // - // Rule 269: simple_type_specifier ::= unsigned - // - case 269: { action. consumeToken(); break; - } - - // - // Rule 270: simple_type_specifier ::= float - // - case 270: { action. consumeToken(); break; - } - - // - // Rule 271: simple_type_specifier ::= double - // - case 271: { action. consumeToken(); break; + case 277: { action. consumeQualifiedId(false); break; } // - // Rule 272: simple_type_specifier ::= void + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 272: { action. consumeToken(); break; + case 278: { action. consumeQualifiedId(false); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 275: { action. consumeQualifiedId(false); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 276: { action. consumeQualifiedId(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 277: { action. consumeQualifiedId(false); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 278: { action. consumeQualifiedId(true); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 280: { action. consumeTypeSpecifierElaborated(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 281: { action. consumeTypeSpecifierElaborated(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 282: { action. consumeTypeSpecifierElaborated(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } + // Rule 295: enumerator_definition ::= identifier_token // - case 284: { action. consumeTypeSpecifierEnumeration(false); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 285: { action. consumeTypeSpecifierEnumeration(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 291: enumerator_definition ::= identifier_token + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 291: { action. consumeEnumerator(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 292: enumerator_definition ::= identifier_token = constant_expression + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 292: { action. consumeEnumerator(true); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 294: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 294: { action. consumeNamespaceDefinition(true); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 295: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 295: { action. consumeNamespaceDefinition(false); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: typename_opt ::= typename // - case 297: { action. consumeNamespaceAliasDefinition(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 304: typename_opt ::= $Empty // - case 298: { action. consumeUsingDeclaration(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 299: typename_opt ::= typename + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action. consumePlaceHolder(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 300: typename_opt ::= $Empty + // Rule 306: asm_definition ::= asm ( stringlit ) ; // - case 300: { action. consumeEmpty(); break; + case 306: { action. consumeDeclarationASM(); break; } // - // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 307: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 301: { action. consumeUsingDirective(); break; + case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 302: asm_definition ::= asm ( stringlit ) ; + // Rule 308: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 302: { action. consumeDeclarationASM(); break; + case 308: { action. consumeLinkageSpecification(); break; } // - // Rule 303: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 313: init_declarator_complete ::= init_declarator // - case 303: { action. consumeLinkageSpecification(); break; + case 313: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 304: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 315: init_declarator ::= complete_declarator initializer // - case 304: { action. consumeLinkageSpecification(); break; + case 315: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 309: init_declarator_complete ::= init_declarator + // Rule 318: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 309: { action. consumeInitDeclaratorComplete(); break; + case 318: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 311: init_declarator ::= complete_declarator initializer + // Rule 320: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 311: { action. consumeDeclaratorWithInitializer(true); break; + case 320: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 314: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 324: basic_direct_declarator ::= declarator_id_name // - case 314: { action. consumeDeclaratorWithPointer(true); break; + case 324: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 316: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 325: basic_direct_declarator ::= ( declarator ) // - case 316: { action. consumeDeclaratorWithPointer(true); break; + case 325: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 320: basic_direct_declarator ::= declarator_id_name + // Rule 326: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 320: { action. consumeDirectDeclaratorIdentifier(); break; + case 326: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 321: basic_direct_declarator ::= ( declarator ) + // Rule 327: array_direct_declarator ::= array_direct_declarator array_modifier // - case 321: { action. consumeDirectDeclaratorBracketed(); break; + case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 322: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 328: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 322: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 328: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 323: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 329: array_modifier ::= [ constant_expression ] // - case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 324: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 330: array_modifier ::= [ ] // - case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 330: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 325: array_modifier ::= [ constant_expression ] + // Rule 331: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 325: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 331: { action. consumePointer(); break; } // - // Rule 326: array_modifier ::= [ ] + // Rule 332: ptr_operator ::= pointer_hook & pointer_hook // - case 326: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 332: { action. consumeReferenceOperator(); break; } // - // Rule 327: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 333: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 327: { action. consumePointer(); break; + case 333: { action. consumePointerToMember(); break; } // - // Rule 328: ptr_operator ::= pointer_hook & pointer_hook + // Rule 340: cv_qualifier ::= const // - case 328: { action. consumeReferenceOperator(); break; + case 340: { action. consumeToken(); break; } // - // Rule 329: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 341: cv_qualifier ::= volatile // - case 329: { action. consumePointerToMember(); break; + case 341: { action. consumeToken(); break; } // - // Rule 336: cv_qualifier ::= const + // Rule 343: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 336: { action. consumeToken(); break; + case 343: { action. consumeQualifiedId(false); break; } // - // Rule 337: cv_qualifier ::= volatile + // Rule 344: type_id ::= type_specifier_seq // - case 337: { action. consumeToken(); break; + case 344: { action. consumeTypeId(false); break; } // - // Rule 339: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 345: type_id ::= type_specifier_seq abstract_declarator // - case 339: { action. consumeQualifiedId(false); break; + case 345: { action. consumeTypeId(true); break; } // - // Rule 340: type_id ::= type_specifier_seq + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 340: { action. consumeTypeId(false); break; + case 348: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 341: type_id ::= type_specifier_seq abstract_declarator + // Rule 349: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 341: { action. consumeTypeId(true); break; + case 349: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 353: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 344: { action. consumeDeclaratorWithPointer(false); break; + case 353: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 354: basic_direct_abstract_declarator ::= ( ) // - case 345: { action. consumeDeclaratorWithPointer(true); break; + case 354: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 355: array_direct_abstract_declarator ::= array_modifier // - case 349: { action. consumeDirectDeclaratorBracketed(); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 350: basic_direct_abstract_declarator ::= ( ) + // Rule 356: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 350: { action. consumeAbstractDeclaratorEmpty(); break; + case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_modifier + // Rule 357: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 357: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 352: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 358: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 353: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 359: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 359: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 354: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 354: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 360: { action. consumePlaceHolder(); break; } // - // Rule 355: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 355: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 361: { action. consumeEmpty(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 362: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 356: { action. consumePlaceHolder(); break; + case 362: { action. consumePlaceHolder(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 368: abstract_declarator_opt ::= $Empty // - case 357: { action. consumeEmpty(); break; + case 368: { action. consumeEmpty(); break; } // - // Rule 358: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 369: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 358: { action. consumePlaceHolder(); break; + case 369: { action. consumeParameterDeclaration(); break; } // - // Rule 364: abstract_declarator_opt ::= $Empty + // Rule 370: parameter_declaration ::= declaration_specifiers // - case 364: { action. consumeEmpty(); break; + case 370: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 372: parameter_init_declarator ::= declarator = parameter_initializer // - case 365: { action. consumeParameterDeclaration(); break; + case 372: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 366: parameter_declaration ::= declaration_specifiers + // Rule 374: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 366: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 374: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 368: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 375: parameter_init_declarator ::= = parameter_initializer // - case 368: { action. consumeDeclaratorWithInitializer(true); break; + case 375: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 370: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 376: parameter_initializer ::= assignment_expression // - case 370: { action. consumeDeclaratorWithInitializer(true); break; + case 376: { action. consumeInitializer(); break; } // - // Rule 371: parameter_init_declarator ::= = parameter_initializer + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 371: { action. consumeDeclaratorWithInitializer(false); break; + case 377: { action. consumeFunctionDefinition(false); break; } // - // Rule 372: parameter_initializer ::= assignment_expression + // Rule 378: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 372: { action. consumeInitializer(); break; + case 378: { action. consumeFunctionDefinition(true); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 381: initializer ::= ( expression_list ) // - case 373: { action. consumeFunctionDefinition(false); break; + case 381: { action. consumeInitializerConstructor(); break; } // - // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 382: initializer_clause ::= assignment_expression // - case 374: { action. consumeFunctionDefinition(true); break; + case 382: { action. consumeInitializer(); break; } // - // Rule 377: initializer ::= ( expression_list ) + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // - case 377: { action. consumeInitializerConstructor(); break; + case 384: { action. consumeInitializerList(); break; } // - // Rule 378: initializer_clause ::= assignment_expression + // Rule 385: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // - case 378: { action. consumeInitializer(); break; + case 385: { action. consumeInitializerList(); break; } // - // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 386: initializer_list ::= { <openscope-ast> } // - case 380: { action. consumeInitializerList(); break; + case 386: { action. consumeInitializerList(); break; } // - // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 387: start_initializer_list ::= $Empty // - case 381: { action. consumeInitializerList(); break; + case 387: { action. initializerListStart(); break; } // - // Rule 382: initializer_list ::= { <openscope-ast> } + // Rule 388: end_initializer_list ::= $Empty // - case 382: { action. consumeInitializerList(); break; + case 388: { action. initializerListEnd(); break; } // - // Rule 383: start_initializer_list ::= $Empty + // Rule 393: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 383: { action. initializerListStart(); break; + case 393: { action. consumeClassSpecifier(); break; } // - // Rule 384: end_initializer_list ::= $Empty + // Rule 394: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // - case 384: { action. initializerListEnd(); break; + case 394: { action. consumeClassHead(false); break; } // - // Rule 389: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 395: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 389: { action. consumeClassSpecifier(); break; + case 395: { action. consumeClassHead(false); break; } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 390: { action. consumeClassHead(false); break; + case 396: { action. consumeClassHead(true); break; } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 397: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 391: { action. consumeClassHead(false); break; + case 397: { action. consumeClassHead(true); break; } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 401: identifier_name_opt ::= $Empty // - case 392: { action. consumeClassHead(true); break; - } + case 401: { action. consumeEmpty(); break; + } // - // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 405: visibility_label ::= access_specifier_keyword : // - case 393: { action. consumeClassHead(true); break; + case 405: { action. consumeVisibilityLabel(); break; } // - // Rule 397: identifier_name_opt ::= $Empty - // - case 397: { action. consumeEmpty(); break; - } - - // - // Rule 401: visibility_label ::= access_specifier_keyword : + // Rule 406: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 401: { action. consumeVisibilityLabel(); break; + case 406: { action. consumeDeclarationSimple(true); break; } // - // Rule 402: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 407: member_declaration ::= declaration_specifiers_opt ; // - case 402: { action. consumeDeclarationSimple(true); break; + case 407: { action. consumeDeclarationSimple(false); break; } // - // Rule 403: member_declaration ::= declaration_specifiers_opt ; + // Rule 410: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 403: { action. consumeDeclarationSimple(false); break; + case 410: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 406: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 416: member_declaration ::= ERROR_TOKEN // - case 406: { action. consumeMemberDeclarationQualifiedId(); break; + case 416: { action. consumeDeclarationProblem(); break; } // - // Rule 412: member_declaration ::= ERROR_TOKEN + // Rule 425: member_declarator ::= declarator constant_initializer // - case 412: { action. consumeDeclarationProblem(); break; + case 425: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 421: member_declarator ::= declarator constant_initializer + // Rule 426: member_declarator ::= bit_field_declarator : constant_expression // - case 421: { action. consumeMemberDeclaratorWithInitializer(); break; + case 426: { action. consumeBitField(true); break; } // - // Rule 422: member_declarator ::= bit_field_declarator : constant_expression + // Rule 427: member_declarator ::= : constant_expression // - case 422: { action. consumeBitField(true); break; + case 427: { action. consumeBitField(false); break; } // - // Rule 423: member_declarator ::= : constant_expression + // Rule 428: bit_field_declarator ::= identifier_name // - case 423: { action. consumeBitField(false); break; + case 428: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 424: bit_field_declarator ::= identifier_name + // Rule 429: constant_initializer ::= = constant_expression // - case 424: { action. consumeDirectDeclaratorIdentifier(); break; + case 429: { action. consumeInitializer(); break; } // - // Rule 425: constant_initializer ::= = constant_expression + // Rule 435: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 425: { action. consumeInitializer(); break; + case 435: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 431: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 431: { action. consumeBaseSpecifier(false, false); break; + case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 432: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 437: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 432: { action. consumeBaseSpecifier(true, true); break; + case 437: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 433: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 438: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 433: { action. consumeBaseSpecifier(true, true); break; + case 438: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 434: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 439: access_specifier_keyword ::= private // - case 434: { action. consumeBaseSpecifier(true, false); break; + case 439: { action. consumeToken(); break; } // - // Rule 435: access_specifier_keyword ::= private + // Rule 440: access_specifier_keyword ::= protected // - case 435: { action. consumeToken(); break; + case 440: { action. consumeToken(); break; } // - // Rule 436: access_specifier_keyword ::= protected + // Rule 441: access_specifier_keyword ::= public // - case 436: { action. consumeToken(); break; + case 441: { action. consumeToken(); break; } // - // Rule 437: access_specifier_keyword ::= public + // Rule 443: access_specifier_keyword_opt ::= $Empty // - case 437: { action. consumeToken(); break; + case 443: { action. consumeEmpty(); break; } // - // Rule 439: access_specifier_keyword_opt ::= $Empty + // Rule 445: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 439: { action. consumeEmpty(); break; + case 445: { action. consumeTemplateId(); break; } // - // Rule 441: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 446: conversion_function_id ::= operator conversion_type_id // - case 441: { action. consumeTemplateId(); break; + case 446: { action. consumeConversionName(); break; } // - // Rule 442: conversion_function_id ::= operator conversion_type_id + // Rule 447: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 442: { action. consumeConversionName(); break; + case 447: { action. consumeTypeId(true); break; } // - // Rule 443: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 448: conversion_type_id ::= type_specifier_seq // - case 443: { action. consumeTypeId(true); break; + case 448: { action. consumeTypeId(false); break; } // - // Rule 444: conversion_type_id ::= type_specifier_seq + // Rule 449: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 444: { action. consumeTypeId(false); break; + case 449: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 445: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 455: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 445: { action. consumeDeclaratorWithPointer(false); break; + case 455: { action. consumeConstructorChainInitializer(); break; } // - // Rule 451: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 456: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 451: { action. consumeConstructorChainInitializer(); break; + case 456: { action. consumeQualifiedId(false); break; } // - // Rule 452: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 459: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 452: { action. consumeQualifiedId(false); break; + case 459: { action. consumeTemplateId(); break; } // - // Rule 455: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 460: operator_id_name ::= operator overloadable_operator // - case 455: { action. consumeTemplateId(); break; + case 460: { action. consumeOperatorName(); break; } // - // Rule 456: operator_id_name ::= operator overloadable_operator + // Rule 503: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 456: { action. consumeOperatorName(); break; + case 503: { action. consumeTemplateDeclaration(); break; } // - // Rule 499: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 504: export_opt ::= export // - case 499: { action. consumeTemplateDeclaration(); break; + case 504: { action. consumePlaceHolder(); break; } // - // Rule 500: export_opt ::= export + // Rule 505: export_opt ::= $Empty // - case 500: { action. consumePlaceHolder(); break; + case 505: { action. consumeEmpty(); break; } // - // Rule 501: export_opt ::= $Empty + // Rule 509: template_parameter ::= parameter_declaration // - case 501: { action. consumeEmpty(); break; + case 509: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 505: template_parameter ::= parameter_declaration + // Rule 510: type_parameter ::= class identifier_name_opt // - case 505: { action. consumeTemplateParamterDeclaration(); break; + case 510: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 506: type_parameter ::= class identifier_name_opt + // Rule 511: type_parameter ::= class identifier_name_opt = type_id // - case 506: { action. consumeSimpleTypeTemplateParameter(false); break; + case 511: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 507: type_parameter ::= class identifier_name_opt = type_id + // Rule 512: type_parameter ::= typename identifier_name_opt // - case 507: { action. consumeSimpleTypeTemplateParameter(true); break; + case 512: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 508: type_parameter ::= typename identifier_name_opt + // Rule 513: type_parameter ::= typename identifier_name_opt = type_id // - case 508: { action. consumeSimpleTypeTemplateParameter(false); break; + case 513: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 509: type_parameter ::= typename identifier_name_opt = type_id + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 509: { action. consumeSimpleTypeTemplateParameter(true); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 515: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 510: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 515: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 516: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 511: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 516: { action. consumeTemplateId(); break; } // - // Rule 512: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 521: template_argument ::= assignment_expression // - case 512: { action. consumeTemplateId(); break; + case 521: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 517: template_argument ::= assignment_expression + // Rule 522: template_argument ::= type_id // - case 517: { action. consumeTemplateArgumentExpression(); break; + case 522: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 518: template_argument ::= type_id + // Rule 523: explicit_instantiation ::= template declaration // - case 518: { action. consumeTemplateArgumentTypeId(); break; + case 523: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 519: explicit_instantiation ::= template declaration + // Rule 524: explicit_specialization ::= template < > declaration // - case 519: { action. consumeTemplateExplicitInstantiation(); break; + case 524: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 520: explicit_specialization ::= template < > declaration + // Rule 525: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 520: { action. consumeTemplateExplicitSpecialization(); break; + case 525: { action. consumeStatementTryBlock(true); break; } // - // Rule 521: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 526: try_block ::= try compound_statement // - case 521: { action. consumeStatementTryBlock(); break; + case 526: { action. consumeStatementTryBlock(false); break; } // - // Rule 524: handler ::= catch ( exception_declaration ) compound_statement + // Rule 529: handler ::= catch ( exception_declaration ) compound_statement // - case 524: { action. consumeStatementCatchHandler(false); break; + case 529: { action. consumeStatementCatchHandler(false); break; } // - // Rule 525: handler ::= catch ( ... ) compound_statement + // Rule 530: handler ::= catch ( ... ) compound_statement // - case 525: { action. consumeStatementCatchHandler(true); break; + case 530: { action. consumeStatementCatchHandler(true); break; } // - // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 526: { action. consumeDeclarationSimple(true); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 527: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 532: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 527: { action. consumeDeclarationSimple(true); break; + case 532: { action. consumeDeclarationSimple(true); break; } // - // Rule 528: exception_declaration ::= type_specifier_seq + // Rule 533: exception_declaration ::= type_specifier_seq // - case 528: { action. consumeDeclarationSimple(false); break; + case 533: { action. consumeDeclarationSimple(false); break; } // - // Rule 530: exception_specification ::= throw ( ) + // Rule 535: exception_specification ::= throw ( ) // - case 530: { action. consumePlaceHolder(); break; + case 535: { action. consumePlaceHolder(); break; } // - // Rule 536: type_parameter_start ::= ERROR_TOKEN + // Rule 541: type_parameter_start ::= ERROR_TOKEN // - case 536: { action. consumeEmpty(); break; + case 541: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java index f996021b7e4..db410ee13e4 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParserprs.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -56,476 +56,488 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 0,5,7,8,1,1,2,2,3,2, - 3,1,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,1,0,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, + 0,5,7,2,8,1,1,2,2,3, + 2,3,1,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,1,0, + 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,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3,4,4,5,2,5, - 6,5,0,6,7,0,1,3,1,0, - 1,3,1,7,6,0,7,6,1,0, - 6,5,6,4,1,3,1,0,1,1, - 2,1,1,3,1,3,1,1,1,1, - 3,9,2,2,3,2,5,3,7,0, - 1,2,2,1,0,1,1,1,3,1, - 2,1,1,2,3,1,1,1,3,2, - 1,2,2,9,8,2,1,3,1,3, - 1,0,1,0,2,1,1,3,1,3, - 2,1,5,8,1,2,3,1,1,7, - 6,3,0,0,1,3,1,1,5,6, - 6,7,7,0,0,1,0,1,1,1, - 2,4,2,2,1,5,1,1,1,1, - 1,1,1,2,1,0,1,3,1,1, - 2,3,2,1,2,2,1,0,1,3, - 3,5,5,4,1,1,1,1,0,1, - 5,2,2,1,2,2,1,0,1,3, - 4,3,1,1,5,2,1,1,3,3, + 1,1,1,1,1,1,3,4,4,5, + 2,5,6,5,0,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 7,6,1,0,6,5,6,4,1,3, + 1,0,1,1,2,1,1,3,1,3, + 1,1,1,1,3,9,2,2,3,2, + 5,3,7,0,1,2,2,1,0,1, + 1,1,3,1,2,1,1,2,3,1, + 1,1,3,2,1,2,2,9,8,2, + 1,3,1,3,1,0,1,0,2,1, + 1,3,1,3,2,1,5,8,1,2, + 3,1,1,7,6,3,0,0,1,3, + 1,1,5,6,6,7,7,0,0,1, + 0,1,1,1,2,4,2,2,1,5, + 1,1,1,1,1,1,1,2,1,0, + 1,3,1,1,2,3,2,1,2,2, + 1,0,1,3,3,5,5,4,1,1, + 1,1,0,1,5,2,2,1,2,2, + 1,0,1,3,4,3,1,1,5,2, + 1,1,3,3,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,2,2,7,1, - 0,1,3,1,1,2,4,2,4,7, - 9,5,1,3,1,0,1,1,2,4, - 4,1,2,5,5,3,3,1,4,3, - 1,0,1,3,1,1,-126,0,0,0, - -2,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-128,0, - 0,0,0,0,0,0,-3,0,-182,0, - 0,0,0,0,-109,0,0,0,-26,0, - 0,0,-22,-33,0,0,0,0,0,0, - 0,0,0,0,0,0,-29,-6,0,-83, - 0,0,-307,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-357, - 0,0,0,0,-186,0,0,0,-217,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-327,0,0,-195,0, - 0,0,0,0,0,0,0,0,0,0, - -92,0,0,0,-91,0,0,0,0,-85, - -324,0,0,0,0,0,0,0,0,-37, - 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, - 0,0,0,0,0,0,0,0,0,-86, - 0,0,0,0,0,0,0,-183,-176,0, - 0,-328,-35,0,0,0,0,-45,0,0, - 0,0,0,-7,0,0,-171,0,0,0, - 0,0,0,0,0,0,0,0,0,0, + 2,2,7,1,0,1,3,1,1,2, + 4,2,4,7,9,5,1,3,1,0, + 1,1,2,4,4,2,1,2,5,5, + 3,3,1,4,3,1,0,1,3,1, + 1,-126,0,0,0,-2,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-438,0, - 0,0,0,0,-8,0,0,0,0,0, - 0,0,0,0,0,-23,-194,0,0,-12, - 0,0,-132,0,0,0,0,0,0,0, - 0,0,0,0,0,-402,-287,0,0,0, - 0,0,-184,0,-259,0,0,-175,0,0, + 0,0,0,0,-1,0,0,0,0,0, + 0,0,-462,0,-3,0,0,0,0,0, + -109,0,0,0,-26,0,0,0,-33,0, 0,0,0,0,0,0,0,0,0,0, + 0,-29,-327,-7,0,0,-255,-307,0,0, 0,0,0,0,0,0,0,0,0,0, + -246,0,-8,0,0,0,-536,0,0,0, + 0,-4,0,0,-217,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,-269,0,0,0,-89, - 0,-477,0,0,-294,0,0,0,0,0, + 0,-12,0,0,-272,0,0,0,0,0, + 0,0,0,-16,0,0,0,0,0,0, + 0,0,0,0,0,0,-5,0,0,0, + 0,0,0,0,0,0,-19,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,0,0,0,0, - 0,0,0,0,-370,0,-301,0,0,0, - 0,0,-24,0,0,0,0,0,-537,0, - -4,0,0,-429,0,0,0,0,0,0, - 0,0,-133,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-90,0,0,0, - 0,0,0,-516,0,0,0,0,0,0, + 0,0,0,0,0,0,-91,0,-262,0, + 0,0,0,0,-176,0,0,0,0,-36, + 0,0,-34,0,-415,-328,0,0,0,-20, + 0,0,-171,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-99,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-349,-173,0,0,0,-538,0,0,0, - -25,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-27,0,0,0,0, + 0,-55,0,0,0,0,0,0,0,0, + 0,0,0,-28,0,-30,0,0,0,-132, + 0,0,0,-44,0,0,0,0,0,0, + 0,0,-49,0,0,0,0,0,0,-187, + 0,0,-50,-175,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -47,0,0,0,-55,0,0,0,0,0, - 0,-21,0,0,0,-488,0,0,0,0, + 0,0,0,0,0,0,-51,0,-52,0, + 0,0,0,0,0,0,-45,0,0,0, + -182,0,-194,0,0,0,0,0,0,0, + -294,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-6,0,0,0,0,0,0,0,0, + 0,0,0,-461,0,0,0,0,-431,0, + 0,0,-211,0,0,0,0,0,0,0, + -370,-133,0,0,0,0,0,0,0,0, + 0,0,0,0,-83,-37,0,-183,0,-518, 0,0,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,0, - 0,0,0,0,0,0,-262,0,0,0, - 0,0,0,0,-1,0,-16,0,0,0, - 0,0,0,-19,0,0,0,-211,0,0, - -96,0,0,-93,0,-455,0,0,0,0, + 0,0,-53,0,0,0,0,0,0,0, + 0,0,0,0,-54,0,0,0,0,0, + 0,0,0,-540,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-297,0,-106, - 0,0,0,0,0,0,0,0,-18,0, + 0,0,0,0,-349,0,0,0,-22,0, + 0,0,-92,-287,0,0,0,0,-21,0, + 0,0,-191,0,0,0,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,-128,0,0, + 0,-347,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,-191,0, - -100,0,-425,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,-85,0,0,0,0,0,0,0, + 0,-300,0,0,0,-186,0,0,0,0, + -280,0,0,-457,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-27,0,-413,0,0,0,0,-28, - 0,0,0,0,0,0,-82,0,0,0, - -527,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,-184,0,-23,0, + 0,0,0,-371,0,0,0,-18,0,0, + 0,-386,0,0,0,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, - -192,0,0,0,0,0,0,0,-205,0, + -68,0,0,0,0,0,0,0,-69,0, + -297,0,0,0,0,0,0,0,0,0, + -24,-357,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, - -41,0,0,0,0,0,0,0,-30,0, - -101,0,-39,0,0,0,-44,0,0,0, - -79,0,0,0,-50,0,0,0,0,0, + 0,0,-86,0,0,0,0,0,0,0, + 0,-301,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,-529,0,0,0,-250,-51, - 0,0,0,0,-155,0,0,0,-52,0, + 0,0,0,0,0,0,0,0,-93,0, + -390,0,0,0,-173,0,0,0,-82,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,-254,0, - 0,0,0,0,0,0,-219,0,0,0, - 0,0,0,0,0,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,-53,0,0,0,0,0,0,0,-407, - 0,0,0,0,0,0,0,-472,0,0, - 0,-157,0,0,0,0,0,0,0,0, + 0,-71,0,0,0,0,0,-72,-89,0, + 0,-25,0,-205,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-41,0,0,0, + 0,0,0,0,0,0,0,0,-215,0, + 0,0,0,0,0,0,-79,0,0,0, + -73,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-408,0,-54,0,-215,0,0,0,0, - 0,0,0,-158,0,0,0,-460,0,0, + 0,0,0,0,0,0,0,0,0,-479, + 0,-90,0,0,0,0,0,0,0,-155, + 0,0,0,-344,0,0,0,0,0,0, 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,-530,0,-454,0,0, - 0,0,-255,0,0,-159,0,0,0,-515, + -74,0,0,0,-39,0,0,0,-75,-296, + 0,0,-219,0,0,0,0,0,0,0, + 0,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,0,-76,0, + 0,0,0,0,0,0,-77,0,-422,0, + 0,0,0,0,-474,0,0,0,-157,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-406, - 0,0,0,-257,0,0,0,-160,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-96, 0,0,0,0,0,0,0,0,0,0, + 0,-158,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-300,0,0,0,-161, - 0,0,0,-339,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-68,0,0,0,0,0,0,0,-267, + 0,0,-78,0,0,0,-456,0,0,0, + 0,-315,0,0,-159,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,0,0, + 0,0,0,0,0,-106,0,-376,0,0, + 0,0,0,-80,0,0,0,-160,0,0, + 0,-339,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-268,0,-124,0,0,0,0,0,-485, - 0,0,0,-163,0,0,0,-69,0,0, + 0,0,0,0,0,0,0,0,-487,0, + -409,0,-108,0,0,0,-174,0,0,0, + -161,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-84,0,0,0,0,0,0, + 0,0,0,-410,0,-110,0,0,0,-529, + 0,0,0,-162,0,0,0,-87,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-70,0,-125,0,-108,0,0, - 0,0,0,0,0,-164,0,0,0,-71, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-531,0,0,0, + 0,0,-213,0,0,0,-163,0,0,0, + -539,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-88, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-72,0,-178,0,-110, - 0,0,0,-73,0,0,0,-165,0,0, - 0,-74,0,0,0,0,0,0,0,0, + 0,-192,0,0,0,0,0,0,0,-164, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-270,0,-197, - 0,0,0,0,0,-476,0,0,0,-281, - 0,0,0,-75,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-286, - 0,-198,0,0,0,0,0,-76,-315,0, - 0,-291,0,0,0,-77,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-532,0,0,0,0,0,-221,0, + 0,0,-165,0,0,0,-94,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-292,0,-389,0,0,0,0,0,-78, - -80,0,0,-532,0,0,0,-385,0,0, + 0,0,0,0,0,-95,0,0,0,0, + 0,0,0,-250,0,0,0,0,0,0, + 0,-478,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,-98,0, + 0,0,0,0,0,0,-105,0,-100,0, + 0,0,0,0,0,-389,0,0,-291,0, + 0,0,-408,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-293,0,0,0,0,0,0, - 0,-84,-87,0,0,-356,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-254, + 0,-101,0,0,0,0,0,-257,-113,0, + 0,-534,0,0,0,-407,0,0,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,-305,0,-377,0,0, - 0,0,0,-392,0,0,0,-88,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-116,0,-124,0,0,0,0,0, + -99,-131,0,0,-393,0,0,0,-129,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-309,0,0,0,0,0,0, - 0,-273,0,0,0,-279,0,0,0,-36, - -94,-393,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-267,0,0,0,0, + 0,0,0,-394,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-310,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,-179,0, + 0,0,-195,0,0,0,0,-449,0,0, + 0,-406,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-334, - 0,-419,0,0,0,0,0,-313,0,0, - 0,-272,0,0,0,0,0,-463,0,0, + 0,0,0,0,-346,0,0,0,0,0, + 0,0,0,0,-378,0,-180,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,0,0,0,0, - 0,0,0,0,0,0,0,-336,0,-437, - 0,0,0,0,0,-167,0,0,0,0, + 0,-268,0,0,0,0,0,0,0,-273, + 0,0,0,-189,-451,0,0,0,-167,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-95,0,0, - 0,0,0,0,0,-338,0,0,0,0, - 0,-32,0,0,0,-457,-98,0,0,0, - 0,0,-105,-154,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-113,0,0,0,0, - 0,0,0,0,0,-204,0,-152,0,0, - 0,-216,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-220, - 0,0,0,0,0,0,0,0,0,-153, + 0,-421,0,0,0,0,0,0,0,0, + 0,-304,0,-199,0,-125,0,-154,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-149, - 0,0,0,-174,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-116,0,0,0,0,0,0,-414,0, + -178,0,-152,0,0,0,-197,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-131,-13,0,0,0,0,0,0,0, - 0,0,0,0,0,-150,0,0,0,-213, + 0,0,0,0,0,-198,0,0,0,0, + 0,0,0,0,0,-153,0,0,0,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,-295,0,0,0,0, - -473,0,0,-57,0,-221,-180,0,-280,0, - 0,0,0,0,0,0,0,-241,-421,-384, - 0,0,0,-189,-187,0,0,0,0,-246, - 0,-102,-188,0,0,0,0,-17,0,0, - -199,0,0,0,0,0,0,-242,0,0, - 0,0,-200,0,-447,0,0,0,0,0, - 0,0,0,0,-306,0,0,0,0,0, - 0,0,0,0,0,0,0,-304,0,0, - 0,-252,0,-201,0,0,0,0,0,0, - -265,-151,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-149,0,0,0, + -200,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,-150,0,0,0, + -202,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-188, + 0,0,0,0,0,-151,0,0,0,-311, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-38,0, + 0,0,0,0,-416,0,0,0,0,0, + 0,0,0,0,0,0,0,-207,-13,0, 0,0,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,-207,0, - 0,0,-325,0,0,0,0,0,-143,0, + 0,-143,0,0,0,-283,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-252, + -295,0,-208,0,0,0,0,-251,0,0, + -290,0,-481,0,0,0,-209,0,0,0, + 0,0,0,0,0,0,0,-270,0,0, + 0,0,-299,0,0,0,-32,0,0,0, + -210,0,0,0,0,0,0,0,-222,0, + 0,0,0,0,-177,0,0,0,0,-355, + 0,0,0,0,0,0,0,-423,0,0, + 0,0,-345,0,0,0,0,0,0,0, + 0,0,0,0,0,-397,-337,0,0,0, + 0,0,0,0,0,0,0,0,0,-144, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-144,0,0,0,-311, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-279,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-145,0,0,0,-208,0,0,0, + -204,-145,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-209,0,0,0,0,0, - 0,0,-266,-456,0,0,0,0,0,0, - 0,0,0,0,0,0,-465,-271,0,-146, + 0,0,0,0,-265,0,0,0,0,-146, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-203,0,0,0,0,-445,-341,-296,-48, - 0,0,-474,0,0,-251,-117,0,0,0, - 0,-343,0,0,0,0,0,0,0,-449, - 0,0,0,-5,0,0,0,0,0,0, - -210,0,-366,-461,0,0,0,0,0,-222, - 0,-288,0,0,0,0,0,0,0,0, - 0,0,0,0,-223,0,0,-314,0,0, + 0,0,-216,0,0,0,0,-306,0,0, 0,0,0,0,0,0,0,0,0,0, + -14,0,0,0,0,0,-47,-313,0,0, + 0,0,-286,0,0,0,0,-220,-103,0, + 0,0,-356,0,0,0,0,0,0,0, + 0,-223,-17,-241,-102,0,0,0,0,0, + -43,0,0,0,-224,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-325,0, + 0,0,0,0,0,0,0,-292,0,-435, + -15,0,-225,0,0,0,0,0,0,0, + 0,-40,0,0,0,-293,0,0,0,0, + 0,-419,0,0,0,0,0,0,-388,0, + 0,0,0,0,0,0,0,0,0,-242, + 0,0,0,0,-288,0,-440,0,0,0, + 0,0,0,0,0,0,0,0,0,-271, + 0,-203,0,-330,0,0,0,0,0,0, + 0,-305,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,0,0,0,0,0,-312,0,0, - 0,0,0,0,0,0,0,0,-531,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-14,0,0,0,0,0,0, - -225,-226,-138,0,0,0,0,0,0,0, + 0,-226,0,-227,-147,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-227,0,0,0,-10,-11, - -123,-365,0,0,0,0,-38,0,0,0, - -355,0,0,0,-396,0,0,-417,0,0, - 0,0,0,0,0,0,-103,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-148,0,0,0,-228,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-196,0,0,0,0, + 0,0,0,0,-447,0,0,0,0,-196, + 0,0,0,-326,0,0,0,0,0,0, + 0,0,-309,-400,0,-229,0,0,-310,-475, + -334,0,0,0,0,0,-336,-324,0,0, + 0,-463,-230,0,0,0,0,0,0,0, + -367,0,0,0,-231,0,0,0,0,0, + 0,0,-266,-168,0,0,0,0,0,0, + -232,0,0,0,0,0,0,0,0,0, + 0,0,0,-169,0,-398,0,0,0,0, + 0,0,0,0,0,0,0,-233,0,-482, + 0,0,0,0,-544,-234,0,-412,0,0, + 0,0,0,0,0,0,0,-533,0,0, 0,0,0,0,0,0,0,0,0,0, - -330,0,0,0,-228,0,-229,0,-283,0, - 0,0,0,0,0,0,0,0,-230,0, - 0,0,0,0,0,0,-177,0,0,0, - -231,0,0,0,0,0,0,-49,0,0, - 0,0,0,0,0,0,-290,0,0,0, - 0,-147,0,0,0,-344,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-148,0,0, - 0,-410,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-470, - 0,0,0,0,-475,-114,-337,0,0,0, - 0,0,0,0,0,0,0,-387,0,0, - 0,0,-232,0,0,0,0,0,-233,0, - -289,0,0,0,-405,-299,-491,0,0,-388, - 0,0,0,0,-326,0,0,0,0,0, - 0,0,0,0,0,0,-542,-432,0,-479, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-234,0,-487, - 0,-493,0,0,0,0,0,0,0,0, - 0,-130,0,0,-434,0,0,0,0,0, - 0,-235,0,0,0,0,0,0,0,0, - 0,0,-134,0,0,0,0,0,-507,0, - 0,0,0,0,0,-236,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-373, - 0,-358,0,0,0,-482,0,0,0,0, - 0,0,0,0,0,0,0,0,-40,-237, - 0,0,-238,-520,0,0,0,0,0,0, - 0,0,0,0,0,-390,0,0,-374,-379, - 0,-239,0,0,0,0,0,0,0,0, - 0,0,0,0,-97,0,0,0,0,-436, - -522,0,0,0,0,0,-240,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-397,0,-15,-459,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -243,-430,0,0,0,0,0,0,0,-244, - 0,0,0,0,0,-245,0,-107,0,0, - 0,-31,0,0,0,-359,0,-360,0,0, - 0,0,0,0,0,-524,0,0,0,0, - 0,0,0,0,0,0,0,0,-433,-534, - 0,0,0,0,-247,0,-352,0,0,0, - 0,0,-526,-168,0,0,0,0,-115,-248, + -138,0,0,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, + -331,0,0,0,-358,0,-235,0,0,0, + 0,-354,-312,0,0,0,0,0,0,0, + -338,0,0,-436,0,0,0,0,0,0, + -236,0,0,0,0,0,-395,0,0,0, + -298,0,0,0,0,0,0,0,0,0, + 0,0,0,-139,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-472,0,0,-341, + 0,-343,-114,0,-237,0,0,0,-259,0, + 0,0,-238,0,-239,0,0,0,0,0, + 0,0,-48,0,-172,-352,0,0,0,0, + -240,0,0,-493,-9,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-243,0,0,0,0,0, + -439,0,-353,0,0,0,0,0,0,0, + 0,0,0,0,0,-432,0,-359,0,-459, + 0,0,0,0,0,0,0,0,0,-495, + 0,-332,-244,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,-366, + 0,-245,0,0,0,0,-509,-247,0,0, + 0,0,0,-248,0,0,0,0,0,-253, + 0,0,0,0,0,0,0,-258,0,0, + -249,0,0,0,0,-360,0,0,0,0, + 0,0,0,0,0,0,0,-260,0,0, + -361,0,0,0,0,0,-261,0,0,0, + 0,0,-522,0,-404,0,0,-123,0,0, + 0,0,-275,0,0,0,0,0,0,0, + 0,0,-374,0,-276,0,0,-314,0,0, + -391,0,0,0,-277,0,-484,0,0,-524, + 0,0,0,0,-375,0,-278,-302,0,0, + 0,0,-362,0,0,0,0,0,-476,0, + -303,-308,0,-97,0,0,0,-35,-434,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-316,-429,0,0,0,0,0, + 0,0,0,0,0,-505,0,0,0,-31, + 0,0,0,0,0,-317,0,-322,0,0, + 0,0,0,0,0,-526,0,0,0,0, + 0,0,0,0,0,0,0,0,-513,-380, + 0,-323,0,0,0,-112,0,0,0,-269, + 0,0,-528,0,0,0,0,-430,0,0, + 0,0,0,0,0,0,-443,0,-438,0, + 0,0,0,0,-42,0,-329,-135,0,-517, + 0,0,-333,0,0,0,0,0,-348,0, + 0,0,0,0,0,0,-385,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -350,-401,0,0,0,0,-541,0,-368,0, + 0,0,0,0,0,0,0,0,-372,-373, + -381,-107,0,0,0,-335,-530,0,-377,0, + 0,-384,0,-351,0,0,-402,0,0,0, + 0,0,-396,-446,-10,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-546,0,0,0,0,0, + 0,0,-433,0,0,0,0,0,0,0, + 0,0,0,0,-403,-411,-477,0,0,0, + 0,0,0,-417,0,0,-418,-442,-134,-420, + 0,-424,0,0,0,0,-426,0,-441,0, + 0,0,0,0,-464,0,0,0,0,0, + -466,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -140,0,0,0,-468,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-469,0,-141,0,0,0,-470, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-471,0, + -142,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-473,0,-60,0,0,0,-491, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-61,0, + 0,0,-492,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-62,0,0,0,-494,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-63,0,0,0,-499,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-64,0,0, 0,-503,0,0,0,0,0,0,0,0, - 0,0,0,-444,0,0,0,0,0,-499, - 0,-253,0,0,0,0,0,-369,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-46, - 0,0,0,0,-427,-42,0,0,0,0, - 0,0,0,0,0,0,0,-484,0,-169, - -135,0,0,0,0,0,0,-539,-258,-428, - -361,0,0,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,-441,0, - 0,0,0,0,-544,0,0,0,0,0, - -260,-500,0,0,0,0,-261,0,0,0, - 0,0,-275,0,-502,-276,0,-505,0,-399, - 0,0,0,0,0,0,0,0,0,0, - 0,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,-504,-278,-400, - 0,0,0,0,0,0,0,0,0,-139, + -65,0,0,0,-515,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-66,0,0,0,-523,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-140,0,0,0,-302,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-528,0,-141,0, - 0,0,-303,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -308,0,-142,0,0,0,-316,0,0,0, + 0,0,0,0,0,0,-67,0,0,0, + -535,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-127, + 0,0,0,-545,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-317,0,-391,0,0,0, - 0,0,0,0,0,0,0,0,0,-60, + 0,0,-136,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-137,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-61,0,0,0,-431,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,0,-322,-512,0,0,0,0,0, - 0,-331,0,0,0,-323,-329,0,-62,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,0,0,0,0, - -63,0,0,0,-348,0,0,0,0,0, + 0,0,0,0,-392,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, - 0,0,-64,0,0,0,-350,0,0,0, + 0,-59,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,-367,0, + 0,0,0,-379,-448,0,0,0,-454,0, + -365,0,0,0,0,0,0,-414,0,0, + -489,0,-488,0,0,0,0,-480,0,0, + 0,0,0,0,-486,-504,0,0,0,0, + 0,0,0,-485,-508,0,-501,0,0,-166, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-480,0,0,0, - -371,0,0,0,-66,0,0,0,-372,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-67,0,0,0, + 0,0,0,-318,-319,-320,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,-380,0,0,0,0,0,0,0, + 0,-502,0,0,0,0,0,0,0,0, + 0,0,0,-455,0,0,0,0,-506,-507, + 0,0,0,0,0,0,-363,0,0,0, + 0,0,0,0,-427,0,0,-510,-364,0, + 0,0,0,0,-511,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-514, 0,0,0,0,0,0,0,0,0,0, - -136,0,0,0,-383,0,0,0,0,0, + 0,-263,0,0,0,0,0,0,0,0, + 0,0,0,0,-512,-521,0,0,0,0, + -516,0,0,0,0,-340,0,0,0,0, + 0,-525,-537,-519,0,0,0,-382,0,0, + 0,0,-520,0,0,0,-413,0,0,-538, + 0,0,0,0,-542,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-543,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-137,0,0,0,-395,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-206,0,0,0,-401,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-284,0,0,0, - -409,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-59,0, - 0,0,-523,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-378, - -535,-415,-440,0,-364,0,0,0,-412,-519, - -416,-298,0,0,-112,0,0,0,-453,-418, - 0,0,0,-486,0,0,-422,-424,-439,-541, - 0,-446,0,0,0,-506,0,-462,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,-464,0,0,0,0,0,0, - 0,0,0,0,-452,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-166, - 0,0,0,0,-478,0,0,0,0,-318, - 0,0,0,0,-466,-467,0,-468,0,0, - 0,-469,0,-471,0,-489,-490,-332,-492,0, - -497,0,-501,0,-513,0,0,-521,0,0, - -533,0,-543,0,-345,0,0,0,0,0, - 0,0,0,0,0,0,0,-394,0,0, + 0,-46,0,0,0,0,0,0,0,-437, + 0,0,0,0,0,0,0,0,-445,0, + 0,0,0,-405,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -509,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-43,0,0,0,0, - 0,-483,0,0,-58,0,0,0,0,0, - -333,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-118,0,0,0,0,-351,0,0, - 0,0,0,0,0,-319,-320,0,0,0, - 0,-340,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,-362, - 0,0,0,0,0,0,0,0,0,-335, - -420,0,-508,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-321,0,0,0, - 0,0,0,0,0,0,-381,0,0,0, - 0,-510,-353,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-104, - 0,0,0,0,-514,0,0,-181,0,0, - 0,0,0,0,-363,-411,-517,0,0,0, - -518,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-435,0,0,-536,0, - -540,0,0,0,0,-368,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-383,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-443,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -185,0,0,0,0,0,-264,0,-115,0, + 0,0,0,0,-450,0,0,0,0,0, + -214,-498,0,0,0,0,0,0,-321,0, + 0,0,0,0,0,0,0,0,-181,0, 0,0,0,0,0,0,0,0,0,0, - -376,-185,0,0,0,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, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-496,0,0,0, - 0,0,0,0,0,-119,0,0,0,0, - -264,0,0,0,0,0,0,0,0,0, - -190,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,0,0,0,0, 0,-193,0,0,0,0,0,0,0,0, + 0,0,-212,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-369,0,0, + 0,0,0,-527,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-218,0, + 0,0,-342,0,0,0,0,0,0,0, + -399,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-425,0,0, + 0,0,0,0,0,0,0,0,-428,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-212,0,0,0,-218, - 0,0,0,0,0,0,0,0,-120,-214, - 0,0,0,0,0,0,0,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,0,0,0,0,0,-398,0, - 0,0,0,0,0,0,0,-9,-386,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-423,0,0,0,0,0,0,0, - 0,0,0,-426,0,0,0,-442,0,0, - 0,0,0,0,-450,0,0,0,-451,0, - 0,0,0,0,0,0,0,0,0,-458, 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,-511,0,0,0,0, + 0,0,0,0,-444,0,0,0,-452,0, + 0,0,0,0,0,0,-453,0,0,0, + -460,0,0,0,0,0,0,-57,0,0, + 0,0,0,0,0,-58,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-111,0, - 0,0,0,0,0,0,0,0,0,-122, - 0,0,0,0,0,-256,0,0,0,0, - 0,-274,0,0,0,0,0,0,0,0, - 0,0,0,0,-282,0,0,0,0,0, - 0,0,0,0,-494,0,0,0,0,0, - -121,0,0,0,0,0,0,-495,0,0, - 0,0,0,0,0,0,0,0,0,-498, 0,0,0,0,0,0,0,0,0,0, - -403,-285,-481,0,0,0,0,0,-448,0, - -525,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-117,0,0,0,0,0,-387,0,0, + 0,0,0,0,-104,0,0,0,-111,0, + 0,0,0,0,0,-122,0,0,0,0, + 0,0,0,-130,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,0,0,0,-274,0,0,0,0, + 0,-496,0,0,0,0,0,0,0,0, + -282,0,0,0,0,0,0,0,0,0, + 0,-497,0,0,0,0,0,0,0,0, + 0,0,0,-500,-11,0,0,0,0,0, + 0,0,-118,0,0,0,0,0,0,-119, + 0,0,0,0,0,0,0,0,-120,0, 0,0,0,0,0,0,0,0,0,0, + -121,0,0,0,0,0,0,0,-285,0, + 0,0,0,-483,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,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; @@ -535,532 +547,543 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface BaseAction { public final static char baseAction[] = { - 174,4,136,81,81,32,32,67,67,38, - 38,42,42,200,1,1,15,15,15,15, - 15,15,15,16,16,16,14,11,11,6, - 6,6,6,6,6,2,65,65,5,5, - 12,12,44,44,137,137,138,57,57,43, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17, - 139,139,139,114,114,18,18,18,18,18, - 18,18,18,18,18,18,18,18,19,19, - 175,175,176,176,177,142,142,143,143,140, - 140,144,141,141,20,20,21,21,23,23, - 23,24,24,24,24,25,25,25,26,26, - 26,27,27,27,27,27,28,28,28,29, - 29,31,31,33,33,35,35,36,36,37, - 37,41,41,40,40,40,40,40,40,40, - 40,40,40,40,40,40,39,30,145,145, - 95,95,178,178,90,201,201,68,68,68, - 68,68,68,68,68,68,69,69,69,66, - 66,56,56,179,179,70,70,70,101,101, - 180,180,71,71,71,181,181,72,72,72, - 72,72,73,73,82,82,82,82,82,82, - 82,82,50,50,50,50,50,115,115,113, - 113,51,182,22,22,22,22,22,48,48, - 85,85,85,85,85,152,152,147,147,147, - 147,147,148,148,148,149,149,149,150,150, - 150,151,151,151,86,86,86,86,86,87, - 87,87,13,13,13,13,13,13,13,13, - 13,13,13,96,119,119,119,119,119,119, - 117,117,117,153,118,118,183,155,155,154, - 154,121,121,102,79,79,122,53,47,156, - 156,54,52,84,84,157,157,146,146,123, - 124,124,125,76,76,158,158,63,63,63, - 60,60,59,64,64,75,75,58,58,58, - 49,88,88,98,97,97,62,62,61,61, - 55,55,45,99,99,99,91,91,91,92, - 92,93,93,93,94,94,103,103,103,105, - 105,104,104,202,202,89,89,185,185,185, - 185,185,127,46,46,160,184,184,128,128, - 129,129,129,130,162,186,186,34,34,116, - 131,131,131,131,188,107,106,106,120,120, - 120,163,164,164,164,164,164,164,164,164, - 164,164,164,190,190,187,187,189,189,165, - 166,166,166,166,167,191,109,108,108,192, - 192,168,168,168,168,100,100,100,193,193, - 8,8,9,194,194,195,169,159,159,170, - 170,171,172,172,7,7,10,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,196, - 196,196,196,196,196,196,196,196,196,77, - 80,80,173,173,133,133,110,110,110,110, - 110,110,3,134,134,132,132,111,111,83, - 78,74,161,161,112,112,197,197,197,135, - 135,126,126,198,198,174,174,1119,35,2761, - 2675,1101,4536,27,30,31,1270,1349,26,28, - 2657,25,23,50,1692,106,76,77,108,1775, - 1758,1800,1784,1834,1826,1884,1842,245,1926,386, - 1918,273,1960,1961,143,2159,1219,158,144,502, - 2048,2003,34,2074,1719,35,1263,32,2482,3322, - 27,30,31,1270,1349,338,28,2719,150,232, - 1010,2854,4598,1503,35,1263,32,4218,3322,27, - 30,31,1270,1349,338,28,350,1311,3392,342, - 502,3637,235,230,231,502,35,2683,2541,1979, - 35,1263,32,274,4722,27,30,31,1270,1349, - 59,28,665,318,1011,320,2523,313,923,502, - 35,2003,276,242,245,248,251,1353,353,351, - 1351,1010,318,1011,320,1350,313,923,680,3476, - 150,2311,35,277,3364,343,583,796,348,1351, - 1795,325,2589,1221,733,2090,2897,3219,3426,4176, - 2253,35,1263,32,2854,4185,27,30,31,1270, - 1349,26,28,1574,25,23,50,1692,106,76, - 77,108,342,1758,1800,1784,1834,1826,1884,1842, - 150,1926,1180,1918,3440,1960,1961,143,386,1648, - 517,144,1326,3381,4550,3284,4005,4320,155,35, - 279,288,498,4699,675,518,239,2253,35,1263, - 32,2854,4185,27,30,31,1270,1349,26,28, - 1574,25,23,50,1692,106,76,77,108,342, - 1758,1800,1784,1834,1826,1884,1842,328,1926,1725, - 1918,2263,1960,1961,143,761,2763,517,144,3799, - 3398,442,3284,456,4042,232,2086,1995,35,277, - 1174,513,518,1472,35,1263,32,2459,4540,27, - 30,31,1270,1349,57,28,2523,2047,240,230, - 231,732,3301,386,3310,1015,35,293,2253,35, - 1263,32,2854,4185,27,30,31,1270,1349,26, - 28,1574,25,23,50,1692,106,76,77,108, - 342,1758,1800,1784,1834,1826,1884,1842,513,1926, - 443,1918,2082,1960,1961,143,42,3370,517,144, - 1326,352,1439,3284,94,4320,1995,35,280,3316, - 150,3310,1795,518,690,2461,35,1263,32,2854, - 4185,27,30,31,1270,1349,26,28,1574,25, - 23,50,1692,106,76,77,108,342,1758,1800, - 1784,1834,1826,1884,1842,322,1926,494,1918,2263, - 1960,1961,143,2222,2469,517,144,917,331,558, - 3284,415,35,396,502,35,1357,388,3505,513, - 518,2168,61,1783,35,1263,32,1666,4540,27, - 30,31,1270,1349,56,28,3302,150,2917,3799, - 3355,747,3310,311,2596,35,1263,32,431,4185, - 27,30,31,1270,1349,26,28,1574,25,23, - 50,1692,106,76,77,108,1103,1758,1800,1784, - 1834,1826,1884,1842,93,1926,514,1918,323,1960, - 1961,143,2492,1010,378,144,3438,2322,35,1263, - 32,2154,4185,27,30,31,1270,1349,26,28, - 1574,25,23,50,1692,106,76,77,108,70, - 1758,1800,1784,1834,1826,1884,1842,744,1926,1674, - 1918,1326,1960,1961,143,1102,4320,378,144,3438, - 4710,2987,2664,35,1263,32,2517,4185,27,30, - 31,1270,1349,26,28,1574,25,23,50,1692, - 106,76,77,108,3117,1758,1800,1784,1834,1826, - 1884,1842,60,1926,460,1918,324,1960,2002,164, - 2263,381,385,379,1750,3070,35,1263,32,331, - 4185,27,30,31,1270,1349,26,28,1574,25, - 23,50,1692,106,76,77,108,64,1758,1800, - 1784,1834,1826,1884,1842,2693,1926,1392,1918,3066, - 1960,2002,164,326,1160,386,379,1750,155,35, - 279,150,600,4735,1982,828,2528,35,1263,32, - 3607,4185,27,30,31,1270,1349,26,28,1574, - 25,23,50,1692,106,76,77,108,523,1758, - 1800,1784,1834,1826,1884,1842,497,1926,386,1918, - 150,1960,1961,143,4422,423,378,144,3438,2836, - 35,1263,32,421,4185,27,30,31,1270,1349, - 26,28,1574,25,23,50,1692,106,76,77, - 108,1178,1758,1800,1784,1834,1826,1884,1842,1795, - 1926,1982,1918,2062,1960,1961,143,2208,4589,372, - 144,2836,35,1263,32,535,4185,27,30,31, - 1270,1349,26,28,1574,25,23,50,1692,106, - 76,77,108,349,1758,1800,1784,1834,1826,1884, - 1842,1868,1926,1635,1918,1897,1960,1961,143,4356, - 1809,372,144,2528,376,379,1750,2836,35,1263, - 32,2658,4185,27,30,31,1270,1349,26,28, - 1574,25,23,50,1692,106,76,77,108,541, - 1758,1800,1784,1834,1826,1884,1842,3260,1926,2559, - 1918,150,1960,1961,143,2698,371,372,144,2836, - 35,1263,32,2905,4185,27,30,31,1270,1349, - 26,28,1574,25,23,50,1692,106,76,77, - 108,69,1758,1800,1784,1834,1826,1884,1842,1895, - 1926,1982,1918,1908,1960,1961,143,2070,370,158, - 144,2394,35,1263,32,243,4185,27,30,31, - 1270,1349,26,28,1574,25,23,50,1692,106, - 76,77,108,321,1758,1800,1784,1834,1826,1884, - 1842,430,1926,523,1918,1795,1960,1961,143,150, - 2363,142,144,2729,368,2836,35,1263,32,2428, - 4185,27,30,31,1270,1349,26,28,1574,25, - 23,50,1692,106,76,77,108,1341,1758,1800, - 1784,1834,1826,1884,1842,355,1926,2469,1918,150, - 1960,1961,143,4012,531,155,144,1987,35,1263, - 32,525,4722,27,30,31,1270,1349,58,28, - 2836,35,1263,32,2589,4185,27,30,31,1270, - 1349,26,28,1574,25,23,50,1692,106,76, - 77,108,2435,1758,1800,1784,1834,1826,1884,1842, - 2559,1926,2987,1918,1830,1960,1961,143,502,3390, - 154,144,2836,35,1263,32,1788,4185,27,30, - 31,1270,1349,26,28,1574,25,23,50,1692, - 106,76,77,108,575,1758,1800,1784,1834,1826, - 1884,1842,2559,1926,2469,1918,150,1960,1961,143, - 1319,3318,153,144,2836,35,1263,32,42,4185, - 27,30,31,1270,1349,26,28,1574,25,23, - 50,1692,106,76,77,108,2772,1758,1800,1784, - 1834,1826,1884,1842,1475,1926,1795,1918,150,1960, - 1961,143,1319,2064,152,144,2836,35,1263,32, - 42,4185,27,30,31,1270,1349,26,28,1574, - 25,23,50,1692,106,76,77,108,4182,1758, - 1800,1784,1834,1826,1884,1842,354,1926,2469,1918, - 322,1960,1961,143,2126,531,151,144,2836,35, - 1263,32,524,4185,27,30,31,1270,1349,26, - 28,1574,25,23,50,1692,106,76,77,108, - 389,1758,1800,1784,1834,1826,1884,1842,322,1926, - 522,1918,404,1960,1961,143,1795,531,150,144, - 2836,35,1263,32,1795,4185,27,30,31,1270, - 1349,26,28,1574,25,23,50,1692,106,76, - 77,108,2624,1758,1800,1784,1834,1826,1884,1842, - 150,1926,522,1918,2630,1960,1961,143,2246,1056, - 149,144,2836,35,1263,32,3240,4185,27,30, - 31,1270,1349,26,28,1574,25,23,50,1692, - 106,76,77,108,71,1758,1800,1784,1834,1826, - 1884,1842,150,1926,1982,1918,2828,1960,1961,143, - 1795,1281,148,144,2836,35,1263,32,585,4185, - 27,30,31,1270,1349,26,28,1574,25,23, - 50,1692,106,76,77,108,3935,1758,1800,1784, - 1834,1826,1884,1842,2247,1926,1982,1918,1102,1960, - 1961,143,3548,4491,147,144,2836,35,1263,32, - 236,4185,27,30,31,1270,1349,26,28,1574, - 25,23,50,1692,106,76,77,108,24,1758, - 1800,1784,1834,1826,1884,1842,2075,1926,1982,1918, - 1102,1960,1961,143,846,4512,146,144,2836,35, - 1263,32,1236,4185,27,30,31,1270,1349,26, - 28,1574,25,23,50,1692,106,76,77,108, - 1399,1758,1800,1784,1834,1826,1884,1842,150,1926, - 1982,1918,2788,1960,1961,143,502,4123,145,144, - 2836,35,1263,32,1360,4185,27,30,31,1270, - 1349,26,28,1574,25,23,50,1692,106,76, - 77,108,69,1758,1800,1784,1834,1826,1884,1842, - 150,1926,1982,1918,646,1960,1961,143,142,2064, - 159,144,2836,35,1263,32,1251,4185,27,30, - 31,1270,1349,26,28,1574,25,23,50,1692, - 106,76,77,108,68,1758,1800,1784,1834,1826, - 1884,1842,150,1926,1795,1918,4118,1960,1961,143, - 214,1379,140,144,2953,35,1263,32,2220,4185, - 27,30,31,1270,1349,26,28,1574,25,23, - 50,1692,106,76,77,108,284,1758,1800,1784, - 1834,1826,1884,1842,150,1926,2469,1918,4191,1960, - 1961,143,1500,2495,189,144,3070,35,1263,32, - 375,4185,27,30,31,1270,1349,26,28,1574, - 25,23,50,1692,106,76,77,108,1621,1758, - 1800,1784,1834,1826,1884,1842,1631,1926,2353,1918, - 3016,1960,2002,164,3070,35,1263,32,1328,4185, - 27,30,31,1270,1349,26,28,1574,25,23, - 50,1692,106,76,77,108,402,1758,1800,1784, - 1834,1826,1884,1842,150,1926,406,1918,3357,1960, - 2002,164,502,35,2003,278,502,35,2003,3714, - 1232,2287,3070,35,1263,32,292,4185,27,30, - 31,1270,1349,26,28,1574,25,23,50,1692, - 106,76,77,108,373,1758,1800,1784,1834,1826, - 1884,1842,150,1926,2528,1918,4303,1960,2002,164, - 3070,35,1263,32,422,4185,27,30,31,1270, - 1349,26,28,1574,25,23,50,1692,106,76, - 77,108,232,1758,1800,1784,1834,1826,1884,1842, - 150,1926,2353,1918,1309,1960,2002,164,502,35, - 2003,281,502,35,282,244,230,231,3125,35, - 1263,32,425,4185,27,30,31,1270,1349,26, - 28,1574,25,23,50,1692,106,76,77,108, - 298,1758,1800,1784,1834,1826,1884,1842,150,1926, - 2353,1918,4421,1960,2002,164,3070,35,1263,32, - 3118,4185,27,30,31,1270,1349,26,28,1574, - 25,23,50,1692,106,76,77,108,2388,1758, - 1800,1784,1834,1826,1884,1842,150,1926,221,1918, - 4000,3267,2078,35,1263,32,2353,1789,41,30, - 31,1270,1349,1627,3070,35,1263,32,4119,4185, - 27,30,31,1270,1349,26,28,1574,25,23, - 50,1692,106,76,77,108,1333,1758,1800,1784, - 1834,1826,1884,1842,302,1926,1982,3223,3070,35, - 1263,32,1982,4185,27,30,31,1270,1349,26, - 28,1574,25,23,50,1692,106,76,77,108, - 1982,1758,1800,1784,1834,1826,1884,1842,53,3186, - 3070,35,1263,32,87,4185,27,30,31,1270, - 1349,26,28,1574,25,23,50,1692,106,76, - 77,108,52,1758,1800,1784,1834,1826,1884,3220, - 3070,35,1263,32,1010,4185,27,30,31,1270, - 1349,26,28,1574,25,23,50,1692,106,76, - 77,108,1271,1758,1800,1784,1834,1826,3089,1608, - 35,1263,32,4218,4328,27,30,31,1270,1349, - 338,28,1446,1638,35,1263,32,870,3322,27, - 30,31,1270,1349,338,28,3070,35,1263,32, - 1010,4185,27,30,31,1270,1349,26,28,1574, - 25,23,50,1692,106,76,77,108,2263,1758, - 1800,1784,1834,3138,2052,459,2308,331,318,1011, - 320,2377,313,923,150,1319,1010,1716,537,502, - 35,3726,318,1011,320,312,313,923,1982,2346, - 1015,4011,293,2727,1377,413,342,4135,351,1211, - 2037,156,1806,2050,156,4320,2854,4320,1458,200, - 3492,418,2854,1786,343,583,796,348,1982,3284, - 1952,3957,1134,590,2403,502,35,1357,388,1744, - 2403,4042,305,309,779,1729,35,3777,32,4218, - 4328,27,30,31,1270,1349,338,28,1102,2263, - 1994,2263,2240,4562,848,2210,182,51,332,452, - 331,413,3070,35,1263,32,4029,4185,27,30, - 31,1270,1349,26,28,1574,25,23,50,1692, - 106,76,77,108,2263,1758,1800,1784,1834,3162, - 2917,359,917,331,318,1011,320,505,313,923, - 1822,3392,1700,44,3370,1828,2444,2457,365,1907, - 1742,1002,1666,1602,35,2003,276,2987,504,3070, - 35,1263,32,4135,4185,27,30,31,1270,1349, - 26,28,1574,25,23,50,1692,106,76,77, - 108,503,1758,1800,1784,2885,3070,35,1263,32, - 2081,4185,27,30,31,1270,1349,26,28,1574, - 25,23,50,1692,106,76,77,108,2074,1758, - 1800,1784,2965,3070,35,1263,32,2249,4185,27, - 30,31,1270,1349,26,28,1574,25,23,50, - 1692,106,76,77,108,3343,1758,1800,1784,2967, - 417,419,3755,2502,1503,35,1263,32,4218,3322, - 27,30,31,1270,1349,338,28,2353,1233,3637, - 3070,35,1263,32,2028,4185,27,30,31,1270, - 1349,26,28,1574,25,23,50,1692,106,76, - 77,108,2171,1758,1800,1784,2979,259,150,1338, - 1321,537,4599,2353,3369,179,2139,150,390,427, - 2854,537,150,318,1011,320,3100,313,923,228, - 502,35,1357,388,415,35,396,156,2403,342, - 312,3269,350,2553,1,180,2697,156,537,2469, - 408,198,1982,203,215,4450,1912,202,212,213, - 214,216,3284,169,434,580,228,2086,1233,3637, - 2122,4270,1870,168,156,183,167,170,171,172, - 173,174,180,2697,90,351,2469,306,309,779, - 203,215,4450,1459,202,212,213,214,216,287, - 169,343,583,796,348,360,2160,334,2081,1221, - 168,181,184,167,170,171,172,173,174,1899, - 35,1263,32,870,3322,27,30,31,1270,1349, - 338,28,1919,3655,3180,35,1357,388,2459,3420, - 785,1791,1863,3070,35,1263,32,237,4185,27, - 30,31,1270,1349,26,28,1574,25,23,50, - 1692,106,76,77,108,932,1758,2770,273,150, - 150,2213,150,2854,2854,1319,816,1246,318,1011, - 320,2064,313,923,88,2723,2764,102,1102,287, - 4624,342,342,4628,351,526,232,1460,35,1263, - 32,160,4328,27,30,31,1270,1349,338,28, - 343,583,796,348,3284,3284,391,427,527,235, - 230,231,2901,3655,509,507,1979,35,1263,32, - 274,4722,27,30,31,1270,1349,26,28,232, - 511,502,3821,2003,74,1616,2263,1881,285,2276, - 242,245,248,251,1353,332,318,1011,320,1911, - 314,923,247,230,231,680,2296,2131,35,1263, - 32,2280,351,40,30,31,1270,1349,415,35, - 396,733,2090,2897,3219,3426,4176,2243,345,583, - 796,348,3070,35,1263,32,2320,4185,27,30, - 31,1270,1349,26,28,1574,25,23,50,1692, - 106,76,77,108,2987,1758,1800,2991,3070,35, - 1263,32,2064,4185,27,30,31,1270,1349,26, - 28,1574,25,23,50,1692,106,76,77,108, - 345,1758,1800,3083,537,2353,1367,2131,35,1263, - 32,4320,2987,2038,30,31,1270,1349,2131,35, - 1263,32,228,2344,2162,30,31,1270,1349,2044, - 156,757,35,1357,388,1010,1341,431,180,2697, - 2320,537,2469,197,2382,1982,203,215,4450,295, - 202,212,213,214,216,2263,169,558,1010,228, - 502,35,1357,388,332,273,168,156,4121,167, - 170,171,172,173,174,180,2697,2892,2156,2469, - 2353,351,517,203,215,4450,537,202,212,213, - 214,216,150,169,433,2064,537,345,583,796, - 348,3067,2696,168,228,178,167,170,171,172, - 173,174,156,2213,342,1954,97,1319,301,603, - 180,2697,156,537,2469,447,1355,3727,203,215, - 4450,1786,202,212,213,214,216,3284,169,98, - 150,228,1982,160,1490,72,2064,2302,168,156, - 176,167,170,171,172,173,174,180,2697,1380, - 1502,2469,294,400,689,203,215,4450,537,202, - 212,213,214,216,67,169,155,35,453,150, - 150,4613,56,1532,4009,168,228,177,167,170, - 171,172,173,174,156,502,35,1357,388,4271, - 150,775,180,2697,4019,537,2469,472,2320,447, - 203,215,4450,303,202,212,213,214,216,380, - 169,232,228,228,2155,502,35,293,1041,273, + 176,4,137,82,82,33,33,68,68,39, + 39,43,43,202,1,1,16,16,16,16, + 16,16,16,17,17,17,15,11,11,6, + 6,6,6,6,6,2,66,66,5,5, + 12,12,45,45,138,138,139,58,58,44, + 18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18, + 140,140,140,115,115,19,19,19,19,19, + 19,19,19,19,19,19,19,19,20,20, + 177,177,178,178,179,143,143,144,144,141, + 141,145,142,142,21,21,22,22,24,24, + 24,25,25,25,25,26,26,26,27,27, + 27,28,28,28,28,28,29,29,29,30, + 30,32,32,34,34,36,36,37,37,38, + 38,42,42,41,41,41,41,41,41,41, + 41,41,41,41,41,41,40,31,146,146, + 96,96,180,180,91,203,203,69,69,69, + 69,69,69,69,69,69,70,70,70,67, + 67,57,57,181,181,71,71,71,102,102, + 182,182,72,72,72,72,183,183,73,73, + 73,73,73,74,74,83,83,83,83,83, + 83,83,83,51,51,51,51,51,116,116, + 114,114,52,184,23,23,23,23,23,49, + 49,86,86,86,86,86,153,153,148,148, + 148,148,148,149,149,149,150,150,150,151, + 151,151,152,152,152,87,87,87,87,87, + 88,88,88,13,14,14,14,14,14,14, + 14,14,14,14,14,97,120,120,120,120, + 120,120,118,118,118,154,155,155,119,119, + 185,157,157,156,156,122,122,103,80,80, + 123,54,48,158,158,55,53,85,85,159, + 159,147,147,124,125,125,126,77,77,160, + 160,64,64,64,61,61,60,65,65,76, + 76,59,59,59,50,89,89,99,98,98, + 63,63,62,62,56,56,46,100,100,100, + 92,92,92,93,93,94,94,94,95,95, + 104,104,104,106,106,105,105,204,204,90, + 90,187,187,187,187,187,128,47,47,162, + 186,186,129,129,130,130,130,131,164,188, + 188,35,35,117,132,132,132,132,190,108, + 107,107,121,121,121,165,166,166,166,166, + 166,166,166,166,166,166,166,192,192,189, + 189,191,191,167,168,168,168,168,169,193, + 110,109,109,194,194,170,170,170,170,101, + 101,101,195,195,8,8,9,196,196,197, + 171,161,161,172,172,173,174,174,7,7, + 10,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,198,198,198,198,198,198,198, + 198,198,198,78,81,81,175,175,134,134, + 111,111,111,111,111,111,3,135,135,133, + 133,112,112,84,79,75,75,163,163,113, + 113,199,199,199,136,136,127,127,200,200, + 176,176,1119,35,2571,2547,1127,4613,27,30, + 31,804,806,26,28,2533,263,25,23,50, + 1221,106,76,77,108,2767,1229,1362,1246,1421, + 1368,1499,1491,2353,1547,245,1539,275,1633,1684, + 143,2163,1063,158,144,415,1840,1778,34,1723, + 35,786,32,2775,3480,27,30,31,804,806, + 342,28,2724,2592,760,233,2741,2313,1461,35, + 786,32,3614,3480,27,30,31,804,806,342, + 28,2041,354,846,1852,346,4805,2388,236,231, + 232,1374,330,35,400,1787,35,786,32,276, + 4856,27,30,31,804,806,59,28,727,322, + 1372,324,1386,317,1241,415,35,284,156,243, + 246,249,252,1495,1283,355,2022,162,322,1372, + 324,1977,317,1241,966,393,540,330,35,400, + 336,347,1049,1189,352,2022,527,932,2488,1979, + 3448,740,2469,2822,3545,2781,2257,35,786,32, + 2741,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,346, + 1229,1362,1246,1421,1368,1499,1491,1323,1547,64, + 1539,3225,1633,1684,143,1394,1177,521,144,604, + 1232,546,2811,2138,3011,1886,2138,3589,4805,4420, + 1363,4805,522,2257,35,786,32,2741,4756,27, + 30,31,804,806,26,28,1090,263,25,23, + 50,1221,106,76,77,108,346,1229,1362,1246, + 1421,1368,1499,1491,623,1547,589,1539,3539,1633, + 1684,143,1102,1977,521,144,1977,4816,446,2811, + 460,3351,335,233,761,951,1019,4355,517,522, + 1613,35,786,32,1451,4649,27,30,31,804, + 806,57,28,330,35,400,245,231,232,3255, + 150,3293,2759,243,2257,35,786,32,2741,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,346,1229,1362, + 1246,1421,1368,1499,1491,517,1547,2002,1539,2367, + 1633,1684,143,42,3334,521,144,155,35,281, + 2811,56,4809,1913,35,279,3322,2282,3293,94, + 522,2465,35,786,32,2741,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,346,1229,1362,1246,1421,1368, + 1499,1491,42,1547,447,1539,3235,1633,1684,143, + 2063,3340,521,144,415,35,297,2811,2106,415, + 35,814,392,155,35,281,517,522,4871,2240, + 61,2080,1699,35,786,32,4805,4649,27,30, + 31,804,806,56,28,1234,1799,3328,56,3293, + 2600,35,786,32,435,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,108,2432,1229,1362,1246,1421,1368,1499, + 1491,1977,1547,518,1539,2473,1633,1684,143,1676, + 951,382,144,4175,2326,35,786,32,332,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,4161,1229,1362, + 1246,1421,1368,1499,1491,2564,1547,329,1539,1334, + 1633,1684,143,1234,2070,382,144,4175,746,2668, + 35,786,32,1799,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,108,3065,1229,1362,1246,1421,1368,1499,1491, + 931,1547,60,1539,96,1633,1754,164,1233,389, + 383,1719,3076,35,786,32,2558,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,357,1229,1362,1246,1421, + 1368,1499,1491,42,1547,502,1539,3024,1633,1754, + 164,330,1799,390,383,1719,415,35,3023,2695, + 965,415,35,3512,2532,35,786,32,3607,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,2598,1229,1362, + 1246,1421,1368,1499,1491,3141,1547,56,1539,1742, + 1633,1684,143,427,322,382,144,4175,2842,35, + 786,32,2224,4756,27,30,31,804,806,26, + 28,1090,263,25,23,50,1221,106,76,77, + 108,1351,1229,1362,1246,1421,1368,1499,1491,499, + 1547,56,1539,93,1633,1684,143,2020,425,376, + 144,2166,3076,35,786,32,2137,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,356,1229,1362,1246,1421, + 1368,1499,1491,42,1547,4531,1539,3044,1633,1754, + 164,2997,160,380,383,1719,2842,35,786,32, + 528,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,70, + 1229,1362,1246,1421,1368,1499,1491,327,1547,1809, + 1539,1799,1633,1684,143,1234,375,376,144,2842, + 35,786,32,296,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,108,501,1229,1362,1246,1421,1368,1499,1491, + 2282,1547,236,1539,2598,1633,1684,143,2075,42, + 376,144,2158,696,2842,35,786,32,379,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,69,1229,1362, + 1246,1421,1368,1499,1491,1692,1547,464,1539,42, + 1633,1684,143,1374,374,158,144,2398,35,786, + 32,587,4756,27,30,31,804,806,26,28, + 1090,263,25,23,50,1221,106,76,77,108, + 2855,1229,1362,1246,1421,1368,1499,1491,328,1547, + 1799,1539,42,1633,1684,143,753,372,142,144, + 2842,35,786,32,2557,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,108,377,1229,1362,1246,1421,1368,1499, + 1491,1348,1547,2598,1539,1651,1633,1684,143,1527, + 1221,155,144,1960,35,786,32,4176,4856,27, + 30,31,804,806,58,28,2842,35,786,32, + 2488,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,142, + 1229,1362,1246,1421,1368,1499,1491,1271,1547,1799, + 1539,1766,1633,1684,143,415,4187,154,144,2842, + 35,786,32,3606,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,108,581,1229,1362,1246,1421,1368,1499,1491, + 42,1547,2598,1539,834,1633,1684,143,2991,338, + 153,144,2842,35,786,32,379,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,1321,1229,1362,1246,1421, + 1368,1499,1491,128,1547,451,1539,42,1633,1684, + 143,1374,2428,152,144,2842,35,786,32,1723, + 4756,27,30,31,804,806,26,28,1090,263, + 25,23,50,1221,106,76,77,108,4184,1229, + 1362,1246,1421,1368,1499,1491,42,1547,2078,1539, + 4511,1633,1684,143,1382,3602,151,144,2842,35, + 786,32,1799,4756,27,30,31,804,806,26, + 28,1090,263,25,23,50,1221,106,76,77, + 108,3624,1229,1362,1246,1421,1368,1499,1491,1799, + 1547,2078,1539,1102,1633,1684,143,1234,4585,150, + 144,2842,35,786,32,3510,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,1896,1229,1362,1246,1421,1368, + 1499,1491,4249,1547,2078,1539,1102,1633,1684,143, + 2748,4602,149,144,2842,35,786,32,2499,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,2763,1229,1362, + 1246,1421,1368,1499,1491,359,1547,1799,1539,463, + 1633,1684,143,1234,536,148,144,2842,35,786, + 32,214,4756,27,30,31,804,806,26,28, + 1090,263,25,23,50,1221,106,76,77,108, + 1330,1229,1362,1246,1421,1368,1499,1491,358,1547, + 2598,1539,42,1633,1684,143,2870,536,147,144, + 2842,35,786,32,530,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,108,528,1229,1362,1246,1421,1368,1499, + 1491,326,1547,1799,1539,4072,1633,1684,143,1234, + 536,146,144,2842,35,786,32,2226,4756,27, + 30,31,804,806,26,28,1090,263,25,23, + 50,1221,106,76,77,108,2256,1229,1362,1246, + 1421,1368,1499,1491,42,1547,2598,1539,1500,1633, + 1684,143,415,3892,145,144,2842,35,786,32, + 529,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,1469, + 1229,1362,1246,1421,1368,1499,1491,924,1547,1809, + 1539,51,1633,1684,143,385,2557,159,144,2842, + 35,786,32,322,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,108,353,1229,1362,1246,1421,1368,1499,1491, + 42,1547,1809,1539,3161,1633,1684,143,2060,1460, + 140,144,2959,35,786,32,1234,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,325,1229,1362,1246,1421, + 1368,1499,1491,2083,1547,1809,1539,408,1633,1684, + 143,1103,1450,189,144,3076,35,786,32,1828, + 4756,27,30,31,804,806,26,28,1090,263, + 25,23,50,1221,106,76,77,108,4049,1229, + 1362,1246,1421,1368,1499,1491,42,1547,71,1539, + 2450,1633,1754,164,3076,35,786,32,97,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,2585,1229,1362, + 1246,1421,1368,1499,1491,2585,1547,1549,1539,1250, + 1633,1754,164,415,35,1778,278,451,415,35, + 814,392,3076,35,786,32,426,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,2290,1229,1362,1246,1421, + 1368,1499,1491,456,1547,2357,1539,1633,1633,1754, + 164,3131,35,786,32,429,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,406,1229,1362,1246,1421,1368, + 1499,1491,42,1547,410,1539,3133,1633,1754,164, + 415,35,1778,280,1174,415,35,814,392,3076, + 35,786,32,3449,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,108,2357,1229,1362,1246,1421,1368,1499,1491, + 438,1547,1102,1539,418,3231,1809,4653,3076,35, + 786,32,3846,4756,27,30,31,804,806,26, + 28,1090,263,25,23,50,1221,106,76,77, + 108,302,1229,1362,1246,1421,1368,1499,1491,24, + 1547,1809,3213,3076,35,786,32,1809,4756,27, + 30,31,804,806,26,28,1090,263,25,23, + 50,1221,106,76,77,108,1809,1229,1362,1246, + 1421,1368,1499,1491,1934,3151,3076,35,786,32, + 69,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,68, + 1229,1362,1246,1421,1368,1499,3205,3076,35,786, + 32,676,4756,27,30,31,804,806,26,28, + 1090,263,25,23,50,1221,106,76,77,108, + 2087,1229,1362,1246,1421,1368,3058,3076,35,786, + 32,2157,4756,27,30,31,804,806,26,28, + 1090,263,25,23,50,1221,106,76,77,108, + 2282,1229,1362,1246,1421,3066,3076,35,786,32, + 2555,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,1246, + 1229,1362,1246,1421,3127,1374,35,786,32,3614, + 4549,27,30,31,804,806,342,28,1910,1404, + 35,786,32,743,3480,27,30,31,804,806, + 342,28,3076,35,786,32,2244,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,1977,1229,1362,1246,2914, + 2134,2247,233,1353,335,322,1372,324,1958,317, + 1241,2127,2741,415,35,814,392,3349,2232,322, + 1372,324,316,317,1241,248,231,232,42,394, + 431,2489,3408,1828,2603,355,750,1605,35,786, + 32,3275,2585,41,30,31,804,806,437,408, + 3340,347,1049,1189,352,2051,35,786,32,687, + 2428,40,30,31,804,806,2585,3351,2352,309, + 313,2857,2965,1477,35,786,32,2585,4549,27, + 30,31,804,806,342,28,1707,2051,35,786, + 32,4689,3261,2195,30,31,804,806,364,2617, + 3076,35,786,32,3689,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,108,1977,1229,1362,1246,2946,415,35, + 1778,3488,336,322,1372,324,182,320,1241,44, + 3334,1809,3076,35,786,32,369,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,150,1229,1362,1246,2986, + 3076,35,786,32,53,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,108,1809,1229,1362,1246,3003,1820,35, + 3581,32,3614,4549,27,30,31,804,806,342, + 28,3186,35,814,392,2984,4412,2138,415,35, + 1778,283,4805,42,238,263,87,603,1809,1732, + 35,786,32,2313,4549,27,30,31,804,806, + 342,28,580,1331,1809,1810,275,2741,1977,2741, + 4805,3235,35,814,392,929,4412,335,322,1372, + 324,52,317,1241,239,263,2489,1977,2489,1693, + 35,1778,278,2983,233,1045,335,2808,42,1977, + 2316,2159,3292,1160,2741,2747,275,2603,336,322, + 1372,324,1502,318,1241,1977,42,236,231,232, + 3553,288,1102,346,335,355,3203,4725,276,2051, + 35,786,32,535,233,2272,30,31,804,806, + 1809,349,1049,1189,352,1809,2811,2284,243,246, + 249,252,1495,509,2759,363,538,237,231,232, + 1635,3464,1999,966,415,3599,1778,74,276,2321, + 2149,2197,2453,2826,508,233,1464,355,90,3448, + 740,2469,2822,3545,2781,421,423,3559,244,247, + 250,253,1495,347,1049,1189,352,507,251,231, + 232,345,1631,966,1384,3076,35,786,32,2185, + 4756,27,30,31,804,806,26,28,1090,263, + 25,23,50,1221,106,76,77,108,2658,1229, + 1362,3015,3076,35,786,32,1621,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,108,259,1229,1362,3031,542, + 1787,35,786,32,1809,4856,27,30,31,804, + 806,26,28,42,2313,515,1780,3226,229,42, + 2429,42,291,3263,1374,1678,156,42,2250,35, + 279,3609,1,1797,180,3310,542,3320,2598,1151, + 4149,2594,204,216,4485,2141,203,213,214,215, + 217,156,169,2506,1342,229,1642,3486,2741,201, + 4232,2219,168,156,183,167,170,171,172,173, + 174,180,3310,315,1342,2598,1257,2489,2741,204, + 216,4485,289,203,213,214,215,217,2253,169, + 415,35,814,392,4151,214,2571,2489,2313,168, + 181,184,167,170,171,172,173,174,1991,35, + 786,32,743,3480,27,30,31,804,806,342, + 28,3076,35,786,32,436,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,363,1229,2579,757,35,814, + 392,1693,35,1778,3600,415,3464,3271,2774,2149, + 2197,2989,1412,2555,363,1151,299,4661,322,1372, + 324,42,317,1241,2313,4144,3002,442,2850,2149, + 2197,2395,275,88,355,531,102,1477,35,786, + 32,1221,4549,27,30,31,804,806,342,28, + 347,1049,1189,352,3076,35,786,32,532,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,108,345,1229,2772, + 42,542,42,1903,4798,1784,1986,1977,4805,1552, + 35,297,298,314,3547,400,336,322,1372,324, + 229,318,1241,1908,3606,2138,2555,4519,156,384, + 4805,558,72,2616,431,1331,180,3310,542,2741, + 2598,3528,395,431,204,216,4485,292,203,213, + 214,215,217,1977,169,2174,354,229,2489,331, + 338,2357,336,2555,168,156,3869,167,170,171, + 172,173,174,180,3310,1977,2594,2598,1809,355, + 2357,204,216,4485,335,203,213,214,215,217, + 517,169,1221,2314,542,349,1049,1189,352,355, + 222,168,433,178,167,170,171,172,173,174, + 2357,67,1282,229,621,347,1049,1189,352,306, + 42,156,2420,1979,3385,509,3623,603,2427,180, + 3310,542,1142,2598,2458,397,431,204,216,4485, + 2490,203,213,214,215,217,508,169,1625,179, + 229,415,35,814,392,3606,1809,168,156,176, + 167,170,171,172,173,174,180,3310,2504,506, + 2598,1809,396,431,204,216,4485,2317,203,213, + 214,215,217,689,169,2592,49,542,2223,66, + 3403,338,1374,2489,168,46,177,167,170,171, + 172,173,174,42,65,2491,229,1721,1635,3464, + 652,155,35,457,156,2520,4678,2313,89,160, + 775,102,180,3310,542,42,2598,2521,2430,1764, + 204,216,4485,1809,203,213,214,215,217,2357, + 169,2573,2522,229,415,35,814,392,2723,1234, 168,156,187,167,170,171,172,173,174,180, - 2697,1825,2553,2469,250,230,231,203,215,4450, - 1975,202,212,213,214,216,2168,169,415,35, - 2474,2483,587,35,1357,388,1982,168,1982,4131, - 167,170,171,172,173,174,1869,35,1263,32, - 4218,3322,27,30,31,1270,1349,338,28,2219, - 2416,339,49,2854,1319,2381,49,2081,66,351, - 65,2257,625,861,1249,2257,986,537,2854,1806, - 2124,342,2064,2854,4320,343,583,796,348,3255, - 156,530,438,341,150,228,2403,3140,1548,162, - 2353,2403,2420,156,3284,318,1011,320,2067,313, - 923,180,2697,4320,533,2469,446,4027,4028,203, - 215,4450,312,202,212,213,214,216,2263,169, - 587,35,1357,388,2475,1102,1498,331,201,168, - 4635,192,167,170,171,172,173,174,150,382, - 1249,150,3372,89,2854,1319,102,2263,947,1002, - 1102,1982,537,359,49,4639,3398,3066,359,305, - 309,779,2403,2257,2286,393,427,2468,2444,2457, - 228,156,1828,2444,2457,3450,1326,4015,156,1102, - 2456,4320,4001,64,4650,1033,180,2697,232,537, - 2469,2500,2353,4029,203,215,4450,2082,202,212, - 213,214,216,2454,169,150,2484,228,2353,1590, - 1982,253,230,231,168,156,186,167,170,171, - 172,173,174,180,2697,2263,2485,2469,4361,359, - 199,203,215,4450,331,202,212,213,214,216, - 96,169,55,2498,2444,2457,297,4075,150,2491, - 1982,168,964,194,167,170,171,172,173,174, - 3070,35,1263,32,2480,4185,27,30,31,1270, - 1349,26,28,1574,25,23,50,1692,106,76, - 77,108,54,1758,2785,3070,35,1263,32,2452, - 4185,27,30,31,1270,1349,26,28,1574,25, - 23,50,1692,106,76,77,108,1706,2813,3070, - 35,1263,32,2567,4185,27,30,31,1270,1349, - 26,28,1574,25,23,50,1692,106,76,77, - 108,2516,2861,3070,35,1263,32,2387,4185,27, - 30,31,1270,1349,26,28,1574,25,23,50, - 1692,106,76,77,108,2423,2862,1816,35,3777, - 32,4218,3322,27,30,31,1270,1349,338,28, - 3070,35,1263,32,929,4185,27,30,31,1270, - 1349,26,28,1574,25,23,50,1692,106,76, - 77,85,3070,2048,1263,2402,1982,4185,27,30, - 31,1270,1349,26,28,1574,25,23,50,1692, - 106,76,77,84,2518,150,318,1011,320,3336, - 313,923,1602,35,2003,3829,2551,2347,101,3070, - 35,1263,32,1002,4185,27,30,31,1270,1349, - 26,28,1574,25,23,50,1692,106,76,77, - 83,3070,35,1263,32,2486,4185,27,30,31, - 1270,1349,26,28,1574,25,23,50,1692,106, - 76,77,82,3070,35,1263,32,1323,4185,27, - 30,31,1270,1349,26,28,1574,25,23,50, - 1692,106,76,77,81,3070,35,1263,32,2525, - 4185,27,30,31,1270,1349,26,28,1574,25, - 23,50,1692,106,76,77,80,502,35,1357, - 388,2637,418,419,3755,3070,35,1263,32,2583, - 4185,27,30,31,1270,1349,26,28,1574,25, - 23,50,1692,106,76,77,79,3070,35,1263, - 32,432,4185,27,30,31,1270,1349,26,28, - 1574,25,23,50,1692,106,76,77,78,2898, - 35,1263,32,1179,4185,27,30,31,1270,1349, - 26,28,1574,25,23,50,1692,106,76,77, - 104,3070,35,1263,32,2590,4185,27,30,31, - 1270,1349,26,28,1574,25,23,50,1692,106, - 76,77,110,3070,35,1263,32,2560,4185,27, - 30,31,1270,1349,26,28,1574,25,23,50, - 1692,106,76,77,109,3070,35,1263,32,2591, - 4185,27,30,31,1270,1349,26,28,1574,25, - 23,50,1692,106,76,77,107,3070,35,1263, - 32,2618,4185,27,30,31,1270,1349,26,28, - 1574,25,23,50,1692,106,76,77,105,3015, - 35,1263,32,2353,4185,27,30,31,1270,1349, - 26,28,1574,25,23,50,1692,86,76,77, - 1566,2353,2552,1982,2854,502,35,2003,3939,1827, - 2348,2584,1338,2854,2839,502,35,1357,388,1914, - 1564,3350,228,2854,502,35,293,2585,2623,2619, - 2353,228,843,35,453,2256,2562,4613,2625,222, - 2854,228,502,35,1357,388,205,215,4450,273, - 204,212,213,214,216,205,215,4450,342,204, - 212,213,214,216,2654,205,215,4450,193,204, - 212,213,214,216,4270,1805,49,206,208,210, - 3497,4010,217,207,209,46,206,208,210,3497, - 150,217,207,209,1319,1982,206,208,210,3497, - 150,217,207,209,1319,87,2656,529,2730,327, - 334,275,2735,3042,2736,4336,2737,173,1338,2688, - 156,2694,3155,2629,4336,2744,3508,451,2651,3242, - 156,1375,3206,2382,4336,1695,35,1263,32,3202, - 4328,27,30,31,1270,1349,338,28,1695,35, - 1263,32,5251,4328,27,30,31,1270,1349,338, - 28,1503,35,1263,32,4218,3322,27,30,31, - 1270,1349,338,28,5251,5251,3229,35,1357,388, - 4270,3420,1982,5251,2263,1216,35,1357,388,238, - 5251,1338,5251,332,318,1011,320,2263,316,923, - 5251,5251,450,4027,4028,5251,332,318,1011,320, - 273,314,923,150,377,3200,334,2854,1326,49, - 318,1011,320,4320,313,923,150,150,2257,1427, - 1319,1319,2001,4341,5251,342,2854,4128,232,1223, - 35,1263,32,2515,3322,27,30,31,1270,1349, - 338,28,5251,4270,228,5251,156,156,3284,5251, - 2213,236,230,231,1319,3326,3328,2263,2491,5251, - 1338,1795,274,1982,5251,5251,331,403,205,215, - 4450,5251,204,212,213,214,216,150,3239,334, - 160,1319,243,246,249,252,1353,1653,315,3631, - 320,2854,1982,2081,5251,3224,4148,680,5251,206, - 208,210,3497,2469,520,207,209,156,5251,228, - 502,35,1357,388,5251,1982,3451,375,587,35, - 1357,388,4270,5251,3261,2213,1740,1982,5251,1319, - 2854,1982,5251,205,215,4450,5251,204,212,213, - 214,216,5251,5251,49,3510,2088,3363,228,1982, - 2854,1982,49,2257,569,160,150,333,334,1395, - 1319,2257,2532,1576,206,208,210,3497,228,519, - 207,209,205,215,4450,3255,204,212,213,214, - 216,4030,5251,3485,5251,2175,156,2036,5251,2854, - 5251,5251,205,215,4450,3095,204,212,213,214, - 216,392,427,206,208,210,3497,228,218,207, - 209,1338,1181,5251,5251,5251,2854,4716,5251,5251, - 3550,3384,5251,206,208,210,3497,5251,304,207, - 209,205,215,4450,228,204,212,213,214,216, - 1956,35,1263,32,2389,3322,27,30,31,1270, - 1349,338,28,5251,5251,5251,5251,2377,1624,407, - 4239,537,206,208,210,3497,150,499,207,209, - 2854,1286,5251,4270,5251,2854,4716,5251,5251,3715, - 5251,929,35,1357,388,5251,5251,156,342,408, - 409,410,3497,228,5251,180,2697,5251,5251,315, - 3631,320,587,35,1357,388,5251,5251,329,334, - 5251,3284,3449,5251,5251,49,5251,1624,407,4239, - 5251,2503,5251,195,2257,47,1385,35,1357,388, - 929,35,1357,388,5251,5251,49,5251,876,150, - 2419,5251,5251,2854,2854,2257,47,5251,408,409, - 410,3497,929,35,1357,388,5251,5251,5251,2172, - 49,342,342,5251,49,5251,5251,5251,5251,2257, - 2969,3449,5251,2257,3007,411,413,5251,5251,587, - 35,1357,388,4015,3284,817,49,3091,1458,2345, - 5251,5251,2854,2854,2534,2257,47,5251,2036,1583, - 5251,5251,4481,587,35,1357,388,5251,5251,3078, - 2403,2403,5251,49,587,35,1357,388,1618,35, - 1357,388,2257,47,5251,587,35,1357,388,587, - 35,1357,388,5251,411,414,934,49,4676,196, - 1965,35,1357,388,5251,5251,2257,47,49,5251, - 5251,2062,49,5251,5251,5251,4589,2257,47,49, - 2505,2257,47,49,5251,5251,2425,5251,2257,47, - 537,2750,2257,47,49,3285,5251,505,505,5251, - 5251,5251,3120,2257,47,5251,3817,5251,342,502, - 35,1357,388,5251,5251,5251,156,4024,504,504, - 502,35,1357,388,5251,188,502,35,1357,388, - 5251,4161,502,35,1357,388,1910,5251,5251,5251, - 5251,502,502,49,5251,502,35,1357,388,5251, - 5251,5251,2257,797,49,150,5251,5251,5251,537, - 49,150,5251,2257,2722,2854,49,5251,150,2257, - 3096,2905,537,5251,5251,2257,1427,342,5251,49, - 150,800,4020,342,537,156,5251,190,2257,671, - 342,2213,150,150,188,1319,2854,2854,156,2213, - 4161,150,342,1319,5251,1319,3284,188,5251,5251, - 156,5251,5251,4161,342,342,2580,5251,5251,188, - 5251,160,5251,5251,5251,4161,5251,5251,5251,160, - 5251,156,5251,5251,5251,5251,5251,3284,3284,429, - 4359,5251,5251,5251,5251,5251,5251,3105,534,5251, - 5251,5251,5251,5251,5251,5251,4273,5251,5251,5251, - 5251,5251,5251,3917,5251,5251,3983,5251,5251,4302, - 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,4325,5251,5251,5251,5251,3696,5251,5251,5251, - 5251,5251,5251,5251,4095,5251,0,931,1,0, - 2754,1,0,39,1,5266,0,39,1,5265, - 0,2252,1,0,39,5266,0,39,5265,0, - 720,317,0,880,29,0,440,957,0,454, - 1141,0,5266,48,0,5265,48,0,38,579, - 0,38,5266,0,38,5265,0,5257,1,0, - 5256,1,0,283,394,0,283,286,0,5485, - 241,0,5484,241,0,5588,241,0,5587,241, - 0,5512,241,0,5511,241,0,5510,241,0, - 5509,241,0,5508,241,0,5507,241,0,5506, - 241,0,5505,241,0,5523,241,0,5522,241, - 0,5521,241,0,5520,241,0,5519,241,0, - 5518,241,0,5517,241,0,5516,241,0,5515, - 241,0,5514,241,0,5513,241,0,39,241, - 5266,0,39,241,5265,0,5289,241,0,880, - 387,0,2653,126,0,35,33,0,1,444, - 0,458,1003,0,457,2364,0,47,37,0, - 5289,1,0,39,1,0,1536,91,0,32, - 34,0,39,579,0,1,1045,0,1,5523, - 0,1,5522,0,1,5521,0,1,5520,0, - 1,5519,0,1,5518,0,1,5517,0,1, - 5516,0,1,5515,0,1,5514,0,1,5513, - 0,43,5287,0,43,37,0,501,3491,0, - 5289,1,229,0,39,1,229,0,229,416, - 0,5266,37,0,5265,37,0,237,2891,0, - 388,32,0,387,29,0,2653,128,0,2653, - 127,0,330,445,0,5261,405,0,5260,405, - 0,1,603,0,1,597,0,1,579,0, - 229,415,0,1,92,0,5287,45,0,37, - 45,0,1,330,0,2,5266,37,0,2, - 5265,37,0,5266,36,0,5265,36,0,501, - 4297,0,1,229,0,330,95,0,35,73, - 0,229,220,0,278,4260,0,229,219,0, - 5263,1,0,5259,1,0,1,229,4064,0, - 5260,229,0,4105,229,0,5263,383,0,5262, - 383,0,4117,229,0,10,12,0,8,10, - 12,0,185,3448,0,4133,383,0,8,12, - 0 + 3310,240,263,2598,2560,1102,64,204,216,4485, + 4729,203,213,214,215,217,2313,169,199,275, + 502,35,814,392,2671,307,2460,168,2562,3961, + 167,170,171,172,173,174,1873,35,786,32, + 3614,3480,27,30,31,804,806,342,28,2431, + 42,233,2563,542,4158,49,415,35,814,392, + 1913,35,282,861,1969,2071,3276,542,1102,3589, + 291,98,346,4737,241,231,232,1102,3444,42, + 156,343,4741,4244,386,1616,229,2587,42,188, + 2353,275,1374,1221,156,4275,322,1372,324,2588, + 317,1241,180,3310,2590,3486,2598,1552,3677,297, + 204,216,4485,316,203,213,214,215,217,156, + 169,1901,1809,450,3682,3687,2748,947,1899,2595, + 168,542,192,167,170,171,172,173,174,2641, + 2659,1179,330,35,2244,2440,1221,1710,233,1221, + 229,190,2622,277,2138,55,3606,1809,156,4805, + 309,313,2857,2623,42,42,180,3310,573,2741, + 2598,254,231,232,204,216,4485,49,203,213, + 214,215,217,4333,169,1033,1969,1146,346,542, + 54,3425,338,1809,168,3689,186,167,170,171, + 172,173,174,527,1977,2690,2691,2357,229,3606, + 1282,2811,3606,335,2556,1821,156,2631,1809,2223, + 2077,513,2633,1374,180,3310,101,2695,2598,2656, + 1142,4332,204,216,4485,2590,203,213,214,215, + 217,2697,169,3157,337,338,198,333,338,830, + 160,3280,168,1770,195,167,170,171,172,173, + 174,3076,35,786,32,87,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,2728,2785,3076,35,786,32, + 2765,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,108,2770, + 2813,3076,35,786,32,2758,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,108,2771,2912,3076,35,786,32, + 2772,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,85,3076, + 1840,786,2072,173,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,84,3076,35,786,32,2709,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,83,3076,35,786,32,1897, + 4756,27,30,31,804,806,26,28,1090,263, + 25,23,50,1221,106,76,77,82,3076,35, + 786,32,2726,4756,27,30,31,804,806,26, + 28,1090,263,25,23,50,1221,106,76,77, + 81,3076,35,786,32,2780,4756,27,30,31, + 804,806,26,28,1090,263,25,23,50,1221, + 106,76,77,80,3076,35,786,32,2732,4756, + 27,30,31,804,806,26,28,1090,263,25, + 23,50,1221,106,76,77,79,3076,35,786, + 32,2657,4756,27,30,31,804,806,26,28, + 1090,263,25,23,50,1221,106,76,77,78, + 2904,35,786,32,2386,4756,27,30,31,804, + 806,26,28,1090,263,25,23,50,1221,106, + 76,77,104,3076,35,786,32,5370,4756,27, + 30,31,804,806,26,28,1090,263,25,23, + 50,1221,106,76,77,110,3076,35,786,32, + 5370,4756,27,30,31,804,806,26,28,1090, + 263,25,23,50,1221,106,76,77,109,3076, + 35,786,32,5370,4756,27,30,31,804,806, + 26,28,1090,263,25,23,50,1221,106,76, + 77,107,3076,35,786,32,5370,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,106,76,77,105,1983,35,3581,32,3614, + 3480,27,30,31,804,806,342,28,5370,1461, + 35,786,32,3614,3480,27,30,31,804,806, + 342,28,3021,35,786,32,5370,4756,27,30, + 31,804,806,26,28,1090,263,25,23,50, + 1221,86,76,77,1570,843,35,457,2741,2312, + 4678,415,35,1778,3665,322,1372,324,1831,317, + 1241,2357,2741,415,35,297,5370,229,1809,322, + 1372,324,1045,317,1241,42,2699,5370,5370,3476, + 3550,229,534,5370,1809,2707,316,2357,5370,2741, + 42,206,216,4485,1374,205,213,214,215,217, + 305,455,5370,5370,5370,206,216,4485,346,205, + 213,214,215,217,42,42,42,381,1374,1374, + 1374,156,207,209,211,3377,202,218,208,210, + 3215,4316,2357,310,313,2857,207,209,211,3377, + 5370,218,208,210,1918,156,156,156,2741,42, + 2357,5370,5370,970,3278,3356,3371,2223,3068,5370, + 4347,1374,422,423,3559,1412,4250,229,1809,2223, + 4661,200,3144,1374,4347,1461,35,786,32,3614, + 3480,27,30,31,804,806,342,28,160,301, + 42,206,216,4485,3496,205,213,214,215,217, + 160,3383,1223,35,786,32,2728,3480,27,30, + 31,804,806,342,28,1809,2348,454,3682,3687, + 3078,1809,207,209,211,3377,2005,218,208,210, + 2741,5370,2357,2357,1809,322,1372,324,1657,317, + 1241,407,2741,1809,5370,5370,5370,1744,3420,229, + 1809,2741,3938,3582,3523,1809,5370,5370,3417,5370, + 4347,229,319,3442,324,3617,2616,1807,5370,2357, + 229,627,223,206,216,4485,1893,205,213,214, + 215,217,5370,4369,4343,206,216,4485,3645,205, + 213,214,215,217,206,216,4485,5370,205,213, + 214,215,217,5370,207,209,211,3377,193,524, + 208,210,502,35,814,392,207,209,211,3377, + 2092,523,208,210,2741,207,209,211,3377,2179, + 219,208,210,2741,2223,434,5370,5370,1374,5370, + 5370,5370,5370,229,5370,5370,5370,49,5370,5370, + 5370,5370,229,5370,5370,5370,1969,2029,5370,5370, + 5370,5370,2882,5370,5370,160,5370,206,216,4485, + 3516,205,213,214,215,217,206,216,4485,5370, + 205,213,214,215,217,1507,35,786,32,2475, + 3480,27,30,31,804,806,342,28,207,209, + 211,3377,5370,308,208,210,5370,207,209,211, + 3377,1181,503,208,210,2741,4833,1287,5370,1810, + 5370,2741,4833,2741,4805,2223,5370,5370,5370,1374, + 3653,1619,2429,5370,229,2741,542,5370,5370,42, + 229,5370,2489,1374,5370,319,3442,324,5370,502, + 35,814,392,5370,346,4290,160,5370,2028,411, + 4302,5370,5370,156,2028,411,4302,5370,5370,1977, + 156,180,3310,5370,5370,5370,5370,1054,335,3433, + 5370,5370,5370,5370,49,1015,35,814,392,412, + 413,414,3377,1969,2530,412,413,414,3377,196, + 5370,5370,502,35,814,392,5370,3444,3203,363, + 5370,5370,3348,2215,35,814,392,5370,3348,5370, + 49,4168,5370,2321,2149,2197,5370,5370,42,1969, + 47,5370,1374,5370,42,5370,5370,49,1374,5370, + 5370,5370,5370,3520,5370,2882,1969,47,49,1015, + 35,814,392,1015,35,814,392,1969,2506,156, + 655,502,35,814,392,156,5370,5370,2036,5370, + 5370,3516,5370,5370,4350,5370,415,417,502,35, + 814,392,415,418,49,5370,5370,5370,49,502, + 35,814,392,1969,2541,5370,49,1969,47,5370, + 607,5370,5370,4517,5370,1969,47,3117,5370,2753, + 5370,2839,5370,49,5370,3509,197,5370,5370,939, + 5370,5370,1969,47,49,1968,35,814,392,502, + 35,814,392,1969,47,5370,2158,502,35,814, + 392,2390,35,814,392,5370,5370,2245,42,5370, + 5370,5370,542,5370,5370,5370,1216,35,814,392, + 49,5370,5370,5370,49,5370,5370,5370,5370,1969, + 47,346,49,1969,47,5370,49,5370,5370,156, + 5370,1969,47,934,5370,1969,47,2543,2286,5370, + 5370,49,42,5370,2811,3060,542,5370,2049,4163, + 1969,2079,2741,5370,2065,415,35,814,392,415, + 35,814,392,5370,5370,346,415,35,814,392, + 5370,2489,5370,156,42,5370,5370,5370,542,5370, + 5370,5370,2346,415,35,814,392,5370,2811,5370, + 49,5370,5370,5370,49,5370,5370,346,2327,1969, + 881,49,5370,1969,883,156,415,35,814,392, + 1969,2872,42,5370,2286,5370,542,5370,49,5370, + 2811,415,35,814,392,5370,5370,1969,2563,5370, + 2723,5370,42,5370,5370,346,542,5370,509,5370, + 5370,49,5370,156,42,42,5370,5370,542,2741, + 1969,2079,188,42,5370,346,49,2741,4275,508, + 42,5370,5370,156,2741,1969,2998,346,346,42, + 5370,5370,188,2741,5370,156,346,5370,4275,5370, + 5370,42,506,346,188,2741,5370,5370,5370,42, + 4275,2811,346,2741,42,5370,5370,5370,2741,2811, + 5370,511,5370,5370,346,5370,2811,5370,5370,2284, + 5370,5370,346,5370,4268,2811,2391,346,5370,5370, + 5370,5370,5370,3680,5370,2410,5370,2811,5370,5370, + 5370,5370,5370,5370,4315,2811,5370,2421,5370,5370, + 2811,5370,5370,5370,5370,2974,4321,5370,5370,5370, + 539,5370,0,632,1,0,677,1,0,39, + 1,5385,0,39,1,5384,0,2567,1,0, + 39,5385,0,39,5384,0,1273,321,0,1369, + 29,0,444,1452,0,458,1590,0,5385,48, + 0,5384,48,0,38,585,0,38,5385,0, + 38,5384,0,5376,1,0,5375,1,0,285, + 398,0,285,290,0,5605,242,0,5604,242, + 0,5711,242,0,5710,242,0,5632,242,0, + 5631,242,0,5630,242,0,5629,242,0,5628, + 242,0,5627,242,0,5626,242,0,5625,242, + 0,5644,242,0,5643,242,0,5642,242,0, + 5641,242,0,5640,242,0,5639,242,0,5638, + 242,0,5637,242,0,5636,242,0,5635,242, + 0,5634,242,0,39,242,5385,0,39,242, + 5384,0,5408,242,0,1369,391,0,2672,126, + 0,35,33,0,1,448,0,462,1325,0, + 461,1727,0,47,37,0,5408,1,0,39, + 1,0,1409,91,0,32,34,0,39,585, + 0,1,792,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,5634,0,43,5406,0, + 43,37,0,505,3368,0,5408,1,230,0, + 39,1,230,0,230,420,0,5385,37,0, + 5384,37,0,238,3388,0,392,32,0,391, + 29,0,2672,128,0,2672,127,0,334,449, + 0,5380,409,0,5379,409,0,1,608,0, + 1,602,0,1,585,0,230,419,0,1, + 92,0,5406,45,0,37,45,0,1,334, + 0,2,5385,37,0,2,5384,37,0,5385, + 36,0,5384,36,0,505,4338,0,1,230, + 0,334,95,0,35,73,0,230,221,0, + 280,4257,0,230,220,0,5382,1,0,5378, + 1,0,1,230,3701,0,5379,230,0,3725, + 230,0,5382,387,0,5381,387,0,3823,230, + 0,10,12,0,8,10,12,0,3915,194, + 0,185,3587,0,3984,387,0,8,12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1082,17 +1105,17 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 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,72,42,43, + 34,35,36,37,38,39,40,0,42,43, 44,45,46,47,48,49,50,51,52,53, 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,1,2,71,4,118, + 64,65,66,67,0,1,2,71,4,0, 74,75,76,77,78,79,80,81,82,83, 84,85,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,42,43,44,45,46,47, - 48,49,50,51,52,53,54,0,56,57, + 48,49,50,51,52,53,54,100,56,57, 58,59,60,61,62,0,64,65,66,67, 99,6,0,71,0,3,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, @@ -1101,9 +1124,9 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,55, 42,43,44,45,46,47,48,49,50,51, - 52,53,54,100,56,57,58,59,60,61, - 62,0,64,65,66,67,5,92,93,102, - 103,104,74,75,76,77,78,79,80,81, + 52,53,54,0,56,57,58,59,60,61, + 62,0,64,65,66,67,5,92,93,0, + 1,2,74,75,76,77,78,79,80,81, 82,83,84,85,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, @@ -1111,15 +1134,15 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 36,37,38,39,40,0,42,43,44,45, 46,47,48,49,50,51,52,53,54,0, 56,57,58,59,60,61,62,0,64,65, - 66,67,0,6,0,1,2,0,74,75, + 66,67,99,6,0,1,2,0,74,75, 76,77,78,79,80,81,82,83,84,85, 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,42,43,44,45,46,47,48,49, + 40,72,42,43,44,45,46,47,48,49, 50,51,52,53,54,68,56,57,58,59, - 60,61,62,0,64,65,66,67,99,92, + 60,61,62,0,64,65,66,67,0,92, 93,0,1,2,74,75,76,77,78,79, 80,81,82,83,84,85,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, @@ -1127,32 +1150,32 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 24,25,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,0,42,43, 44,45,46,47,48,49,50,51,52,53, - 54,100,56,57,58,59,60,61,62,0, - 64,65,66,67,0,6,0,1,2,0, + 54,0,56,57,58,59,60,61,62,0, + 64,65,66,67,0,6,0,89,0,91, 74,75,76,77,78,79,80,81,82,83, 84,85,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,42,43,44,45,46,47, - 48,49,50,51,52,53,54,68,56,57, + 38,39,40,55,42,43,44,45,46,47, + 48,49,50,51,52,53,54,100,56,57, 58,59,60,61,62,0,64,65,66,67, - 0,92,93,89,0,91,74,75,76,77, + 0,92,93,87,88,0,74,75,76,77, 78,79,80,81,82,83,84,85,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, 42,43,44,45,46,47,48,49,50,51, - 52,53,54,69,56,57,58,59,60,61, + 52,53,54,68,56,57,58,59,60,61, 62,0,64,65,66,67,0,1,2,0, 0,5,74,75,76,77,78,79,80,81, 82,83,84,85,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,42,43,44,45, - 46,47,48,49,50,51,52,53,54,69, + 36,37,38,39,40,55,42,43,44,45, + 46,47,48,49,50,51,52,53,54,70, 56,57,58,59,60,61,62,0,64,65, 66,67,0,1,2,0,4,0,74,75, 76,77,78,79,80,81,82,83,84,85, @@ -1161,266 +1184,263 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39, 40,0,42,43,44,45,46,47,48,49, - 50,51,52,53,54,68,56,57,58,59, - 60,61,62,0,64,65,66,67,0,1, - 2,0,87,88,74,75,76,77,78,79, + 50,51,52,53,54,70,56,57,58,59, + 60,61,62,0,64,65,66,67,0,6, + 0,0,9,3,74,75,76,77,78,79, 80,81,82,83,84,85,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,42,43, 44,45,46,47,48,49,50,51,52,53, - 54,0,56,57,58,59,60,61,62,0, - 64,65,66,67,0,1,2,8,87,88, + 54,70,56,57,58,59,60,61,62,0, + 64,65,66,67,0,1,2,89,0,91, 74,75,76,77,78,79,80,81,82,83, 84,85,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,72,42,43,44,45,46,47, + 38,39,40,55,42,43,44,45,46,47, 48,49,50,51,52,53,54,0,56,57, 58,59,60,61,62,0,64,65,66,67, 0,0,0,1,2,4,74,75,76,77, 78,79,80,81,82,83,84,85,0,1, - 2,3,4,5,6,7,117,9,10,11, + 2,3,4,5,6,7,0,9,10,11, 12,13,14,15,16,17,18,19,20,21, 22,23,24,41,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,0, 42,43,44,45,46,47,48,49,50,51, - 52,53,54,0,56,57,58,0,0,61, + 52,53,54,0,56,57,58,4,0,61, 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,0,1,2,40,39, - 120,41,0,1,2,3,4,5,69,7, - 8,0,0,1,2,0,56,57,58,59, - 60,68,62,70,9,0,69,25,0,0, - 0,71,72,22,23,24,8,26,27,28, + 0,41,0,1,2,3,4,5,55,7, + 8,0,0,0,0,3,56,57,58,59, + 60,8,62,23,24,0,120,25,89,0, + 91,71,72,22,23,24,0,26,27,28, 29,30,31,32,33,34,86,22,23,24, 0,26,27,28,29,30,31,32,33,34, - 65,66,102,103,104,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, - 0,73,0,3,39,0,41,0,8,4, - 3,6,0,6,9,8,9,0,90,69, - 0,56,57,58,59,60,0,62,98,0, - 1,2,25,4,0,6,71,72,9,0, - 23,24,35,36,37,38,0,1,2,3, - 4,86,6,41,0,9,0,55,0,0, - 4,41,55,63,0,1,2,102,103,104, - 63,0,0,73,72,68,69,70,71,72, - 73,22,23,24,0,26,27,28,29,30, - 31,32,33,34,87,88,89,90,91,92, - 93,94,95,96,97,98,99,100,101,63, - 39,55,105,106,107,108,109,110,111,112, - 113,114,115,116,117,0,119,69,3,65, - 66,6,98,8,9,96,97,0,0,0, - 1,2,3,4,5,6,7,10,9,0, - 25,0,1,2,0,4,5,3,7,101, - 35,36,37,38,106,107,108,109,110,111, - 112,113,114,115,116,121,39,0,41,0, - 55,0,0,1,2,3,4,5,63,7, - 9,0,41,68,69,70,71,72,73,22, - 23,24,63,26,27,28,29,30,31,32, - 33,34,87,88,89,90,91,92,93,94, - 95,96,97,98,99,100,101,89,0,91, - 105,106,107,108,109,110,111,112,113,114, - 115,116,117,0,119,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, - 101,0,1,2,39,106,41,0,1,2, - 3,4,5,6,7,0,9,0,1,2, - 0,56,57,58,59,60,0,62,8,64, - 0,68,6,70,0,9,71,0,1,2, - 3,4,5,6,7,25,9,0,1,2, - 0,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,0,41,55, - 70,39,0,41,0,1,2,3,4,5, - 63,7,87,88,74,0,69,55,56,57, - 58,59,60,8,62,0,64,0,0,1, - 2,3,4,5,0,7,8,3,0,1, - 2,3,4,5,6,7,0,9,86,0, + 65,66,0,103,104,105,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,39,0,1,2,39,4,41,6,0, + 0,9,3,0,0,6,3,8,9,90, + 10,0,56,57,58,59,60,0,62,8, + 0,118,0,3,25,3,9,71,72,103, + 104,105,0,0,35,36,37,38,98,39, + 0,41,86,0,1,2,3,4,5,6, + 7,0,9,0,55,0,0,37,38,103, + 104,105,63,0,1,2,63,68,69,70, + 71,72,73,0,1,2,3,4,5,6, + 7,0,9,63,73,4,87,88,89,90, + 91,92,93,94,95,96,97,98,99,100, + 101,90,70,22,41,106,107,108,109,110, + 111,112,113,114,115,116,117,118,119,0, + 0,70,3,68,69,6,106,8,9,0, + 0,1,2,3,4,5,63,7,0,119, + 87,88,4,70,25,0,0,1,2,3, + 4,5,101,7,35,36,37,38,107,108, + 109,110,111,112,113,114,115,116,117,0, + 41,0,0,4,55,55,0,1,2,3, + 4,5,63,7,103,104,105,68,69,70, + 71,72,73,22,23,24,0,26,27,28, + 29,30,31,32,33,34,87,88,89,90, + 91,92,93,94,95,96,97,98,99,100, + 101,0,1,2,55,106,107,108,109,110, + 111,112,113,114,115,116,117,118,119,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,0,70,71,3,39,0, - 41,63,0,1,2,70,4,5,0,7, - 0,73,4,69,0,56,57,58,59,60, - 72,62,8,64,0,0,1,2,0,4, - 71,6,8,8,9,0,1,2,3,4, - 5,0,7,41,0,86,0,1,2,3, + 31,32,33,34,0,1,2,0,39,5, + 41,7,0,1,2,0,4,5,0,7, + 0,3,96,97,0,56,57,58,59,60, + 0,62,0,64,0,1,2,22,23,24, + 71,26,27,28,29,30,31,32,33,34, + 0,1,2,41,4,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,67,0,55,0,39,0,41,0,1, - 2,3,4,5,70,7,8,73,73,89, - 0,91,56,57,58,59,60,72,62,68, - 64,0,68,25,0,90,0,71,0,1, - 2,3,4,5,8,7,0,0,1,2, - 0,4,86,0,1,2,3,4,5,6, + 34,41,0,1,2,39,72,41,0,1, + 2,69,4,5,0,7,0,87,88,0, + 4,55,56,57,58,59,60,8,62,89, + 64,91,0,1,2,3,4,5,22,7, + 8,0,1,2,3,4,5,6,7,41, + 9,0,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,41,55, - 0,89,39,91,41,0,1,2,3,4, - 5,63,7,67,0,1,2,87,88,56, - 57,58,59,60,0,62,70,64,0,1, - 2,0,4,5,71,7,0,1,2,8, - 4,5,0,7,0,1,2,87,88,86, + 27,28,29,30,31,32,33,34,69,0, + 71,0,39,0,41,63,0,1,2,0, + 4,5,9,7,63,73,0,0,0,56, + 57,58,59,60,63,62,8,64,0,0, + 1,2,0,4,71,6,8,8,9,0, + 1,2,3,4,5,6,7,0,9,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,41,0,1,2,39, - 4,41,6,0,70,9,0,1,2,0, - 4,0,6,4,73,9,56,57,58,59, - 60,0,62,0,64,4,0,1,2,0, - 4,8,6,0,0,9,3,0,1,2, - 0,0,5,22,7,0,86,0,1,2, + 30,31,32,33,34,67,87,88,41,39, + 0,41,0,1,2,3,4,5,0,7, + 8,73,73,87,88,0,56,57,58,59, + 60,72,62,8,64,0,0,25,0,90, + 0,71,0,1,2,3,4,0,6,0, + 3,9,0,1,2,8,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,41,0,55,0,39,4,41,55, - 0,1,2,8,71,5,63,7,0,96, - 97,90,68,56,57,58,59,60,63,62, - 25,64,72,0,0,0,3,3,0,1, - 2,0,8,102,103,104,8,0,94,95, - 0,1,2,86,0,1,2,3,4,5, + 33,34,67,41,0,55,39,0,41,0, + 1,2,0,4,5,63,7,0,1,2, + 63,75,72,56,57,58,59,60,69,62, + 73,64,0,1,2,3,4,5,71,7, + 0,1,2,3,4,5,101,7,0,1, + 2,0,107,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,0, - 55,41,0,39,0,41,63,63,0,0, - 8,0,68,68,70,67,8,73,90,10, - 56,57,58,59,60,68,62,0,64,0, - 1,2,0,1,2,6,0,5,0,94, - 95,3,0,1,2,3,4,5,6,7, - 86,9,10,11,12,13,14,15,16,17, - 18,19,20,21,120,0,1,2,59,0, - 41,35,36,41,63,73,0,35,36,37, - 38,73,40,0,42,43,44,45,46,47, - 48,49,50,51,52,53,54,0,1,2, - 0,1,2,61,35,36,41,65,66,0, - 68,0,1,2,3,4,5,6,7,8, + 26,27,28,29,30,31,32,33,34,41, + 0,1,2,39,4,41,6,90,0,9, + 0,1,2,63,72,5,55,7,10,0, + 56,57,58,59,60,0,62,8,64,0, + 1,2,0,4,0,6,0,0,9,0, + 1,2,0,4,25,6,0,39,9,41, + 86,0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,0,0,0,0,0,41,63, - 4,41,0,8,10,8,35,36,37,38, - 8,40,0,42,43,44,45,46,47,48, - 49,50,51,52,53,54,0,25,35,36, - 0,0,61,39,8,41,0,0,67,8, - 0,72,71,0,1,2,3,4,5,6, - 7,25,9,10,11,12,13,14,15,16, - 17,18,19,20,21,0,71,55,0,0, - 73,3,0,8,0,6,0,0,35,36, - 37,38,8,40,0,42,43,44,45,46, - 47,48,49,50,51,52,53,54,68,25, - 63,0,71,0,61,69,3,0,65,66, - 0,1,2,3,4,5,6,7,0,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,55,0,0,0,3,3,73,55, - 0,0,70,3,0,35,36,37,38,0, - 40,0,42,43,44,45,46,47,48,49, - 50,51,52,53,54,0,0,0,3,68, - 3,61,0,55,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,55, - 0,0,0,3,55,3,55,72,0,0, - 69,0,35,36,37,38,0,40,0,42, - 43,44,45,46,47,48,49,50,51,52, - 53,54,0,0,0,63,4,63,61,0, - 0,40,3,3,67,0,1,2,3,4, + 19,20,21,22,23,24,25,26,27,28, + 29,30,31,32,33,34,0,1,2,55, + 39,5,41,0,1,2,0,0,61,6, + 0,4,68,6,68,69,9,56,57,58, + 59,60,70,62,68,64,0,0,0,0, + 3,3,0,1,2,0,8,41,94,95, + 8,35,36,0,41,35,36,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,0,0,1,2,39,0,41, + 63,63,0,0,68,0,68,69,63,67, + 8,73,0,10,56,57,58,59,60,0, + 62,68,64,0,1,2,0,1,2,0, + 1,2,0,35,36,0,0,1,2,3, + 4,5,6,7,86,9,10,11,12,13, + 14,15,16,17,18,19,20,21,120,65, + 66,0,59,0,41,4,3,41,63,0, + 41,35,36,37,38,73,40,8,42,43, + 44,45,46,47,48,49,50,51,52,53, + 54,0,0,0,25,0,0,61,63,8, + 8,65,66,8,68,0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,61, - 3,55,0,0,0,3,3,0,0,70, - 35,36,37,38,118,40,0,42,43,44, + 15,16,17,18,19,20,21,0,96,97, + 0,0,0,70,4,8,0,41,69,8, + 35,36,37,38,8,40,0,42,43,44, 45,46,47,48,49,50,51,52,53,54, - 0,90,69,0,70,0,61,0,3,0, - 37,38,67,0,1,2,3,4,5,6, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,0,63,0,70,4, - 0,55,0,0,4,0,72,69,35,36, - 37,38,10,40,0,42,43,44,45,46, - 47,48,49,50,51,52,53,54,0,69, - 0,3,0,5,6,72,4,9,105,0, - 0,39,3,41,0,0,0,3,3,3, - 55,0,119,0,22,55,3,0,0,0, - 55,0,60,35,36,37,38,0,0,72, - 42,0,0,68,0,0,0,0,75,0, - 0,0,0,55,0,118,0,0,0,0, - 117,63,0,65,66,55,68,69,70,94, - 95,40,0,0,0,0,0,0,0,0, - 0,0,0,0,0,87,88,89,0,0, - 92,93,94,95,96,97,98,99,100,101, - 0,0,0,105,0,107,108,109,110,111, - 112,113,114,115,116,0,1,2,3,4, - 5,6,7,0,9,10,11,12,13,14, - 15,16,17,18,19,20,21,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 35,36,37,38,0,40,0,42,43,44, - 45,46,47,48,49,50,51,52,53,54, - 0,0,0,0,0,0,61,0,1,2, - 3,4,5,6,7,0,9,10,11,12, + 69,25,69,71,73,0,61,0,73,0, + 1,2,67,8,0,8,71,0,1,2, + 3,4,5,6,7,55,9,10,11,12, 13,14,15,16,17,18,19,20,21,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,35,36,37,38,0,40,0,42, + 73,55,71,0,1,2,0,0,0,0, + 0,0,35,36,37,38,8,40,8,42, 43,44,45,46,47,48,49,50,51,52, - 53,54,0,1,2,3,4,5,6,7, - 63,9,10,11,12,13,14,15,16,17, - 18,19,20,21,0,0,0,0,0,0, - 0,0,0,0,0,0,0,35,36,37, - 38,0,40,0,42,43,44,45,46,47, - 48,49,50,51,52,53,54,0,0,0, - 0,0,0,61,0,1,2,3,4,5, + 53,54,0,25,102,25,71,0,61,0, + 73,4,65,66,0,1,2,3,4,5, 6,7,0,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,0, - 0,0,0,0,0,0,0,0,0,35, + 16,17,18,19,20,21,55,68,0,0, + 0,3,98,3,68,6,69,68,0,35, 36,37,38,0,40,0,42,43,44,45, 46,47,48,49,50,51,52,53,54,0, - 1,2,3,4,5,6,7,0,9,10, + 0,0,3,3,3,61,74,55,69,65, + 66,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,55,0,0,0,0,55,0, + 55,0,0,0,3,3,35,36,37,38, + 0,40,0,42,43,44,45,46,47,48, + 49,50,51,52,53,54,0,0,0,0, + 4,0,61,0,0,40,3,0,67,0, + 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, - 21,0,0,0,0,0,0,0,0,0, - 0,0,0,0,35,36,37,38,0,40, + 21,0,0,0,3,55,72,55,72,70, + 0,0,0,70,35,36,37,38,68,40, 0,42,43,44,45,46,47,48,49,50, - 51,52,53,54,0,1,2,3,4,5, - 6,7,0,9,10,11,12,13,14,15, - 16,17,18,19,20,21,0,0,0,0, - 0,0,0,0,0,0,0,0,0,35, - 36,37,38,0,40,0,42,43,44,45, - 46,47,48,49,50,51,52,53,54,0, - 1,2,0,4,0,0,0,0,0,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,0,26,27,28,29,30, - 31,32,33,34,0,0,0,0,39,0, - 0,0,0,0,0,0,0,0,0,1, - 2,0,4,0,0,56,57,58,10,11, + 51,52,53,54,63,0,0,63,0,72, + 61,72,4,40,94,95,67,0,1,2, + 3,4,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,0, + 0,69,3,3,0,55,0,3,0,102, + 70,69,35,36,37,38,0,40,0,42, + 43,44,45,46,47,48,49,50,51,52, + 53,54,0,0,69,0,3,0,5,6, + 3,0,9,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,0,26,27, + 28,29,30,31,32,33,34,0,35,36, + 37,38,0,0,0,42,0,3,72,0, + 0,0,3,3,3,0,10,121,55,0, + 72,0,3,0,0,118,63,0,65,66, + 0,68,69,70,0,70,90,0,0,0, + 102,70,0,0,0,39,0,41,0,0, + 87,88,89,0,0,92,93,94,95,96, + 97,98,99,100,101,0,60,0,0,106, + 55,108,109,110,111,112,113,114,115,116, + 117,0,1,2,3,4,5,6,7,102, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,0,0,0,0,0,0,0, + 0,0,0,0,0,0,35,36,37,38, + 0,40,0,42,43,44,45,46,47,48, + 49,50,51,52,53,54,0,0,0,0, + 0,0,61,0,1,2,3,4,5,6, + 7,0,9,10,11,12,13,14,15,16, + 17,18,19,20,21,0,0,0,0,0, + 0,0,0,0,0,0,0,0,35,36, + 37,38,0,40,0,42,43,44,45,46, + 47,48,49,50,51,52,53,54,0,1, + 2,3,4,5,6,7,63,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,0,26,27,28,29,30,31, - 32,33,34,0,0,0,0,39,0,1, - 2,3,4,5,6,7,8,9,0,0, - 0,0,0,0,56,57,58,0,0,0, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,55,0,0,0,0,0,0, - 0,63,0,0,0,0,0,0,0,0, - 0,73,0,1,2,3,4,5,6,7, - 8,9,0,0,0,0,0,0,0,0, - 0,0,0,0,22,23,24,25,26,27, - 28,29,30,31,32,33,34,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,63,26,27,28,29, - 30,31,32,33,34,73,0,0,0,0, + 0,0,0,35,36,37,38,0,40,0, + 42,43,44,45,46,47,48,49,50,51, + 52,53,54,0,0,0,0,0,0,61, + 0,1,2,3,4,5,6,7,0,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,0,0,0,0,0,0,0, + 0,0,0,0,0,35,36,37,38,0, + 40,0,42,43,44,45,46,47,48,49, + 50,51,52,53,54,0,1,2,3,4, + 5,6,7,0,9,10,11,12,13,14, + 15,16,17,18,19,20,21,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 35,36,37,38,0,40,0,42,43,44, + 45,46,47,48,49,50,51,52,53,54, + 0,1,2,3,4,5,6,7,0,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,0,0,0,0,0,0,0,0, + 0,0,0,0,0,35,36,37,38,0, + 40,0,42,43,44,45,46,47,48,49, + 50,51,52,53,54,0,1,2,0,4, + 0,0,0,0,0,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 0,26,27,28,29,30,31,32,33,34, + 0,0,0,0,39,0,0,0,0,0, + 0,0,0,0,0,1,2,0,4,0, + 0,56,57,58,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,0, + 26,27,28,29,30,31,32,33,34,0, + 0,0,0,39,0,1,2,3,4,5, + 6,7,8,9,0,0,0,0,0,0, + 56,57,58,0,0,0,22,23,24,25, + 26,27,28,29,30,31,32,33,34,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,55,0,0,0,55, + 0,0,0,0,0,0,0,63,68,0, + 0,0,0,0,0,0,0,73,0,1, + 2,3,4,5,6,7,8,9,0,0, + 0,0,0,0,94,95,0,0,0,0, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,63,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,0,0,0,0,0,0, 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; @@ -1428,348 +1448,349 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface TermAction { public final static char termAction[] = {0, - 5251,5216,5192,5192,5192,5192,5192,5192,5232,5192, + 5370,5332,5308,5308,5308,5308,5308,5308,5348,5308, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,5336,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5220,1,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,5251,1,1,1,1876, - 5426,1,1968,300,3895,1,1,5262,286,4946, - 4946,5258,283,5550,882,4114,3065,2178,2733,4038, - 3060,4112,1498,4108,2451,4106,10,5235,5235,5235, - 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, - 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, - 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, - 5235,5235,5235,5235,5235,5235,5235,1922,5235,5235, - 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, - 5235,135,5235,5235,5235,5235,5235,5235,5235,1, - 5235,5235,5235,5235,5251,4907,4904,5235,5289,4116, - 5235,5235,5235,5235,5235,5235,5235,5235,5235,5235, - 5235,5235,8,5238,5238,5238,5238,5238,5238,5238, - 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, - 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, - 5238,5238,5238,5238,5238,5238,5238,5238,5238,5238, - 5238,5238,5238,137,5238,5238,5238,5238,5238,5238, - 5238,5238,5238,5238,5238,5238,5238,439,5238,5238, - 5238,5238,5238,5238,5238,115,5238,5238,5238,5238, - 2298,3633,5251,5238,5251,2737,5238,5238,5238,5238, - 5238,5238,5238,5238,5238,5238,5238,5238,5251,5216, - 5192,5192,5192,5192,5192,5192,5223,5192,1,1, + 1,1,1,1,1,334,1,1,1,1942, + 5545,1,1202,304,3612,1,1,5381,290,5062, + 5062,5377,285,5673,1450,3794,3667,2201,3439,3695, + 3197,3769,1555,3750,2990,3744,10,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,137,5351,5351, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,135,5351,5351,5351,5351,5351,5351,5351,399, + 5351,5351,5351,5351,5370,5023,5020,5351,5408,300, + 5351,5351,5351,5351,5351,5351,5351,5351,5351,5351, + 5351,5351,8,5354,5354,5354,5354,5354,5354,5354, + 5354,5354,5354,5354,5354,5354,5354,5354,5354,5354, + 5354,5354,5354,5354,5354,5354,5354,5354,5354,5354, + 5354,5354,5354,5354,5354,5354,5354,5354,5354,5354, + 5354,5354,5354,388,5354,5354,5354,5354,5354,5354, + 5354,5354,5354,5354,5354,5354,5354,2288,5354,5354, + 5354,5354,5354,5354,5354,115,5354,5354,5354,5354, + 2323,3771,5370,5354,5370,4792,5354,5354,5354,5354, + 5354,5354,5354,5354,5354,5354,5354,5354,5370,5332, + 5308,5308,5308,5308,5308,5308,5339,5308,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5220,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,598, + 1,1,1,5336,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,922, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2264,1,1,1,1876,5426,1, - 1968,5251,3895,1,1,5262,2961,3609,3585,5686, - 5687,5688,882,4114,3065,2178,2733,4038,3060,4112, - 1498,4108,2451,4106,5251,5216,5192,5192,5192,5192, - 5192,5192,5223,5192,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5220, + 1,1,1,136,1,1,1,1942,5545,1, + 1202,5370,3612,1,1,5381,2874,3746,3721,401, + 5384,5385,1450,3794,3667,2201,3439,3695,3197,3769, + 1555,3750,2990,3744,5370,5332,5308,5308,5308,5308, + 5308,5308,5339,5308,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5336, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,330,1,1,1,1, - 1,1,1,1,1,1,1,1,1,136, - 1,1,1,1876,5426,1,1968,117,3895,1, - 1,5262,395,3633,397,5265,5266,5251,882,4114, - 3065,2178,2733,4038,3060,4112,1498,4108,2451,4106, - 5251,5216,5192,5192,5192,5192,5192,5192,5223,5192, + 1,1,1,1,1,5370,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5370, + 1,1,1,1942,5545,1,1202,117,3612,1, + 1,5381,2323,3771,5370,5384,5385,5370,1450,3794, + 3667,2201,3439,3695,3197,3769,1555,3750,2990,3744, + 5370,5332,5308,5308,5308,5308,5308,5308,5339,5308, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5220,1,1,1,1, + 1,1,1,1,1,5336,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,138,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3503,1,1,1,1876, - 5426,1,1968,296,3895,1,1,5262,2298,3609, - 3585,5251,5265,5266,882,4114,3065,2178,2733,4038, - 3060,4112,1498,4108,2451,4106,5251,5216,5192,5192, - 5192,5192,5192,5192,5223,5192,1,1,1,1, + 1,1989,1,1,1,1,1,1,1,1, + 1,1,1,1,1,3393,1,1,1,1942, + 5545,1,1202,5370,3612,1,1,5381,111,3746, + 3721,5370,5041,5038,1450,3794,3667,2201,3439,3695, + 3197,3769,1555,3750,2990,3744,5370,5332,5308,5308, + 5308,5308,5308,5308,5339,5308,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5220,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,384,1,1, + 1,5336,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,138,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,2264,1,1,1,1876,5426,1,1968,116, - 3895,1,1,5262,111,3633,5251,4925,4922,5251, - 882,4114,3065,2178,2733,4038,3060,4112,1498,4108, - 2451,4106,5251,5216,5192,5192,5192,5192,5192,5192, - 5223,5192,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5220,1,1, + 1,5370,1,1,1,1942,5545,1,1202,116, + 3612,1,1,5381,5370,3771,121,4003,29,4026, + 1450,3794,3667,2201,3439,3695,3197,3769,1555,3750, + 2990,3744,5370,5332,5308,5308,5308,5308,5308,5308, + 5339,5308,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5336,1,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,3506,1,1, - 1,1876,5426,1,1968,5251,3895,1,1,5262, - 5251,3609,3585,3891,508,3913,882,4114,3065,2178, - 2733,4038,3060,4112,1498,4108,2451,4106,5251,5216, - 5192,5192,5192,5192,5192,5192,5223,5192,1,1, + 1,1,1,5029,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2288,1,1, + 1,1942,5545,1,1202,5370,3612,1,1,5381, + 5370,3746,3721,2915,2942,5370,1450,3794,3667,2201, + 3439,3695,3197,3769,1555,3750,2990,3744,5370,5332, + 5308,5308,5308,5308,5308,5308,5339,5308,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5220,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5251, + 1,1,1,5336,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,2889,1,1,1,1876,5426,1, - 1968,5251,3895,1,1,5262,5251,5265,5266,5251, - 506,2961,882,4114,3065,2178,2733,4038,3060,4112, - 1498,4108,2451,4106,5251,5216,5192,5192,5192,5192, - 5192,5192,5223,5192,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,5220, + 1,1,1,3405,1,1,1,1942,5545,1, + 1202,5370,3612,1,1,5381,5370,5384,5385,512, + 444,2874,1450,3794,3667,2201,3439,3695,3197,3769, + 1555,3750,2990,3744,5370,5332,5308,5308,5308,5308, + 5308,5308,5339,5308,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5336, 1,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,2890, - 1,1,1,1876,5426,1,1968,5251,3895,1, - 1,5262,5251,4907,4904,121,5289,5251,882,4114, - 3065,2178,2733,4038,3060,4112,1498,4108,2451,4106, - 5251,5216,5192,5192,5192,5192,5192,5192,5223,5192, + 1,1,1,1,1,5032,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3625, + 1,1,1,1942,5545,1,1202,5370,3612,1, + 1,5381,5370,5023,5020,510,5408,5370,1450,3794, + 3667,2201,3439,3695,3197,3769,1555,3750,2990,3744, + 5370,5332,5308,5308,5308,5308,5308,5308,5339,5308, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,5220,1,1,1,1, + 1,1,1,1,1,5336,1,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,3526,1,1,1,1876, - 5426,1,1968,5251,3895,1,1,5262,48,4925, - 4922,125,3012,3038,882,4114,3065,2178,2733,4038, - 3060,4112,1498,4108,2451,4106,5251,5216,5192,5192, - 5192,5192,5192,5192,5223,5192,1,1,1,1, + 1,5370,1,1,1,1,1,1,1,1, + 1,1,1,1,1,4895,1,1,1,1942, + 5545,1,1202,5370,3612,1,1,5381,114,1187, + 5370,373,968,3388,1450,3794,3667,2201,3439,3695, + 3197,3769,1555,3750,2990,3744,5370,5332,5308,5308, + 5308,5308,5308,5308,5339,5308,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,5220,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5251,1,1, + 1,5336,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,5251,1,1,1,1876,5426,1,1968,5251, - 3895,1,1,5262,296,5265,5266,5255,3012,3038, - 882,4114,3065,2178,2733,4038,3060,4112,1498,4108, - 2451,4106,5251,4064,1,1,1,1,1,1, - 4105,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5260,1,1, + 1,1286,1,1,1,1942,5545,1,1202,5370, + 3612,1,1,5381,48,5041,5038,4003,458,4026, + 1450,3794,3667,2201,3439,3695,3197,3769,1555,3750, + 2990,3744,5370,3701,1,1,1,1,1,1, + 3725,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5379,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5652,1,1,1,1,1,1, - 1,1,1,1,1,1,1,5251,1,1, - 1,1876,5426,1,1968,5251,3895,1,1,5262, - 5251,39,37,5047,5047,5289,882,4114,3065,2178, - 2733,4038,3060,4112,1498,4108,2451,4106,39,4907, - 4904,2454,2252,3692,3773,597,5254,3795,1138,5515, - 5513,5522,5521,5517,5518,5516,5519,5520,5523,5514, - 5511,5587,5588,5287,5505,5512,5508,5484,5510,5509, - 5506,5507,5485,3751,3729,3847,3825,5649,5270,369, - 3670,1400,1534,5272,1409,3979,1482,5273,5271,1365, - 5267,5268,5269,5251,1341,5650,5651,367,5251,1361, - 5251,5114,5114,229,5110,229,229,229,5118,229, + 1,1,1,5035,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5370,1,1, + 1,1942,5545,1,1202,5370,3612,1,1,5381, + 5370,39,37,5163,5163,5408,1450,3794,3667,2201, + 3439,3695,3197,3769,1555,3750,2990,3744,39,5023, + 5020,4748,2567,3819,3888,602,5370,3911,943,5636, + 5634,5643,5642,5638,5639,5637,5640,5641,5644,5635, + 5631,5710,5711,5406,5625,5632,5628,5604,5630,5629, + 5626,5627,5605,3865,3842,3957,3934,5772,5389,113, + 3796,867,1005,5391,869,4122,993,5392,5390,833, + 5386,5387,5388,400,1397,5773,5774,391,5370,1417, + 5370,5230,5230,230,5226,230,230,230,5234,230, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,1,1, - 1,1,1,1,1,5251,5265,5266,1265,1, - 4886,5107,1,4897,4893,5151,4901,5157,1231,5154, - 5261,224,290,5265,5266,131,1,1,1,825, - 5663,1127,1117,2488,2360,225,1277,5260,1,5251, - 133,416,229,5511,5587,5588,362,5505,5512,5508, - 5484,5510,5509,5506,5507,5485,5751,5511,5587,5588, - 510,5505,5512,5508,5484,5510,5509,5506,5507,5485, - 3869,559,5686,5687,5688,5251,5114,5114,229,5110, - 229,229,229,5160,229,1,1,1,1,1, + 1,1,1,1,1,230,1,1,1,1, + 1,1,1,1,1,5370,5384,5385,745,1, + 339,5223,1,5013,5009,5267,5017,5273,1369,5270, + 5380,225,91,5370,5370,5172,1,1,1,3209, + 5786,5374,729,5710,5711,226,5002,5379,4003,361, + 4026,420,230,5631,5710,5711,443,5625,5632,5628, + 5604,5630,5629,5626,5627,5605,5874,5631,5710,5711, + 133,5625,5632,5628,5604,5630,5629,5626,5627,5605, + 3980,1098,5370,5809,5810,5811,5370,5230,5230,230, + 5226,230,230,230,5276,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 229,1,1,1,1,1,1,1,1,1, - 1,362,29,2730,1,39,5107,33,4937,5289, - 5035,330,47,5035,330,5035,5035,335,362,2946, - 37,1,1,1,825,5663,5251,1117,2330,444, - 1,1,5035,1,134,5038,415,229,5038,129, - 5587,5588,5035,5035,5035,5035,344,39,39,2730, - 5289,5751,330,649,185,330,396,880,139,226, - 387,5287,5035,1052,5251,4925,4922,5686,5687,5688, - 5035,5251,5251,4940,424,5035,5035,5035,5035,5035, - 5035,5511,5587,5588,5251,5505,5512,5508,5484,5510, - 5509,5506,5507,5485,5035,5035,5035,5035,5035,5035, - 5035,5035,5035,5035,5035,5035,5035,5035,5035,1052, - 2998,880,5035,5035,5035,5035,5035,5035,5035,5035, - 5035,5035,5035,5035,5035,5251,5035,1838,5059,3869, - 559,5059,2330,5059,5059,2542,2416,1,114,344, - 4907,4904,584,2252,579,330,597,4887,330,5251, - 5059,5251,4907,4904,5251,2252,5062,2891,597,2216, - 5059,5059,5059,5059,4090,1796,1754,1712,1670,1628, - 1586,1544,1502,1460,1405,5242,4890,227,567,139, - 5059,132,1,4897,4893,603,4901,579,5059,597, - 2360,5251,629,5059,5059,5059,5059,5059,5059,5511, - 5587,5588,1052,5505,5512,5508,5484,5510,5509,5506, - 5507,5485,5059,5059,5059,5059,5059,5059,5059,5059, - 5059,5059,5059,5059,5059,5059,5059,3891,5251,3913, - 5059,5059,5059,5059,5059,5059,5059,5059,5059,5059, - 5059,5059,5059,5251,5059,5251,5192,5192,229,5192, - 229,229,229,5201,229,1,1,1,1,1, + 1,230,1,1,1,1,1,1,1,1, + 1,823,448,1,1,1,1,5223,5154,33, + 1,5154,5151,350,5370,5151,1133,5151,5151,5730, + 5003,1,1,1,1,3209,5786,131,729,366, + 75,5373,238,3679,5151,5243,2387,419,230,5809, + 5810,5811,371,5370,5151,5151,5151,5151,2356,5006, + 5370,575,5874,312,5013,5009,608,5017,585,5288, + 602,139,5288,125,5151,5370,5370,5432,5433,5809, + 5810,5811,5151,43,5220,5220,1059,5151,5151,5151, + 5151,5151,5151,370,5013,5009,589,5017,585,1, + 602,39,1,3548,366,5408,5151,5151,5151,5151, + 5151,5151,5151,5151,5151,5151,5151,5151,5151,5151, + 5151,366,1329,3046,5217,5151,5151,5151,5151,5151, + 5151,5151,5151,5151,5151,5151,5151,5151,5151,5370, + 391,1903,5175,664,2773,5175,810,5175,5175,47, + 1,5013,5009,608,5017,585,1059,602,5370,952, + 2915,2942,735,1198,5175,5370,334,5023,5020,608, + 2567,585,2249,602,5175,5175,5175,5175,4190,1860, + 1817,1774,1731,1688,1645,1602,1559,1516,1460,48, + 2153,227,5370,5385,5175,5145,1,5013,5009,5267, + 5017,5273,5175,5270,5809,5810,5811,5175,5175,5175, + 5175,5175,5175,5631,5710,5711,129,5625,5632,5628, + 5604,5630,5629,5626,5627,5605,5175,5175,5175,5175, + 5175,5175,5175,5175,5175,5175,5175,5175,5175,5175, + 5175,300,5384,5385,5385,5175,5175,5175,5175,5175, + 5175,5175,5175,5175,5175,5175,5175,5175,5175,5370, + 5308,5308,230,5308,230,230,230,5317,230,1, 1,1,1,1,1,1,1,1,1,1, - 229,1,1,8539,1,1,1,1,1,1, - 2216,36,5186,5183,1,4090,5189,308,4897,4893, - 603,4901,579,5172,597,124,5172,5251,8478,8473, - 5251,1,1,1,2470,5462,5251,1968,5261,3895, - 1,4395,823,2488,29,728,220,366,4897,4893, - 584,4901,579,1,597,5260,1,43,5104,5104, - 5251,5751,5251,5192,5192,229,5192,229,229,229, - 229,229,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,229,1,1, - 8539,1,1,1,1,1,1,5251,5101,4913, - 3657,1,5251,5189,330,4907,4904,603,2252,579, - 1052,597,3012,3038,2742,5251,1189,3589,1,1, - 1,2470,5462,5259,1968,361,3895,5251,1,4897, - 4893,584,4901,579,310,597,4937,1578,5251,4897, - 4893,603,4901,579,5172,597,5251,5172,5751,5251, - 5192,5192,229,5192,229,229,229,5207,229,1, + 1,1,1,1,230,1,1,8535,1,1, + 1,1,1,1,38,5050,5047,5370,1,5044, + 5305,602,5370,5023,5020,228,2567,5178,1,602, + 124,4939,2446,2417,5370,1,1,1,3567,5582, + 112,1202,365,3612,294,5384,5385,5631,5710,5711, + 221,5625,5632,5628,5604,5630,5629,5626,5627,5605, + 398,5059,5059,635,285,5874,5370,5308,5308,230, + 5308,230,230,230,230,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,229,1,1,8539,1,1, - 1,1,1,1,91,1007,5258,5056,1,5251, - 5189,1052,5251,4907,4904,2736,2252,5062,5251,597, - 113,4940,729,1146,5251,1,1,1,2470,5462, - 1095,1968,5263,3895,5251,1,5053,5053,440,5050, - 219,330,5257,362,330,1,4897,4893,603,4901, - 579,5251,597,1447,5251,5751,5251,5192,5192,229, - 5192,229,229,229,5201,229,1,1,1,1, + 1,230,1,1,8535,1,1,1,1,1, + 1,285,36,5302,5299,1,5775,5305,5370,5023, + 5020,2538,2567,5178,5370,602,39,2915,2942,5370, + 5408,3428,1,1,1,3567,5582,5378,1202,4003, + 3612,4026,1,5013,5009,589,5017,585,3465,602, + 5053,348,5023,5020,589,2567,585,334,602,1503, + 334,351,5874,5370,5308,5308,230,5308,230,230, + 230,5323,230,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,230,1, + 1,8535,1,1,1,1,1,1,1014,123, + 5377,5370,1,132,5305,1059,5370,5023,5020,5370, + 2567,585,2387,602,1059,5056,122,5370,5370,1, + 1,1,3567,5582,1059,1202,5382,3612,5370,1, + 5169,5169,5370,5166,220,334,5376,366,334,5370, + 5013,5009,608,5017,585,5288,602,37,5288,5874, + 5370,5308,5308,230,5308,230,230,230,5317,230, 1,1,1,1,1,1,1,1,1,1, - 1,229,1,1,8539,1,1,1,1,1, - 1,5262,112,4916,5251,1,5251,5189,1,4897, - 4893,603,4901,579,4783,597,308,5256,362,3891, - 123,3913,1,1,1,2470,5462,1095,1968,3549, - 3895,5251,5763,308,454,362,1,220,1,4897, - 4893,584,4901,579,5210,597,157,394,4943,4943, - 122,283,5751,5251,5192,5192,229,5192,229,229, - 229,5201,229,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,229,1, - 1,8539,1,1,1,1,1,1,283,4919, - 5251,3891,1,3913,5189,1,4897,4893,5151,4901, - 5157,1052,5154,5262,5251,8478,8473,3012,3038,1, - 1,1,2470,5462,515,1968,1880,3895,5251,4907, - 4904,5251,2252,579,220,597,5251,4907,4904,5257, - 2252,579,5251,597,5251,5124,5121,3012,3038,5751, - 5251,5192,5192,229,5192,229,229,229,229,229, + 1,1,1,1,1,230,1,1,8535,1, + 1,1,1,1,1,5381,2915,2942,5406,1, + 5370,5305,1,5013,5009,608,5017,585,5370,602, + 312,5375,366,2915,2942,1,1,1,1,3567, + 5582,1102,1202,5326,3612,139,194,312,5370,366, + 29,221,348,39,39,3223,5408,1,334,157, + 3223,334,5370,5240,5237,5053,5874,5370,5308,5308, + 230,5308,230,230,230,5317,230,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,229,1,1,8539,1, - 1,1,1,1,1,5287,445,39,39,1, - 5289,5189,5142,130,885,5142,92,1,1,395, - 1,357,5163,388,5256,5163,1,1,1,2470, - 5462,39,1968,5251,3895,5289,95,39,39,387, - 5289,5259,5195,346,126,5195,670,38,4934,4931, - 428,5251,4928,3282,597,347,5751,5251,5192,5192, - 229,5192,229,229,229,229,229,1,1,1, + 1,1,230,1,1,8535,1,1,1,1, + 1,1,5381,5406,5370,1369,1,1,5305,5370, + 5023,5020,5370,2567,585,1059,602,5370,8262,7411, + 1059,5358,428,1,1,1,3567,5582,1946,1202, + 5056,3612,1,5013,5009,608,5017,585,221,602, + 1,5013,5009,589,5017,585,2249,602,5370,8687, + 8687,5370,4190,5874,5370,5308,5308,230,5308,230, + 230,230,230,230,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,230, + 1,1,8535,1,1,1,1,1,1,5406, + 449,39,39,1,5408,5305,5258,5732,1,5258, + 5370,5384,5385,1059,1102,585,4903,602,5003,409, + 1,1,1,3567,5582,5370,1202,5261,3612,92, + 1,1,5370,1,126,5279,5370,537,5279,95, + 39,39,514,5408,5264,5311,5370,5006,5311,575, + 5874,5370,5308,5308,230,5308,230,230,230,230, + 230,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,230,1,1,8535, + 1,1,1,1,1,1,37,5163,5163,2700, + 1,5163,5305,37,5163,5163,118,39,3666,334, + 120,5408,5148,334,4429,2773,334,1,1,1, + 3567,5582,2970,1202,3415,3612,5370,321,1,5370, + 5026,3223,5370,5384,5385,323,344,3121,2630,2502, + 5382,3174,3091,5370,5406,3174,3091,5874,5370,5308, + 5308,230,5308,230,230,230,230,230,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,229,1,1,8539,1,1,1,1, - 1,1,3613,5251,5029,405,1,2446,5189,2700, - 5251,5265,5266,5145,5258,579,1052,597,1,2542, - 2416,5607,5032,1,1,1,2470,5462,1052,1968, - 5148,3895,4661,317,1,128,4910,2730,5251,5265, - 5266,5251,340,5686,5687,5688,5263,5251,2626,2599, - 5251,8518,8518,5751,5251,5192,5192,229,5192,229, - 229,229,229,229,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,229, - 1,1,8539,1,1,1,1,1,1,5251, - 2700,5287,1,1,5251,5189,1052,1052,1,300, - 161,319,340,5136,340,5262,5257,340,5609,5550, - 1,1,1,2470,5462,5692,1968,5251,3895,37, - 5047,5047,37,5047,5047,330,118,5047,237,2626, - 2599,5127,1,4897,4893,2454,4901,3692,3773,597, - 5751,3795,5065,5092,5098,5071,5074,5086,5083,5089, - 5080,5077,5068,5095,340,37,5047,5047,2908,120, - 5287,3560,2863,3722,1052,161,458,3751,3729,3847, - 3825,5256,5270,5251,3670,1400,1534,5272,1409,3979, - 1482,5273,5271,1365,5267,5268,5269,45,5169,5169, - 5251,5179,5175,1361,3560,2863,2593,39,39,448, - 516,39,4907,4904,2454,2252,3692,3773,597,5245, - 3795,1045,5515,5513,5522,5521,5517,5518,5516,5519, - 5520,5523,5514,119,1,1,5251,1,5166,5041, - 915,5287,5251,5213,4887,528,3751,3729,3847,3825, - 5261,5270,5251,3670,1400,1534,5272,1409,3979,1482, - 5273,5271,1365,5267,5268,5269,1,5260,3560,2863, - 5251,8,1361,4890,5261,567,291,457,5229,5248, - 5251,3236,5258,141,4907,4904,2454,2252,3692,3773, - 597,5260,3795,1045,5515,5513,5522,5521,5517,5518, - 5516,5519,5520,5523,5514,1,5258,4213,1,5251, - 528,4782,289,163,1,1178,5251,5251,3751,3729, - 3847,3825,191,5270,5251,3670,1400,1534,5272,1409, - 3979,1482,5273,5271,1365,5267,5268,5269,5706,191, - 5044,5251,5248,5251,1361,2006,4100,5251,39,39, - 1,4897,4893,2454,4901,3692,3773,597,5251,3795, - 5065,5092,5098,5071,5074,5086,5083,5089,5080,5077, - 5068,5095,4476,5251,5251,5251,4226,4227,163,4549, - 5251,420,620,4287,5251,3751,3729,3847,3825,5251, - 5270,395,3670,1400,1534,5272,1409,3979,1482,5273, - 5271,1365,5267,5268,5269,5251,374,5251,720,4232, - 4260,1361,100,4751,99,39,39,39,4907,4904, - 2454,2252,3692,3773,597,5226,3795,1045,5515,5513, - 5522,5521,5517,5518,5516,5519,5520,5523,5514,880, - 5251,5251,103,4335,3589,4781,880,2044,532,426, - 2092,1,3751,3729,3847,3825,5251,5270,5251,3670, - 1400,1534,5272,1409,3979,1482,5273,5271,1365,5267, - 5268,5269,5251,35,449,4366,1620,2130,1361,5251, - 278,4003,4002,5204,5229,39,4907,4904,2454,2252, - 3692,3773,597,5226,3795,1045,5515,5513,5522,5521, - 5517,5518,5516,5519,5520,5523,5514,5251,307,3961, - 3349,2728,5251,75,5251,4789,3173,5251,5251,1223, - 3751,3729,3847,3825,4116,5270,73,3670,1400,1534, - 5272,1409,3979,1482,5273,5271,1365,5267,5268,5269, - 5251,4337,3479,5251,4032,5251,1361,521,4745,5251, - 5313,5314,5229,39,4907,4904,2454,2252,3692,3773, - 597,5255,3795,1045,5515,5513,5522,5521,5517,5518, - 5516,5519,5520,5523,5514,48,3441,5251,2684,5266, - 48,5198,5251,5251,5265,127,3097,3479,3751,3729, - 3847,3825,931,5270,5251,3670,1400,1534,5272,1409, - 3979,1482,5273,5271,1365,5267,5268,5269,1,1964, - 5251,1144,39,5720,5714,3142,5289,5718,803,5251, - 2,2754,4758,567,5251,5251,5251,4467,4770,4036, - 5266,5251,943,5251,3425,5265,4791,5251,5251,5251, - 2700,1,5787,5712,5713,5743,5744,5251,5251,3179, - 5721,5251,5251,5139,5251,5251,5251,5251,4125,5251, - 5251,5251,5251,5723,5251,4116,5251,5251,5251,5251, - 5254,661,5251,2091,2238,37,5724,5722,5745,2626, - 2599,3873,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,5251,5251,5734,5733,5746,5251,5251, - 5715,5716,5739,5740,5737,5738,5717,5719,5741,5742, - 5251,5251,5251,5747,5251,5727,5728,5729,5725,5726, - 5735,5736,5731,5730,5732,39,4907,4904,2454,2252, - 3692,3773,597,5251,3795,1045,5515,5513,5522,5521, - 5517,5518,5516,5519,5520,5523,5514,5251,5251,5251, - 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, - 3751,3729,3847,3825,5251,5270,5251,3670,1400,1534, - 5272,1409,3979,1482,5273,5271,1365,5267,5268,5269, - 5251,5251,5251,5251,5251,5251,1361,39,4907,4904, - 2454,2252,3692,3773,597,5251,3795,1045,5515,5513, - 5522,5521,5517,5518,5516,5519,5520,5523,5514,5251, - 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,3751,3729,3847,3825,5251,5270,5251,3670, - 1400,1534,5272,1409,3979,1482,5273,5271,1365,5267, - 5268,5269,39,4907,4904,2454,2252,3692,3773,597, - 2420,3795,1045,5515,5513,5522,5521,5517,5518,5516, - 5519,5520,5523,5514,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,5251,5251,5251,5251,3751,3729,3847, - 3825,5251,5270,5251,3670,1400,1534,5272,1409,3979, - 1482,5273,5271,1365,5267,5268,5269,5251,5251,5251, - 5251,5251,5251,1361,39,4907,4904,3152,2252,3692, - 3773,597,5251,3795,1045,5515,5513,5522,5521,5517, - 5518,5516,5519,5520,5523,5514,5251,5251,5251,5251, - 5251,5251,5251,5251,5251,5251,5251,5251,5251,3751, - 3729,3847,3825,5251,5270,5251,3670,1400,1534,5272, - 1409,3979,1482,5273,5271,1365,5267,5268,5269,39, - 4907,4904,2454,2252,3692,3773,597,5251,3795,1045, - 5515,5513,5522,5521,5517,5518,5516,5519,5520,5523, - 5514,5251,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,5251,3751,3729,3847,3825,5251,5270, - 5251,3670,1400,1534,5272,1409,3979,1482,5273,5271, - 1365,5267,5268,5269,39,4907,4904,2454,2252,3692, - 3773,597,5251,3795,1045,5515,5513,5522,5521,5517, - 5518,5516,5519,5520,5523,5514,5251,5251,5251,5251, - 5251,5251,5251,5251,5251,5251,5251,5251,5251,3751, - 3729,3847,3825,5251,5270,5251,3670,1400,1534,5272, - 1409,3979,1482,5273,5271,1365,5267,5268,5269,5251, - 4907,4904,5251,5289,5251,5251,5251,5251,5251,738, - 5515,5513,5522,5521,5517,5518,5516,5519,5520,5523, - 5514,5511,5587,5588,5251,5505,5512,5508,5484,5510, - 5509,5506,5507,5485,5251,5251,5251,5251,5649,5251, - 5251,5251,5251,5251,5251,5251,5251,5251,241,5022, - 5018,5251,5026,5251,5251,1341,5650,5651,738,5009, - 5015,4988,4991,5003,5000,5006,4997,4994,4985,5012, - 4964,4958,4955,5251,4982,4961,4973,4952,4967,4970, - 4979,4976,4949,5251,5251,5251,5251,5649,29,387, - 387,5133,387,387,5133,387,5133,5133,5251,5251, - 5251,5251,5251,5251,1341,5650,5651,5251,5251,5251, - 387,387,387,5133,387,387,387,387,387,387, - 387,387,387,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,4913,5251,5251,5251,5251,5251,5251, - 5251,5133,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5133,32,388,388,5130,388,388,5130,388, - 5130,5130,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5251,5251,5251,388,388,388,5130,388,388, - 388,388,388,388,388,388,388,5251,5251,5251, - 223,5251,5251,5251,5251,5251,5251,5251,5251,5251, - 5251,5515,5513,5522,5521,5517,5518,5516,5519,5520, - 5523,5514,5511,5587,5588,5130,5505,5512,5508,5484, - 5510,5509,5506,5507,5485,5130 + 1,1,1,230,1,1,8535,1,1,1, + 1,1,1,5370,5370,5041,5038,1,119,5305, + 1059,1059,1,304,3427,462,344,344,1059,5381, + 161,344,5370,5673,1,1,1,3567,5582,5370, + 1202,5886,3612,37,5163,5163,45,5285,5285,5370, + 5295,5291,130,3174,3091,461,1,5013,5009,4748, + 5017,3819,3888,602,5874,3911,5181,5208,5214,5187, + 5190,5202,5199,5205,5196,5193,5184,5211,344,3980, + 1098,399,2832,314,2799,392,1637,5282,5157,5370, + 5406,3865,3842,3957,3934,161,5389,5380,3796,867, + 1005,5391,869,4122,993,5392,5390,833,5386,5387, + 5388,5370,5370,519,5379,1,5370,1417,5160,5376, + 5378,39,39,5376,520,39,5023,5020,4748,2567, + 3819,3888,602,5364,3911,792,5636,5634,5643,5642, + 5638,5639,5637,5640,5641,5644,5635,1,2446,2417, + 48,1,5370,1154,5384,533,5370,3441,4095,5329, + 3865,3842,3957,3934,5380,5389,5370,3796,867,1005, + 5391,869,4122,993,5392,5390,833,5386,5387,5388, + 4944,5379,891,5377,5375,8,1417,1,5375,5370, + 8262,7411,5345,5367,134,163,5377,141,5023,5020, + 4748,2567,3819,3888,602,5384,3911,792,5636,5634, + 5643,5642,5638,5639,5637,5640,5641,5644,5635,5370, + 533,4910,5377,293,3125,3125,5370,287,1,5370, + 1,5370,3865,3842,3957,3934,5380,5389,191,3796, + 867,1005,5391,869,4122,993,5392,5390,833,5386, + 5387,5388,1,5379,3800,191,5367,5370,1417,293, + 163,2531,39,39,1,5013,5009,4748,5017,3819, + 3888,602,5370,3911,5181,5208,5214,5187,5190,5202, + 5199,5205,5196,5193,5184,5211,4919,5815,5370,5370, + 5370,4214,2356,4215,5829,1231,5656,4326,5370,3865, + 3842,3957,3934,5370,5389,399,3796,867,1005,5391, + 869,4122,993,5392,5390,833,5386,5387,5388,5370, + 5370,5370,4216,4539,1273,1417,3202,4931,8335,39, + 39,39,5023,5020,4748,2567,3819,3888,602,5342, + 3911,792,5636,5634,5643,5642,5638,5639,5637,5640, + 5641,5644,5635,1369,432,5370,452,5370,3428,295, + 1369,5370,5370,424,4257,4269,3865,3842,3957,3934, + 128,5389,5370,3796,867,1005,5391,869,4122,993, + 5392,5390,833,5386,5387,5388,5370,5370,5370,5370, + 1194,100,1417,103,99,3678,4434,378,5345,39, + 5023,5020,4748,2567,3819,3888,602,5342,3911,792, + 5636,5634,5643,5642,5638,5639,5637,5640,5641,5644, + 5635,5370,430,1,3674,2700,3132,3200,3411,1242, + 35,5370,453,2114,3865,3842,3957,3934,5252,5389, + 73,3796,867,1005,5391,869,4122,993,5392,5390, + 833,5386,5387,5388,4628,311,185,2162,5370,2075, + 1417,3234,1993,3601,2630,2502,5345,39,5023,5020, + 4748,2567,3819,3888,602,5374,3911,792,5636,5634, + 5643,5642,5638,5639,5637,5640,5641,5644,5635,280, + 5370,4265,5320,2810,5370,5314,5370,4525,526,3800, + 3537,4145,3865,3842,3957,3934,1,5389,5370,3796, + 867,1005,5391,869,4122,993,5392,5390,833,5386, + 5387,5388,224,1,4109,5370,1319,5370,5843,5837, + 4862,5370,5841,5636,5634,5643,5642,5638,5639,5637, + 5640,5641,5644,5635,5631,5710,5711,525,5625,5632, + 5628,5604,5630,5629,5626,5627,5605,5370,5835,5836, + 5866,5867,5370,5370,5370,5844,5370,4882,3290,5370, + 5370,5370,4532,4894,4185,2,632,5361,5846,5370, + 3327,5370,4634,5370,5370,5373,1053,5370,1907,1926, + 5370,5847,5868,5845,5370,3537,4334,5370,5370,5370, + 1,2032,5370,5370,5370,677,5370,575,5370,5370, + 5857,5856,5869,5370,5370,5838,5839,5862,5863,5860, + 5861,5840,5842,5864,5865,5370,5911,5370,5370,5870, + 37,5850,5851,5852,5848,5849,5858,5859,5854,5853, + 5855,39,5023,5020,4748,2567,3819,3888,602,3800, + 3911,792,5636,5634,5643,5642,5638,5639,5637,5640, + 5641,5644,5635,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,5370,3865,3842,3957,3934, + 5370,5389,5370,3796,867,1005,5391,869,4122,993, + 5392,5390,833,5386,5387,5388,5370,5370,5370,5370, + 5370,5370,1417,39,5023,5020,4748,2567,3819,3888, + 602,5370,3911,792,5636,5634,5643,5642,5638,5639, + 5637,5640,5641,5644,5635,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,5370,5370,5370,3865,3842, + 3957,3934,5370,5389,5370,3796,867,1005,5391,869, + 4122,993,5392,5390,833,5386,5387,5388,39,5023, + 5020,4748,2567,3819,3888,602,1813,3911,792,5636, + 5634,5643,5642,5638,5639,5637,5640,5641,5644,5635, + 5370,5370,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,3865,3842,3957,3934,5370,5389,5370, + 3796,867,1005,5391,869,4122,993,5392,5390,833, + 5386,5387,5388,5370,5370,5370,5370,5370,5370,1417, + 39,5023,5020,4824,2567,3819,3888,602,5370,3911, + 792,5636,5634,5643,5642,5638,5639,5637,5640,5641, + 5644,5635,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,3865,3842,3957,3934,5370, + 5389,5370,3796,867,1005,5391,869,4122,993,5392, + 5390,833,5386,5387,5388,39,5023,5020,4748,2567, + 3819,3888,602,5370,3911,792,5636,5634,5643,5642, + 5638,5639,5637,5640,5641,5644,5635,5370,5370,5370, + 5370,5370,5370,5370,5370,5370,5370,5370,5370,5370, + 3865,3842,3957,3934,5370,5389,5370,3796,867,1005, + 5391,869,4122,993,5392,5390,833,5386,5387,5388, + 39,5023,5020,4748,2567,3819,3888,602,5370,3911, + 792,5636,5634,5643,5642,5638,5639,5637,5640,5641, + 5644,5635,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,3865,3842,3957,3934,5370, + 5389,5370,3796,867,1005,5391,869,4122,993,5392, + 5390,833,5386,5387,5388,5370,5023,5020,5370,5408, + 5370,5370,5370,5370,5370,877,5636,5634,5643,5642, + 5638,5639,5637,5640,5641,5644,5635,5631,5710,5711, + 5370,5625,5632,5628,5604,5630,5629,5626,5627,5605, + 5370,5370,5370,5370,5772,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,242,5138,5134,5370,5142,5370, + 5370,1397,5773,5774,877,5125,5131,5104,5107,5119, + 5116,5122,5113,5110,5101,5128,5080,5074,5071,5370, + 5098,5077,5089,5068,5083,5086,5095,5092,5065,5370, + 127,5370,5370,5772,29,391,391,5249,391,391, + 5249,391,5249,5249,5370,5370,5370,5370,5370,5370, + 1397,5773,5774,5370,5370,5370,391,391,391,5249, + 391,391,391,391,391,391,391,391,391,5370, + 5370,5370,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,2700,5370,5370,5370,5029, + 5370,5370,5370,5370,5370,5370,5370,5249,5255,5370, + 5370,5370,5370,5370,5370,5370,5370,5249,32,392, + 392,5246,392,392,5246,392,5246,5246,5370,5370, + 5370,5370,5370,5370,2630,2502,5370,5370,5370,5370, + 392,392,392,5246,392,392,392,392,392,392, + 392,392,392,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5370,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5246,5370,5370,5370,5370,5370,5370,5370,5370, + 5370,5246 }; }; public final static char termAction[] = TermAction.termAction; @@ -1777,61 +1798,61 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface Asb { public final static char asb[] = {0, - 423,602,685,242,242,444,599,599,444,92, - 92,822,665,92,812,50,444,381,674,674, - 294,1,2,229,229,420,983,983,52,983, - 420,287,11,957,885,896,616,896,534,896, - 528,896,880,896,959,420,957,13,242,733, - 685,685,685,685,959,733,365,289,382,382, - 382,382,382,382,382,382,382,986,992,997, - 994,1001,999,1006,1004,1008,1007,1009,542,1010, - 381,381,334,1024,17,17,685,983,170,170, - 980,334,809,983,983,170,420,961,1073,809, - 809,15,665,420,590,428,536,472,537,959, - 420,420,473,812,15,599,365,92,92,92, - 92,420,768,809,809,365,832,91,1073,365, - 986,658,658,768,381,382,382,382,382,382, - 382,382,382,382,382,382,382,382,382,382, - 382,382,382,382,381,381,381,381,381,381, - 381,381,381,381,381,381,382,17,17,170, - 170,957,334,334,170,1072,418,809,7,676, - 420,591,978,976,428,420,615,687,681,473, - 616,523,420,473,420,417,809,809,823,823, - 823,823,473,809,381,382,692,699,903,903, - 959,289,334,91,381,809,417,419,417,809, - 334,994,994,992,992,992,999,999,999,999, - 997,997,1004,1001,1001,1007,1006,1008,973,1009, - 809,809,823,822,823,980,823,961,420,593, - 735,1072,591,976,829,420,428,973,537,685, - 475,222,963,428,615,682,615,615,473,523, - 523,420,420,420,733,733,733,733,420,420, - 381,420,1073,382,92,990,124,809,419,1073, - 381,593,604,365,1072,593,976,976,1073,616, - 616,823,685,417,614,965,414,733,615,615, - 615,615,420,523,829,827,828,381,381,381, - 381,733,733,473,418,809,990,957,961,420, - 418,593,604,595,975,976,418,619,616,478, - 444,418,615,615,414,1029,382,973,165,161, - 957,615,615,1079,829,382,420,809,809,809, - 809,768,768,420,990,991,990,381,124,227, - 986,961,595,606,595,976,1030,619,619,872, - 1033,582,733,537,515,444,418,615,616,959, - 965,382,382,414,874,119,1080,420,809,809, - 938,990,768,382,334,227,595,606,733,829, - 619,619,477,582,872,238,959,822,1030,616, - 345,874,420,733,1079,420,959,959,420,991, - 809,334,18,829,478,619,1030,164,1029,809, - 959,420,478,825,346,959,420,768,420,420, - 420,677,619,381,250,414,1030,420,420,825, - 345,973,382,973,1030,344,733,733,733,346, - 733,420,549,1030,1030,420,616,809,420,420, - 92,829,809,829,616,420,1030,337,733,337, - 346,973,346,365,365,363,878,365,1030,1030, - 168,825,829,250,1030,735,346,809,414,809, - 363,582,733,809,825,250,809,809,951,346, - 168,346,1030,582,381,346,343,828,616,616, - 953,381,344,768,1030,809,1028,249,346,809, - 1030,1028,1028,346 + 1,603,609,119,119,555,600,600,555,87, + 87,801,623,87,791,45,555,360,632,632, + 273,217,218,402,402,399,930,930,47,930, + 399,210,6,785,713,724,816,724,531,724, + 474,724,708,724,787,399,785,8,119,673, + 609,609,609,609,787,673,344,212,361,361, + 361,361,361,361,361,361,361,933,939,944, + 941,948,946,953,951,955,954,956,480,957, + 360,360,313,971,12,12,609,930,415,415, + 927,313,914,930,930,415,399,789,1080,914, + 914,10,623,399,528,539,533,583,534,787, + 399,399,584,791,10,600,344,87,87,87, + 87,399,873,914,914,344,986,86,1080,344, + 933,866,866,873,360,361,361,361,361,361, + 361,361,361,361,361,361,361,361,361,361, + 361,361,361,361,360,360,360,360,360,360, + 360,360,360,360,360,360,361,12,12,415, + 415,785,313,313,415,1079,397,914,223,634, + 399,529,925,923,539,399,815,611,605,584, + 816,588,399,584,399,396,914,914,802,802, + 802,802,584,914,360,361,616,639,731,731, + 787,212,313,86,360,914,396,398,396,914, + 313,941,941,939,939,939,946,946,946,946, + 944,944,951,948,948,954,953,955,1038,956, + 914,914,802,801,802,927,802,789,399,594, + 675,1079,529,923,591,399,539,1038,534,609, + 586,467,1028,539,815,606,815,815,584,588, + 588,399,399,399,673,673,673,673,399,399, + 360,399,1080,361,87,937,227,914,398,1080, + 360,594,804,344,1079,594,923,923,1080,816, + 816,802,609,396,814,1030,393,673,815,815, + 815,815,399,588,590,917,590,360,360,360, + 360,673,673,584,397,914,937,785,789,399, + 397,594,804,596,922,923,397,827,816,127, + 555,397,815,815,393,976,361,1038,268,264, + 785,815,815,819,590,591,361,399,914,914, + 914,914,873,873,399,937,938,937,360,227, + 472,933,789,596,806,596,923,977,827,827, + 1026,1040,520,673,534,164,555,397,815,816, + 787,1030,361,361,393,980,114,820,399,591, + 914,914,766,937,873,361,313,472,596,806, + 673,591,827,827,126,520,1026,411,787,801, + 977,816,324,980,399,673,819,399,787,787, + 399,938,914,313,13,591,127,827,977,267, + 976,914,787,399,127,984,325,787,399,873, + 399,399,399,635,827,360,173,393,977,399, + 399,984,324,1038,361,1038,977,323,673,673, + 673,325,673,399,487,977,977,399,816,914, + 399,399,87,591,914,591,816,399,977,316, + 673,316,325,1038,325,344,344,342,323,344, + 977,977,271,322,591,173,977,675,325,914, + 393,914,342,520,673,914,984,173,914,914, + 779,325,271,325,977,520,360,325,322,590, + 816,816,781,360,323,873,977,914,975,172, + 325,914,977,975,975,325 }; }; public final static char asb[] = Asb.asb; @@ -1839,115 +1860,115 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface Asr { public final static byte asr[] = {0, - 3,68,69,70,120,63,8,73,90,0, - 5,7,3,63,6,9,90,26,11,12, + 39,10,41,60,0,5,7,3,63,6, + 9,90,26,11,12,23,13,56,27,28, + 14,29,30,15,16,31,32,17,18,33, + 57,34,10,58,19,22,20,24,21,1, + 2,4,73,8,39,0,66,65,35,36, + 6,92,93,98,9,99,5,42,70,55, + 68,111,112,108,109,110,116,115,117,88, + 87,113,114,96,97,94,95,100,101,37, + 38,69,89,106,63,3,26,11,12,39, 23,13,56,27,28,14,29,30,15,16, 31,32,17,18,33,57,34,10,58,19, - 22,20,24,21,1,2,4,73,8,39, - 0,66,65,35,36,6,92,93,98,9, - 99,5,42,69,55,68,110,111,107,108, - 109,115,114,116,88,87,112,113,96,97, - 94,95,100,101,37,38,70,89,105,63, - 3,26,11,12,39,23,13,56,27,28, - 14,29,30,15,16,31,32,17,18,33, - 57,34,10,58,19,20,24,21,1,2, - 4,22,0,91,89,35,36,92,93,87, - 88,68,94,95,96,97,98,99,100,101, - 106,90,107,108,109,110,111,112,113,114, - 115,116,117,73,71,1,2,4,9,6, - 72,63,55,3,8,70,25,69,0,26, - 11,12,39,23,43,65,13,44,56,27, - 28,45,14,29,30,15,16,31,66,32, - 46,17,18,47,33,48,57,49,61,50, - 34,51,58,19,22,20,24,21,52,53, - 54,40,3,37,38,9,6,35,36,42, - 68,7,1,2,4,10,5,0,74,3, - 68,72,90,70,73,25,63,8,67,69, - 0,68,69,70,120,1,2,0,71,61, - 37,38,9,6,35,36,42,47,3,4, - 52,53,54,40,50,45,49,12,21,11, - 17,15,16,18,19,14,13,20,10,44, - 48,46,43,51,67,8,7,5,1,2, - 66,65,0,65,66,3,10,44,48,46, - 43,51,12,21,11,17,15,16,18,19, - 14,13,20,52,53,54,40,50,45,49, - 5,7,4,37,38,9,6,35,36,42, - 47,1,2,117,8,0,86,102,103,104, - 41,72,118,121,71,60,74,62,59,64, - 76,78,84,82,75,80,81,83,85,67, - 77,79,25,8,26,39,23,56,27,28, - 29,30,31,32,33,57,34,58,22,24, - 61,65,66,10,44,48,46,43,51,12, - 21,11,17,15,16,18,19,14,13,20, - 52,53,54,40,50,45,49,37,38,35, - 36,42,47,9,6,3,4,7,5,1, - 2,0,39,10,41,60,0,86,59,7, - 102,103,104,62,8,3,9,6,5,72, - 71,25,60,26,11,12,39,23,13,56, - 27,28,14,29,30,15,16,31,32,17, - 18,33,57,34,10,58,19,22,20,24, - 21,4,1,2,41,0,67,39,23,13, - 56,27,14,29,30,15,16,31,32,17, - 18,33,57,34,58,19,22,20,24,21, - 12,11,26,8,3,9,6,25,62,64, - 86,28,60,41,7,1,2,5,4,10, - 59,0,1,2,8,71,0,4,8,67, - 1,2,0,41,4,72,1,2,67,8, - 0,68,72,90,70,117,73,71,11,12, - 43,65,13,44,45,14,15,16,66,46, - 17,18,47,48,49,61,50,51,10,19, - 20,21,52,53,54,40,37,38,35,36, - 42,8,25,5,7,1,2,4,3,9, - 6,0,23,24,61,8,90,73,68,70, - 69,120,0,23,24,61,3,68,90,69, - 70,73,25,74,72,67,8,0,64,26, - 11,12,39,23,13,56,27,86,28,14, - 29,30,15,16,31,59,32,17,18,33, - 57,34,10,58,19,62,22,20,24,21, - 8,3,9,6,71,25,60,7,4,41, - 5,1,2,0,9,6,3,7,5,63, - 4,1,2,68,69,90,73,8,70,0, - 4,8,72,67,55,0,4,8,72,67, - 0,8,72,117,73,25,70,0,26,11, + 20,24,21,1,2,4,22,0,68,70, + 69,120,1,2,0,67,39,23,13,56, + 27,14,29,30,15,16,31,32,17,18, + 33,57,34,58,19,22,20,24,21,12, + 11,26,8,3,9,6,25,62,64,86, + 28,60,41,7,1,2,5,4,10,59, + 0,71,61,37,38,9,6,35,36,42, + 47,3,4,52,53,54,40,50,45,49, + 12,21,11,17,15,16,18,19,14,13, + 20,10,44,48,46,43,51,67,8,7, + 5,1,2,66,65,0,3,68,70,69, + 120,63,8,73,90,0,91,89,35,36, + 92,93,87,88,68,94,95,96,97,98, + 99,100,101,107,90,108,109,110,111,112, + 113,114,115,116,117,118,73,71,1,2, + 4,9,6,72,63,55,3,8,69,25, + 70,0,65,66,3,10,44,48,46,43, + 51,12,21,11,17,15,16,18,19,14, + 13,20,52,53,54,40,50,45,49,5, + 7,4,37,38,9,6,35,36,42,47, + 1,2,118,8,0,86,103,104,105,41, + 72,102,121,71,60,74,62,59,64,76, + 78,84,82,75,80,81,83,85,67,77, + 79,25,8,26,39,23,56,27,28,29, + 30,31,32,33,57,34,58,22,24,61, + 65,66,10,44,48,46,43,51,12,21, + 11,17,15,16,18,19,14,13,20,52, + 53,54,40,50,45,49,37,38,35,36, + 42,47,9,6,3,4,7,5,1,2, + 0,74,3,68,72,90,69,73,25,63, + 8,67,70,0,26,11,12,39,23,43, + 65,13,44,56,27,28,45,14,29,30, + 15,16,31,66,32,46,17,18,47,33, + 48,57,49,61,50,34,51,58,19,22, + 20,24,21,52,53,54,40,3,37,38, + 9,6,35,36,42,68,7,1,2,4, + 10,5,0,4,8,67,1,2,0,68, + 72,90,69,118,73,71,11,12,43,65, + 13,44,45,14,15,16,66,46,17,18, + 47,48,49,61,50,51,10,19,20,21, + 52,53,54,40,37,38,35,36,42,8, + 25,5,7,1,2,4,3,9,6,0, + 41,4,72,1,2,67,8,0,86,59, + 7,103,104,105,62,8,3,9,6,5, + 72,71,25,60,26,11,12,39,23,13, + 56,27,28,14,29,30,15,16,31,32, + 17,18,33,57,34,10,58,19,22,20, + 24,21,4,1,2,41,0,1,2,69, + 71,8,0,23,24,61,8,90,73,68, + 69,70,120,0,4,8,72,67,55,0, + 4,8,72,67,0,8,72,118,73,25, + 69,0,9,6,3,7,5,63,4,1, + 2,68,70,90,73,8,69,0,26,11, 12,23,13,27,28,14,29,30,15,16, 31,7,32,17,18,33,34,19,22,20, 24,21,1,2,8,63,9,6,5,4, 73,25,3,0,26,11,12,39,23,13, 56,27,28,14,29,30,15,16,31,32, 17,18,33,57,34,10,58,19,22,20, - 24,21,1,2,4,90,0,11,12,43, - 65,13,44,45,14,15,16,66,7,46, - 17,18,47,48,49,61,50,51,10,19, - 20,21,52,53,54,40,1,2,3,37, - 38,9,6,35,36,5,42,4,73,8, - 0,8,73,120,1,2,9,6,4,3, - 63,70,68,0,118,0,69,70,71,8, - 0,65,66,37,38,9,6,35,36,5, - 42,47,3,4,7,52,53,54,50,45, - 49,12,21,11,17,15,16,18,19,14, - 13,20,10,44,48,46,43,51,63,1, - 2,40,0,8,67,70,0,75,0,10, - 56,39,57,58,12,21,11,17,15,16, - 18,19,14,13,20,74,72,90,117,71, - 67,120,119,91,105,89,37,38,35,36, - 92,93,87,88,55,68,94,95,96,97, - 98,99,100,101,106,69,107,108,109,110, - 111,112,113,114,115,116,70,26,23,27, - 28,29,30,31,32,33,34,22,24,25, - 8,73,3,63,7,5,9,6,1,2, - 4,0,25,8,3,7,5,9,6,4, - 1,2,72,0,61,23,24,7,5,1, - 2,4,74,67,120,119,105,37,38,63, - 3,91,89,6,92,93,35,36,88,87, - 55,94,95,96,97,9,98,99,100,68, - 90,73,69,107,108,109,110,111,112,113, - 114,115,116,72,117,101,106,71,70,25, - 8,0,39,23,13,56,27,14,29,30, - 15,16,31,32,17,18,33,57,34,10, - 58,19,22,20,24,21,12,11,26,8, - 3,9,25,62,59,64,86,28,60,55, - 4,6,7,5,41,1,2,0,22,1, - 2,4,102,103,104,0 + 24,21,1,2,4,90,0,10,56,39, + 57,58,12,21,11,17,15,16,18,19, + 14,13,20,74,72,90,118,71,67,120, + 119,91,106,89,37,38,35,36,92,93, + 87,88,55,68,94,95,96,97,98,99, + 100,101,107,70,108,109,110,111,112,113, + 114,115,116,117,69,26,23,27,28,29, + 30,31,32,33,34,22,24,25,8,73, + 3,63,7,5,9,6,1,2,4,0, + 8,73,120,1,2,9,6,4,3,63, + 69,68,0,23,24,61,3,68,90,70, + 69,73,25,74,72,67,8,0,22,1, + 2,4,103,104,105,0,64,26,11,12, + 39,23,13,56,27,86,28,14,29,30, + 15,16,31,59,32,17,18,33,57,34, + 10,58,19,62,22,20,24,21,8,3, + 9,6,71,25,60,7,4,41,5,1, + 2,0,11,12,43,65,13,44,45,14, + 15,16,66,7,46,17,18,47,48,49, + 61,50,51,10,19,20,21,52,53,54, + 40,1,2,3,37,38,9,6,35,36, + 5,42,4,73,8,0,8,69,71,70, + 0,61,23,24,7,5,1,2,4,74, + 67,120,119,106,37,38,63,3,91,89, + 6,92,93,35,36,88,87,55,94,95, + 96,97,9,98,99,100,68,90,73,70, + 108,109,110,111,112,113,114,115,116,117, + 72,118,101,107,71,69,25,8,0,8, + 67,69,0,102,0,65,66,37,38,9, + 6,35,36,5,42,47,3,4,7,52, + 53,54,50,45,49,12,21,11,17,15, + 16,18,19,14,13,20,10,44,48,46, + 43,51,63,1,2,40,0,25,8,3, + 7,5,9,6,4,1,2,72,0,39, + 23,13,56,27,14,29,30,15,16,31, + 32,17,18,33,57,34,10,58,19,22, + 20,24,21,12,11,26,8,3,9,25, + 62,59,64,86,28,60,55,4,6,7, + 5,41,1,2,0 }; }; public final static byte asr[] = Asr.asr; @@ -1955,61 +1976,61 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface Nasb { public final static char nasb[] = {0, - 101,12,12,77,77,257,12,12,142,48, - 48,12,21,5,168,12,142,84,12,12, - 90,18,18,18,18,229,12,12,30,12, - 215,190,20,150,243,244,179,244,112,244, - 109,244,237,12,10,215,150,167,77,12, - 12,12,12,12,28,12,127,215,84,84, - 225,84,84,84,84,84,84,12,12,12, - 12,12,12,12,12,12,12,12,84,12, - 84,84,95,12,257,257,12,12,257,257, - 36,95,220,12,12,257,11,12,41,220, - 220,139,184,215,12,257,211,28,15,28, - 215,11,12,196,139,12,127,48,48,48, - 48,215,181,220,220,1,84,13,41,127, - 12,60,60,181,162,84,84,84,84,84, - 84,84,84,84,84,84,84,84,84,84, - 84,84,84,84,84,84,84,84,84,84, - 84,84,84,84,84,162,84,142,142,43, - 43,150,95,95,43,51,190,220,12,12, - 215,152,152,152,259,212,137,137,12,271, - 179,257,271,57,212,189,220,220,12,12, - 12,12,40,220,84,84,12,12,12,12, - 10,215,95,48,115,220,189,215,189,220, - 95,12,12,12,12,12,12,12,12,12, + 13,12,12,39,39,258,12,12,151,46, + 46,12,21,5,211,12,151,72,12,12, + 85,80,80,80,80,240,12,12,30,12, + 222,144,20,134,160,161,188,161,110,161, + 99,161,154,12,10,222,134,210,39,12, + 12,12,12,12,28,12,280,222,72,72, + 236,72,72,72,72,72,72,12,12,12, + 12,12,12,12,12,12,12,12,72,12, + 72,72,90,12,258,258,12,12,258,258, + 49,90,165,12,12,258,11,12,181,165, + 165,148,138,222,12,258,232,28,17,28, + 222,11,12,201,148,12,280,46,46,46, + 46,222,215,165,165,1,72,92,181,280, + 12,58,58,215,172,72,72,72,72,72, + 72,72,72,72,72,72,72,72,72,72, + 72,72,72,72,72,72,72,72,72,72, + 72,72,72,72,72,172,72,151,151,41, + 41,134,90,90,41,54,144,165,12,12, + 222,136,136,136,265,233,64,64,12,277, + 188,258,277,66,233,143,165,165,12,12, + 12,12,180,165,72,72,12,12,12,12, + 10,222,90,46,102,165,143,222,143,165, + 90,12,12,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12, - 220,220,12,12,12,198,12,12,11,257, - 142,154,12,257,132,215,125,12,69,12, - 12,99,251,259,137,137,257,257,57,257, - 230,11,212,215,12,12,12,12,212,11, - 84,215,41,84,48,257,66,220,202,41, - 84,257,257,43,51,165,152,165,41,179, - 135,12,12,28,257,145,23,12,257,257, - 157,157,212,230,132,12,12,162,162,162, - 162,12,12,39,212,220,34,198,12,229, - 212,165,165,257,165,257,190,257,179,246, - 257,271,257,194,186,125,84,12,79,12, - 150,157,157,274,132,84,230,220,220,220, - 220,181,181,212,257,172,12,162,198,203, - 12,12,257,257,107,165,125,232,257,12, - 246,252,12,134,99,142,190,194,120,205, - 23,84,84,186,12,28,209,271,220,220, - 12,34,181,84,95,203,107,107,12,132, - 246,232,178,145,12,12,28,12,125,120, - 131,12,271,12,103,271,28,28,11,172, - 220,95,218,132,246,257,125,55,12,220, - 28,271,246,257,159,205,11,181,11,271, - 271,220,232,115,82,23,125,271,70,118, - 174,12,84,12,125,12,12,12,12,175, - 12,230,123,125,125,230,72,220,11,11, - 48,132,220,257,179,70,125,97,12,12, - 175,12,175,282,282,266,12,282,125,125, - 12,257,132,257,125,48,175,220,23,220, - 278,257,12,220,118,82,220,220,257,175, - 12,175,125,23,162,175,97,132,72,72, - 21,84,12,222,125,220,75,81,175,220, - 125,75,12,175 + 165,165,12,12,12,203,12,12,11,258, + 151,123,12,258,127,222,177,12,207,12, + 12,52,252,265,64,64,258,258,66,258, + 241,11,233,222,12,12,12,12,233,11, + 72,222,181,72,46,258,82,165,194,181, + 72,258,258,41,54,113,136,113,181,188, + 230,12,12,28,258,129,23,12,258,258, + 121,121,233,241,115,12,12,172,172,172, + 172,12,12,179,233,165,34,203,12,240, + 233,113,113,258,113,258,144,258,188,260, + 258,277,258,108,140,177,72,12,78,12, + 134,121,121,197,115,127,72,241,165,165, + 165,165,215,215,233,258,190,12,172,203, + 195,12,12,258,258,117,113,177,243,258, + 12,260,253,12,229,52,151,144,108,96, + 218,23,72,72,140,12,28,192,277,127, + 165,165,12,34,215,72,90,195,117,117, + 12,127,260,243,187,129,12,12,28,12, + 177,96,126,12,277,12,248,277,28,28, + 11,190,165,90,163,127,260,258,177,167, + 12,165,28,277,260,258,169,218,11,215, + 11,277,277,165,243,102,70,23,177,277, + 208,15,183,12,72,12,177,12,12,12, + 12,184,12,241,175,177,177,241,105,165, + 11,11,46,127,165,258,188,208,177,94, + 12,12,184,12,184,284,284,272,12,284, + 177,177,12,258,127,258,177,46,184,165, + 23,165,225,258,12,165,15,70,165,165, + 258,184,12,184,177,23,172,184,94,127, + 105,105,21,72,12,36,177,165,119,69, + 184,165,177,119,12,184 }; }; public final static char nasb[] = Nasb.nasb; @@ -2017,35 +2038,35 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,152,150,120,149,148,5, - 2,0,175,0,42,1,0,75,0,32, - 93,92,64,2,9,10,4,5,0,4, - 45,196,0,143,0,4,195,0,2,136, - 65,0,5,10,9,2,13,4,45,0, - 65,138,137,0,184,0,2,65,0,5, - 2,9,10,139,0,4,177,0,122,102, - 0,42,56,0,162,0,106,0,191,0, - 67,130,42,5,10,9,2,13,0,13, - 2,9,10,5,81,0,112,0,156,0, - 174,0,5,100,168,0,126,0,153,183, - 0,153,188,0,4,30,0,161,0,42, - 160,0,4,39,38,0,4,45,39,0, - 4,67,0,1,122,0,107,0,49,5, - 88,4,22,0,4,10,9,2,64,5, - 88,49,0,65,49,0,108,0,48,42, - 179,4,39,0,62,0,32,92,93,4, - 0,141,0,67,39,48,68,4,42,0, - 4,95,0,93,92,49,64,58,5,10, - 9,2,0,159,0,93,92,49,5,58, - 0,2,114,0,172,5,171,0,193,0, - 44,2,3,0,44,2,0,45,4,32, - 0,4,178,0,5,10,9,13,3,1, - 0,115,4,48,80,0,2,5,120,116, - 117,118,13,85,0,4,48,80,82,0, - 38,5,2,9,10,158,4,0,4,48, - 80,100,46,5,0,39,4,22,181,0, - 2,57,0,5,100,192,0,45,4,180, - 0,4,45,101,0 + 3,13,10,9,153,151,121,150,149,5, + 2,0,176,0,163,0,43,1,0,33, + 94,93,65,2,9,10,4,5,0,4, + 46,198,0,144,0,4,180,0,107,0, + 5,10,9,2,13,4,46,0,4,197, + 0,158,0,66,139,138,0,5,2,9, + 10,140,0,108,0,2,66,0,68,131, + 43,5,10,9,2,13,0,193,0,76, + 0,4,179,0,13,2,9,10,5,82, + 0,177,0,113,0,43,162,0,154,185, + 0,4,31,0,43,57,0,161,0,154, + 190,0,63,0,155,0,127,0,164,0, + 109,0,66,50,0,4,68,0,4,10, + 9,2,65,5,89,50,0,94,93,50, + 65,59,5,10,9,2,0,50,5,89, + 4,23,0,2,5,121,117,118,119,13, + 86,0,46,4,33,0,186,0,49,43, + 181,4,40,0,4,40,39,0,2,137, + 66,0,68,40,49,69,4,43,0,142, + 0,195,0,2,115,0,5,101,194,0, + 94,93,50,5,59,0,123,103,0,33, + 93,94,4,0,4,96,0,174,5,173, + 0,45,2,0,46,4,182,0,1,123, + 0,45,2,3,0,5,10,9,13,3, + 1,0,116,4,49,81,0,5,101,170, + 0,39,5,2,9,10,160,4,0,4, + 49,81,83,0,4,49,81,101,47,5, + 0,40,4,23,183,0,2,58,0,4, + 46,40,0,4,46,102,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2059,12 +2080,12 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par 76,83,89,98,11,12,7,8,53,112, 93,14,55,61,67,84,88,90,94,97, 99,109,110,111,19,63,91,101,77,122, - 95,103,1,46,58,78,121,20,33,44, + 95,103,1,46,58,78,121,20,44,33, 119,30,118,96,108,49,50,56,57,59, 69,71,72,85,92,65,17,18,6,32, 4,15,16,21,22,23,24,25,26,27, - 28,80,81,82,5,29,34,35,36,37, - 38,39,40,41,42,43,117,51,3,123, + 28,51,80,81,82,5,29,34,35,36, + 37,38,39,40,41,42,43,117,3,123, 62,116 }; }; @@ -2074,26 +2095,26 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, 130,135,136,0,0,134,0,0,229,235, - 133,0,143,132,0,0,142,148,0,0, - 149,180,158,159,160,161,162,163,164,151, - 165,126,166,141,167,168,0,128,131,169, - 0,129,138,137,152,177,0,0,0,0, - 0,0,0,0,145,172,0,155,0,204, - 0,187,201,205,0,0,127,171,0,0, - 0,0,0,0,206,175,0,0,0,0, - 125,178,0,0,186,0,0,202,212,157, - 208,209,210,0,0,146,0,0,207,220, - 174,196,0,0,211,0,0,0,0,0, - 240,241,0,147,179,189,190,191,192,193, - 195,0,198,0,199,0,214,217,0,0, - 219,0,238,239,0,0,139,140,144,0, - 0,154,156,0,170,0,181,182,183,184, - 185,188,0,0,194,0,197,203,0,215, - 216,0,0,221,224,0,226,228,0,232, - 233,234,237,124,0,150,153,0,173,0, - 176,0,0,200,213,218,0,0,222,223, - 225,227,0,230,231,236,242,243,0,0, - 0,0 + 133,0,143,0,132,0,0,142,148,0, + 0,149,180,158,159,160,161,162,163,164, + 151,165,126,166,141,167,168,0,128,131, + 169,0,129,138,137,152,177,0,0,0, + 0,0,0,0,0,145,172,0,155,0, + 204,0,187,201,205,0,0,127,171,0, + 0,0,0,0,0,206,175,0,0,0, + 0,125,178,0,0,186,0,0,202,212, + 157,208,209,210,0,0,146,0,0,207, + 220,174,196,0,0,211,0,0,0,0, + 0,240,241,0,147,179,189,190,191,192, + 193,195,0,198,0,199,0,214,217,0, + 0,219,0,238,239,0,0,139,140,144, + 0,0,154,156,0,170,0,181,182,183, + 184,185,188,0,0,0,194,0,197,203, + 0,215,216,0,0,221,224,0,226,228, + 0,232,233,234,237,124,0,150,153,0, + 173,0,176,0,0,200,213,218,0,0, + 222,223,225,227,0,230,231,236,242,243, + 0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2101,18 +2122,18 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopePrefix { public final static char scopePrefix[] = { - 159,587,606,304,311,538,554,565,576,370, - 267,281,298,318,331,42,292,390,428,167, - 595,481,20,51,71,80,85,90,130,195, - 324,339,344,144,273,287,509,27,144,380, - 344,614,27,217,246,1,14,61,76,106, - 349,359,363,446,474,503,530,534,624,628, - 632,97,7,97,408,424,437,458,522,116, - 116,232,437,545,561,572,583,207,492,56, + 159,311,589,608,304,319,540,556,567,578, + 372,267,281,298,333,42,292,392,430,167, + 597,483,20,51,71,80,85,90,130,195, + 326,341,346,144,273,287,511,27,144,382, + 346,616,27,217,246,1,14,61,76,106, + 351,361,365,448,476,505,532,536,626,630, + 634,97,7,97,410,426,439,460,524,116, + 116,232,439,547,563,574,585,207,494,56, 56,156,222,225,56,241,262,225,225,56, - 367,471,478,156,56,647,110,353,412,452, - 465,56,353,399,177,104,450,636,643,636, - 643,65,418,137,104,104,251 + 369,473,480,156,56,649,110,355,414,454, + 467,56,355,401,177,104,452,638,645,638, + 645,65,420,137,104,104,251 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2120,18 +2141,18 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeSuffix { public final static char scopeSuffix[] = { - 18,5,5,135,135,5,5,5,5,377, - 135,95,135,135,337,48,278,396,434,173, - 67,487,25,25,25,59,59,95,135,200, - 329,329,337,149,278,101,514,38,152,385, - 601,619,32,211,211,5,18,5,59,95, - 329,95,95,135,244,5,5,5,5,5, - 244,645,11,101,377,377,377,462,514,120, - 125,236,441,549,549,549,549,211,496,59, + 18,135,5,5,135,135,5,5,5,5, + 379,135,95,135,339,48,278,398,436,173, + 67,489,25,25,25,59,59,95,135,200, + 331,331,339,149,278,101,516,38,152,387, + 603,621,32,211,211,5,18,5,59,95, + 331,95,95,135,244,5,5,5,5,5, + 244,647,11,101,379,379,379,464,516,120, + 125,236,443,551,551,551,551,211,498,59, 59,5,5,228,230,244,5,265,265,230, - 95,5,244,5,507,5,113,356,415,455, - 468,526,517,402,180,95,95,638,638,640, - 640,67,420,139,202,187,253 + 95,5,244,5,509,5,113,358,417,457, + 470,528,519,404,180,95,95,640,640,642, + 642,67,422,139,202,187,253 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2139,18 +2160,18 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeLhs { public final static char scopeLhs[] = { - 46,17,17,79,118,17,17,17,17,71, - 84,47,79,118,117,77,53,71,70,46, - 17,19,3,7,8,168,168,164,116,46, - 117,117,119,129,54,47,139,110,129,71, - 17,17,110,94,59,135,74,171,168,164, - 119,182,51,56,143,18,17,17,17,17, - 17,12,112,164,71,70,70,37,139,131, - 131,58,70,17,17,17,17,94,19,172, - 168,184,92,99,61,75,60,158,76,119, - 72,144,143,175,139,16,164,119,101,69, - 21,139,139,71,46,164,66,137,44,137, - 44,171,101,116,46,46,59 + 47,119,18,18,80,119,18,18,18,18, + 72,85,48,80,118,78,54,72,71,47, + 18,20,3,7,8,170,170,166,117,47, + 118,118,120,130,55,48,140,111,130,72, + 18,18,111,95,60,136,75,173,170,166, + 120,184,52,57,144,19,18,18,18,18, + 18,12,113,166,72,71,71,38,140,132, + 132,59,71,18,18,18,18,95,20,174, + 170,186,93,100,62,76,61,160,77,120, + 73,145,144,177,140,17,166,120,102,70, + 22,140,140,72,47,166,67,138,45,138, + 45,173,102,117,47,47,60 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2158,16 +2179,16 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeLa { public final static byte scopeLa[] = { - 118,73,73,71,71,73,73,73,73,73, - 71,25,71,71,1,68,1,73,121,67, + 102,71,73,73,71,71,73,73,73,73, + 73,71,25,71,1,68,1,73,121,67, 3,73,68,68,68,1,1,25,71,67, - 1,1,1,71,1,1,4,68,70,25, - 1,1,68,73,73,73,118,73,1,25, - 1,25,25,71,117,73,73,73,73,73, - 117,1,73,1,73,73,73,72,4,1, + 1,1,1,71,1,1,4,68,69,25, + 1,1,68,73,73,73,102,73,1,25, + 1,25,25,71,118,73,73,73,73,73, + 118,1,73,1,73,73,73,72,4,1, 1,6,73,68,68,68,68,73,3,1, - 1,73,73,3,1,117,73,1,1,1, - 25,73,117,73,5,73,1,41,69,72, + 1,73,73,3,1,118,73,1,1,1, + 25,73,118,73,5,73,1,41,70,72, 73,1,41,75,74,25,25,4,4,4, 4,3,1,67,1,1,3 }; @@ -2177,8 +2198,8 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeStateSet { public final static char scopeStateSet[] = { - 65,234,234,87,146,234,234,234,234,75, - 89,65,87,146,146,87,67,75,75,65, + 65,146,234,234,87,146,234,234,234,234, + 75,89,65,87,146,87,67,75,75,65, 234,234,166,210,210,53,53,62,146,65, 146,146,146,297,67,65,101,313,297,75, 234,234,313,305,150,46,75,26,53,62, @@ -2196,71 +2217,72 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeRhs { public final static char scopeRhs[] = {0, - 320,3,61,0,126,0,319,3,118,0, - 126,172,0,126,178,74,0,216,0,254, - 126,55,124,0,20,0,295,126,55,41, + 322,3,61,0,126,0,321,3,102,0, + 126,172,0,126,179,74,0,216,0,255, + 126,55,124,0,20,0,297,126,55,41, 0,20,53,0,33,132,0,20,53,0, - 0,295,126,55,41,202,0,20,178,0, - 254,126,55,132,0,179,127,0,141,0, - 217,3,294,0,294,0,2,0,126,0, - 254,126,55,131,0,179,127,222,0,179, - 127,22,222,0,179,127,315,22,0,128, - 187,166,127,0,128,0,187,166,127,0, - 134,128,0,170,0,311,126,170,0,126, - 170,0,222,128,0,166,310,242,0,136, - 0,0,0,0,135,0,0,0,0,309, - 126,164,253,0,127,0,253,0,129,0, - 0,127,0,308,126,164,252,0,127,0, - 0,44,127,0,0,152,3,0,126,282, - 281,126,74,280,170,0,281,126,74,280, - 170,0,215,0,216,0,280,170,0,96, + 0,297,126,55,41,203,0,20,178,0, + 255,126,55,132,0,180,127,0,141,0, + 218,3,296,0,296,0,2,0,126,0, + 255,126,55,131,0,180,127,223,0,180, + 127,22,223,0,180,127,317,22,0,128, + 188,167,127,0,128,0,188,167,127,0, + 134,128,0,171,0,313,126,171,0,126, + 171,0,222,128,0,167,312,243,0,136, + 0,0,0,0,135,0,0,0,0,311, + 126,165,254,0,127,0,254,0,129,0, + 0,127,0,310,126,165,253,0,127,0, + 0,44,127,0,0,153,3,0,126,284, + 283,126,74,282,171,0,283,126,74,282, + 171,0,215,0,216,0,282,171,0,96, 0,0,215,0,216,0,203,96,0,0, - 215,0,216,0,281,126,280,170,0,215, - 0,203,0,0,215,0,225,126,3,0, - 126,0,0,0,0,0,225,126,3,214, - 0,221,3,0,210,126,0,208,0,146, - 0,171,166,127,0,10,0,0,0,0, - 212,63,0,125,0,225,126,3,182,0, - 182,0,2,0,0,126,0,0,0,0, - 0,198,3,0,201,0,235,126,164,40, - 28,0,179,127,59,62,0,196,128,0, - 128,179,127,278,62,0,179,127,278,62, - 0,179,127,69,123,59,0,235,126,164, - 244,59,0,235,126,164,244,224,59,0, - 276,126,164,123,305,56,0,276,126,164, - 305,56,0,179,127,275,56,0,135,0, - 187,179,127,275,242,0,136,0,179,127, - 275,242,0,187,166,127,10,0,166,127, - 10,0,166,127,0,93,136,0,268,126, - 144,0,268,126,170,0,161,84,0,300, - 160,302,303,3,81,0,126,171,0,302, - 303,3,81,0,128,0,126,171,0,161, - 3,75,190,80,0,126,128,0,190,80, - 0,108,2,131,126,128,0,223,3,75, - 0,198,167,0,33,169,0,167,0,175, - 33,169,0,223,3,85,0,190,154,223, - 3,83,0,62,171,0,223,3,83,0, - 126,171,62,171,0,301,126,164,0,161, - 0,212,77,0,30,171,0,161,106,158, - 0,30,169,0,177,3,0,126,149,0, - 217,3,0,212,63,265,0,161,63,0, - 177,3,297,66,127,0,126,0,0,0, - 0,297,66,127,0,2,145,126,0,0, - 0,0,177,3,47,0,147,0,125,41, - 166,127,0,31,147,0,93,136,31,147, - 0,218,179,127,0,146,31,147,0,177, - 3,51,0,161,3,51,0,161,3,68, - 177,55,43,0,177,55,43,0,20,2, - 131,126,0,161,3,68,177,55,46,0, - 177,55,46,0,161,3,68,177,55,48, - 0,177,55,48,0,161,3,68,177,55, - 44,0,177,55,44,0,217,3,125,187, - 166,127,10,0,125,187,166,127,10,0, - 136,2,0,126,0,217,3,124,258,166, - 127,10,0,258,166,127,10,0,135,2, - 0,126,0,217,3,135,0,217,3,139, - 0,161,63,139,0,260,0,31,0,31, - 139,0,165,0,134,0,161,3,0 + 215,0,216,0,283,126,282,171,0,215, + 0,203,0,0,215,0,226,126,3,0, + 126,0,0,0,0,0,226,126,3,215, + 0,222,3,0,211,126,0,208,0,146, + 0,172,167,127,0,10,0,0,0,0, + 213,63,0,125,0,226,126,3,183,0, + 183,0,2,0,0,126,0,0,0,0, + 0,199,3,0,201,0,236,126,165,40, + 28,0,180,127,59,62,0,196,128,0, + 128,180,127,280,62,0,180,127,280,62, + 0,180,127,70,123,59,0,236,126,165, + 245,59,0,236,126,165,245,225,59,0, + 277,278,126,165,123,307,56,0,277,278, + 126,165,307,56,0,180,127,276,56,0, + 135,0,188,180,127,276,243,0,136,0, + 180,127,276,243,0,188,167,127,10,0, + 167,127,10,0,167,127,0,93,136,0, + 269,126,145,0,269,126,171,0,162,84, + 0,302,161,304,305,3,81,0,126,171, + 0,304,305,3,81,0,128,0,126,171, + 0,162,3,75,191,80,0,126,128,0, + 191,80,0,108,2,131,126,128,0,224, + 3,75,0,199,168,0,33,169,0,168, + 0,175,33,169,0,224,3,85,0,191, + 155,224,3,83,0,62,171,0,224,3, + 83,0,126,171,62,171,0,303,126,165, + 0,162,0,213,77,0,30,171,0,162, + 107,159,0,30,169,0,178,3,0,126, + 149,0,218,3,0,213,63,266,0,162, + 63,0,178,3,299,66,127,0,126,0, + 0,0,0,299,66,127,0,2,145,126, + 0,0,0,0,178,3,47,0,147,0, + 125,41,167,127,0,31,147,0,93,136, + 31,147,0,219,180,127,0,146,31,147, + 0,178,3,51,0,162,3,51,0,162, + 3,68,178,55,43,0,178,55,43,0, + 20,2,131,126,0,162,3,68,178,55, + 46,0,178,55,46,0,162,3,68,178, + 55,48,0,178,55,48,0,162,3,68, + 178,55,44,0,178,55,44,0,218,3, + 125,188,167,127,10,0,125,188,167,127, + 10,0,136,2,0,126,0,218,3,124, + 259,167,127,10,0,259,167,127,10,0, + 135,2,0,126,0,218,3,135,0,218, + 3,140,0,162,63,140,0,261,0,31, + 0,31,139,0,166,0,134,0,162,3, + 0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2268,38 +2290,38 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface ScopeState { public final static char scopeState[] = {0, - 4676,4770,4758,4745,0,1281,1590,1056,1548,0, - 3485,3448,3363,3261,3224,3179,3142,3097,3060,2764, - 2727,4467,0,779,0,4032,3236,0,3485,3448, - 1576,1395,3363,3261,3224,3179,3142,3097,882,3060, - 2764,2727,4271,1954,0,1532,1490,1309,0,3302, - 2763,0,1223,4661,0,816,646,0,4450,4239, - 0,4481,4422,0,4481,4422,4019,4395,4356,4009, - 4336,4297,4000,4232,3485,3448,3363,3261,3224,3179, - 3142,3097,3060,2764,2727,0,4481,4422,4019,4395, - 4356,4009,4336,4297,4000,4232,0,2446,729,0, - 943,803,0,559,0,2389,4148,3398,4218,4135, - 732,2515,2480,3476,3369,3066,2917,2482,1041,870, - 0,4650,4639,4635,4628,4624,4613,4589,4562,4735, - 4722,4716,4540,4536,4512,4491,4328,4710,4699,3318, - 4320,4185,3420,3322,0,537,4176,2854,0,4148, - 4450,4135,4239,2917,2839,3336,4161,2684,2389,3657, - 603,2515,584,2403,0,3817,3120,4650,4639,4635, - 2750,2505,4628,934,4624,4613,4589,4005,4562,3722, - 2961,2593,2168,3091,4735,2086,4722,2082,4716,4042, - 4540,4536,649,4512,4491,625,4328,4710,4015,4699, - 3318,4320,3255,4185,3420,4176,3322,579,2854,3078, - 3067,2987,2252,2839,3336,4161,2684,2389,4148,3657, - 4450,4135,603,2515,4239,1447,629,2946,943,803, - 2917,584,2403,3979,3957,3935,2216,2264,2330,2298, - 2542,2416,2360,3038,3012,2700,2653,2626,2599,3633, - 3609,3585,3560,2863,3913,3891,3869,3847,3825,3795, - 3773,3751,3729,3692,3670,1964,2178,2130,2092,2044, - 2006,1095,885,1922,1880,1319,828,747,690,1838, - 1796,1754,1712,1670,1628,1586,1544,1502,1460,1405, - 537,1277,1231,1361,1052,1189,1007,964,1146,0, - 1011,923,796,583,3066,2917,2839,2730,584,3284, - 2403,0,4599,2488,4598,1125,0 + 3509,4894,4882,4862,0,1770,3550,1177,573,0, + 3645,3587,3523,3420,3383,3327,3290,3234,3197,3002, + 2965,4532,0,2857,0,4145,3411,0,3645,3587, + 1893,1807,3523,3420,3383,3327,3290,3234,1450,3197, + 3002,2965,1549,1321,0,1764,1721,1678,0,3276, + 3011,0,4265,3132,0,3385,603,0,4485,4302, + 0,4517,4511,0,4517,4511,4244,4429,4420,4158, + 4347,4338,4144,4326,3645,3587,3523,3420,3383,3327, + 3290,3234,3197,3002,2965,0,4517,4511,4244,4429, + 4420,4158,4347,4338,4144,4326,0,2531,735,0, + 952,810,0,1098,0,2475,3157,951,3614,2603, + 746,2728,621,3225,4519,3203,2759,2775,2747,743, + 0,4741,4737,4729,4725,4689,4678,4661,4653,4871, + 4856,4833,4649,4613,4602,4585,4549,4816,4809,3602, + 4805,4756,4412,3480,0,542,2781,2741,0,3157, + 4485,2603,4302,2759,3078,3496,4275,4109,2475,4095, + 608,2728,589,2489,0,3060,2543,4741,4737,4729, + 2245,2158,4725,939,4689,4678,4661,4151,4653,3121, + 2874,2799,2748,3117,4871,2658,4856,2240,4833,3351, + 4649,4613,2153,4602,4585,1146,4549,4816,3516,4809, + 3602,4805,3444,4756,4412,2781,3480,585,2741,2839, + 2617,2585,2567,3078,3496,4275,4109,2475,3157,4095, + 4485,2603,608,2728,4302,1503,635,2970,952,810, + 2759,589,2489,4122,4072,4049,2249,2288,2356,2323, + 2446,2417,2387,2942,2915,2700,2672,2630,2502,3771, + 3746,3721,3174,3091,4026,4003,3980,3957,3934,3911, + 3888,3865,3842,3819,3796,2032,2201,2162,2114,2075, + 1242,1102,891,1989,1946,1374,834,753,696,1903, + 1860,1817,1774,1731,1688,1645,1602,1559,1516,1460, + 542,1329,1286,1417,1059,1198,1014,970,1154,0, + 1372,1241,1189,1049,3203,2759,3078,3223,589,2811, + 2489,0,4798,2773,3235,565,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2307,61 +2329,61 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public interface InSymb { public final static char inSymb[] = {0, - 0,296,41,10,39,55,228,228,126,69, - 69,295,144,126,167,68,70,69,221,198, - 63,214,215,186,182,5,124,131,7,132, - 127,4,3,126,269,270,253,271,242,272, - 56,273,274,124,10,127,126,3,39,51, + 0,298,41,10,39,55,229,229,126,70, + 70,297,145,126,168,68,69,70,222,199, + 63,215,216,187,183,5,124,131,7,132, + 127,4,3,126,270,271,254,272,243,273, + 56,274,275,124,10,127,126,3,39,51, 43,46,48,44,10,135,3,127,47,42, - 5,36,35,6,9,38,37,139,145,147, - 146,149,148,151,150,155,153,157,61,158, - 69,69,212,158,3,3,124,123,55,55, - 167,63,3,65,66,55,179,165,166,221, - 198,126,210,127,171,164,310,275,305,275, - 127,179,166,210,126,228,3,55,55,55, - 55,127,3,177,161,126,65,66,166,3, - 125,105,119,3,63,89,91,36,35,93, + 5,36,35,6,9,38,37,140,146,148, + 147,150,149,152,151,156,154,158,61,159, + 70,70,213,159,3,3,124,123,55,55, + 168,63,3,65,66,55,180,166,167,222, + 199,126,211,127,172,165,312,276,307,276, + 127,180,167,211,126,229,3,55,55,55, + 55,127,3,178,162,126,65,66,167,3, + 125,106,119,3,63,89,91,36,35,93, 92,6,95,94,68,55,87,88,9,97, - 96,99,98,100,116,115,114,113,112,111, - 110,109,108,107,69,106,101,126,126,126, - 126,126,63,63,126,4,187,225,226,227, - 127,166,9,6,126,166,228,125,124,127, - 123,164,127,166,41,69,177,161,177,177, - 177,177,166,217,126,154,267,135,125,124, - 10,127,63,297,3,177,41,127,41,217, - 161,146,146,145,145,145,148,148,148,148, - 147,147,150,149,149,153,151,155,161,157, - 225,225,254,256,254,210,254,260,187,154, - 70,166,171,171,309,127,168,222,59,41, - 202,62,170,312,125,124,229,229,179,164, - 126,179,187,127,68,68,68,68,187,258, - 70,127,166,203,3,298,167,152,179,166, - 72,154,154,70,4,126,6,126,166,244, - 224,55,41,278,280,126,3,182,229,229, - 126,126,187,126,276,123,277,3,3,3, - 3,125,124,166,41,177,126,126,218,5, - 41,126,126,219,184,171,187,164,244,68, - 55,127,74,126,210,311,72,289,198,124, - 126,126,126,72,276,69,70,161,161,161, - 161,3,3,187,154,262,265,63,180,4, - 123,125,219,219,126,126,128,126,164,28, - 41,170,64,59,62,126,179,126,281,72, - 70,72,69,210,314,222,22,127,217,217, - 125,126,3,63,161,4,126,126,61,235, - 237,126,40,126,3,123,59,295,128,281, - 164,293,127,294,70,127,22,315,179,262, - 217,212,3,235,126,164,268,247,279,40, - 69,127,68,282,126,70,179,3,179,127, - 127,320,126,3,69,70,154,127,179,126, - 301,79,77,1,161,8,85,83,81,80, - 75,82,84,78,76,59,74,217,179,179, - 70,235,152,164,252,179,224,283,118,8, - 72,212,72,3,3,3,190,3,123,161, - 123,178,126,164,224,3,72,223,167,223, - 303,144,75,223,126,126,90,319,167,154, - 198,154,302,126,3,154,283,308,154,154, - 126,69,190,160,268,161,189,70,121,300, - 154,189,8,154 + 96,99,98,100,117,116,115,114,113,112, + 111,110,109,108,70,107,101,126,126,126, + 126,126,63,63,126,4,188,226,227,228, + 127,167,9,6,126,167,229,125,124,127, + 123,165,127,167,41,70,178,162,178,178, + 178,178,167,218,126,155,268,135,125,124, + 10,127,63,299,3,178,41,127,41,218, + 162,147,147,146,146,146,149,149,149,149, + 148,148,151,150,150,154,152,156,162,158, + 226,226,255,257,255,211,255,261,188,155, + 69,167,172,172,311,127,169,223,59,41, + 203,62,171,314,125,124,230,230,180,165, + 126,180,188,127,68,68,68,68,188,259, + 69,127,167,204,3,300,168,153,180,167, + 72,155,155,69,4,126,6,126,167,245, + 225,55,41,280,282,126,3,183,230,230, + 126,126,188,126,278,123,279,3,3,3, + 3,125,124,167,41,178,126,126,219,5, + 41,126,126,220,185,172,188,165,245,68, + 55,127,74,126,211,313,72,291,199,124, + 126,126,126,72,278,277,70,69,162,162, + 162,162,3,3,188,155,263,266,63,181, + 4,123,125,220,220,126,126,128,126,165, + 28,41,171,64,59,62,126,180,126,283, + 72,69,72,70,211,316,223,22,127,277, + 218,218,125,126,3,63,162,4,126,126, + 61,236,238,126,40,126,3,123,59,297, + 128,283,165,295,127,296,69,127,22,317, + 180,263,218,213,3,236,126,165,269,248, + 281,40,70,127,68,284,126,69,180,3, + 180,127,127,322,126,3,70,69,155,127, + 180,126,303,79,77,1,162,8,85,83, + 81,80,75,82,84,78,76,59,74,218, + 180,180,69,236,153,165,253,180,225,285, + 102,8,72,213,72,3,3,3,191,3, + 123,162,123,179,126,165,225,3,72,224, + 168,224,305,145,75,224,126,126,90,321, + 168,155,199,155,304,126,3,155,285,310, + 155,155,126,70,191,161,269,162,190,69, + 121,302,155,190,8,155 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -2636,20 +2658,20 @@ public class CPPTemplateTypeParameterParserprs implements lpg.lpgjavaruntime.Par public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 544, + NUM_STATES = 546, NT_OFFSET = 122, - LA_STATE_OFFSET = 5787, + LA_STATE_OFFSET = 5911, MAX_LA = 2147483647, - NUM_RULES = 536, - NUM_NONTERMINALS = 202, - NUM_SYMBOLS = 324, + NUM_RULES = 541, + NUM_NONTERMINALS = 204, + NUM_SYMBOLS = 326, SEGMENT_SIZE = 8192, - START_STATE = 1125, + START_STATE = 565, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, - ACCEPT_ACTION = 4886, - ERROR_ACTION = 5251; + ACCEPT_ACTION = 5002, + ERROR_ACTION = 5370; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java index c88f9fa9e9d..6326438930a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/cpp/CPPTemplateTypeParameterParsersym.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -20,7 +20,7 @@ public interface CPPTemplateTypeParameterParsersym { TK_bool = 11, TK_break = 76, TK_case = 77, - TK_catch = 118, + TK_catch = 102, TK_char = 12, TK_class = 39, TK_const = 23, @@ -49,9 +49,9 @@ public interface CPPTemplateTypeParameterParsersym { TK_namespace = 59, TK_new = 66, TK_operator = 7, - TK_private = 102, - TK_protected = 103, - TK_public = 104, + TK_private = 103, + TK_protected = 104, + TK_public = 105, TK_register = 32, TK_reinterpret_cast = 46, TK_return = 84, @@ -90,7 +90,7 @@ public interface CPPTemplateTypeParameterParsersym { TK_LeftParen = 3, TK_Dot = 119, TK_DotStar = 91, - TK_Arrow = 105, + TK_Arrow = 106, TK_ArrowStar = 89, TK_PlusPlus = 37, TK_MinusMinus = 38, @@ -114,23 +114,23 @@ public interface CPPTemplateTypeParameterParsersym { TK_Or = 99, TK_AndAnd = 100, TK_OrOr = 101, - TK_Question = 106, + TK_Question = 107, TK_Colon = 72, TK_ColonColon = 4, TK_DotDotDot = 90, - TK_Assign = 69, - TK_StarAssign = 107, - TK_SlashAssign = 108, - TK_PercentAssign = 109, - TK_PlusAssign = 110, - TK_MinusAssign = 111, - TK_RightShiftAssign = 112, - TK_LeftShiftAssign = 113, - TK_AndAssign = 114, - TK_CaretAssign = 115, - TK_OrAssign = 116, - TK_Comma = 70, - TK_RightBracket = 117, + TK_Assign = 70, + TK_StarAssign = 108, + TK_SlashAssign = 109, + TK_PercentAssign = 110, + TK_PlusAssign = 111, + TK_MinusAssign = 112, + TK_RightShiftAssign = 113, + TK_LeftShiftAssign = 114, + TK_AndAssign = 115, + TK_CaretAssign = 116, + TK_OrAssign = 117, + TK_Comma = 69, + TK_RightBracket = 118, TK_RightParen = 73, TK_RightBrace = 71, TK_SemiColon = 25, @@ -208,8 +208,8 @@ public interface CPPTemplateTypeParameterParsersym { "new", "LeftBrace", "GT", - "Assign", "Comma", + "Assign", "RightBrace", "Colon", "RightParen", @@ -241,6 +241,7 @@ public interface CPPTemplateTypeParameterParsersym { "Or", "AndAnd", "OrOr", + "catch", "private", "protected", "public", @@ -257,7 +258,6 @@ public interface CPPTemplateTypeParameterParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java index 01232bb95a3..8d1c3a1b063 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -672,703 +672,709 @@ private GNUBuildASTParserAction gnuAction; // // Rule 118: iteration_statement ::= do statement while ( expression ) ; // - case 118: { action. consumeStatementDoLoop(); break; + case 118: { action. consumeStatementDoLoop(true); break; } // - // Rule 119: iteration_statement ::= while ( expression ) statement + // Rule 119: iteration_statement ::= do statement // - case 119: { action. consumeStatementWhileLoop(); break; + case 119: { action. consumeStatementDoLoop(false); break; } // - // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= while ( expression ) statement // - case 120: { action. consumeStatementForLoop(); break; + case 120: { action. consumeStatementWhileLoop(); break; } // - // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 121: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= goto identifier_token ; + // Rule 122: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 122: { action. consumeStatementGoto(); break; + case 122: { action. consumeStatementForLoop(); break; } // - // Rule 123: jump_statement ::= continue ; + // Rule 123: jump_statement ::= goto identifier_token ; // - case 123: { action. consumeStatementContinue(); break; + case 123: { action. consumeStatementGoto(); break; } // - // Rule 124: jump_statement ::= break ; + // Rule 124: jump_statement ::= continue ; // - case 124: { action. consumeStatementBreak(); break; + case 124: { action. consumeStatementContinue(); break; } // - // Rule 125: jump_statement ::= return ; + // Rule 125: jump_statement ::= break ; // - case 125: { action. consumeStatementReturn(false); break; + case 125: { action. consumeStatementBreak(); break; } // - // Rule 126: jump_statement ::= return expression ; + // Rule 126: jump_statement ::= return ; // - case 126: { action. consumeStatementReturn(true); break; + case 126: { action. consumeStatementReturn(false); break; } // - // Rule 127: declaration ::= declaration_specifiers ; + // Rule 127: jump_statement ::= return expression ; // - case 127: { action. consumeDeclarationSimple(false); break; + case 127: { action. consumeStatementReturn(true); break; } // - // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 128: declaration ::= declaration_specifiers ; // - case 128: { action. consumeDeclarationSimple(true); break; + case 128: { action. consumeDeclarationSimple(false); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 129: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 129: { action. consumeDeclarationSpecifiersSimple(); break; + case 129: { action. consumeDeclarationSimple(true); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 130: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 133: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 133: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 158: init_declarator ::= complete_declarator = initializer + // Rule 134: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 158: { action. consumeDeclaratorWithInitializer(true); break; + case 134: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 160: storage_class_specifier ::= storage_class_specifier_token + // Rule 159: init_declarator ::= complete_declarator = initializer // - case 160: { action. consumeToken(); break; + case 159: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 166: simple_type_specifier ::= simple_type_specifier_token + // Rule 161: storage_class_specifier ::= storage_class_specifier_token // - case 166: { action. consumeToken(); break; + case 161: { action. consumeToken(); break; } // - // Rule 179: type_name_specifier ::= identifier_token + // Rule 167: simple_type_specifier ::= simple_type_specifier_token // - case 179: { action. consumeToken(); break; + case 167: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: type_name_specifier ::= identifier_token // - case 180: { action. consumeTypeSpecifierComposite(false); break; + case 180: { action. consumeToken(); break; } // - // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 181: { action. consumeTypeSpecifierComposite(true); break; + case 181: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 182: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 182: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 188: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 189: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 194: { action. consumeStructDeclaration(true); break; + case 189: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list ; + // Rule 195: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 195: { action. consumeStructDeclaration(false); break; + case 195: { action. consumeStructDeclaration(true); break; } // - // Rule 196: struct_declaration ::= ERROR_TOKEN + // Rule 196: struct_declaration ::= specifier_qualifier_list ; // - case 196: { action. consumeDeclarationProblem(); break; + case 196: { action. consumeStructDeclaration(false); break; } // - // Rule 202: struct_declarator ::= : constant_expression + // Rule 197: struct_declaration ::= ERROR_TOKEN // - case 202: { action. consumeBitField(false); break; + case 197: { action. consumeDeclarationProblem(); break; } // - // Rule 203: struct_declarator ::= declarator : constant_expression + // Rule 203: struct_declarator ::= : constant_expression // - case 203: { action. consumeBitField(true); break; + case 203: { action. consumeBitField(false); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: struct_declarator ::= declarator : constant_expression // - case 204: { action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action. consumeBitField(true); break; } // - // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 205: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 205: { action. consumeTypeSpecifierEnumeration(true); break; + case 205: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 211: enumerator ::= identifier_token + // Rule 206: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 211: { action. consumeEnumerator(false); break; + case 206: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 212: enumerator ::= identifier_token = constant_expression + // Rule 212: enumerator ::= identifier_token // - case 212: { action. consumeEnumerator(true); break; + case 212: { action. consumeEnumerator(false); break; } // - // Rule 213: type_qualifier ::= type_qualifier_token + // Rule 213: enumerator ::= identifier_token = constant_expression // - case 213: { action. consumeToken(); break; + case 213: { action. consumeEnumerator(true); break; } // - // Rule 217: function_specifier ::= inline + // Rule 214: type_qualifier ::= type_qualifier_token // - case 217: { action. consumeToken(); break; + case 214: { action. consumeToken(); break; } // - // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 218: function_specifier ::= inline // - case 219: { action. consumeDeclaratorWithPointer(true); break; + case 218: { action. consumeToken(); break; } // - // Rule 224: basic_direct_declarator ::= declarator_id_name + // Rule 220: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 224: { action. consumeDirectDeclaratorIdentifier(); break; + case 220: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: basic_direct_declarator ::= ( declarator ) + // Rule 225: basic_direct_declarator ::= declarator_id_name // - case 225: { action. consumeDirectDeclaratorBracketed(); break; + case 225: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 226: declarator_id_name ::= identifier + // Rule 226: basic_direct_declarator ::= ( declarator ) // - case 226: { action. consumeIdentifierName(); break; + case 226: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 227: declarator_id_name ::= identifier // - case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 227: { action. consumeIdentifierName(); break; } // - // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 228: array_direct_declarator ::= basic_direct_declarator array_modifier // case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 229: array_direct_declarator ::= array_direct_declarator array_modifier // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 229: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 232: function_direct_declarator ::= basic_direct_declarator ( ) // - case 233: { action. consumeDeclaratorWithPointer(true); break; + case 232: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 234: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 234: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 235: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 236: { action. consumeDeclaratorWithPointer(true); break; + case 235: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 237: identifier_list ::= identifier + // Rule 237: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 237: { action. consumeIdentifierKnR(); break; + case 237: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 238: identifier_list ::= identifier_list , identifier + // Rule 238: identifier_list ::= identifier // case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ ] + // Rule 239: identifier_list ::= identifier_list , identifier // - case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 239: { action. consumeIdentifierKnR(); break; } // - // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 240: array_modifier ::= [ ] // - case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 240: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 241: array_modifier ::= [ assignment_expression ] + // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 242: array_modifier ::= [ assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 242: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 243: array_modifier ::= [ static assignment_expression ] + // Rule 243: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 244: array_modifier ::= [ static assignment_expression ] // - case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 245: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ * ] + // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 247: array_modifier ::= [ * ] // - case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 249: pointer_seq ::= pointer_hook * pointer_hook + // Rule 248: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 249: { action. consumePointer(); break; + case 248: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 250: pointer_seq ::= pointer_hook * pointer_hook // case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 251: { action. consumePointerTypeQualifierList(); break; + case 251: { action. consumePointer(); break; } // - // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 252: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list + // Rule 253: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 256: { action. consumeEmpty(); break; + case 253: { action. consumePointerTypeQualifierList(); break; } // - // Rule 257: parameter_type_list ::= parameter_list , ... + // Rule 257: parameter_type_list ::= parameter_list // - case 257: { action. consumePlaceHolder(); break; + case 257: { action. consumeEmpty(); break; } // - // Rule 258: parameter_type_list ::= ... + // Rule 258: parameter_type_list ::= parameter_list , ... // case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 259: parameter_type_list ::= ... // - case 261: { action. consumeParameterDeclaration(); break; + case 259: { action. consumePlaceHolder(); break; } // - // Rule 262: parameter_declaration ::= declaration_specifiers + // Rule 262: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 262: { action. consumeParameterDeclaration(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list + // Rule 263: parameter_declaration ::= declaration_specifiers // - case 265: { action. consumeTypeId(false); break; + case 263: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 266: type_id ::= specifier_qualifier_list // - case 266: { action. consumeTypeId(true); break; + case 266: { action. consumeTypeId(false); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 267: type_id ::= specifier_qualifier_list abstract_declarator // - case 268: { action. consumeDeclaratorWithPointer(false); break; + case 267: { action. consumeTypeId(true); break; } // - // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq // - case 269: { action. consumeDeclaratorWithPointer(true); break; + case 269: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 270: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 273: { action. consumeDirectDeclaratorBracketed(); break; + case 270: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_modifier + // Rule 274: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 274: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_modifier // - case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 275: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 276: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 277: function_direct_abstract_declarator ::= ( ) + // Rule 277: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 277: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 278: function_direct_abstract_declarator ::= ( ) + // + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 281: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 281: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 281: initializer ::= assignment_expression + // Rule 282: initializer ::= assignment_expression // - case 281: { action. consumeInitializer(); break; + case 282: { action. consumeInitializer(); break; } // - // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: initializer_list ::= { <openscope-ast> } + // Rule 285: initializer_list ::= { <openscope-ast> } // - case 284: { action. consumeInitializerList(); break; + case 285: { action. consumeInitializerList(); break; } // - // Rule 285: start_initializer_list ::= $Empty + // Rule 286: start_initializer_list ::= $Empty // - case 285: { action. initializerListStart(); break; + case 286: { action. initializerListStart(); break; } // - // Rule 286: end_initializer_list ::= $Empty + // Rule 287: end_initializer_list ::= $Empty // - case 286: { action. initializerListEnd(); break; + case 287: { action. initializerListEnd(); break; } // - // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 292: designated_initializer ::= <openscope-ast> designation = initializer // - case 291: { action. consumeInitializerDesignated(); break; + case 292: { action. consumeInitializerDesignated(); break; } // - // Rule 295: designator_base ::= [ constant_expression ] + // Rule 296: designator_base ::= [ constant_expression ] // - case 295: { action. consumeDesignatorArray(); break; + case 296: { action. consumeDesignatorArray(); break; } // - // Rule 296: designator_base ::= . identifier_token + // Rule 297: designator_base ::= . identifier_token // - case 296: { action. consumeDesignatorField(); break; + case 297: { action. consumeDesignatorField(); break; } // - // Rule 297: designator ::= [ constant_expression ] + // Rule 298: designator ::= [ constant_expression ] // - case 297: { action. consumeDesignatorArray(); break; + case 298: { action. consumeDesignatorArray(); break; } // - // Rule 298: designator ::= . identifier_token + // Rule 299: designator ::= . identifier_token // - case 298: { action. consumeDesignatorField(); break; + case 299: { action. consumeDesignatorField(); break; } // - // Rule 299: translation_unit ::= external_declaration_list + // Rule 300: translation_unit ::= external_declaration_list // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 300: translation_unit ::= $Empty + // Rule 301: translation_unit ::= $Empty // - case 300: { action. consumeTranslationUnit(); break; + case 301: { action. consumeTranslationUnit(); break; } // - // Rule 305: external_declaration ::= ; + // Rule 306: external_declaration ::= ; // - case 305: { action. consumeDeclarationEmpty(); break; + case 306: { action. consumeDeclarationEmpty(); break; } // - // Rule 306: external_declaration ::= ERROR_TOKEN + // Rule 307: external_declaration ::= ERROR_TOKEN // - case 306: { action. consumeDeclarationProblem(); break; + case 307: { action. consumeDeclarationProblem(); break; } // - // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 311: function_definition ::= <openscope-ast> function_declarator function_body // - case 310: { action. consumeFunctionDefinition(false); break; + case 311: { action. consumeFunctionDefinition(false); break; } // - // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 312: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 311: { action. consumeFunctionDefinitionKnR(); break; + case 312: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 313: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 312: { action. consumeFunctionDefinition(true); break; + case 313: { action. consumeFunctionDefinition(true); break; } // - // Rule 313: function_body ::= { } + // Rule 314: function_body ::= { } // - case 313: { action. consumeStatementCompoundStatement(false); break; + case 314: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 314: function_body ::= { <openscope-ast> block_item_list } + // Rule 315: function_body ::= { <openscope-ast> block_item_list } // - case 314: { action. consumeStatementCompoundStatement(true); break; + case 315: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 331: attribute_parameter ::= assignment_expression + // Rule 332: attribute_parameter ::= assignment_expression // - case 331: { action. consumeIgnore(); break; + case 332: { action. consumeIgnore(); break; } // - // Rule 342: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 343: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 342: { gnuAction.consumeDeclarationASM(); break; + case 343: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 353: unary_expression ::= __alignof__ unary_expression + // Rule 354: unary_expression ::= __alignof__ unary_expression // - case 353: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 354: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 354: unary_expression ::= __alignof__ ( type_id ) + // Rule 355: unary_expression ::= __alignof__ ( type_id ) // - case 354: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; + case 355: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; } // - // Rule 355: unary_expression ::= typeof unary_expression + // Rule 356: unary_expression ::= typeof unary_expression // - case 355: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 356: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 356: unary_expression ::= typeof ( type_id ) + // Rule 357: unary_expression ::= typeof ( type_id ) // - case 356: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 357: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 357: relational_expression ::= relational_expression >? shift_expression + // Rule 358: relational_expression ::= relational_expression >? shift_expression // - case 357: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; + case 358: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; } // - // Rule 358: relational_expression ::= relational_expression <? shift_expression + // Rule 359: relational_expression ::= relational_expression <? shift_expression // - case 358: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; + case 359: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; } // - // Rule 359: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression + // Rule 360: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression // - case 359: { action. consumeExpressionConditional(); break; + case 360: { action. consumeExpressionConditional(); break; } // - // Rule 360: primary_expression ::= ( compound_statement ) + // Rule 361: primary_expression ::= ( compound_statement ) // - case 360: { gnuAction.consumeCompoundStatementExpression(); break; + case 361: { gnuAction.consumeCompoundStatementExpression(); break; } // - // Rule 361: labeled_statement ::= case case_range_expression : statement + // Rule 362: labeled_statement ::= case case_range_expression : statement // - case 361: { action. consumeStatementCase(); break; + case 362: { action. consumeStatementCase(); break; } // - // Rule 362: case_range_expression ::= constant_expression ... constant_expression + // Rule 363: case_range_expression ::= constant_expression ... constant_expression // - case 362: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 363: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 366: typeof_type_specifier ::= typeof unary_expression + // Rule 367: typeof_type_specifier ::= typeof unary_expression // - case 366: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 367: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 367: typeof_type_specifier ::= typeof ( type_id ) + // Rule 368: typeof_type_specifier ::= typeof ( type_id ) // - case 367: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 368: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 368: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // Rule 369: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 368: { action. consumeDeclarationSpecifiersTypeof(); break; + case 369: { action. consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 384: field_name_designator ::= identifier_token : + // Rule 385: field_name_designator ::= identifier_token : // - case 384: { action. consumeDesignatorFieldGCC(); break; + case 385: { action. consumeDesignatorFieldGCC(); break; } // - // Rule 385: array_range_designator ::= [ constant_expression ... constant_expression ] + // Rule 386: array_range_designator ::= [ constant_expression ... constant_expression ] // - case 385: { action. consumeDesignatorArrayRange(); break; + case 386: { action. consumeDesignatorArrayRange(); break; } // - // Rule 386: designated_initializer ::= <openscope-ast> field_name_designator initializer + // Rule 387: designated_initializer ::= <openscope-ast> field_name_designator initializer // - case 386: { action. consumeInitializerDesignated(); break; + case 387: { action. consumeInitializerDesignated(); break; } // - // Rule 387: block_item ::= normal_function_definition + // Rule 388: block_item ::= normal_function_definition // - case 387: { action. consumeStatementDeclaration(); break; + case 388: { action. consumeStatementDeclaration(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java index 51a8029efd8..04f0894df4c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -45,319 +45,319 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym 3,3,3,3,3,3,1,1,2,1, 0,1,3,1,1,1,1,1,1,1, 1,3,4,3,2,4,1,2,1,1, - 1,2,5,7,5,1,0,7,5,9, - 8,3,2,2,2,3,2,4,2,2, - 2,2,2,1,1,1,1,2,1,2, - 2,2,1,2,2,1,2,2,1,2, - 2,1,2,2,1,3,1,3,1,1, + 1,2,5,7,5,1,0,7,2,5, + 9,8,3,2,2,2,3,2,4,2, + 2,2,2,2,1,1,1,1,2,1, + 2,2,2,1,2,2,1,2,2,1, + 2,2,1,2,2,1,3,1,3,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6, - 8,0,0,1,1,3,3,3,0,1, - 0,1,2,4,2,1,1,1,3,1, - 1,2,3,7,8,0,1,0,1,3, - 1,3,1,1,1,1,1,1,3,1, - 1,1,1,1,3,1,2,2,1,5, - 3,1,3,5,1,3,1,3,2,4, - 3,5,4,6,6,3,5,1,3,4, - 5,6,0,1,2,1,3,1,1,3, - 2,1,1,1,1,2,1,2,3,1, - 1,1,3,1,2,2,2,3,4,5, - 1,1,7,3,0,0,1,1,3,3, - 4,1,1,2,3,2,3,2,1,0, - 1,2,1,1,1,1,1,2,1,3, - 6,4,2,4,1,1,1,1,2,6, - 3,1,3,1,4,0,1,1,1,3, - 1,0,4,3,1,2,1,3,4,4, - 4,6,1,0,1,3,1,3,0,1, - 4,5,2,4,2,4,3,3,5,3, - 4,3,1,2,2,2,4,2,1,1, - 2,2,3,2,2,3,1,1,1,1, - 1,1,1,2,5,3,1,-105,0,-114, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-2,0,0,0,0, - 0,0,-351,-312,0,0,-41,-224,0,0, - 0,-111,-260,0,-7,0,0,0,0,0, - 0,-222,0,-84,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-32, - 0,0,0,0,-3,-35,-107,0,-58,0, - 0,0,-146,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-5,0,0,-120,0,0,0, - 0,0,0,0,0,0,0,-10,-11,-253, - 0,0,0,0,0,0,0,0,0,0, - 0,-221,0,0,0,0,0,0,0,0, - -62,0,0,0,0,0,0,0,0,0, - 0,0,0,-116,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-190,0,0, - 0,0,0,0,0,0,-4,0,0,0, - -360,0,0,0,0,0,0,0,-42,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-12,0,0,0,0,0,0,0,0, - 0,-109,-112,0,-209,0,0,0,0,0, - 0,0,0,0,-80,0,0,0,0,0, - 0,0,0,0,0,-314,0,0,0,-33, - 0,-13,0,0,0,0,0,0,0,0, - 0,0,0,0,-172,0,-295,0,0,0, - 0,0,0,0,0,0,0,0,0,-24, - 0,0,0,0,-25,0,0,0,0,0, - 0,-37,-123,0,0,0,0,0,0,0, - 0,-36,-108,0,-345,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, - -274,0,0,0,0,0,0,0,0,0, - -257,0,-81,0,0,0,0,0,0,0, - 0,0,-45,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-121,-63,0, - 0,0,0,0,0,0,0,0,0,0, - -210,0,-9,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-245,0, - 0,-40,-30,-347,0,0,0,0,0,0, - 0,0,0,-47,0,0,0,0,0,0, - 0,-43,0,0,0,0,0,0,-44,-205, - 0,0,0,0,0,0,0,0,0,0, - -54,-361,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-56, - 0,0,0,0,0,0,-239,-64,0,0, - 0,0,0,0,0,0,0,0,0,-79, - 0,0,0,0,0,0,0,0,0,-49, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-310,-65,0,0,0,0, - 0,0,0,0,0,-241,0,0,0,0, - 0,0,0,0,0,-31,-71,0,0,0, - 0,0,0,-73,0,0,0,0,0,0, - 0,-50,0,0,-119,0,0,0,0,0, - 0,0,0,0,-106,-29,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-74, - -151,0,0,0,0,0,0,0,0,0, - -51,0,0,0,0,0,0,0,-85,0, - 0,0,0,0,0,-182,0,-86,0,0, - 0,0,0,0,0,-90,0,0,-141,0, - 0,0,0,-72,0,0,0,0,0,0, - -92,-189,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-113, - 0,0,0,0,0,0,-258,-28,0,0, - 0,0,0,0,0,0,0,-333,0,-122, - 0,0,0,0,0,0,0,-143,0,-87, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-8,-124,0,0,-265,0,0,-117, - -125,0,0,0,0,0,0,0,0,0, - -27,0,-126,-89,0,0,-296,0,0,0, - 0,0,0,0,0,0,0,0,0,-59, - 0,-183,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-66,0,0,0,0, - 0,0,0,0,-217,0,-127,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-128,0,0,0,-75,-256,0,0, - 0,0,0,-129,0,0,-188,0,0,0, - 0,0,0,-130,0,-191,0,0,0,0, - 0,0,0,0,0,0,0,-131,-101,0, - 0,0,0,-132,0,0,0,0,0,0, - -91,0,0,0,-192,0,0,0,0,0, - 0,0,0,0,-133,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-142, - -193,0,0,0,0,0,0,0,0,0, - -153,-246,0,0,0,0,0,0,-136,0, - 0,0,0,0,0,0,-194,0,0,0, - 0,0,0,0,0,0,0,0,-259,-137, - 0,0,0,0,-102,0,0,0,0,0, - 0,-149,-195,0,0,0,0,0,0,0, - 0,0,0,-175,0,-261,0,0,0,0, - -176,0,0,0,0,0,0,0,-196,0, - 0,0,0,0,0,0,0,0,0,0, - -343,-227,0,0,0,0,-103,0,0,0, - 0,0,0,-138,-197,0,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,-348,0,0,0,0,0,-144,0, - 0,0,0,0,0,-228,-199,0,0,0, - 0,0,0,0,0,0,-135,-160,0,0, - 0,0,0,0,-154,0,0,0,0,0, - 0,0,-200,0,0,0,0,0,0,0, - 0,0,0,-163,-297,0,0,0,0,0, - -156,0,0,0,0,0,0,-326,-201,0, - 0,0,0,0,0,0,0,0,0,-225, - 0,0,0,0,0,0,-164,0,0,0, - 0,0,0,0,-266,0,0,0,0,0, - 0,0,0,0,0,-244,-145,0,0,0, - 0,0,-167,0,0,0,0,0,0,-249, - -271,0,0,0,0,0,0,0,0,0, - 0,-252,-334,0,0,0,0,0,-168,0, - 0,0,0,0,0,-335,-272,0,0,0, - 0,0,0,0,0,0,0,-340,-353,-309, - 0,0,0,0,-169,0,0,0,0,0, - 0,0,-303,0,0,0,0,0,0,0, - 0,0,0,-273,0,0,0,0,0,0, - -170,0,0,0,0,0,0,-311,0,-324, - 0,0,0,0,0,0,0,0,0,-367, - 0,0,0,0,0,-171,0,0,0,0, - 0,0,-322,0,-320,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -181,0,0,0,0,0,0,0,-323,0, - 0,0,0,0,0,0,0,0,0,0, - -321,-147,0,0,0,0,-185,0,0,0, - 0,0,0,0,-336,0,0,0,0,0, - 0,0,0,0,0,-363,0,0,0,0, - 0,0,-223,0,0,0,0,0,0,-349, - 0,-148,0,0,0,0,0,0,0,0, - 0,-150,-152,0,0,0,0,-240,0,0, - 0,0,0,0,-357,0,-155,0,0,0, - 0,0,0,0,-344,0,0,-157,0,0, - 0,0,-242,0,0,0,0,0,0,-364, - 0,-166,0,0,0,0,0,0,0,-177, - 0,0,-178,0,0,0,0,-243,0,0, - 0,0,0,0,-370,0,-184,0,0,0, - 0,0,0,0,-226,0,0,0,0,0, - 0,0,-231,0,0,0,0,0,0,-83, - 0,0,-67,0,-263,0,0,0,0,0, - 0,0,-211,0,-235,0,0,0,0,0, - 0,0,0,-236,0,0,0,0,0,0, - -250,-362,-325,0,-251,-267,0,0,0,0, - 0,0,0,0,-275,-139,0,0,-220,0, - -276,0,0,0,0,0,0,0,-371,0, - 0,-277,0,0,0,0,-278,0,0,0, - 0,0,-270,-279,0,0,0,-280,-281,-313, - 0,-282,-283,0,0,0,0,0,0,0, - 0,-180,0,0,-284,-341,-60,0,0,0, - 0,0,0,0,0,0,0,0,-23,-374, - 0,0,0,-22,-285,0,0,0,-286,-298, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-238,0,0,-300, - 0,-301,0,0,0,-287,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-306,0,0,0,0,0,0,-288, - 0,0,0,-269,0,0,0,0,0,-317, - 0,0,0,0,0,-289,-61,0,0,0, - 0,0,0,0,-316,-290,0,0,0,0, - -291,-292,0,0,0,0,0,0,-115,-319, - 0,0,0,0,0,0,0,0,0,0, - -293,0,-134,-294,0,0,0,0,0,0, - 0,0,-299,0,0,-337,0,0,0,0, - 0,0,0,0,-186,-346,0,-247,-342,0, - 0,0,-354,0,0,0,0,0,-350,-365, - 0,0,0,0,-355,-159,0,0,0,0, - 0,0,-308,0,0,-373,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1, + 6,8,0,0,1,1,3,3,3,0, + 1,0,1,2,4,2,1,1,1,3, + 1,1,2,3,7,8,0,1,0,1, + 3,1,3,1,1,1,1,1,1,3, + 1,1,1,1,1,3,1,2,2,1, + 5,3,1,3,5,1,3,1,3,2, + 4,3,5,4,6,6,3,5,1,3, + 4,5,6,0,1,2,1,3,1,1, + 3,2,1,1,1,1,2,1,2,3, + 1,1,1,3,1,2,2,2,3,4, + 5,1,1,7,3,0,0,1,1,3, + 3,4,1,1,2,3,2,3,2,1, + 0,1,2,1,1,1,1,1,2,1, + 3,6,4,2,4,1,1,1,1,2, + 6,3,1,3,1,4,0,1,1,1, + 3,1,0,4,3,1,2,1,3,4, + 4,4,6,1,0,1,3,1,3,0, + 1,4,5,2,4,2,4,3,3,5, + 3,4,3,1,2,2,2,4,2,1, + 1,2,2,3,2,2,3,1,1,1, + 1,1,1,1,2,5,3,1,-105,0, + -114,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-2,0,0,0, + 0,0,0,-351,-312,0,0,-41,-224,0, + 0,0,-111,-260,0,-7,0,0,0,0, + 0,0,-222,0,-84,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -32,0,0,0,0,-3,-35,-107,0,-58, + 0,0,0,-146,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-5,0,0,-120,0,0, + 0,0,0,0,0,0,0,0,-10,-11, + -253,0,0,0,0,0,0,0,0,0, + 0,0,-221,0,0,0,0,0,0,0, + 0,-62,0,0,0,0,0,0,0,0, + 0,0,0,0,-116,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-190,0, + 0,0,0,0,0,0,0,-4,0,0, + 0,-360,0,0,0,0,0,0,0,-42, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-12,0,0,0,0,0,0,0, + 0,0,-109,-112,0,-209,0,0,0,0, + 0,0,0,0,0,-80,0,0,0,0, + 0,0,0,0,0,0,-314,0,0,0, + -33,0,-13,0,0,0,0,0,0,0, + 0,0,0,0,0,-172,0,-295,0,0, + 0,0,0,0,0,0,0,0,0,0, + -24,0,0,0,0,-25,0,0,0,0, + 0,0,-37,-123,0,0,0,0,0,0, + 0,0,-36,-108,0,-345,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,-274,0,0,0,0,0,0,0,0, + 0,-257,0,-81,0,0,0,0,0,0, + 0,0,0,-45,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-121,-63, + 0,0,0,0,0,0,0,0,0,0, + 0,-210,0,-9,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-245, + 0,0,-40,-30,-347,0,0,0,0,0, + 0,0,0,0,-47,0,0,0,0,0, + 0,0,-43,0,0,0,0,0,0,-44, + -205,0,0,0,0,0,0,0,0,0, + 0,-54,-361,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -56,0,0,0,0,0,0,-239,-64,0, + 0,0,0,0,0,0,0,0,0,0, + -79,0,0,0,0,0,0,0,0,0, + -49,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-310,-65,0,0,0, + 0,0,0,0,0,0,-241,0,0,0, + 0,0,0,0,0,0,-31,-71,0,0, + 0,0,0,0,-73,0,0,0,0,0, + 0,0,-50,0,0,-119,0,0,0,0, + 0,0,0,0,0,-106,-29,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -74,-151,0,0,0,0,0,0,0,0, + 0,-51,0,0,0,0,0,0,0,-85, + 0,0,0,0,0,0,-182,0,-86,0, + 0,0,0,0,0,0,-90,0,0,-141, + 0,0,0,0,-72,0,0,0,0,0, + 0,-92,-189,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -113,0,0,0,0,0,0,-258,-28,0, + 0,0,0,0,0,0,0,0,-333,0, + -122,0,0,0,0,0,0,0,-143,0, + -87,0,0,0,0,0,0,0,0,0, + 0,0,0,-8,-124,0,0,-265,0,0, + -117,-125,0,0,0,0,0,0,0,0, + 0,-27,0,-126,-89,0,0,-296,0,0, + 0,0,0,0,0,0,0,0,0,0, + -59,0,-183,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-66,0,0,0, + 0,0,0,0,0,-217,0,-127,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-128,0,0,0,-75,-256,0, + 0,0,0,0,-129,0,0,-188,0,0, + 0,0,0,0,-130,0,-191,0,0,0, + 0,0,0,0,0,0,0,0,-131,-101, + 0,0,0,0,-132,0,0,0,0,0, + 0,-91,0,0,0,-192,0,0,0,0, + 0,0,0,0,0,-133,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -142,-193,0,0,0,0,0,0,0,0, + 0,-153,-246,0,0,0,0,0,0,-136, + 0,0,0,0,0,0,0,-194,0,0, + 0,0,0,0,0,0,0,0,0,-259, + -137,0,0,0,0,-102,0,0,0,0, + 0,0,-149,-195,0,0,0,0,0,0, + 0,0,0,0,-175,0,-261,0,0,0, + 0,-176,0,0,0,0,0,0,0,-196, + 0,0,0,0,0,0,0,0,0,0, + 0,-343,-227,0,0,0,0,-103,0,0, + 0,0,0,0,-138,-197,0,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,-348,0,0,0,0,0,-144, + 0,0,0,0,0,0,-228,-199,0,0, + 0,0,0,0,0,0,0,-135,-160,0, + 0,0,0,0,0,-154,0,0,0,0, + 0,0,0,-200,0,0,0,0,0,0, + 0,0,0,0,-163,-297,0,0,0,0, + 0,-156,0,0,0,0,0,0,-326,-201, + 0,0,0,0,0,0,0,0,0,0, + -225,0,0,0,0,0,0,-164,0,0, + 0,0,0,0,0,-266,0,0,0,0, + 0,0,0,0,0,0,-244,-145,0,0, + 0,0,0,-167,0,0,0,0,0,0, + -249,-271,0,0,0,0,0,0,0,0, + 0,0,-252,-334,0,0,0,0,0,-168, + 0,0,0,0,0,0,-335,-272,0,0, + 0,0,0,0,0,0,0,0,-340,-353, + -309,0,0,0,0,-169,0,0,0,0, + 0,0,0,-303,0,0,0,0,0,0, + 0,0,0,0,-273,0,0,0,0,0, + 0,-170,0,0,0,0,0,0,-311,0, + -324,0,0,0,0,0,0,0,0,0, + -367,0,0,0,0,0,-171,0,0,0, + 0,0,0,-322,0,-320,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-181,0,0,0,0,0,0,0,-323, + 0,0,0,0,0,0,0,0,0,0, + 0,-321,-147,0,0,0,0,-185,0,0, + 0,0,0,0,0,-336,0,0,0,0, + 0,0,0,0,0,0,-363,0,0,0, + 0,0,0,-223,0,0,0,0,0,0, + -349,0,-148,0,0,0,0,0,0,0, + 0,0,-150,-152,0,0,0,0,-240,0, + 0,0,0,0,0,-357,0,-155,0,0, + 0,0,0,0,0,-344,0,0,-157,0, + 0,0,0,-242,0,0,0,0,0,0, + -364,0,-166,0,0,0,0,0,0,0, + -177,0,0,-178,0,0,0,0,-243,0, + 0,0,0,0,0,-370,0,-184,0,0, + 0,0,0,0,0,-226,0,0,0,0, + 0,0,0,-231,0,0,0,0,0,0, + -83,0,0,-67,0,-263,0,0,0,0, + 0,0,0,-211,0,-235,0,0,0,0, + 0,0,0,0,-236,0,0,0,0,0, + 0,-250,-362,-325,0,-251,-267,0,0,0, + 0,0,0,0,0,-275,-139,0,0,-220, + 0,-276,0,0,0,0,0,0,0,-371, + 0,0,-277,0,0,0,0,-278,0,0, + 0,0,0,-270,-279,0,0,0,-280,-281, + -313,0,-282,-283,0,0,0,0,0,0, + 0,0,-180,0,0,-284,-341,-60,0,0, + 0,0,0,0,0,0,0,0,0,-23, + -374,0,0,0,-22,-285,0,0,0,-286, + -298,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-238,0,0, + -300,0,-301,0,0,0,-287,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-306,0,0,0,0,0,0, + -288,0,0,0,-269,0,0,0,0,0, + -317,0,0,0,0,0,-289,-61,0,0, + 0,0,0,0,0,-316,-290,0,0,0, + 0,-291,-292,0,0,0,0,0,0,-115, + -319,0,0,0,0,0,0,0,0,0, + 0,-293,0,-134,-294,0,0,0,0,0, + 0,0,0,-299,0,0,-337,0,0,0, + 0,0,0,0,0,-186,-346,0,-247,-342, + 0,0,0,-354,0,0,0,0,0,-350, + -365,0,0,0,0,-355,-159,0,0,0, + 0,0,0,-308,0,0,-373,0,0,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,-76,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-161,0,0,0,0,0,0,0,0, - -165,0,0,0,0,0,0,0,0,0, - 0,-218,0,0,0,0,0,0,0,0, + 0,0,-161,0,0,0,0,0,0,0, + 0,-165,0,0,0,0,0,0,0,0, + 0,0,-218,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-254,0,0, + 0,0,0,0,0,0,0,0,-254,0, 0,0,0,0,0,0,0,0,0,0, - 0,-264,0,0,0,0,0,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,-46,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-356,0,0, + 0,0,-46,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,0,0,0,0,0,0, - 0,0,0,0,0,-187,0,0,0,0, - 0,0,0,0,-68,0,0,0,0,0, - 0,0,0,0,0,0,0,-219,0,0, - 0,0,0,0,0,0,0,0,0,-248, - 0,0,0,0,0,-93,0,0,0,0, - 0,0,-338,0,0,0,0,0,0,-104, - 0,0,0,0,0,0,0,-34,0,0, + 0,0,0,0,0,0,-187,0,0,0, + 0,0,0,0,0,-68,0,0,0,0, + 0,0,0,0,0,0,0,0,-219,0, 0,0,0,0,0,0,0,0,0,0, - 0,-95,0,0,0,0,0,0,0,0, - 0,0,-110,0,0,-82,0,0,0,0, + -248,0,0,0,0,0,-93,0,0,0, + 0,0,0,-338,0,0,0,0,0,0, + -104,0,0,0,0,0,0,0,-34,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-95,0,0,0,0,0,0,0, + 0,0,0,-110,0,0,-82,0,0,0, 0,0,0,0,0,0,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,0,0,-94,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-332,-70,0,0,0,0,0,0, - 0,0,0,0,0,0,-234,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-332,-70,0,0,0,0,0, + 0,0,0,0,0,0,0,-234,0,0, 0,0,0,0,0,0,0,0,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,-302,0,0,-48,0,0,0, - -304,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-237,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -318,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-302,0,0,-48,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,-315,-230,0,0,0, - -328,0,0,0,0,0,0,0,0,-206, + 0,-318,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-315,-230,0,0, + 0,-328,0,0,0,0,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,0,0,0,0,0, - 0,0,0,0,0,0,0,-330,0,0, - 0,0,0,0,-331,0,0,0,0,0, - 0,-202,0,0,0,0,0,0,0,0, - 0,0,0,0,-368,0,0,0,0,0, - 0,-372,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-330,0, + 0,0,0,0,0,-331,0,0,0,0, + 0,0,-202,0,0,0,0,0,0,0, + 0,0,0,0,0,-368,0,0,0,0, + 0,0,-372,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-375,0,0,0,0,0,0,-1,0, + 0,0,-375,0,0,0,0,0,0,-1, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-262,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,-207,0,-14,0,0,0,0,0, + 0,0,0,-207,0,-14,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-15,0,0,0,0,0,0,0, - -16,0,0,0,0,0,0,0,0,0, + 0,0,0,-15,0,0,0,0,0,0, + 0,-16,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-19,0,0,0, - 0,0,0,0,-21,0,0,0,0,0, - -26,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-19,0,0, + 0,0,0,0,0,-21,0,0,0,0, + 0,-26,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-140,0,0,-52,0,0,0,0,0, + 0,0,-140,0,0,-52,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-212,0, + 0,0,0,0,0,0,0,0,0,-212, 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,-213,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,-215,0,0,0, - 0,0,0,0,0,0,-232,-174,0,0, - 0,0,-216,0,0,0,0,0,0,0, - 0,0,-53,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-6,0,0,-208, - 0,-20,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,-215,0,0, + 0,0,0,0,0,0,0,-232,-174,0, + 0,0,0,-216,0,0,0,0,0,0, + 0,0,0,-53,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-6,0,0, + -208,0,-20,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-96,0,0,0,0,0,-39,0,0, - -307,-57,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-97,0,0, + 0,0,-96,0,0,0,0,0,-39,0, + 0,-307,-57,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-97,0, 0,0,0,0,0,0,0,0,0,0, - 0,-233,0,0,0,0,0,0,0,0, - -55,-98,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-99,0,0, + 0,0,-233,0,0,0,0,0,0,0, + 0,-55,-98,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-99,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-100,0,0,0,0,0,0, - -173,0,0,-327,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-229, + 0,0,0,0,-100,0,0,0,0,0, + 0,-173,0,0,-327,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-203,0,0,0,0, + -229,0,0,0,0,0,0,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,-268,-352,0,0,0,0,0,0, - -255,-204,0,0,0,0,0,0,0,0, + 0,0,0,-268,-352,0,0,0,0,0, + 0,-255,-204,0,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,-17,0,0,0,-77,0,0,0, + 0,0,0,0,0,0,0,0,0,-305, + 0,0,0,-17,0,0,0,-77,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-18,-366,0, + 0,0,0,0,0,0,0,0,-18,-366, 0,0,0,0,0,0,0,0,0,0, - 0,-69,0,0,0,0,0,0,0,0, - 0,0,-88,0,0,-329,-162,0,0,0, + 0,0,-69,0,0,0,0,0,0,0, + 0,0,0,-88,0,0,-329,-162,0,0, 0,0,0,0,0,0,0,0,0,0, - -179,0,0,0,0,0,0,0,-78,0, - 0,0,0,0,-339,0,0,0,0,0, + 0,-179,0,0,0,0,0,0,0,-78, + 0,0,0,0,0,-339,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-358,0,0,0,-118,0,0,0, + 0,0,0,-358,0,0,0,-118,0,0, 0,0,0,0,0,0,0,0,0,0, - -158,0,0,0,-359,0,0,0,-369,0, + 0,-158,0,0,0,-359,0,0,0,-369, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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; @@ -379,333 +379,334 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym 123,123,104,104,62,39,39,39,39,39, 39,39,40,40,40,30,30,105,105,77, 77,41,41,42,42,42,71,71,43,43, - 43,43,44,44,44,44,44,60,60,29, - 29,29,29,29,54,54,54,95,95,90, - 90,90,90,91,91,91,92,92,92,93, - 93,93,94,94,94,89,89,82,82,83, - 55,57,57,57,57,57,72,74,74,74, - 74,74,74,74,74,74,74,74,74,81, - 78,78,124,125,84,84,79,79,79,96, - 106,106,107,107,97,97,97,58,126,126, - 108,98,98,98,80,80,127,109,109,110, - 110,99,99,32,33,33,33,56,52,52, - 45,45,45,45,34,34,35,46,46,47, - 36,36,100,100,48,129,129,128,128,59, - 59,59,59,59,59,59,59,59,111,63, - 63,63,63,37,85,85,75,75,75,76, - 76,65,65,130,130,64,64,86,86,86, - 66,66,66,67,68,68,68,69,69,69, - 69,73,73,50,50,51,132,131,131,131, - 131,112,133,134,134,135,135,136,136,121, - 121,137,137,113,113,113,113,138,138,114, - 114,114,70,115,115,10,10,10,27,27, - 11,11,139,139,116,116,116,117,117,140, - 140,118,118,12,12,141,141,119,119,119, - 119,13,61,142,142,143,143,120,120,120, - 101,101,101,7,7,7,7,16,16,24, - 4,40,144,102,102,102,87,87,29,60, - 54,83,83,83,108,108,108,127,124,125, - 37,96,135,135,145,146,112,77,329,1713, - 247,17,21,18,897,1030,45,1054,370,315, - 316,317,1073,1061,1133,1117,403,1154,1144,1174, - 1168,1195,75,2102,961,1781,92,734,2014,1750, - 135,213,115,1679,20,612,17,21,18,897, - 43,44,1871,20,755,17,21,18,897,43, - 45,1054,137,134,136,160,1073,1061,1133,1117, - 1220,1154,1144,1174,1971,37,339,961,31,1971, - 139,2292,166,730,1663,966,143,146,149,152, - 313,284,2653,28,1229,363,128,231,498,2635, - 2661,2687,2695,1071,1456,179,1864,823,87,111, - 2701,348,1710,96,370,315,316,317,651,712, - 1542,1262,1743,95,97,98,99,100,370,315, - 316,317,1163,210,966,228,135,213,655,224, - 232,1871,20,940,17,21,18,897,43,40, - 135,213,254,213,1521,179,241,88,137,134, - 136,160,346,1952,370,315,316,317,1830,294, - 322,1677,142,134,136,160,139,419,166,1053, - 25,169,143,146,149,152,135,213,2653,1440, - 141,363,166,1385,498,2635,2661,2687,2695,1071, - 255,213,800,127,753,616,2701,321,137,134, - 136,160,2112,635,966,1871,20,425,17,21, - 18,897,43,45,1054,1971,139,1973,166,1073, - 1061,1824,143,146,149,152,1926,90,2653,342, - 1288,363,851,231,498,2635,2661,2687,2695,1071, - 318,315,316,317,1951,1676,2701,1703,20,1783, - 17,21,18,897,1030,45,1054,3067,255,213, - 1013,1073,1061,1133,1117,1061,1154,1144,1174,1168, - 1195,75,443,1610,20,281,17,21,18,897, - 43,36,927,961,31,1586,20,1783,17,21, - 18,897,1030,45,1054,28,1229,282,1229,1073, - 1061,1133,1117,283,1154,1144,1174,1168,1195,75, - 364,1610,20,281,17,21,18,897,43,36, - 287,2113,246,1643,20,1591,17,21,18,897, - 1030,45,1054,500,3113,282,1229,1073,1061,1133, - 1117,227,1154,1144,1174,1168,1195,75,1542,1871, - 20,281,17,21,18,897,43,39,289,288, - 247,1871,20,499,17,21,18,897,43,45, - 1054,28,1229,282,1229,1073,1061,1828,1550,2014, - 254,213,1337,499,1727,20,24,17,21,18, - 897,1030,45,1054,961,187,158,290,1073,1061, - 1133,1117,1500,1154,1144,1174,1168,1195,75,181, - 1871,20,281,17,21,18,897,43,45,1054, - 334,396,1751,20,1795,17,21,18,897,1030, - 45,1054,180,548,282,1229,1073,1061,1133,1117, - 1082,1154,1144,1174,1168,1195,75,755,1871,20, - 281,17,21,18,897,43,38,386,225,992, - 435,20,738,17,21,18,897,1030,45,1054, - 961,186,282,1229,1073,1061,1133,1117,310,1154, - 1144,1174,1168,1195,75,2014,1871,20,487,17, - 21,18,897,43,37,291,1967,20,312,17, - 21,18,897,1030,45,1054,49,2036,1137,239, - 1073,1061,1133,1117,1089,1154,1144,1174,1168,1195, - 75,335,1289,976,331,1919,20,2216,17,21, - 18,897,1030,45,1054,734,115,1842,204,1073, - 1061,1133,1117,959,1154,1144,1174,1168,1195,75, - 363,1871,20,1147,17,21,18,897,43,45, - 1054,961,188,323,1677,1073,1061,1133,1117,1500, - 1154,1144,1174,1168,1195,94,1871,20,1149,17, - 21,18,897,1030,45,1054,1522,333,105,635, - 1073,1061,1133,1117,1614,1154,1144,1174,1168,1195, - 75,418,533,20,92,17,21,18,897,1030, - 45,1054,593,1774,329,124,1073,1061,1133,1117, - 1339,1154,1144,1174,1168,1195,75,2131,1775,20, - 1534,17,21,18,897,366,1913,940,1967,20, - 426,17,21,18,897,1030,45,1054,961,1366, - 1082,240,1073,1061,1133,1117,345,1154,1144,1174, - 1168,1195,75,413,1779,2878,331,1971,341,2451, - 419,36,1995,318,315,316,317,28,1229,984, - 1710,1521,179,868,49,278,2016,920,336,966, - 2278,370,315,316,317,1765,127,672,224,772, - 1799,20,823,17,21,18,897,355,218,456, - 221,700,88,135,213,620,1871,20,116,17, - 21,18,897,43,36,1871,20,416,17,21, - 18,897,43,45,1054,138,134,136,160,1073, - 1061,1133,1117,798,1896,155,662,537,916,534, - 534,22,450,140,325,166,330,823,1418,144, - 147,150,153,773,1478,2653,1871,20,364,17, - 21,18,897,1030,45,1054,1060,2091,355,1082, - 1073,1061,1133,1117,1116,1154,1144,1174,1168,1195, - 75,49,896,2082,86,1871,20,360,17,21, - 18,897,1030,45,1054,1037,243,307,369,1073, - 1061,1133,1117,260,1154,1144,1174,1168,1195,75, - 635,1871,20,85,17,21,18,897,1030,45, - 1054,419,419,1887,2023,1073,1061,1133,1117,1524, - 1154,1144,1174,1168,1195,75,123,1871,20,84, - 17,21,18,897,1030,45,1054,127,195,2149, - 2035,1073,1061,1133,1117,1082,1154,1144,1174,1168, - 1195,75,635,1871,20,83,17,21,18,897, - 1030,45,1054,635,804,1959,2152,1073,1061,1133, - 1117,1992,1154,1144,1174,1168,1195,75,112,1871, - 20,82,17,21,18,897,1030,45,1054,28, - 1229,601,635,1073,1061,1133,1117,1082,1154,1144, - 1174,1168,1195,75,1547,1871,20,81,17,21, - 18,897,1030,45,1054,19,28,1229,126,1073, - 1061,1133,1117,275,1154,1144,1174,1168,1195,75, - 276,1871,20,80,17,21,18,897,1030,45, - 1054,28,1229,961,296,1073,1061,1133,1117,1251, - 1154,1144,1174,1168,1195,75,635,1871,20,79, - 17,21,18,897,1030,45,1054,49,49,418, - 2250,1073,1061,1133,1117,2050,1154,1144,1174,1168, - 1195,75,122,1871,20,78,17,21,18,897, - 1030,45,1054,1668,1782,635,500,1073,1061,1133, - 1117,1112,1154,1144,1174,1168,1195,75,635,1871, - 20,77,17,21,18,897,1030,45,1054,338, - 49,2974,637,1073,1061,1133,1117,1082,1154,1144, - 1174,1168,1195,75,3024,1871,20,76,17,21, - 18,897,1030,45,1054,230,49,1271,2881,1073, - 1061,1133,1117,1082,1154,1144,1174,1168,1195,75, - 1300,1871,20,93,17,21,18,897,1030,45, - 1054,711,1878,2014,1830,1073,1061,1133,1117,1082, - 1154,1144,1174,1168,1195,75,1364,1871,20,1575, - 17,21,18,897,1030,45,1054,1017,2014,635, - 1300,1073,1061,1133,1117,1082,1154,1144,1174,1168, - 1195,75,194,1871,20,1611,17,21,18,897, - 43,45,1054,1249,823,3089,181,1073,1061,1133, - 1117,1082,1154,1144,1174,1168,1195,94,1871,20, - 1682,17,21,18,897,43,45,1054,875,423, - 635,205,1073,1061,1133,1117,1082,1154,1144,1174, - 1168,1195,94,1871,20,823,17,21,18,897, - 1030,45,1054,242,1276,362,118,1073,1061,1133, - 1117,1082,1154,1144,1174,1168,1195,75,1508,1871, - 20,359,17,21,18,897,1030,45,1054,23, - 212,823,1415,1073,1061,1133,1117,1082,1154,1144, - 1174,1168,1195,75,244,1871,20,74,17,21, - 18,897,43,45,1054,351,961,298,1685,1073, - 1061,1133,1117,2091,1154,1144,1174,1168,1195,94, - 1871,20,1543,17,21,18,897,43,45,1054, - 245,234,677,1058,1073,1061,1133,1117,1082,1154, - 1144,1174,1168,1195,94,1871,20,1646,17,21, - 18,897,43,45,1054,2014,320,202,1673,1073, - 1061,1133,1117,1082,1154,1144,1174,1168,1195,94, - 1871,20,848,17,21,18,897,43,45,1054, - 1128,340,1782,789,1073,1061,1133,1117,1082,1154, - 1144,1174,1168,1195,94,1871,20,1243,17,21, - 18,897,43,45,1054,67,339,203,561,1073, - 1061,1133,1117,569,1154,1144,1174,1168,1195,94, - 199,1663,388,1871,20,1082,17,21,18,897, - 43,35,1809,1871,20,1504,17,21,18,897, - 43,45,1054,273,1078,87,111,1073,1829,1221, - 96,1639,1172,2070,2009,1396,951,1860,1262,109, - 95,97,98,99,100,1030,1,1663,388,1871, - 20,1192,17,21,18,897,43,45,1054,823, - 110,369,1827,1073,1061,1133,1117,1875,1154,1946, - 387,87,111,1082,960,1221,96,107,1122,168, - 1542,295,299,1527,1262,109,95,97,98,99, - 100,352,264,1663,388,1668,2095,1823,20,314, - 17,21,18,897,353,1796,110,369,297,685, - 823,2882,254,213,1240,2090,387,87,111,2097, - 1082,1221,96,108,318,315,316,317,255,213, - 1262,109,95,97,98,99,100,413,2481,3059, - 1082,2921,1082,672,224,229,1568,318,315,316, - 317,811,110,369,218,456,221,223,2528,385, - 2535,830,387,2096,2278,1846,1996,413,293,107, - 2101,672,224,772,133,1663,388,2833,774,383, - 1082,325,218,456,221,223,1923,1847,20,620, - 17,21,18,897,41,1634,2054,1924,279,87, - 111,2109,2124,1221,96,318,315,316,317,784, - 1082,534,1262,109,95,97,98,99,100,155, - 662,2111,2921,1393,1385,534,450,106,1301,672, - 224,229,991,1710,110,369,2135,773,1060,311, - 219,456,221,223,387,413,1758,2882,940,1082, - 534,108,2091,1082,274,318,315,316,317,2154, - 1082,269,1281,1274,272,662,778,280,534,308, - 369,1560,2278,1670,3388,2882,1082,197,2562,672, - 224,229,3388,318,315,316,317,3388,259,3388, - 218,456,221,223,2582,197,3388,620,1437,1702, - 2263,3388,413,3388,2882,3388,1222,672,224,229, - 3388,3388,318,315,316,317,3388,3388,218,456, - 221,223,3388,3388,1222,1986,3388,155,662,2278, - 3388,3388,1477,1781,450,3388,672,224,229,3388, - 3388,2010,3388,3031,3388,193,3388,218,456,221, - 223,1643,1871,20,620,17,21,18,897,43, - 45,1054,3388,192,3388,3388,1073,1061,1133,1920, - 3388,3145,769,1998,3388,672,224,229,1436,3388, - 2476,198,3388,3388,156,662,218,456,221,223, - 3388,3388,1996,263,534,3388,277,3388,3388,1496, - 274,3388,318,315,316,317,3388,267,1281,1274, - 272,3388,672,224,229,3388,3388,3388,3388,2921, - 3388,2091,1336,218,456,221,223,264,3388,811, - 830,209,319,315,316,317,3388,274,2055,3388, - 2882,1470,1785,3388,267,1281,1274,272,318,315, - 316,317,3388,3388,3388,2617,3388,259,3388,3388, - 3388,3388,3388,3388,1755,2263,1542,1930,1702,3388, - 3388,261,672,224,229,1895,20,3388,17,21, - 18,897,34,218,456,221,223,3388,1871,20, - 1986,17,21,18,897,43,45,1054,254,213, - 1477,1781,1073,1061,1133,1117,2080,1154,1144,1936, - 3388,3388,3388,1670,3388,2882,318,315,316,317, - 398,3388,2971,319,315,316,317,3388,413,3388, - 2882,3388,3388,2921,3388,3388,3145,3388,319,315, - 316,317,657,1404,534,3388,199,672,224,229, - 3388,548,3388,49,3388,966,758,3388,218,456, - 221,223,672,224,229,1986,318,315,316,317, - 3388,2091,3388,218,456,221,223,1471,88,274, - 3139,3388,3388,2921,1092,758,267,1281,1274,272, - 672,224,1314,991,3388,318,315,316,317,209, - 3388,219,456,221,1250,3388,266,259,3388,1510, - 1785,3163,2921,758,1459,3388,388,1437,1702,672, - 224,229,991,318,315,316,317,844,1663,966, - 219,456,221,223,3388,3388,3388,3388,3388,88, - 2921,3388,3388,197,1169,1307,3388,672,224,1314, - 991,3388,87,111,892,1663,966,96,219,456, - 221,223,3388,3388,3388,1262,104,95,97,98, - 99,100,2270,3388,1006,1663,966,1384,1255,87, - 111,1054,1663,966,96,3388,3388,319,315,316, - 317,3388,1262,102,95,97,98,99,100,87, - 111,657,3388,534,96,3388,87,111,3388,3388, - 3388,96,1262,361,95,97,98,99,100,1262, - 103,95,97,98,99,100,2060,49,534,966, - 2091,1168,1663,966,3388,3388,318,315,316,317, - 1871,20,3388,17,21,18,897,43,45,1054, - 3388,3388,88,2921,1801,2091,87,111,1870,3388, - 3388,96,3388,811,3388,3388,259,3388,3388,1262, - 119,95,97,98,99,100,1999,1702,1216,1663, - 966,3388,3388,3388,3388,1264,1663,966,3388,1945, - 3388,259,1871,20,3388,17,21,18,897,43, - 48,1930,1702,87,111,1312,1663,966,96,3388, - 87,111,1360,1663,966,96,1262,115,95,97, - 98,99,100,1262,2015,95,97,98,99,100, - 87,111,1408,1663,966,96,3388,87,111,590, - 3388,484,96,1262,114,95,97,98,99,100, - 1262,121,95,97,98,99,100,87,111,3388, - 3388,3388,96,3388,3388,305,3388,369,557,3388, - 1262,120,95,97,98,99,100,318,315,316, - 317,3388,3388,1871,20,1113,17,21,18,897, - 43,45,1812,3388,2921,370,315,316,317,304, - 369,3388,3388,656,991,3388,3388,3388,3388,309, - 3388,1466,3388,318,315,316,317,135,213,3388, - 3388,370,315,316,317,3388,274,3388,3388,3388, - 2172,3388,3388,269,1281,1274,272,1531,3388,145, - 134,136,160,135,213,1991,3388,370,315,316, - 317,2001,301,303,3388,370,315,316,317,3388, - 406,370,315,316,317,148,134,136,160,135, - 213,3388,419,3388,966,1079,2847,135,213,3388, - 3388,3388,3388,135,213,319,315,316,317,3388, - 3388,151,134,136,160,3388,3388,88,125,154, - 134,136,160,1302,3388,365,134,136,160,1871, - 20,3388,17,21,18,897,43,45,1054,3388, - 3388,3388,3388,1073,1832,1871,20,723,17,21, - 18,897,43,45,1054,3388,3388,3388,3388,1073, - 1833,1871,20,3388,17,21,18,897,43,45, - 1054,3388,3388,3388,3388,1073,1845,1871,20,3388, - 17,21,18,897,43,45,1054,49,1432,966, - 2142,1073,1865,1871,20,3388,17,21,18,897, - 43,45,1054,758,3388,3388,277,1073,1869,3388, - 3388,3388,88,318,315,316,317,665,1890,484, - 1871,20,917,17,21,18,897,43,45,1817, - 2921,3388,318,315,316,317,3388,655,224,233, - 991,3388,1459,305,388,3388,557,274,1240,2725, - 3388,1102,1240,534,267,1281,1274,272,318,315, - 316,317,318,315,316,317,3388,88,1459,3388, - 388,197,1169,1307,1755,2921,3388,304,369,2921, - 197,3388,49,3388,966,811,3388,309,3388,811, - 3388,1533,1459,88,388,3388,3388,197,1169,1307, - 2270,319,315,316,317,3388,1463,88,1459,1222, - 388,2306,3388,1892,3388,2335,3388,88,951,3388, - 3388,197,1169,1307,3388,3388,2270,3388,3388,3388, - 302,303,1489,88,1459,3388,388,197,1169,1307, - 3388,1240,3388,3388,920,3388,966,3388,192,912, - 2270,318,315,316,317,3388,1515,1483,1998,88, - 1316,3388,388,197,1169,1307,2270,3388,2921,88, - 3388,3388,1541,3388,3388,116,1871,20,811,17, - 21,18,897,43,47,88,3388,3388,3388,1060, - 3388,116,2270,1459,920,388,966,3388,1566,3388, - 3388,1240,1871,20,2617,17,21,18,897,43, - 46,318,315,316,317,1509,3388,3388,88,88, - 1077,369,197,1169,1307,116,3388,3388,2921,1240, - 3388,1405,3388,423,3388,3388,3388,2040,811,318, - 315,316,317,318,315,316,317,319,315,316, - 317,2270,3388,3388,3388,3388,2921,1960,524,920, - 2427,966,3388,3388,1945,2010,811,3388,318,315, - 316,317,1895,20,3388,17,21,18,897,33, - 3388,3388,3388,2074,88,2427,49,2080,966,3388, - 116,3388,2363,318,315,316,317,318,315,316, - 317,1943,20,3388,17,21,18,897,1786,2069, - 3181,88,3388,3388,2921,2110,3388,2003,3388,318, - 315,316,317,3388,1482,318,315,316,317,784, - 2026,3388,3388,2126,3388,3388,3167,2085,3388,3388, - 3388,3388,3185,318,315,316,317,319,315,316, - 317,2100,3388,3388,860,2138,3388,3388,3388,2143, - 3189,319,315,316,317,319,315,316,317,319, - 315,316,317,3388,3388,3388,3388,3388,3388,3388, - 3388,3388,3388,3388,3388,3388,3388,3388,3388,3388, - 3388,3388,3388,3388,3388,3388,3388,3388,3388,3388, - 3388,3388,3388,3388,3388,3388,3388,3388,1688,3388, - 0,1,455,0,1,499,0,1,582,0, - 1,622,0,499,129,0,582,129,0,622, - 129,0,499,130,0,582,130,0,622,130, - 0,499,131,0,582,131,0,622,131,0, - 622,185,0,582,185,0,499,185,0,185, - 189,0,622,184,0,582,184,0,499,184, - 0,184,189,0,499,132,0,582,132,0, - 622,132,0,499,133,0,582,133,0,622, - 133,0,11,226,0,499,368,0,582,368, - 0,622,368,0,223,235,0,3396,1,0, - 622,380,0,582,380,0,499,380,0,592, - 32,0,2303,32,0,622,253,0,582,253, - 0,499,253,0,1,3625,0,223,236,0, - 179,20,0,8,10,0,1,3614,0,366, - 355,0,367,356,0,113,2555,0 + 43,43,43,44,44,44,44,44,60,60, + 29,29,29,29,29,54,54,54,95,95, + 90,90,90,90,91,91,91,92,92,92, + 93,93,93,94,94,94,89,89,82,82, + 83,55,57,57,57,57,57,72,74,74, + 74,74,74,74,74,74,74,74,74,74, + 81,78,78,124,125,84,84,79,79,79, + 96,106,106,107,107,97,97,97,58,126, + 126,108,98,98,98,80,80,127,109,109, + 110,110,99,99,32,33,33,33,56,52, + 52,45,45,45,45,34,34,35,46,46, + 47,36,36,100,100,48,129,129,128,128, + 59,59,59,59,59,59,59,59,59,111, + 63,63,63,63,37,85,85,75,75,75, + 76,76,65,65,130,130,64,64,86,86, + 86,66,66,66,67,68,68,68,69,69, + 69,69,73,73,50,50,51,132,131,131, + 131,131,112,133,134,134,135,135,136,136, + 121,121,137,137,113,113,113,113,138,138, + 114,114,114,70,115,115,10,10,10,27, + 27,11,11,139,139,116,116,116,117,117, + 140,140,118,118,12,12,141,141,119,119, + 119,119,13,61,142,142,143,143,120,120, + 120,101,101,101,7,7,7,7,16,16, + 24,4,40,144,102,102,102,87,87,29, + 60,54,83,83,83,108,108,108,127,124, + 125,37,96,135,135,145,146,112,77,329, + 1714,247,17,21,18,898,1031,45,1055,371, + 316,317,318,1074,1062,1134,1118,403,1155,1145, + 1175,1169,1196,75,2102,961,1782,92,734,2014, + 1751,136,214,115,1679,20,612,17,21,18, + 898,43,44,1871,20,755,17,21,18,898, + 43,45,1055,138,135,137,161,1074,1062,1134, + 1118,1220,1155,1145,1175,1972,37,339,961,31, + 1971,140,2293,167,730,1664,967,144,147,150, + 153,314,285,2654,28,1230,364,129,232,499, + 2636,2662,2688,2696,1072,1456,180,1865,823,87, + 111,2702,349,1711,96,371,316,317,318,651, + 712,1542,1263,1744,95,97,98,99,100,371, + 316,317,318,1163,211,967,229,136,214,656, + 225,233,1871,20,941,17,21,18,898,43, + 40,136,214,255,214,1521,180,242,88,138, + 135,137,161,347,1953,371,316,317,318,1830, + 295,323,1678,143,135,137,161,140,419,167, + 1054,25,169,144,147,150,153,136,214,2654, + 1440,142,364,167,1386,499,2636,2662,2688,2696, + 1072,256,214,800,128,754,617,2702,322,138, + 135,137,161,2112,635,967,1871,20,426,17, + 21,18,898,43,45,1055,1971,140,1974,167, + 1074,1062,1825,144,147,150,153,1926,90,2654, + 343,1288,364,851,232,499,2636,2662,2688,2696, + 1072,319,316,317,318,1952,1676,2702,1703,20, + 1784,17,21,18,898,1031,45,1055,3068,256, + 214,1013,1074,1062,1134,1118,1061,1155,1145,1175, + 1169,1196,75,443,1610,20,282,17,21,18, + 898,43,36,927,961,31,1586,20,1784,17, + 21,18,898,1031,45,1055,28,1230,283,1230, + 1074,1062,1134,1118,284,1155,1145,1175,1169,1196, + 75,364,1610,20,282,17,21,18,898,43, + 36,288,2113,247,1643,20,1592,17,21,18, + 898,1031,45,1055,500,3114,283,1230,1074,1062, + 1134,1118,228,1155,1145,1175,1169,1196,75,1542, + 1871,20,282,17,21,18,898,43,39,290, + 289,248,1871,20,499,17,21,18,898,43, + 45,1055,28,1230,283,1230,1074,1062,1829,1551, + 2014,255,214,1337,499,1727,20,24,17,21, + 18,898,1031,45,1055,961,188,159,291,1074, + 1062,1134,1118,1500,1155,1145,1175,1169,1196,75, + 181,1871,20,282,17,21,18,898,43,45, + 1055,335,396,1751,20,1796,17,21,18,898, + 1031,45,1055,181,549,283,1230,1074,1062,1134, + 1118,1082,1155,1145,1175,1169,1196,75,755,1871, + 20,282,17,21,18,898,43,38,387,226, + 993,435,20,739,17,21,18,898,1031,45, + 1055,961,187,283,1230,1074,1062,1134,1118,311, + 1155,1145,1175,1169,1196,75,2014,1871,20,488, + 17,21,18,898,43,37,292,1967,20,313, + 17,21,18,898,1031,45,1055,49,2036,1138, + 240,1074,1062,1134,1118,1089,1155,1145,1175,1169, + 1196,75,336,1289,977,332,1919,20,2217,17, + 21,18,898,1031,45,1055,734,115,1843,205, + 1074,1062,1134,1118,960,1155,1145,1175,1169,1196, + 75,363,1871,20,1148,17,21,18,898,43, + 45,1055,961,189,324,1678,1074,1062,1134,1118, + 1500,1155,1145,1175,1169,1196,94,1871,20,1149, + 17,21,18,898,1031,45,1055,1522,334,105, + 635,1074,1062,1134,1118,1614,1155,1145,1175,1169, + 1196,75,418,533,20,92,17,21,18,898, + 1031,45,1055,594,1775,330,125,1074,1062,1134, + 1118,1339,1155,1145,1175,1169,1196,75,2131,1775, + 20,1535,17,21,18,898,367,1914,941,1967, + 20,426,17,21,18,898,1031,45,1055,961, + 1367,1082,241,1074,1062,1134,1118,346,1155,1145, + 1175,1169,1196,75,413,1779,2879,332,1971,342, + 2452,419,36,1996,319,316,317,318,28,1230, + 985,1711,1521,180,868,49,279,2017,920,337, + 967,2279,371,316,317,318,1766,128,673,225, + 773,1799,20,823,17,21,18,898,356,219, + 457,222,701,88,136,214,621,1871,20,116, + 17,21,18,898,43,36,1871,20,416,17, + 21,18,898,43,45,1055,139,135,137,161, + 1074,1062,1134,1118,798,1897,156,663,537,916, + 535,535,22,451,141,325,167,331,823,1419, + 145,148,151,154,774,1478,2654,1871,20,365, + 17,21,18,898,1031,45,1055,1061,2092,355, + 1082,1074,1062,1134,1118,1116,1155,1145,1175,1169, + 1196,75,49,897,2083,86,1871,20,361,17, + 21,18,898,1031,45,1055,1037,244,308,370, + 1074,1062,1134,1118,261,1155,1145,1175,1169,1196, + 75,635,1871,20,85,17,21,18,898,1031, + 45,1055,419,419,1888,2024,1074,1062,1134,1118, + 1524,1155,1145,1175,1169,1196,75,124,1871,20, + 84,17,21,18,898,1031,45,1055,128,196, + 2149,2035,1074,1062,1134,1118,1082,1155,1145,1175, + 1169,1196,75,635,1871,20,83,17,21,18, + 898,1031,45,1055,636,804,1960,2152,1074,1062, + 1134,1118,1992,1155,1145,1175,1169,1196,75,112, + 1871,20,82,17,21,18,898,1031,45,1055, + 28,1230,601,635,1074,1062,1134,1118,1082,1155, + 1145,1175,1169,1196,75,1547,1871,20,81,17, + 21,18,898,1031,45,1055,19,28,1230,127, + 1074,1062,1134,1118,276,1155,1145,1175,1169,1196, + 75,277,1871,20,80,17,21,18,898,1031, + 45,1055,28,1230,961,297,1074,1062,1134,1118, + 1251,1155,1145,1175,1169,1196,75,635,1871,20, + 79,17,21,18,898,1031,45,1055,49,49, + 419,2251,1074,1062,1134,1118,2050,1155,1145,1175, + 1169,1196,75,123,1871,20,78,17,21,18, + 898,1031,45,1055,1669,1782,635,501,1074,1062, + 1134,1118,1112,1155,1145,1175,1169,1196,75,635, + 1871,20,77,17,21,18,898,1031,45,1055, + 339,49,2975,638,1074,1062,1134,1118,1082,1155, + 1145,1175,1169,1196,75,3025,1871,20,76,17, + 21,18,898,1031,45,1055,231,49,1271,2882, + 1074,1062,1134,1118,1082,1155,1145,1175,1169,1196, + 75,1300,1871,20,93,17,21,18,898,1031, + 45,1055,712,1878,2014,1831,1074,1062,1134,1118, + 1082,1155,1145,1175,1169,1196,75,1364,1871,20, + 1576,17,21,18,898,1031,45,1055,1018,2014, + 635,1300,1074,1062,1134,1118,1082,1155,1145,1175, + 1169,1196,75,195,1871,20,1612,17,21,18, + 898,43,45,1055,1250,823,3090,182,1074,1062, + 1134,1118,1082,1155,1145,1175,1169,1196,94,1871, + 20,1682,17,21,18,898,43,45,1055,876, + 424,635,206,1074,1062,1134,1118,1082,1155,1145, + 1175,1169,1196,94,1871,20,823,17,21,18, + 898,1031,45,1055,243,1277,363,118,1074,1062, + 1134,1118,1082,1155,1145,1175,1169,1196,75,1509, + 1871,20,360,17,21,18,898,1031,45,1055, + 23,213,823,1415,1074,1062,1134,1118,1082,1155, + 1145,1175,1169,1196,75,245,1871,20,74,17, + 21,18,898,43,45,1055,352,961,299,1686, + 1074,1062,1134,1118,2091,1155,1145,1175,1169,1196, + 94,1871,20,1543,17,21,18,898,43,45, + 1055,246,235,677,1058,1074,1062,1134,1118,1082, + 1155,1145,1175,1169,1196,94,1871,20,1646,17, + 21,18,898,43,45,1055,2014,321,203,1673, + 1074,1062,1134,1118,1082,1155,1145,1175,1169,1196, + 94,1871,20,848,17,21,18,898,43,45, + 1055,1128,341,1783,789,1074,1062,1134,1118,1082, + 1155,1145,1175,1169,1196,94,1871,20,1243,17, + 21,18,898,43,45,1055,67,340,204,562, + 1074,1062,1134,1118,569,1155,1145,1175,1169,1196, + 94,199,1664,389,1871,20,1082,17,21,18, + 898,43,35,1810,1871,20,1504,17,21,18, + 898,43,45,1055,274,1078,87,111,1074,1830, + 1222,96,1639,1172,2070,2010,1396,951,1861,1263, + 109,95,97,98,99,100,1030,1,1664,389, + 1871,20,1192,17,21,18,898,43,45,1055, + 823,110,370,1827,1074,1062,1134,1118,1875,1155, + 1947,388,87,111,1082,960,1222,96,107,1122, + 168,1542,296,299,1527,1263,109,95,97,98, + 99,100,353,264,1664,389,1668,2095,1823,20, + 315,17,21,18,898,354,1797,110,370,298, + 685,823,2883,255,214,1240,2090,388,87,111, + 2097,1082,1222,96,108,319,316,317,318,256, + 214,1263,109,95,97,98,99,100,413,2482, + 3060,1082,2922,1082,673,225,230,1568,319,316, + 317,318,812,110,370,219,457,222,224,2529, + 386,2536,831,388,2096,2279,1847,1997,414,294, + 107,2101,673,225,773,133,1664,389,2834,775, + 384,1082,326,219,457,222,224,1923,1847,20, + 621,17,21,18,898,41,1634,2054,1925,280, + 87,111,2109,2124,1222,96,319,316,317,318, + 784,1082,535,1263,109,95,97,98,99,100, + 156,663,2111,2922,1393,1385,535,451,106,1302, + 673,225,230,992,1710,110,370,2135,774,1061, + 312,220,457,222,224,388,413,1758,2883,940, + 1082,535,108,2092,1082,275,319,316,317,318, + 2154,1082,270,1282,1275,273,662,778,281,535, + 309,370,1561,2279,1670,3392,2883,1082,198,2563, + 673,225,230,3392,319,316,317,318,3392,260, + 3392,219,457,222,224,2583,198,3392,621,1438, + 1703,2264,3392,413,3392,2883,3392,1223,673,225, + 230,3392,3392,319,316,317,318,3392,3392,219, + 457,222,224,3392,3392,1223,1987,3392,156,663, + 2279,3392,3392,1477,1782,451,3392,673,225,230, + 3392,3392,2010,3392,3032,3392,194,3392,219,457, + 222,224,1644,1871,20,621,17,21,18,898, + 43,45,1055,3392,193,3392,3392,1074,1062,1134, + 1921,3392,3146,770,1999,3392,673,225,230,1436, + 3392,2477,199,3392,3392,157,663,219,457,222, + 224,3392,3392,1996,264,535,3392,278,3392,3392, + 1497,275,3392,319,316,317,318,3392,268,1282, + 1275,273,3392,673,225,230,3392,3392,3392,3392, + 2922,3392,2092,1336,219,457,222,224,265,3392, + 812,831,210,320,316,317,318,3392,275,2055, + 3392,2883,1471,1786,3392,268,1282,1275,273,319, + 316,317,318,3392,3392,3392,2618,3392,260,3392, + 3392,3392,3392,3392,3392,1756,2264,1542,1931,1703, + 3392,3392,262,673,225,230,1895,20,3392,17, + 21,18,898,34,219,457,222,224,3392,1871, + 20,1987,17,21,18,898,43,45,1055,255, + 214,1477,1782,1074,1062,1134,1118,2080,1155,1145, + 1937,3392,3392,3392,1670,3392,2883,319,316,317, + 318,398,3392,2972,320,316,317,318,3392,413, + 3392,2883,3392,3392,2922,3392,3392,3146,3392,320, + 316,317,318,657,1405,535,3392,200,673,225, + 230,3392,549,3392,49,3392,967,758,3392,219, + 457,222,224,673,225,230,1987,319,316,317, + 318,3392,2092,3392,219,457,222,224,1472,88, + 275,3140,3392,3392,2922,1093,758,268,1282,1275, + 273,673,225,1315,992,3392,319,316,317,318, + 210,3392,220,457,222,1251,3392,267,260,3392, + 1511,1786,3164,2922,758,1459,3392,389,1438,1703, + 673,225,230,992,319,316,317,318,844,1664, + 967,220,457,222,224,3392,3392,3392,3392,3392, + 88,2922,3392,3392,198,1170,1308,3392,673,225, + 1315,992,3392,87,111,892,1664,967,96,220, + 457,222,224,3392,3392,3392,1263,104,95,97, + 98,99,100,2271,3392,1006,1664,967,1384,1256, + 87,111,1054,1664,967,96,3392,3392,320,316, + 317,318,3392,1263,102,95,97,98,99,100, + 87,111,657,3392,535,96,3392,87,111,3392, + 3392,3392,96,1263,362,95,97,98,99,100, + 1263,103,95,97,98,99,100,2060,49,535, + 967,2092,1168,1664,967,3392,3392,319,316,317, + 318,1871,20,3392,17,21,18,898,43,45, + 1055,3392,3392,88,2922,1802,2092,87,111,1871, + 3392,3392,96,3392,812,3392,3392,260,3392,3392, + 1263,120,95,97,98,99,100,2000,1703,1216, + 1664,967,3392,3392,3392,3392,1264,1664,967,3392, + 1946,3392,260,1871,20,3392,17,21,18,898, + 43,48,1931,1703,87,111,1312,1664,967,96, + 3392,87,111,1360,1664,967,96,1263,115,95, + 97,98,99,100,1263,2016,95,97,98,99, + 100,87,111,1408,1664,967,96,3392,87,111, + 590,3392,485,96,1263,114,95,97,98,99, + 100,1263,122,95,97,98,99,100,87,111, + 3392,3392,3392,96,3392,3392,306,3392,369,558, + 3392,1263,121,95,97,98,99,100,319,316, + 317,318,3392,3392,1871,20,1113,17,21,18, + 898,43,45,1813,3392,2922,371,316,317,318, + 305,370,3392,3392,656,992,3392,3392,3392,3392, + 310,3392,1466,3392,319,316,317,318,136,214, + 3392,3392,371,316,317,318,3392,275,3392,3392, + 3392,2173,3392,3392,270,1282,1275,273,1531,3392, + 146,135,137,161,136,214,1991,3392,371,316, + 317,318,2001,302,304,3392,371,316,317,318, + 3392,407,371,316,317,318,149,135,137,161, + 136,214,3392,419,3392,967,1079,2848,136,214, + 3392,3392,3392,3392,136,214,320,316,317,318, + 3392,3392,152,135,137,161,3392,3392,88,126, + 155,135,137,161,1303,3392,366,135,137,161, + 1871,20,3392,17,21,18,898,43,45,1055, + 3392,3392,3392,3392,1074,1833,1871,20,724,17, + 21,18,898,43,45,1055,3392,3392,3392,3392, + 1074,1834,1871,20,3392,17,21,18,898,43, + 45,1055,3392,3392,3392,3392,1074,1846,1871,20, + 3392,17,21,18,898,43,45,1055,49,1432, + 967,2143,1074,1866,1871,20,3392,17,21,18, + 898,43,45,1055,758,3392,3392,278,1074,1870, + 3392,3392,3392,88,319,316,317,318,665,1891, + 485,1871,20,917,17,21,18,898,43,45, + 1818,2922,3392,319,316,317,318,3392,656,225, + 234,992,3392,1459,306,389,3392,558,275,1240, + 2726,3392,1102,1240,535,268,1282,1275,273,319, + 316,317,318,319,316,317,318,3392,88,1459, + 3392,389,198,1170,1308,1756,2922,3392,305,370, + 2922,198,3392,49,3392,967,812,3392,310,3392, + 812,3392,1533,1459,88,389,3392,3392,198,1170, + 1308,2271,320,316,317,318,3392,1464,88,1459, + 1223,389,2307,3392,1893,3392,2336,3392,88,952, + 3392,3392,198,1170,1308,3392,3392,2271,3392,3392, + 3392,303,304,1490,88,1459,3392,389,198,1170, + 1308,3392,1240,3392,3392,920,3392,967,3392,193, + 913,2271,319,316,317,318,3392,1516,1484,1999, + 88,1316,3392,389,198,1170,1308,2271,3392,2922, + 88,3392,3392,1542,3392,3392,116,1871,20,812, + 17,21,18,898,43,47,88,3392,3392,3392, + 1061,3392,116,2271,1459,920,389,967,3392,1567, + 3392,3392,1240,1871,20,2618,17,21,18,898, + 43,46,319,316,317,318,1510,3392,3392,88, + 88,1078,370,198,1170,1308,116,3392,3392,2922, + 1240,3392,1406,3392,423,3392,3392,3392,2040,812, + 319,316,317,318,319,316,317,318,320,316, + 317,318,2271,3392,3392,3392,3392,2922,1961,524, + 920,2428,967,3392,3392,1946,2011,812,3392,319, + 316,317,318,1895,20,3392,17,21,18,898, + 33,3392,3392,3392,2074,88,2428,49,2080,967, + 3392,116,3392,2364,319,316,317,318,319,316, + 317,318,1943,20,3392,17,21,18,898,1787, + 2069,3182,88,3392,3392,2922,2110,3392,2004,3392, + 319,316,317,318,3392,1483,319,316,317,318, + 785,2027,3392,3392,2126,3392,3392,3168,2085,3392, + 3392,3392,3392,3186,319,316,317,318,320,316, + 317,318,2100,3392,3392,861,2138,3392,3392,3392, + 2143,3190,320,316,317,318,320,316,317,318, + 320,316,317,318,3392,3392,3392,3392,3392,3392, + 3392,3392,3392,3392,3392,3392,3392,3392,3392,3392, + 3392,3392,3392,3392,3392,3392,3392,3392,3392,3392, + 3392,3392,3392,3392,3392,3392,3392,3392,3392,1689, + 3392,0,1,456,0,1,500,0,1,583, + 0,1,623,0,500,130,0,583,130,0, + 623,130,0,500,131,0,583,131,0,623, + 131,0,500,132,0,583,132,0,623,132, + 0,623,186,0,583,186,0,500,186,0, + 186,190,0,623,185,0,583,185,0,500, + 185,0,185,190,0,500,133,0,583,133, + 0,623,133,0,500,134,0,583,134,0, + 623,134,0,11,227,0,500,369,0,583, + 369,0,623,369,0,224,236,0,3400,1, + 0,623,381,0,583,381,0,500,381,0, + 593,32,0,2304,32,0,623,254,0,583, + 254,0,500,254,0,1,3630,0,224,237, + 0,180,20,0,8,10,0,1984,119,0, + 1,3619,0,367,356,0,368,357,0,113, + 2556,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -949,229 +950,229 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface TermAction { public final static char termAction[] = {0, - 3388,1,5941,1735,3241,5935,1,1,1,1, - 925,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3397,1,1,1, - 1,1,1,1,3489,55,344,1457,979,941, - 1210,1662,463,1359,1038,1652,2722,1612,1,1, + 3392,1,5946,1736,3242,5940,1,1,1,1, + 926,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,3401,1,1,1, + 1,1,1,1,3493,55,345,1458,980,942, + 1211,1663,464,1360,1039,1653,2723,1613,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,3731,1,1,1,3395,8,3373,3373,3373, - 3373,3373,3373,3373,3373,3373,3373,3373,3373,3373, - 3373,3373,3373,3373,3373,3373,3373,3373,3373,3373, - 3373,3373,3373,3373,3373,3373,3373,3373,3373,3373, - 3373,800,2490,3373,3373,3373,3373,3373,3373,3373, - 3373,3373,3373,3373,349,3373,3373,3373,3373,3373, - 3373,3373,3373,3373,3373,3373,3373,904,3373,3373, - 3373,3373,3388,1,5941,1735,3241,5935,1,1, - 1,1,925,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3397,1, - 1,1,1,1,1,1,3489,358,286,1457, - 979,941,1210,1662,463,1359,1038,1652,2722,1612, - 3388,1,1,1,1,1,1,1,1,1, - 1,1,1,1040,1,1,1,3395,3388,1, - 5941,3398,3241,5935,1,1,1,1,925,1, + 1,3736,1,1,1,3399,8,3374,3374,3374, + 3374,3374,3374,3374,3374,3374,3374,3374,3374,3374, + 3374,3374,3374,3374,3374,3374,3374,3374,3374,3374, + 3374,3374,3374,3374,3374,3374,3374,3374,3374,3374, + 3374,801,2491,3374,3374,3374,3374,3374,3374,3374, + 3374,3374,3374,3374,350,3374,3374,3374,3374,3374, + 3374,3374,3374,3374,3374,3374,3374,905,3374,3374, + 3374,3374,3392,1,5946,1736,3242,5940,1,1, + 1,1,926,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,3401,1, + 1,1,1,1,1,1,3493,359,287,1458, + 980,942,1211,1663,464,1360,1039,1653,2723,1613, + 3392,1,1,1,1,1,1,1,1,1, + 1,1,1,1041,1,1,1,3399,3392,1, + 5946,3402,3242,5940,1,1,1,1,926,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3397,1,1,1,1,1, - 1,1,3489,800,2490,1457,979,941,1210,1662, - 463,1359,1038,1652,2722,1612,3388,1,1,1, - 1,1,1,1,1,1,1,1,1,904, - 1,1,1,3388,1,5941,3398,3241,5935,1, - 1,1,1,925,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3397, - 1,1,1,1,1,1,1,3489,357,3388, - 1457,979,941,1210,1662,463,1359,1038,1652,2722, - 1612,3388,1,1,1,1,1,1,1,1, - 1,1,1,1,67,1,1,1,3388,2938, - 3399,3388,622,3400,1106,499,582,3131,220,876, - 838,3404,1753,3102,2225,1937,3401,3402,3403,739, - 521,1847,3602,3604,71,3603,3551,3552,3550,3605, - 3553,3549,347,235,800,2490,223,3334,268,2818, - 3334,3334,622,850,253,499,582,3556,3561,3560, - 3558,3559,3557,3562,3563,3555,3564,3565,3566,223, - 2852,3088,3063,1,3400,3388,3400,1,2818,3400, - 265,2256,3388,850,3400,3400,1115,3400,3400,3400, - 390,223,1,1859,3614,63,3250,3388,1,3244, - 3247,3398,185,3117,3289,43,3280,3289,3400,3286, - 3283,223,850,265,1,2938,3399,3392,2238,3400, - 663,3400,157,1090,3397,876,838,3404,1753,3102, - 2225,1937,3401,3402,3403,739,521,1847,3400,3400, - 3400,3400,915,3400,3400,3400,3400,3400,3400,3400, - 3388,3400,3400,3400,3400,3400,3400,3400,3400,3400, - 3400,3400,3400,3400,3400,3400,3400,3400,3400,3400, - 3400,1,3399,1419,3399,751,595,3399,3388,3388, - 3240,3399,3399,3399,3400,3399,3399,3399,417,1074, - 713,3391,3388,1393,1367,1341,1315,1289,1237,1263, - 1211,1185,1156,184,3388,3301,3399,3292,3301,3388, - 3298,3295,3388,2938,3399,3392,1,3400,701,3399, - 3241,1090,3388,876,838,3404,1753,3102,2225,1937, - 3401,3402,3403,739,521,1847,3399,3399,3399,3399, - 1497,3399,3399,3399,3399,3399,3399,3399,3388,3399, - 3399,3399,3399,3399,3399,3399,3399,3399,3399,3399, - 3399,3399,3399,3399,3399,3399,3399,3399,3399,3388, - 1,1,3398,3241,1,1,1,1,1,3388, - 356,367,367,3382,367,1983,3382,367,367,3391, - 5900,3388,926,1,1,3397,1,1,1,1, - 1,1,1,3694,367,367,3382,367,367,367, - 367,367,367,367,3388,367,3382,3398,1,1, + 1,1,1,1,3401,1,1,1,1,1, + 1,1,3493,801,2491,1458,980,942,1211,1663, + 464,1360,1039,1653,2723,1613,3392,1,1,1, + 1,1,1,1,1,1,1,1,1,905, + 1,1,1,3392,1,5946,3402,3242,5940,1, + 1,1,1,926,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3401, + 1,1,1,1,1,1,1,3493,358,3392, + 1458,980,942,1211,1663,464,1360,1039,1653,2723, + 1613,3392,1,1,1,1,1,1,1,1, + 1,1,1,1,67,1,1,1,3392,2939, + 3403,3392,623,3404,1107,500,583,3132,221,877, + 839,3408,1754,3103,2226,1938,3405,3406,3407,740, + 522,1848,3607,3609,71,3608,3556,3557,3555,3610, + 3558,3554,348,236,801,2491,224,3335,269,2819, + 3335,3335,623,851,254,500,583,3561,3566,3565, + 3563,3564,3562,3567,3568,3560,3569,3570,3571,224, + 2853,3089,3064,1,3404,3392,3404,1,2819,3404, + 266,2257,3392,851,3404,3404,1116,3404,3404,3404, + 391,224,1,1860,3619,63,3251,3392,1,3245, + 3248,3402,186,3118,3290,43,3281,3290,3404,3287, + 3284,224,851,266,1,2939,3403,3396,2239,3404, + 664,3404,158,1091,3401,877,839,3408,1754,3103, + 2226,1938,3405,3406,3407,740,522,1848,3404,3404, + 3404,3404,916,3404,3404,3404,3404,3404,3404,3404, + 3392,3404,3404,3404,3404,3404,3404,3404,3404,3404, + 3404,3404,3404,3404,3404,3404,3404,3404,3404,3404, + 3404,1,3403,1420,3403,752,596,3403,3392,3392, + 3241,3403,3403,3403,3404,3403,3403,3403,418,1075, + 714,3395,3392,1394,1368,1342,1316,1290,1238,1264, + 1212,1186,1157,185,3392,3302,3403,3293,3302,3392, + 3299,3296,3392,2939,3403,3396,1,3404,702,3403, + 3242,1091,3392,877,839,3408,1754,3103,2226,1938, + 3405,3406,3407,740,522,1848,3403,3403,3403,3403, + 1498,3403,3403,3403,3403,3403,3403,3403,119,3403, + 3403,3403,3403,3403,3403,3403,3403,3403,3403,3403, + 3403,3403,3403,3403,3403,3403,3403,3403,3403,3392, + 1,1,3402,3242,1,1,1,1,1,3392, + 357,368,368,3386,368,3377,3386,368,368,3395, + 5905,3392,927,1,1,3401,1,1,1,1, + 1,1,1,3699,368,368,3386,368,368,368, + 368,368,368,368,3392,368,3386,3402,1,1, 1,1,1,1,1,1,1,1,1,1, - 129,1,1,1,3259,182,1,3253,3256,622, - 3397,113,499,582,3388,1,1,3398,3241,1, - 1,1,1,1,3602,3604,3388,3603,3551,3552, - 3550,3605,3553,3549,1,1859,3614,300,1,1, - 3397,1,1,1,1,1,1,1,3694,3556, - 3561,3560,3558,3559,3557,3562,3563,3555,3564,3565, - 3566,3388,569,1,1,1,1,1,1,1, - 1,1,1,1,1,3646,1,1,1,3388, - 1,5941,3398,1,5935,1,3337,2377,1,925, + 130,1,1,1,3260,183,1,3254,3257,623, + 3401,113,500,583,3392,1,1,3402,3242,1, + 1,1,1,1,3607,3609,3392,3608,3556,3557, + 3555,3610,3558,3554,1,1860,3619,301,1,1, + 3401,1,1,1,1,1,1,1,3699,3561, + 3566,3565,3563,3564,3562,3567,3568,3560,3569,3570, + 3571,3392,570,1,1,1,1,1,1,1, + 1,1,1,1,1,3651,1,1,1,3392, + 1,5946,3402,1,5940,1,3338,2378,1,926, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3388,326,3397,3715,253,1859,3614, - 3385,622,299,3489,499,582,1457,979,941,1210, - 1662,463,1359,1038,1652,2722,1612,3388,3716,1, - 191,1,1,1,1,1,1,3241,20,3370, - 179,3370,179,925,3370,179,179,60,3395,3388, - 792,1,1,271,1,1,1,1,1,1, - 1,3584,179,179,3370,179,179,179,179,179, - 179,179,3388,3370,3370,3392,1,1,1,1, - 1,1,1,1,1,1,1,1,850,1, - 1,1,191,3388,1,5941,3398,256,5935,1, - 3388,799,1,925,1,1,1,1,1,1, - 1,1,1,1,1,1,1,52,3388,3397, - 2823,2807,2791,2775,3388,2759,1763,3489,2850,2633, - 1457,979,941,1210,1662,463,1359,1038,1652,2722, - 1612,3388,1,5941,3398,1138,5935,1,3388,3391, - 1,925,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,206,3397,5936,1, - 622,5936,117,499,582,3489,222,605,1457,979, - 941,1210,1662,463,1359,1038,1652,2722,1612,3388, - 3388,1,190,1,1,117,1,1,1,3388, - 355,366,366,3379,366,117,3379,366,366,62, - 3388,850,3399,1,1,3400,1,1,1,1, - 1,1,1,3584,366,366,3379,366,366,366, - 366,366,366,366,3645,366,3379,3388,1,1, + 1,1,1,3392,327,3401,3720,254,1860,3619, + 3389,623,300,3493,500,583,1458,980,942,1211, + 1663,464,1360,1039,1653,2723,1613,3392,3721,1, + 192,1,1,1,1,1,1,3242,20,3371, + 180,3371,180,926,3371,180,180,60,3399,3392, + 793,1,1,272,1,1,1,1,1,1, + 1,3589,180,180,3371,180,180,180,180,180, + 180,180,3392,3371,3371,3396,1,1,1,1, + 1,1,1,1,1,1,1,1,851,1, + 1,1,192,3392,1,5946,3402,257,5940,1, + 3392,800,1,926,1,1,1,1,1,1, + 1,1,1,1,1,1,1,52,3392,3401, + 2824,2808,2792,2776,3392,2760,1764,3493,2851,2634, + 1458,980,942,1211,1663,464,1360,1039,1653,2723, + 1613,3392,1,5946,3402,1139,5940,1,3392,3395, + 1,926,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,207,3401,5941,1, + 623,5941,117,500,583,3493,223,606,1458,980, + 942,1211,1663,464,1360,1039,1653,2723,1613,3392, + 3392,1,191,1,1,117,1,1,1,3392, + 356,367,367,3383,367,117,3383,367,367,62, + 3392,851,3403,1,1,3404,1,1,1,1, + 1,1,1,3589,367,367,3383,367,367,367, + 367,367,367,367,3650,367,3383,3392,1,1, 1,1,1,1,1,1,1,1,1,1, - 3388,1,1,1,190,3388,1,5941,3398,3388, - 5935,1,11,3322,1,925,1,1,1,1, + 3392,1,1,1,191,3392,1,5946,3402,3392, + 5940,1,11,3323,1,926,1,1,1,1, 1,1,1,1,1,1,1,1,1,54, - 3388,3397,2823,2807,2791,2775,73,2759,1763,3489, - 2850,2633,1457,979,941,1210,1662,463,1359,1038, - 1652,2722,1612,3388,1,5941,3398,3388,5935,1, - 3388,459,1,925,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3388,377,3397, - 5940,3388,622,5940,3394,499,582,3489,350,1010, - 1457,979,941,1210,1662,463,1359,1038,1652,2722, - 1612,3388,3388,1,191,1,1,3388,1,1, - 1,3388,130,1718,3394,69,3268,3393,2404,3262, - 3265,61,432,512,1693,1,1,89,1,1, - 1,1,1,1,1,3584,3602,3604,2431,3603, - 3551,3552,3550,3605,3553,3549,1523,3393,337,1411, + 3392,3401,2824,2808,2792,2776,73,2760,1764,3493, + 2851,2634,1458,980,942,1211,1663,464,1360,1039, + 1653,2723,1613,3392,1,5946,3402,3392,5940,1, + 3392,460,1,926,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3392,378,3401, + 5945,3392,623,5945,3398,500,583,3493,351,1011, + 1458,980,942,1211,1663,464,1360,1039,1653,2723, + 1613,3392,3392,1,192,1,1,3392,1,1, + 1,3392,131,1719,3398,69,3269,3397,2405,3263, + 3266,61,433,513,1694,1,1,89,1,1, + 1,1,1,1,1,3589,3607,3609,2432,3608, + 3556,3557,3555,3610,3558,3554,1524,3397,338,1412, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,191,3388,1,5941, - 3398,3388,5935,1,3392,1445,1,925,1,1, + 1,1,1,1,1,1,192,3392,1,5946, + 3402,3392,5940,1,3396,1446,1,926,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,53,3388,3397,2823,2807,2791,2775,1799,2759, - 1763,3489,2850,2633,1457,979,941,1210,1662,463, - 1359,1038,1652,2722,1612,3388,1,5941,3398,3388, - 5935,1,3398,2,1,925,1,1,1,1, - 1,1,1,1,1,1,1,1,1,253, - 1725,3397,3388,622,1823,3397,499,582,3391,3489, - 3388,2990,1457,979,941,1210,1662,463,1359,1038, - 1652,2722,1612,3388,1,5941,3398,2052,5935,1, - 3388,2477,1,925,1,1,1,1,1,1, - 1,1,1,1,1,1,1,159,3388,3397, - 3399,622,3388,3400,499,582,3388,3489,1181,30, - 1457,979,941,1210,1662,463,1359,1038,1652,2722, - 1612,3388,1,5941,3398,1,5935,1,117,3241, - 1,925,1,1,1,1,1,1,1,1, - 1,1,1,1,1,378,229,3397,3388,622, - 1617,117,499,582,1727,3489,232,3417,1457,979, - 941,1210,1662,463,1359,1038,1652,2722,1612,3388, - 1,5941,3398,3388,5935,1,3398,3388,1,925, + 1,53,3392,3401,2824,2808,2792,2776,1800,2760, + 1764,3493,2851,2634,1458,980,942,1211,1663,464, + 1360,1039,1653,2723,1613,3392,1,5946,3402,3392, + 5940,1,3402,2,1,926,1,1,1,1, + 1,1,1,1,1,1,1,1,1,254, + 1726,3401,3392,623,1824,3401,500,583,3395,3493, + 3392,2991,1458,980,942,1211,1663,464,1360,1039, + 1653,2723,1613,3392,1,5946,3402,2053,5940,1, + 3392,2478,1,926,1,1,1,1,1,1, + 1,1,1,1,1,1,1,160,3392,3401, + 3403,623,3392,3404,500,583,3392,3493,1182,30, + 1458,980,942,1211,1663,464,1360,1039,1653,2723, + 1613,3392,1,5946,3402,1,5940,1,117,3242, + 1,926,1,1,1,1,1,1,1,1, + 1,1,1,1,1,379,230,3401,3392,623, + 1618,117,500,583,1728,3493,233,3421,1458,980, + 942,1211,1663,464,1360,1039,1653,2723,1613,3392, + 1,5946,3402,3392,5940,1,3402,3392,1,926, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,381,3388,3397,3626,622,3388,3397, - 499,582,1,3489,3364,207,1457,979,941,1210, - 1662,463,1359,1038,1652,2722,1612,3388,1,5941, - 3398,2188,5935,1,3388,2817,1,925,1,1, + 1,1,1,382,3392,3401,3631,623,3392,3401, + 500,583,1,3493,3365,208,1458,980,942,1211, + 1663,464,1360,1039,1653,2723,1613,3392,1,5946, + 3402,2189,5940,1,3392,2818,1,926,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,2818,3397,3394,1,2128,3376,3394,3388, - 434,3489,3394,5928,1457,979,941,1210,1662,463, - 1359,1038,1652,2722,1612,1,1859,650,1,3250, - 3400,3646,3244,3247,1018,131,850,3393,925,3277, - 850,3393,3271,3274,3388,3393,208,65,3399,3602, - 3604,3400,3603,3551,3552,3550,3605,3553,3549,3602, - 3604,2102,3603,3551,3552,3550,3605,3553,3549,3388, - 3388,968,3394,3388,3556,3561,3560,3558,3559,3557, - 3562,3563,3555,3564,3565,3566,3388,2852,3088,3063, - 3388,3388,3399,3388,622,3400,59,499,582,1018, - 132,1378,380,1430,3310,3393,3340,3304,3307,3346, - 3343,3388,3388,2912,3602,3604,229,3603,3551,3552, - 3550,3605,3553,3549,3602,3604,233,3603,3551,3552, - 3550,3605,3553,3549,2424,3602,3604,66,3603,3556, - 3561,3560,3558,3559,3557,3562,3563,3555,3564,3565, - 3566,2102,2852,3088,3063,1,2938,4267,29,3388, - 4169,1106,800,2490,1090,5900,876,838,3404,1753, - 3102,2225,1937,3401,3402,3403,739,521,1847,3388, - 2938,3399,3392,3388,3400,1106,3394,3388,1090,3388, - 876,838,3404,1753,3102,2225,1937,3401,3402,3403, - 739,521,1847,268,2128,3614,3388,622,211,253, - 499,582,3388,2938,3399,324,886,3400,1106,3393, - 29,1090,5900,876,838,3404,1753,3102,2225,1937, - 3401,3402,3403,739,521,1847,3388,58,850,1, - 1859,3614,3388,3250,422,367,3244,3247,3388,2938, - 3399,30,1456,3400,1106,5900,3391,1090,5900,876, - 838,3404,1753,3102,2225,1937,3401,3402,3403,739, - 521,1847,1,2938,4267,3388,1548,4169,1106,3388, - 3116,1090,5900,876,838,3404,1753,3102,2225,1937, - 3401,3402,3403,739,521,1847,382,2938,3399,675, - 1625,3400,1106,800,2490,1090,5900,876,838,3404, - 1753,3102,2225,1937,3401,3402,3403,739,521,1847, - 3388,2938,3399,3388,3388,3400,1106,3388,3388,1090, - 5900,876,838,3404,1753,3102,2225,1937,3401,3402, - 3403,739,521,1847,3388,2364,3399,3388,49,3400, - 1106,249,3388,1090,3032,876,838,3404,1753,3102, - 2225,1937,3401,3402,3403,739,521,1847,3388,2872, - 3399,3388,3388,3400,1106,1,1,1090,1,876, - 838,3404,1753,3102,2225,1937,3401,3402,3403,739, - 521,1847,3388,2898,3399,812,51,3400,1106,248, - 3388,1090,3032,876,838,3404,1753,3102,2225,1937, - 3401,3402,3403,739,521,1847,3388,2922,3399,3006, - 2542,3400,1106,3602,3604,1090,3603,876,838,3404, - 1753,3102,2225,1937,3401,3402,3403,739,521,1847, - 3388,2938,3399,3388,50,3400,1106,250,3388,1090, - 3032,876,838,3404,1753,3102,2225,1937,3401,3402, - 3403,739,521,1847,3388,2964,3399,3006,2542,3400, - 1106,1,1,1090,1,876,838,3404,1753,3102, - 2225,1937,3401,3402,3403,739,521,1847,1,2938, - 3399,3388,70,3400,1106,251,3388,1090,3388,876, - 838,3404,1753,3102,2225,1937,3401,3402,3403,739, - 521,1847,3388,3023,3399,3006,2542,3400,1106,3602, - 3604,1090,3603,876,838,3404,1753,3102,2225,1937, - 3401,3402,3403,739,521,1847,332,2938,3399,3388, - 1,3400,1106,3394,3388,1090,3388,876,838,3404, - 1753,3102,2225,1937,3401,3402,3403,739,521,1847, - 133,270,1057,3388,3319,1,3388,3313,3316,3250, - 368,253,3244,3247,3331,1799,3393,3325,3328,1, - 2128,3614,262,3388,3602,3604,3396,3603,3551,3552, - 3550,3605,3553,3549,3602,3604,850,3603,3551,3552, - 3550,3605,3553,3549,236,32,3349,223,3367,372, - 3388,3367,3367,622,850,262,499,582,3388,3388, - 3414,3415,3394,68,1,1859,3614,262,3250,1, - 223,3244,3247,3250,3646,253,3244,3247,371,3388, - 3352,3399,622,183,3400,499,582,622,3395,253, - 499,582,223,3355,373,3393,3361,3358,622,57, - 3388,499,582,3394,252,3388,56,837,3394,379, - 64,292,223,622,1650,673,499,582,3388,200, - 72,1,356,622,91,1625,499,582,3602,3604, - 457,3603,5900,3388,285,374,3393,1377,3646,622, - 354,3393,499,582,201,1115,1700,375,1974,1353, - 5900,622,376,1028,499,582,622,91,42,499, - 582,3388,207,3388,414,800,2490,414,5900,1, - 189,5900,800,2490,381,1,3388,3388,3388,1573, - 206,1636,3388,3388,377,3388,3388,3388,3388,3388, - 751,595,3388,3388,1599,3388,3388,3388,3388,1377, - 3388,3388,3388,3388,2238,1675,3388,3388,3388,3388, - 3388,3388,3388,3388,3388,3388,3388,3388,3388,3388, - 3388,3388,3388,3388,3772,3388,3388,3388,3388,3388, - 3400,3388,3388,3388,3388,3388,3399 + 1,1,2819,3401,3398,1,2129,3380,3398,3392, + 435,3493,3398,5933,1458,980,942,1211,1663,464, + 1360,1039,1653,2723,1613,1,1860,651,1,3251, + 3404,3651,3245,3248,1019,132,851,3397,926,3278, + 851,3397,3272,3275,3392,3397,209,65,3403,3607, + 3609,3404,3608,3556,3557,3555,3610,3558,3554,3607, + 3609,2103,3608,3556,3557,3555,3610,3558,3554,3392, + 3392,969,3398,3392,3561,3566,3565,3563,3564,3562, + 3567,3568,3560,3569,3570,3571,3392,2853,3089,3064, + 3392,3392,3403,3392,623,3404,59,500,583,1019, + 133,1379,381,1431,3311,3397,3341,3305,3308,3347, + 3344,3392,3392,2913,3607,3609,230,3608,3556,3557, + 3555,3610,3558,3554,3607,3609,234,3608,3556,3557, + 3555,3610,3558,3554,2425,3607,3609,66,3608,3561, + 3566,3565,3563,3564,3562,3567,3568,3560,3569,3570, + 3571,2103,2853,3089,3064,1,2939,4272,29,3392, + 4174,1107,801,2491,1091,5905,877,839,3408,1754, + 3103,2226,1938,3405,3406,3407,740,522,1848,3392, + 2939,3403,3396,3392,3404,1107,3398,3392,1091,3392, + 877,839,3408,1754,3103,2226,1938,3405,3406,3407, + 740,522,1848,269,2129,3619,3392,623,212,254, + 500,583,3392,2939,3403,325,887,3404,1107,3397, + 29,1091,5905,877,839,3408,1754,3103,2226,1938, + 3405,3406,3407,740,522,1848,3392,58,851,1, + 1860,3619,3392,3251,423,368,3245,3248,3392,2939, + 3403,30,1457,3404,1107,5905,3395,1091,5905,877, + 839,3408,1754,3103,2226,1938,3405,3406,3407,740, + 522,1848,1,2939,4272,3392,1549,4174,1107,3392, + 3117,1091,5905,877,839,3408,1754,3103,2226,1938, + 3405,3406,3407,740,522,1848,383,2939,3403,676, + 1626,3404,1107,801,2491,1091,5905,877,839,3408, + 1754,3103,2226,1938,3405,3406,3407,740,522,1848, + 3392,2939,3403,3392,3392,3404,1107,3392,3392,1091, + 5905,877,839,3408,1754,3103,2226,1938,3405,3406, + 3407,740,522,1848,3392,2365,3403,3392,49,3404, + 1107,250,3392,1091,3033,877,839,3408,1754,3103, + 2226,1938,3405,3406,3407,740,522,1848,3392,2873, + 3403,3392,3392,3404,1107,1,1,1091,1,877, + 839,3408,1754,3103,2226,1938,3405,3406,3407,740, + 522,1848,3392,2899,3403,813,51,3404,1107,249, + 3392,1091,3033,877,839,3408,1754,3103,2226,1938, + 3405,3406,3407,740,522,1848,3392,2923,3403,3007, + 2543,3404,1107,3607,3609,1091,3608,877,839,3408, + 1754,3103,2226,1938,3405,3406,3407,740,522,1848, + 3392,2939,3403,3392,50,3404,1107,251,3392,1091, + 3033,877,839,3408,1754,3103,2226,1938,3405,3406, + 3407,740,522,1848,3392,2965,3403,3007,2543,3404, + 1107,1,1,1091,1,877,839,3408,1754,3103, + 2226,1938,3405,3406,3407,740,522,1848,1,2939, + 3403,3392,70,3404,1107,252,3392,1091,3392,877, + 839,3408,1754,3103,2226,1938,3405,3406,3407,740, + 522,1848,3392,3024,3403,3007,2543,3404,1107,3607, + 3609,1091,3608,877,839,3408,1754,3103,2226,1938, + 3405,3406,3407,740,522,1848,333,2939,3403,3392, + 1,3404,1107,3398,3392,1091,3392,877,839,3408, + 1754,3103,2226,1938,3405,3406,3407,740,522,1848, + 134,271,1058,3392,3320,1,3392,3314,3317,3251, + 369,254,3245,3248,3332,1800,3397,3326,3329,1, + 2129,3619,263,3392,3607,3609,3400,3608,3556,3557, + 3555,3610,3558,3554,3607,3609,851,3608,3556,3557, + 3555,3610,3558,3554,237,32,3350,224,3368,373, + 3392,3368,3368,623,851,263,500,583,3392,3392, + 3418,3419,3398,68,1,1860,3619,263,3251,1, + 224,3245,3248,3251,3651,254,3245,3248,372,3392, + 3353,3403,623,184,3404,500,583,623,3399,254, + 500,583,224,3356,374,3397,3362,3359,623,57, + 3392,500,583,3398,253,3392,56,838,3398,380, + 64,293,224,623,1651,674,500,583,3392,201, + 72,1,357,623,91,1626,500,583,3607,3609, + 458,3608,5905,3392,286,375,3397,1378,3651,623, + 355,3397,500,583,202,1116,1701,376,1975,1354, + 5905,623,377,1029,500,583,623,91,42,500, + 583,3392,208,3392,415,801,2491,415,5905,1, + 190,5905,801,2491,382,1,3392,3392,3392,1574, + 207,1637,3392,3392,378,3392,3392,3392,3392,3392, + 752,596,3392,3392,1600,3392,3392,3392,3392,1378, + 3392,3392,3392,3392,2239,1676,3392,3392,3392,3392, + 3392,3392,3392,3392,3392,3392,3392,3392,3392,3392, + 3392,3392,3392,3392,3777,3392,3392,3392,3392,3392, + 3404,3392,3392,3392,3392,3392,3403 }; }; public final static char termAction[] = TermAction.termAction; @@ -1179,43 +1180,43 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface Asb { public final static char asb[] = {0, - 679,1,416,382,552,679,417,384,677,47, - 417,417,417,59,672,59,672,672,59,672, - 59,386,384,373,417,59,554,28,419,677, + 677,1,416,382,552,677,417,384,675,47, + 417,417,417,59,670,59,670,670,59,670, + 59,386,384,373,417,59,554,28,419,675, 554,469,187,384,125,124,190,160,386,252, - 523,248,327,45,156,672,582,579,582,156, - 582,672,384,389,238,249,386,719,28,28, - 28,28,28,28,28,28,28,28,28,632, - 331,132,391,131,554,384,187,187,284,719, - 140,384,524,7,327,424,249,674,473,677, - 507,389,238,384,721,632,632,632,632,632, + 523,248,327,45,156,670,582,579,582,156, + 582,670,384,389,238,249,386,717,28,28, + 28,28,28,28,28,28,28,28,28,630, + 331,132,391,131,554,384,187,187,284,717, + 140,384,524,7,327,424,249,672,473,675, + 507,389,238,384,719,630,630,630,630,630, 249,249,249,243,539,523,582,582,310,28, - 419,470,713,45,647,554,382,187,397,306, - 749,429,288,440,445,443,453,447,456,455, - 458,457,459,721,504,677,160,252,523,26, + 419,470,711,45,645,554,382,187,397,306, + 747,429,288,440,445,443,453,447,456,455, + 458,457,459,719,504,675,160,252,523,26, 470,470,582,417,417,13,417,417,470,79, - 28,79,382,120,392,326,677,674,473,507, + 28,79,382,120,392,326,675,672,473,507, 507,238,238,249,241,120,249,249,249,249, - 249,101,386,716,119,118,513,335,28,524, - 249,28,306,583,249,384,749,306,287,284, + 249,101,386,714,119,118,513,335,28,524, + 249,28,306,583,249,384,747,306,287,284, 28,28,28,28,28,28,28,28,28,28, 28,28,28,28,28,28,28,28,28,28, 28,28,28,28,28,28,28,28,28,28, 81,28,120,504,138,520,470,470,537,28, - 585,28,28,13,79,587,13,384,7,249, - 309,249,249,473,504,71,473,507,509,590, - 509,238,749,716,386,721,195,195,195,140, - 677,243,249,599,719,28,339,632,523,249, + 522,28,28,13,79,585,13,384,7,249, + 309,249,249,473,504,71,473,507,509,588, + 509,238,747,714,386,719,195,195,195,140, + 675,243,249,597,717,28,339,630,523,249, 28,28,306,288,443,443,440,440,447,447, 445,445,445,445,445,445,455,453,457,456, 79,79,458,583,138,26,470,249,417,249, 249,13,28,13,386,120,473,73,509,504, - 28,582,749,238,599,241,249,721,249,306, + 28,582,747,238,597,241,249,719,249,306, 306,28,28,509,279,470,26,13,28,13, 13,384,309,504,469,28,465,73,466,504, 238,249,199,504,136,193,261,582,28,79, 3,310,470,249,522,73,28,466,466,331, - 140,595,582,28,249,310,470,13,466,28, + 140,593,582,28,249,310,470,13,466,28, 306,13,249,306,13 }; }; @@ -1282,24 +1283,23 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym 23,6,1,9,62,63,64,57,49,54, 52,53,51,50,55,56,58,59,60,33, 30,28,29,32,24,27,25,31,7,8, - 4,5,2,0,37,0,61,69,0,3, - 48,65,68,0,77,3,69,0,6,29, - 49,24,50,62,30,51,31,52,53,32, - 27,54,55,28,63,33,64,56,57,25, - 58,59,60,2,5,9,69,4,8,7, - 0,17,18,19,20,13,1,15,16,14, - 6,11,12,21,22,23,29,49,24,50, - 62,30,51,31,52,53,32,27,54,55, - 28,63,33,64,56,57,25,58,59,60, - 9,2,5,7,8,4,10,0,98,29, - 49,24,50,62,30,51,31,52,53,32, - 27,54,55,28,63,33,64,56,57,25, - 58,59,60,5,1,9,7,8,26,3, - 34,4,2,6,0,6,1,35,36,3, - 29,49,50,62,30,51,31,52,53,32, - 54,55,28,63,33,64,56,57,58,59, - 60,2,5,9,7,8,4,69,24,27, - 25,0 + 4,5,2,0,61,69,0,3,48,65, + 68,0,77,3,69,0,6,29,49,24, + 50,62,30,51,31,52,53,32,27,54, + 55,28,63,33,64,56,57,25,58,59, + 60,2,5,9,69,4,8,7,0,17, + 18,19,20,13,1,15,16,14,6,11, + 12,21,22,23,29,49,24,50,62,30, + 51,31,52,53,32,27,54,55,28,63, + 33,64,56,57,25,58,59,60,9,2, + 5,7,8,4,10,0,98,29,49,24, + 50,62,30,51,31,52,53,32,27,54, + 55,28,63,33,64,56,57,25,58,59, + 60,5,1,9,7,8,26,3,34,4, + 2,6,0,6,1,35,36,3,29,49, + 50,62,30,51,31,52,53,32,54,55, + 28,63,33,64,56,57,58,59,60,2, + 5,9,7,8,4,69,24,27,25,0 }; }; public final static byte asr[] = Asr.asr; @@ -1554,29 +1554,29 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public interface ScopeState { public final static char scopeState[] = {0, - 413,0,1783,0,2188,2023,0,2881,1998,2016, - 0,941,0,837,434,0,812,774,675,1301, - 637,1276,423,1249,1017,711,635,713,0,3023, - 1959,2964,2938,2922,2898,2872,2364,2582,2562,2555, - 2535,2528,2481,2431,2424,1924,2404,2377,1842,463, - 1796,1750,0,1281,1274,672,456,1945,2617,2128, - 2818,2091,2270,0,3131,3102,2225,1937,1847,1090, - 1018,701,423,432,1799,2238,2102,1115,2823,2807, - 2791,2775,2759,1763,751,595,2850,2633,2490,800, - 3032,3006,2542,663,1753,1106,876,838,739,521, - 1725,1700,812,1675,1650,774,1625,1028,1599,1573, - 1548,1523,1497,1471,1445,886,1419,1393,1367,1341, - 1315,1289,1263,1237,1211,1185,1156,992,966,941, - 915,388,713,850,675,637,0,773,753,0, - 1071,534,388,484,0,2833,484,2363,1945,2335, - 2306,2188,2263,2023,2128,2091,2278,1859,1887,1995, - 2052,1053,0,3189,3185,3163,2188,3145,2263,2363, - 1945,2023,2617,1887,1995,3117,3181,3167,534,388, - 2335,2256,3113,2306,3139,3067,2052,2921,2833,2725, - 2427,2172,2278,620,1071,2701,2695,2852,2687,3088, - 3063,2661,2653,2635,498,1053,484,2476,3059,2142, - 3031,2971,2882,2878,1864,0,1887,1053,484,0, - 2990,1959,1137,1924,1842,1796,1750,2847,2589,0 + 414,0,1784,0,2189,2024,0,2882,1999,2017, + 0,942,0,838,435,0,813,775,676,1302, + 638,1277,424,1250,1018,712,636,714,0,3024, + 1960,2965,2939,2923,2899,2873,2365,2583,2563,2556, + 2536,2529,2482,2432,2425,1925,2405,2378,1843,464, + 1797,1751,0,1282,1275,673,457,1946,2618,2129, + 2819,2092,2271,0,3132,3103,2226,1938,1848,1091, + 1019,702,424,433,1800,2239,2103,1116,2824,2808, + 2792,2776,2760,1764,752,596,2851,2634,2491,801, + 3033,3007,2543,664,1754,1107,877,839,740,522, + 1726,1701,813,1676,1651,775,1626,1029,1600,1574, + 1549,1524,1498,1472,1446,887,1420,1394,1368,1342, + 1316,1290,1264,1238,1212,1186,1157,993,967,942, + 916,389,714,851,676,638,0,774,754,0, + 1072,535,389,485,0,2834,485,2364,1946,2336, + 2307,2189,2264,2024,2129,2092,2279,1860,1888,1996, + 2053,1054,0,3190,3186,3164,2189,3146,2264,2364, + 1946,2024,2618,1888,1996,3118,3182,3168,535,389, + 2336,2257,3114,2307,3140,3068,2053,2922,2834,2726, + 2428,2173,2279,621,1072,2702,2696,2853,2688,3089, + 3064,2662,2654,2636,499,1054,485,2477,3060,2143, + 3032,2972,2883,2879,1865,0,1888,1054,485,0, + 2991,1960,1138,1925,1843,1797,1751,2848,2590,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1854,18 +1854,18 @@ public class GCCParserprs implements lpg.lpgjavaruntime.ParseTable, GCCParsersym public final static int NUM_STATES = 375, NT_OFFSET = 100, - LA_STATE_OFFSET = 3775, + LA_STATE_OFFSET = 3780, MAX_LA = 2147483647, - NUM_RULES = 387, + NUM_RULES = 388, NUM_NONTERMINALS = 147, NUM_SYMBOLS = 247, SEGMENT_SIZE = 8192, - START_STATE = 2589, + START_STATE = 2590, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 98, EOLT_SYMBOL = 98, - ACCEPT_ACTION = 3240, - ERROR_ACTION = 3388; + ACCEPT_ACTION = 3241, + ERROR_ACTION = 3392; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java index 5af852751c4..86687dff871 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java index 683b1989732..b5dd789571d 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParser.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -689,697 +689,703 @@ private GNUBuildASTParserAction gnuAction; // // Rule 117: iteration_statement ::= do statement while ( expression ) ; // - case 117: { action. consumeStatementDoLoop(); break; + case 117: { action. consumeStatementDoLoop(true); break; } // - // Rule 118: iteration_statement ::= while ( expression ) statement + // Rule 118: iteration_statement ::= do statement // - case 118: { action. consumeStatementWhileLoop(); break; + case 118: { action. consumeStatementDoLoop(false); break; } // - // Rule 119: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement + // Rule 119: iteration_statement ::= while ( expression ) statement // - case 119: { action. consumeStatementForLoop(); break; + case 119: { action. consumeStatementWhileLoop(); break; } // - // Rule 120: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement + // Rule 120: iteration_statement ::= for ( expression_opt ; expression_opt ; expression_opt ) statement // case 120: { action. consumeStatementForLoop(); break; } // - // Rule 121: jump_statement ::= goto identifier_token ; + // Rule 121: iteration_statement ::= for ( declaration expression_opt ; expression_opt ) statement // - case 121: { action. consumeStatementGoto(); break; + case 121: { action. consumeStatementForLoop(); break; } // - // Rule 122: jump_statement ::= continue ; + // Rule 122: jump_statement ::= goto identifier_token ; // - case 122: { action. consumeStatementContinue(); break; + case 122: { action. consumeStatementGoto(); break; } // - // Rule 123: jump_statement ::= break ; + // Rule 123: jump_statement ::= continue ; // - case 123: { action. consumeStatementBreak(); break; + case 123: { action. consumeStatementContinue(); break; } // - // Rule 124: jump_statement ::= return ; + // Rule 124: jump_statement ::= break ; // - case 124: { action. consumeStatementReturn(false); break; + case 124: { action. consumeStatementBreak(); break; } // - // Rule 125: jump_statement ::= return expression ; + // Rule 125: jump_statement ::= return ; // - case 125: { action. consumeStatementReturn(true); break; + case 125: { action. consumeStatementReturn(false); break; } // - // Rule 126: declaration ::= declaration_specifiers ; + // Rule 126: jump_statement ::= return expression ; // - case 126: { action. consumeDeclarationSimple(false); break; + case 126: { action. consumeStatementReturn(true); break; } // - // Rule 127: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; + // Rule 127: declaration ::= declaration_specifiers ; // - case 127: { action. consumeDeclarationSimple(true); break; + case 127: { action. consumeDeclarationSimple(false); break; } // - // Rule 128: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 128: declaration ::= declaration_specifiers <openscope-ast> init_declarator_list ; // - case 128: { action. consumeDeclarationSpecifiersSimple(); break; + case 128: { action. consumeDeclarationSimple(true); break; } // - // Rule 129: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers + // Rule 129: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 129: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 129: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 130: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 130: declaration_specifiers ::= <openscope-ast> struct_or_union_declaration_specifiers // case 130: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 131: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 131: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 131: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 132: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers + // Rule 132: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 132: { action. consumeDeclarationSpecifiersTypedefName(); break; + case 132: { action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 157: init_declarator ::= complete_declarator = initializer + // Rule 133: declaration_specifiers ::= <openscope-ast> typdef_name_declaration_specifiers // - case 157: { action. consumeDeclaratorWithInitializer(true); break; + case 133: { action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 159: storage_class_specifier ::= storage_class_specifier_token + // Rule 158: init_declarator ::= complete_declarator = initializer // - case 159: { action. consumeToken(); break; + case 158: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 165: simple_type_specifier ::= simple_type_specifier_token + // Rule 160: storage_class_specifier ::= storage_class_specifier_token // - case 165: { action. consumeToken(); break; + case 160: { action. consumeToken(); break; } // - // Rule 178: type_name_specifier ::= identifier_token + // Rule 166: simple_type_specifier ::= simple_type_specifier_token // - case 178: { action. consumeToken(); break; + case 166: { action. consumeToken(); break; } // - // Rule 179: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 179: type_name_specifier ::= identifier_token // - case 179: { action. consumeTypeSpecifierComposite(false); break; + case 179: { action. consumeToken(); break; } // - // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } + // Rule 180: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook { <openscope-ast> struct_declaration_list_opt } // - case 180: { action. consumeTypeSpecifierComposite(true); break; + case 180: { action. consumeTypeSpecifierComposite(false); break; } // - // Rule 185: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token + // Rule 181: struct_or_union_specifier ::= struct_or_union struct_or_union_specifier_hook identifier_token struct_or_union_specifier_suffix_hook { <openscope-ast> struct_declaration_list_opt } // - case 185: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; + case 181: { action. consumeTypeSpecifierComposite(true); break; } // - // Rule 186: elaborated_specifier ::= union elaborated_specifier_hook identifier_token + // Rule 186: elaborated_specifier ::= struct elaborated_specifier_hook identifier_token // - case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; + case 186: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 187: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token + // Rule 187: elaborated_specifier ::= union elaborated_specifier_hook identifier_token // - case 187: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 187: { action. consumeTypeSpecifierElaborated(IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 193: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; + // Rule 188: elaborated_specifier ::= enum elaborated_specifier_hook identifier_token // - case 193: { action. consumeStructDeclaration(true); break; + case 188: { action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 194: struct_declaration ::= specifier_qualifier_list ; + // Rule 194: struct_declaration ::= specifier_qualifier_list <openscope-ast> struct_declarator_list ; // - case 194: { action. consumeStructDeclaration(false); break; + case 194: { action. consumeStructDeclaration(true); break; } // - // Rule 195: struct_declaration ::= ERROR_TOKEN + // Rule 195: struct_declaration ::= specifier_qualifier_list ; // - case 195: { action. consumeDeclarationProblem(); break; + case 195: { action. consumeStructDeclaration(false); break; } // - // Rule 201: struct_declarator ::= : constant_expression + // Rule 196: struct_declaration ::= ERROR_TOKEN // - case 201: { action. consumeBitField(false); break; + case 196: { action. consumeDeclarationProblem(); break; } // - // Rule 202: struct_declarator ::= declarator : constant_expression + // Rule 202: struct_declarator ::= : constant_expression // - case 202: { action. consumeBitField(true); break; + case 202: { action. consumeBitField(false); break; } // - // Rule 203: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 203: struct_declarator ::= declarator : constant_expression // - case 203: { action. consumeTypeSpecifierEnumeration(false); break; + case 203: { action. consumeBitField(true); break; } // - // Rule 204: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } + // Rule 204: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 204: { action. consumeTypeSpecifierEnumeration(true); break; + case 204: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 210: enumerator ::= identifier_token + // Rule 205: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 210: { action. consumeEnumerator(false); break; + case 205: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 211: enumerator ::= identifier_token = constant_expression + // Rule 211: enumerator ::= identifier_token // - case 211: { action. consumeEnumerator(true); break; + case 211: { action. consumeEnumerator(false); break; } // - // Rule 212: type_qualifier ::= type_qualifier_token + // Rule 212: enumerator ::= identifier_token = constant_expression // - case 212: { action. consumeToken(); break; + case 212: { action. consumeEnumerator(true); break; } // - // Rule 216: function_specifier ::= inline + // Rule 213: type_qualifier ::= type_qualifier_token // - case 216: { action. consumeToken(); break; + case 213: { action. consumeToken(); break; } // - // Rule 218: declarator ::= <openscope-ast> pointer_seq direct_declarator + // Rule 217: function_specifier ::= inline // - case 218: { action. consumeDeclaratorWithPointer(true); break; + case 217: { action. consumeToken(); break; } // - // Rule 223: basic_direct_declarator ::= declarator_id_name + // Rule 219: declarator ::= <openscope-ast> pointer_seq direct_declarator // - case 223: { action. consumeDirectDeclaratorIdentifier(); break; + case 219: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 224: basic_direct_declarator ::= ( declarator ) + // Rule 224: basic_direct_declarator ::= declarator_id_name // - case 224: { action. consumeDirectDeclaratorBracketed(); break; + case 224: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 225: declarator_id_name ::= identifier + // Rule 225: basic_direct_declarator ::= ( declarator ) // - case 225: { action. consumeIdentifierName(); break; + case 225: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 226: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 226: declarator_id_name ::= identifier // - case 226: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 226: { action. consumeIdentifierName(); break; } // - // Rule 227: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 227: array_direct_declarator ::= basic_direct_declarator array_modifier // case 227: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 229: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) + // Rule 228: array_direct_declarator ::= array_direct_declarator array_modifier // - case 229: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 228: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 230: function_direct_declarator ::= basic_direct_declarator ( ) + // Rule 230: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_type_list ) // - case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 230: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 232: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator + // Rule 231: function_direct_declarator ::= basic_direct_declarator ( ) // - case 232: { action. consumeDeclaratorWithPointer(true); break; + case 231: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 233: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) + // Rule 233: function_declarator ::= <openscope-ast> pointer_seq function_direct_declarator // - case 233: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 233: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 235: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator + // Rule 234: knr_direct_declarator ::= basic_direct_declarator ( <openscope-ast> identifier_list ) // - case 235: { action. consumeDeclaratorWithPointer(true); break; + case 234: { action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 236: identifier_list ::= identifier + // Rule 236: knr_function_declarator ::= <openscope-ast> pointer_seq knr_direct_declarator // - case 236: { action. consumeIdentifierKnR(); break; + case 236: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 237: identifier_list ::= identifier_list , identifier + // Rule 237: identifier_list ::= identifier // case 237: { action. consumeIdentifierKnR(); break; } // - // Rule 238: array_modifier ::= [ ] + // Rule 238: identifier_list ::= identifier_list , identifier // - case 238: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 238: { action. consumeIdentifierKnR(); break; } // - // Rule 239: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] + // Rule 239: array_modifier ::= [ ] // - case 239: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 239: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 240: array_modifier ::= [ assignment_expression ] + // Rule 240: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers ] // - case 240: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 240: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 241: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 241: array_modifier ::= [ assignment_expression ] // - case 241: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; + case 241: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 242: array_modifier ::= [ static assignment_expression ] + // Rule 242: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // - case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; + case 242: { action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true); break; } // - // Rule 243: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] + // Rule 243: array_modifier ::= [ static assignment_expression ] // - case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; + case 243: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true); break; } // - // Rule 244: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] + // Rule 244: array_modifier ::= [ static <openscope-ast> array_modifier_type_qualifiers assignment_expression ] // case 244: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 245: array_modifier ::= [ * ] + // Rule 245: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers static assignment_expression ] // - case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 245: { action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true); break; } // - // Rule 246: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] + // Rule 246: array_modifier ::= [ * ] // - case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 246: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 248: pointer_seq ::= pointer_hook * pointer_hook + // Rule 247: array_modifier ::= [ <openscope-ast> array_modifier_type_qualifiers * ] // - case 248: { action. consumePointer(); break; + case 247: { action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 249: pointer_seq ::= pointer_seq pointer_hook * pointer_hook + // Rule 249: pointer_seq ::= pointer_hook * pointer_hook // case 249: { action. consumePointer(); break; } // - // Rule 250: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 250: pointer_seq ::= pointer_seq pointer_hook * pointer_hook // - case 250: { action. consumePointerTypeQualifierList(); break; + case 250: { action. consumePointer(); break; } // - // Rule 251: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list + // Rule 251: pointer_seq ::= pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // case 251: { action. consumePointerTypeQualifierList(); break; } // - // Rule 255: parameter_type_list ::= parameter_list + // Rule 252: pointer_seq ::= pointer_seq pointer_hook * pointer_hook <openscope-ast> type_qualifier_list // - case 255: { action. consumeEmpty(); break; + case 252: { action. consumePointerTypeQualifierList(); break; } // - // Rule 256: parameter_type_list ::= parameter_list , ... + // Rule 256: parameter_type_list ::= parameter_list // - case 256: { action. consumePlaceHolder(); break; + case 256: { action. consumeEmpty(); break; } // - // Rule 257: parameter_type_list ::= ... + // Rule 257: parameter_type_list ::= parameter_list , ... // case 257: { action. consumePlaceHolder(); break; } // - // Rule 260: parameter_declaration ::= declaration_specifiers complete_parameter_declarator + // Rule 258: parameter_type_list ::= ... // - case 260: { action. consumeParameterDeclaration(); break; + case 258: { action. consumePlaceHolder(); break; } // - // Rule 261: parameter_declaration ::= declaration_specifiers + // Rule 261: parameter_declaration ::= declaration_specifiers complete_parameter_declarator // - case 261: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 261: { action. consumeParameterDeclaration(); break; } // - // Rule 264: type_id ::= specifier_qualifier_list + // Rule 262: parameter_declaration ::= declaration_specifiers // - case 264: { action. consumeTypeId(false); break; + case 262: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 265: type_id ::= specifier_qualifier_list abstract_declarator + // Rule 265: type_id ::= specifier_qualifier_list // - case 265: { action. consumeTypeId(true); break; + case 265: { action. consumeTypeId(false); break; } // - // Rule 267: abstract_declarator ::= <openscope-ast> pointer_seq + // Rule 266: type_id ::= specifier_qualifier_list abstract_declarator // - case 267: { action. consumeDeclaratorWithPointer(false); break; + case 266: { action. consumeTypeId(true); break; } // - // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator + // Rule 268: abstract_declarator ::= <openscope-ast> pointer_seq // - case 268: { action. consumeDeclaratorWithPointer(true); break; + case 268: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 272: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 269: abstract_declarator ::= <openscope-ast> pointer_seq direct_abstract_declarator // - case 272: { action. consumeDirectDeclaratorBracketed(); break; + case 269: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 273: array_direct_abstract_declarator ::= array_modifier + // Rule 273: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 273: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 273: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 274: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 274: array_direct_abstract_declarator ::= array_modifier // - case 274: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 274: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 275: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 275: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // case 275: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 276: function_direct_abstract_declarator ::= ( ) + // Rule 276: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 276: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; + case 276: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + } + + // + // Rule 277: function_direct_abstract_declarator ::= ( ) + // + case 277: { action. consumeDirectDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 277: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) + // Rule 278: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( ) // - case 277: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; + case 278: { action. consumeDirectDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 278: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) + // Rule 279: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_type_list ) // - case 278: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; + case 279: { action. consumeDirectDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 279: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) + // Rule 280: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_type_list ) // - case 279: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; + case 280: { action. consumeDirectDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 280: initializer ::= assignment_expression + // Rule 281: initializer ::= assignment_expression // - case 280: { action. consumeInitializer(); break; + case 281: { action. consumeInitializer(); break; } // - // Rule 282: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list + // Rule 283: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list // - case 282: { action. consumeInitializerList(); break; + case 283: { action. consumeInitializerList(); break; } // - // Rule 283: initializer_list ::= { <openscope-ast> } + // Rule 284: initializer_list ::= { <openscope-ast> } // - case 283: { action. consumeInitializerList(); break; + case 284: { action. consumeInitializerList(); break; } // - // Rule 284: start_initializer_list ::= $Empty + // Rule 285: start_initializer_list ::= $Empty // - case 284: { action. initializerListStart(); break; + case 285: { action. initializerListStart(); break; } // - // Rule 285: end_initializer_list ::= $Empty + // Rule 286: end_initializer_list ::= $Empty // - case 285: { action. initializerListEnd(); break; + case 286: { action. initializerListEnd(); break; } // - // Rule 290: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 291: designated_initializer ::= <openscope-ast> designation = initializer // - case 290: { action. consumeInitializerDesignated(); break; + case 291: { action. consumeInitializerDesignated(); break; } // - // Rule 294: designator_base ::= [ constant_expression ] + // Rule 295: designator_base ::= [ constant_expression ] // - case 294: { action. consumeDesignatorArray(); break; + case 295: { action. consumeDesignatorArray(); break; } // - // Rule 295: designator_base ::= . identifier_token + // Rule 296: designator_base ::= . identifier_token // - case 295: { action. consumeDesignatorField(); break; + case 296: { action. consumeDesignatorField(); break; } // - // Rule 296: designator ::= [ constant_expression ] + // Rule 297: designator ::= [ constant_expression ] // - case 296: { action. consumeDesignatorArray(); break; + case 297: { action. consumeDesignatorArray(); break; } // - // Rule 297: designator ::= . identifier_token + // Rule 298: designator ::= . identifier_token // - case 297: { action. consumeDesignatorField(); break; + case 298: { action. consumeDesignatorField(); break; } // - // Rule 298: translation_unit ::= external_declaration_list + // Rule 299: translation_unit ::= external_declaration_list // - case 298: { action. consumeTranslationUnit(); break; + case 299: { action. consumeTranslationUnit(); break; } // - // Rule 299: translation_unit ::= $Empty + // Rule 300: translation_unit ::= $Empty // - case 299: { action. consumeTranslationUnit(); break; + case 300: { action. consumeTranslationUnit(); break; } // - // Rule 304: external_declaration ::= ; + // Rule 305: external_declaration ::= ; // - case 304: { action. consumeDeclarationEmpty(); break; + case 305: { action. consumeDeclarationEmpty(); break; } // - // Rule 305: external_declaration ::= ERROR_TOKEN + // Rule 306: external_declaration ::= ERROR_TOKEN // - case 305: { action. consumeDeclarationProblem(); break; + case 306: { action. consumeDeclarationProblem(); break; } // - // Rule 309: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 310: function_definition ::= <openscope-ast> function_declarator function_body // - case 309: { action. consumeFunctionDefinition(false); break; + case 310: { action. consumeFunctionDefinition(false); break; } // - // Rule 310: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 311: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 310: { action. consumeFunctionDefinitionKnR(); break; + case 311: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 311: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 312: normal_function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 311: { action. consumeFunctionDefinition(true); break; + case 312: { action. consumeFunctionDefinition(true); break; } // - // Rule 312: function_body ::= { } + // Rule 313: function_body ::= { } // - case 312: { action. consumeStatementCompoundStatement(false); break; + case 313: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 313: function_body ::= { <openscope-ast> block_item_list } + // Rule 314: function_body ::= { <openscope-ast> block_item_list } // - case 313: { action. consumeStatementCompoundStatement(true); break; + case 314: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 330: attribute_parameter ::= assignment_expression + // Rule 331: attribute_parameter ::= assignment_expression // - case 330: { action. consumeIgnore(); break; + case 331: { action. consumeIgnore(); break; } // - // Rule 341: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 342: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 341: { gnuAction.consumeDeclarationASM(); break; + case 342: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 352: unary_expression ::= __alignof__ unary_expression + // Rule 353: unary_expression ::= __alignof__ unary_expression // - case 352: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 353: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 353: unary_expression ::= typeof unary_expression + // Rule 354: unary_expression ::= typeof unary_expression // - case 353: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 354: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 354: relational_expression ::= relational_expression >? shift_expression + // Rule 355: relational_expression ::= relational_expression >? shift_expression // - case 354: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; + case 355: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; } // - // Rule 355: relational_expression ::= relational_expression <? shift_expression + // Rule 356: relational_expression ::= relational_expression <? shift_expression // - case 355: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; + case 356: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; } // - // Rule 356: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression + // Rule 357: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression // - case 356: { action. consumeExpressionConditional(); break; + case 357: { action. consumeExpressionConditional(); break; } // - // Rule 357: primary_expression ::= ( compound_statement ) + // Rule 358: primary_expression ::= ( compound_statement ) // - case 357: { gnuAction.consumeCompoundStatementExpression(); break; + case 358: { gnuAction.consumeCompoundStatementExpression(); break; } // - // Rule 358: labeled_statement ::= case case_range_expression : statement + // Rule 359: labeled_statement ::= case case_range_expression : statement // - case 358: { action. consumeStatementCase(); break; + case 359: { action. consumeStatementCase(); break; } // - // Rule 359: case_range_expression ::= constant_expression ... constant_expression + // Rule 360: case_range_expression ::= constant_expression ... constant_expression // - case 359: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 360: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 363: typeof_type_specifier ::= typeof unary_expression + // Rule 364: typeof_type_specifier ::= typeof unary_expression // - case 363: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 364: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 364: typeof_type_specifier ::= typeof ( type_id ) + // Rule 365: typeof_type_specifier ::= typeof ( type_id ) // - case 364: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 365: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 365: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // Rule 366: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 365: { action. consumeDeclarationSpecifiersTypeof(); break; + case 366: { action. consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 381: field_name_designator ::= identifier_token : + // Rule 382: field_name_designator ::= identifier_token : // - case 381: { action. consumeDesignatorFieldGCC(); break; + case 382: { action. consumeDesignatorFieldGCC(); break; } // - // Rule 382: array_range_designator ::= [ constant_expression ... constant_expression ] + // Rule 383: array_range_designator ::= [ constant_expression ... constant_expression ] // - case 382: { action. consumeDesignatorArrayRange(); break; + case 383: { action. consumeDesignatorArrayRange(); break; } // - // Rule 383: designated_initializer ::= <openscope-ast> field_name_designator initializer + // Rule 384: designated_initializer ::= <openscope-ast> field_name_designator initializer // - case 383: { action. consumeInitializerDesignated(); break; + case 384: { action. consumeInitializerDesignated(); break; } // - // Rule 384: block_item ::= normal_function_definition + // Rule 385: block_item ::= normal_function_definition // - case 384: { action. consumeStatementDeclaration(); break; + case 385: { action. consumeStatementDeclaration(); break; } // - // Rule 386: no_sizeof_type_name_start ::= ERROR_TOKEN + // Rule 387: no_sizeof_type_name_start ::= ERROR_TOKEN // - case 386: { action. consumeEmpty(); break; + case 387: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java index 3f554dedaf8..41c1b0f2035 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParserprs.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -45,303 +45,303 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 3,3,3,3,3,1,1,2,1,0, 1,3,1,1,1,1,1,1,1,1, 3,4,3,2,4,1,2,1,1,1, - 2,5,7,5,1,0,7,5,9,8, - 3,2,2,2,3,2,4,2,2,2, - 2,2,1,1,1,1,2,1,2,2, - 2,1,2,2,1,2,2,1,2,2, - 1,2,2,1,3,1,3,1,1,1, + 2,5,7,5,1,0,7,2,5,9, + 8,3,2,2,2,3,2,4,2,2, + 2,2,2,1,1,1,1,2,1,2, + 2,2,1,2,2,1,2,2,1,2, + 2,1,2,2,1,3,1,3,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,6,8, - 0,0,1,1,3,3,3,0,1,0, - 1,2,4,2,1,1,1,3,1,1, - 2,3,7,8,0,1,0,1,3,1, - 3,1,1,1,1,1,1,3,1,1, - 1,1,1,3,1,2,2,1,5,3, - 1,3,5,1,3,1,3,2,4,3, - 5,4,6,6,3,5,1,3,4,5, - 6,0,1,2,1,3,1,1,3,2, - 1,1,1,1,2,1,2,3,1,1, - 1,3,1,2,2,2,3,4,5,1, - 1,7,3,0,0,1,1,3,3,4, - 1,1,2,3,2,3,2,1,0,1, - 2,1,1,1,1,1,2,1,3,6, - 4,2,4,1,1,1,1,2,6,3, - 1,3,1,4,0,1,1,1,3,1, - 0,4,3,1,2,1,3,4,4,4, - 6,1,0,1,3,1,3,0,1,4, - 5,2,2,3,3,5,3,4,3,1, - 2,2,2,4,2,1,1,2,2,3, - 2,2,3,1,1,1,1,1,1,1, - 2,5,3,1,1,1,-39,0,0,0, - 0,0,0,-35,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -241,0,-2,0,-80,-118,-240,0,0,0, - -31,0,-173,0,-41,0,0,0,0,0, - 0,-17,0,0,0,0,0,0,0,0, - 0,0,0,-52,0,0,0,0,0,0, - -287,0,0,0,0,0,0,-40,0,0, - 0,0,0,-4,0,-170,0,0,0,0, - 0,-75,0,0,0,0,0,0,0,0, - -16,0,-18,-1,0,0,0,0,0,0, - 0,0,-119,-33,0,0,0,0,0,0, - 0,-19,0,0,0,0,0,0,0,0, - 0,-125,0,0,0,0,-176,-20,0,-21, - 0,0,0,0,0,0,-199,0,0,0, - 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,0, - 0,0,0,0,0,0,-134,0,-260,-289, - 0,0,0,0,0,0,0,0,-32,0, - -232,0,0,0,-22,0,-250,-278,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,-61,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-136, - 0,0,0,0,0,0,0,-8,0,0, - 0,0,0,0,0,0,0,-130,0,-273, - 0,0,-220,0,0,0,0,-283,0,0, - 0,0,0,0,0,0,0,0,0,-138, - 0,0,0,0,0,0,0,0,0,0, - 0,-297,0,-23,0,-311,0,0,0,0, - 0,0,-24,0,0,0,0,0,0,0, - -159,0,0,0,0,0,0,0,0,0, - -310,0,0,0,0,-25,0,-36,-53,0, - 0,0,0,0,0,0,0,0,0,-78, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-147,0,0,0,0,0,0, - 0,0,0,0,-139,0,0,-252,0,0, - 0,0,0,0,-305,0,0,0,0,0, - 0,-148,0,0,0,0,0,0,0,0, - 0,-140,0,-155,0,-3,0,0,0,0, - 0,0,-26,0,0,0,0,0,-149,0, - -186,0,0,0,0,0,0,0,0,0, - -284,0,0,-124,0,0,0,0,0,0, - 0,0,0,0,0,-27,0,-28,-168,0, - 0,0,0,0,0,0,0,0,0,-83, - 0,-157,0,0,0,0,0,0,-248,0, - 0,0,0,-123,-84,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-187,0,-46,0,0,0,0,0,0, - 0,0,0,0,0,-169,0,0,0,0, - 0,0,0,0,0,0,0,0,-204,0, - -85,0,0,0,0,0,0,0,0,-313, - 0,-94,0,-318,0,0,0,0,0,0, - -164,0,0,0,0,-99,0,0,-222,0, - 0,0,0,0,0,0,0,-163,-243,0, - 0,-29,0,0,0,0,0,0,-37,0, - 0,0,0,-315,0,-100,-244,0,0,0, - 0,0,0,0,0,-101,-288,-102,0,-103, - 0,0,0,-62,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-233,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-63,0,0,0,0,0,0,-181,0, - 0,0,0,0,0,0,-104,0,0,0, - 0,0,0,0,0,-105,0,-263,0,-64, - 0,0,0,0,0,0,-183,0,0,0, - 0,0,-245,0,-299,0,0,0,0,0, - 0,0,0,0,-106,-303,0,-65,0,0, - 0,0,0,0,-201,0,0,0,0,-312, - 0,0,-320,0,0,0,0,0,0,0, - 0,0,-107,0,0,-66,0,0,0,0, - 0,0,-218,0,0,0,0,-334,0,0, - -108,0,0,0,0,0,0,0,0,-109, - 0,-328,0,-67,0,0,0,0,0,0, - -242,0,0,0,0,-343,-256,0,-110,0, - 0,0,0,0,0,0,0,0,0,-111, - 0,-68,0,0,0,0,0,0,-255,0, - 0,0,0,-112,-280,0,-113,0,0,0, - 0,0,0,0,0,-114,0,-115,0,-69, - 0,0,0,0,0,0,0,0,0,0, - 0,-116,-295,-117,-120,0,0,0,0,0, - 0,0,0,-122,-133,-143,0,-70,0,0, - 0,0,0,0,0,0,0,0,0,-150, - -319,-151,-153,0,0,0,0,0,0,0, - 0,-154,-294,-156,0,-71,0,0,0,0, - 0,0,0,0,0,0,0,-158,-165,-174, - -178,0,0,0,0,0,0,0,0,-182, - -302,-185,0,-72,0,0,0,0,0,0, - 0,0,0,0,0,-190,-194,-207,-195,0, - 0,0,0,0,0,0,0,-96,0,-197, - 0,-5,0,0,0,0,0,0,-126,0, - 0,0,0,-213,-215,-161,0,0,0,0, - 0,0,0,0,0,0,0,-325,-225,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-6,0,0,0,0,0,0, - 0,0,0,0,-237,-60,0,0,0,0, - 0,0,0,0,0,0,0,-239,-261,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-73,0,0,0,-262,-271,-272,-282, - 0,-162,0,0,0,0,0,0,-286,0, - 0,0,0,-301,-304,-309,0,0,0,0, - 0,0,0,0,0,-322,-330,0,0,-202, - 0,0,0,0,0,0,-335,0,0,0, - 0,0,-219,0,0,0,0,0,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,0,0,0,0,0,0, - 0,0,-208,0,0,-229,0,0,0,0, - 0,0,-74,0,0,0,0,-128,-131,-171, - -179,0,0,0,0,0,0,0,0,-285, - 0,0,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,0,0,-132,0, - 0,-184,0,0,0,0,0,0,0,0, - -314,0,0,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,0,0,0,0,0,0,0,0,-211, - -259,0,0,0,0,0,0,0,0,0, - 0,-333,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-177,0,0,0, - 0,0,0,0,0,0,0,0,-337,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-135,0,0,0,0,0,0, - 0,0,0,-98,0,0,0,0,0,0, - 0,-127,0,0,0,0,0,0,-160,0, - -145,0,0,0,0,0,-212,0,0,0, - 0,0,0,-231,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-137,0,0,0,0,0,0, - 0,-214,0,-224,-198,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-141,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,0,0,0,0,0,0,-47,0, - 0,0,0,0,0,0,0,0,0,0, - -92,0,0,0,0,0,0,0,0,-306, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-332,0,0,-34, - -223,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,6, + 8,0,0,1,1,3,3,3,0,1, + 0,1,2,4,2,1,1,1,3,1, + 1,2,3,7,8,0,1,0,1,3, + 1,3,1,1,1,1,1,1,3,1, + 1,1,1,1,3,1,2,2,1,5, + 3,1,3,5,1,3,1,3,2,4, + 3,5,4,6,6,3,5,1,3,4, + 5,6,0,1,2,1,3,1,1,3, + 2,1,1,1,1,2,1,2,3,1, + 1,1,3,1,2,2,2,3,4,5, + 1,1,7,3,0,0,1,1,3,3, + 4,1,1,2,3,2,3,2,1,0, + 1,2,1,1,1,1,1,2,1,3, + 6,4,2,4,1,1,1,1,2,6, + 3,1,3,1,4,0,1,1,1,3, + 1,0,4,3,1,2,1,3,4,4, + 4,6,1,0,1,3,1,3,0,1, + 4,5,2,2,3,3,5,3,4,3, + 1,2,2,2,4,2,1,1,2,2, + 3,2,2,3,1,1,1,1,1,1, + 1,2,5,3,1,1,1,-39,0,0, + 0,0,0,0,-35,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-241,0,-2,0,-80,-118,-240,0,0, + 0,-31,0,-173,0,-41,0,0,0,0, + 0,0,-17,0,0,0,0,0,0,0, + 0,0,0,0,-52,0,0,0,0,0, + 0,-287,0,0,0,0,0,0,-40,0, + 0,0,0,0,-4,0,-170,0,0,0, + 0,0,-75,0,0,0,0,0,0,0, + 0,-16,0,-18,-1,0,0,0,0,0, + 0,0,0,-119,-33,0,0,0,0,0, + 0,0,-19,0,0,0,0,0,0,0, + 0,0,-125,0,0,0,0,-176,-20,0, + -21,0,0,0,0,0,0,-199,0,0, + 0,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, + 0,0,0,0,0,0,0,-134,0,-260, + -289,0,0,0,0,0,0,0,0,-32, + 0,-232,0,0,0,-22,0,-250,-278,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,-61,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -136,0,0,0,0,0,0,0,-8,0, + 0,0,0,0,0,0,0,0,-130,0, + -273,0,0,-220,0,0,0,0,-283,0, + 0,0,0,0,0,0,0,0,0,0, + -138,0,0,0,0,0,0,0,0,0, + 0,0,-297,0,-23,0,-311,0,0,0, + 0,0,0,-24,0,0,0,0,0,0, + 0,-159,0,0,0,0,0,0,0,0, + 0,-310,0,0,0,0,-25,0,-36,-53, + 0,0,0,0,0,0,0,0,0,0, + -78,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-147,0,0,0,0,0, + 0,0,0,0,0,-139,0,0,-252,0, + 0,0,0,0,0,-305,0,0,0,0, + 0,0,-148,0,0,0,0,0,0,0, + 0,0,-140,0,-155,0,-3,0,0,0, + 0,0,0,-26,0,0,0,0,0,-149, + 0,-186,0,0,0,0,0,0,0,0, + 0,-284,0,0,-124,0,0,0,0,0, + 0,0,0,0,0,0,-27,0,-28,-168, + 0,0,0,0,0,0,0,0,0,0, + -83,0,-157,0,0,0,0,0,0,-248, + 0,0,0,0,-123,-84,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-187,0,-46,0,0,0,0,0, + 0,0,0,0,0,0,-169,0,0,0, + 0,0,0,0,0,0,0,0,0,-204, + 0,-85,0,0,0,0,0,0,0,0, + -313,0,-94,0,-318,0,0,0,0,0, + 0,-164,0,0,0,0,-99,0,0,-222, + 0,0,0,0,0,0,0,0,-163,-243, + 0,0,-29,0,0,0,0,0,0,-37, + 0,0,0,0,-315,0,-100,-244,0,0, + 0,0,0,0,0,0,-101,-288,-102,0, + -103,0,0,0,-62,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-233, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-63,0,0,0,0,0,0,-181, + 0,0,0,0,0,0,0,-104,0,0, + 0,0,0,0,0,0,-105,0,-263,0, + -64,0,0,0,0,0,0,-183,0,0, + 0,0,0,-245,0,-299,0,0,0,0, + 0,0,0,0,0,-106,-303,0,-65,0, + 0,0,0,0,0,-201,0,0,0,0, + -312,0,0,-320,0,0,0,0,0,0, + 0,0,0,-107,0,0,-66,0,0,0, + 0,0,0,-218,0,0,0,0,-334,0, + 0,-108,0,0,0,0,0,0,0,0, + -109,0,-328,0,-67,0,0,0,0,0, + 0,-242,0,0,0,0,-343,-256,0,-110, + 0,0,0,0,0,0,0,0,0,0, + -111,0,-68,0,0,0,0,0,0,-255, + 0,0,0,0,-112,-280,0,-113,0,0, + 0,0,0,0,0,0,-114,0,-115,0, + -69,0,0,0,0,0,0,0,0,0, + 0,0,-116,-295,-117,-120,0,0,0,0, + 0,0,0,0,-122,-133,-143,0,-70,0, + 0,0,0,0,0,0,0,0,0,0, + -150,-319,-151,-153,0,0,0,0,0,0, + 0,0,-154,-294,-156,0,-71,0,0,0, + 0,0,0,0,0,0,0,0,-158,-165, + -174,-178,0,0,0,0,0,0,0,0, + -182,-302,-185,0,-72,0,0,0,0,0, + 0,0,0,0,0,0,-190,-194,-207,-195, + 0,0,0,0,0,0,0,0,-96,0, + -197,0,-5,0,0,0,0,0,0,-126, + 0,0,0,0,-213,-215,-161,0,0,0, + 0,0,0,0,0,0,0,0,-325,-225, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-6,0,0,0,0,0, + 0,0,0,0,0,-237,-60,0,0,0, + 0,0,0,0,0,0,0,0,-239,-261, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-73,0,0,0,-262,-271,-272, + -282,0,-162,0,0,0,0,0,0,-286, + 0,0,0,0,-301,-304,-309,0,0,0, + 0,0,0,0,0,0,-322,-330,0,0, + -202,0,0,0,0,0,0,-335,0,0, + 0,0,0,-219,0,0,0,0,0,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,0,0,0,0,0, + 0,0,0,-208,0,0,-229,0,0,0, + 0,0,0,-74,0,0,0,0,-128,-131, + -171,-179,0,0,0,0,0,0,0,0, + -285,0,0,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,0,0,-132, + 0,0,-184,0,0,0,0,0,0,0, + 0,-314,0,0,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,0,0,0,0,0,0,0,0, + -211,-259,0,0,0,0,0,0,0,0, + 0,0,-333,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-177,0,0, + 0,0,0,0,0,0,0,0,0,-337, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-135,0,0,0,0,0, + 0,0,0,0,-98,0,0,0,0,0, + 0,0,-127,0,0,0,0,0,0,-160, + 0,-145,0,0,0,0,0,-212,0,0, + 0,0,0,0,-231,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-137,0,0,0,0,0, + 0,0,-214,0,-224,-198,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-141,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,0,0,0,0,0,0,-47, + 0,0,0,0,0,0,0,0,0,0, + 0,-92,0,0,0,0,0,0,0,0, + -306,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-332,0,0, + -34,-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,0,0,-79,0,0, - -265,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-226,0,0,0, - 0,0,0,-258,-293,-189,0,0,0,0, - 0,0,0,-227,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-79,0, + 0,-265,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-226,0,0, + 0,0,0,0,-258,-293,-189,0,0,0, + 0,0,0,0,-227,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-172,0,-257,0, - 0,0,0,0,-87,0,0,0,0,0, + 0,0,0,0,0,0,0,-172,0,-257, + 0,0,0,0,0,-87,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-274,0,0,0,0,0,-246,0,0, - 0,-251,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-167,-191,0,0,0, - -206,0,0,0,0,0,0,0,0,0, + 0,0,-274,0,0,0,0,0,-246,0, + 0,0,-251,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-167,-191,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,-253,0,0,0,-48, + 0,0,0,0,0,0,-253,0,0,0, + -48,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-336,-254,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-336,-254,0,0,0,0, + 0,0,-270,0,0,0,0,0,0,0, + 0,0,0,0,-49,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-270,0,0,0,0,0,0,0,0, - 0,0,0,-49,0,0,0,0,0,0, + 0,0,0,0,-291,0,0,-57,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-291,0,0,-57,0,0,0, - 0,0,0,0,0,0,0,0,0,-323, - 0,0,0,0,0,0,0,0,-300,0, - 0,0,0,0,0,0,0,-58,0,0, + -323,0,0,0,0,0,0,0,0,-300, + 0,0,0,0,0,0,0,0,-58,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-279, - 0,0,0,0,0,0,0,0,-235,0, - 0,0,0,0,0,0,-316,0,0,0, - 0,0,0,0,0,0,0,0,-50,0, 0,0,0,0,0,0,0,0,0,0, + -279,0,0,0,0,0,0,0,0,-235, + 0,0,0,0,0,0,0,-316,0,0, + 0,0,0,0,0,0,0,0,0,-50, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-308,0,0, - -76,0,0,0,0,0,0,-317,0,0, - 0,0,0,-54,0,0,0,0,0,0, - -82,0,0,0,0,0,-326,-331,0,0, - 0,0,0,0,0,0,-341,0,0,0, - 0,0,0,0,0,0,0,-210,0,-129, - 0,0,0,0,0,-216,0,0,0,0, - 0,0,0,0,0,-152,0,0,0,0, - 0,-342,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,0,0,-193,0,0,0, + 0,0,0,0,0,0,0,0,-308,0, + 0,-76,0,0,0,0,0,0,-317,0, + 0,0,0,0,-54,0,0,0,0,0, + 0,-82,0,0,0,0,0,-326,-331,0, + 0,0,0,0,0,0,0,-341,0,0, + 0,0,0,0,0,0,0,0,-210,0, + -129,0,0,0,0,0,-216,0,0,0, + 0,0,0,0,0,0,-152,0,0,0, + 0,0,-342,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,-86,0,-196,0,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,0,0,0,0,-228,0,0, + 0,0,0,0,0,-86,0,-196,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-230,0,0, + 0,0,0,0,0,0,0,0,-228,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-230,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-234, - 0,0,0,0,0,0,0,0,-247,-266, 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,0,0,0,0,0, + -234,0,0,0,0,0,0,0,0,-247, + -266,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,0,0,0,0, 0,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,-329,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,-340,0,0, - -192,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-345,0,0, - -221,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-329,0,0, 0,0,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,-55,0, + 0,0,0,0,0,0,0,0,-340,0, + 0,-192,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-345,0, + 0,-221,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,-121,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-51,0, - 0,0,0,0,0,-88,0,0,0,0, + 0,-267,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-55, 0,0,0,0,0,0,0,0,0,0, - 0,-42,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-91,0,0,0, - -93,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-236,0,0, - 0,0,0,0,0,-95,0,0,0,0, + 0,0,0,0,0,0,-56,0,0,0, + 0,0,0,-121,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-51, + 0,0,0,0,0,0,-88,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-7,0,0,0,0,0,0,0,0, + 0,0,-42,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-91,0,0, + 0,-93,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-236,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,0,0,0,0,-9, + 0,0,-7,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-10,0,0,0,0,0,0,0, - 0,-11,0,0,0,0,0,0,0,0, - -12,0,0,0,0,0,0,0,0,-13, - 0,0,0,0,0,0,-30,0,0,-38, - 0,0,0,0,-275,0,0,-43,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-44,0, - 0,0,0,0,0,0,0,-45,0,0, - 0,0,0,0,0,0,0,0,-144,0, - 0,0,0,-77,0,0,0,-209,0,0, + -9,0,0,0,0,0,0,0,0,0, + 0,0,0,-10,0,0,0,0,0,0, + 0,0,-11,0,0,0,0,0,0,0, + 0,-12,0,0,0,0,0,0,0,0, + -13,0,0,0,0,0,0,-30,0,0, + -38,0,0,0,0,-275,0,0,-43,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-44, + 0,0,0,0,0,0,0,0,-45,0, + 0,0,0,0,0,0,0,0,0,-144, + 0,0,0,0,-77,0,0,0,-209,0, 0,0,0,0,0,0,0,0,0,0, - -188,0,0,0,-238,0,0,0,-14,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-277,0,0, - 0,0,0,0,0,0,-89,0,0,0, + 0,-188,0,0,0,-238,0,0,0,-14, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-15,0,0,0, - 0,0,0,0,0,0,0,0,-90,0, - 0,0,0,0,0,0,0,0,-217,0, - 0,0,0,0,0,0,0,0,0,-97, - 0,0,0,0,0,0,0,-142,0,0, - 0,0,0,0,-166,0,0,0,-180,0, - 0,0,0,-200,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-277,0, + 0,0,0,0,0,0,0,-89,0,0, 0,0,0,0,0,0,0,0,0,0, - -290,0,0,-292,0,-276,0,0,0,-175, - 0,0,0,0,-59,-324,0,0,0,0, + 0,0,0,0,0,0,0,-15,0,0, + 0,0,0,0,0,0,0,0,0,-90, + 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,-146,-338,0,0,0, - 0,0,0,0,0,0,0,-264,0,0, - 0,0,0,0,0,0,0,0,0,-298, - 0,0,0,0,0,0,0,-307,-327,0, + -97,0,0,0,0,0,0,0,-142,0, + 0,0,0,0,0,-166,0,0,0,-180, + 0,0,0,0,-200,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,-344,0,0, + 0,-290,0,0,-292,0,-276,0,0,0, + -175,0,0,0,0,-59,-324,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-146,-338,0,0, + 0,0,0,0,0,0,0,0,-264,0, 0,0,0,0,0,0,0,0,0,0, + -298,0,0,0,0,0,0,0,-307,-327, 0,0,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,-344,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,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; @@ -363,316 +363,316 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 119,95,95,58,35,35,35,35,35,35, 35,36,36,36,29,29,96,96,71,71, 37,37,38,38,38,67,67,39,39,39, - 39,40,40,40,40,40,66,66,31,31, - 31,31,31,53,53,53,103,103,98,98, - 98,98,99,99,99,100,100,100,101,101, - 101,102,102,102,97,97,85,85,86,54, - 56,56,56,56,56,72,73,73,73,73, - 73,73,73,73,73,73,73,73,84,81, - 81,120,121,87,87,82,82,82,88,104, - 104,105,105,89,89,89,60,122,122,106, - 90,90,90,83,83,123,107,107,108,108, - 91,91,32,33,33,33,55,51,51,42, - 42,42,42,45,45,47,43,43,44,48, - 48,124,124,46,143,143,125,125,52,52, - 52,52,52,52,52,52,52,109,61,61, - 61,61,49,75,75,74,74,74,76,76, - 69,69,126,126,79,79,77,77,77,62, - 62,62,63,64,64,64,65,65,65,65, - 68,68,57,57,59,128,127,127,127,127, - 110,129,130,130,131,131,132,132,144,144, - 145,145,146,146,146,146,148,148,147,147, - 147,78,133,133,12,12,12,28,28,13, - 13,134,134,111,111,111,112,112,135,135, - 113,113,14,14,136,136,114,114,114,114, - 15,70,137,137,138,138,115,115,115,92, - 92,92,6,6,16,16,23,3,36,139, - 116,116,116,93,93,31,66,53,86,86, - 86,106,106,106,123,120,121,49,88,131, - 131,140,141,110,71,117,117,331,912,17, - 21,18,481,828,560,44,502,483,520,367, - 314,315,316,518,684,585,716,693,826,793, - 74,1851,1379,443,91,521,901,1429,357,134, - 212,672,31,1319,178,1647,20,17,21,18, - 481,42,500,44,926,367,314,315,316,387, - 136,133,135,159,1647,20,17,21,18,481, - 42,1872,44,502,1083,134,212,87,398,138, - 165,394,949,196,629,1634,1279,274,142,145, - 148,151,645,28,1895,1185,136,133,135,159, - 360,1825,464,451,517,2181,2285,2576,2607,2611, - 1278,786,2730,249,462,138,165,1155,254,212, - 938,786,876,2636,142,145,148,151,104,87, - 1895,718,645,22,385,25,360,753,302,89, - 37,2181,2285,2576,2607,2611,1278,1551,20,17, - 21,18,481,828,411,44,502,483,520,2636, - 1370,451,292,518,684,585,716,693,826,793, - 74,658,380,240,280,1445,20,17,21,18, - 481,828,411,44,502,483,520,908,2919,1469, - 1905,518,684,585,716,693,826,793,74,672, - 31,1685,280,293,281,38,1185,753,1575,20, - 17,21,18,481,828,286,44,502,483,520, - 369,413,254,212,518,684,585,716,693,826, - 793,74,281,1463,1185,280,1647,20,17,21, - 18,481,42,288,44,502,483,520,321,1294, - 672,186,518,684,585,716,1184,287,1647,20, - 17,21,18,481,42,281,40,1185,1747,1183, - 398,1657,275,1661,417,2950,157,1770,1599,20, - 17,21,18,481,828,289,44,502,483,520, - 672,185,277,24,518,684,585,716,693,826, - 793,74,672,1349,444,280,1623,20,17,21, - 18,481,828,543,44,502,483,520,322,1294, - 312,1428,518,684,585,716,693,826,793,74, - 28,301,1185,280,311,281,541,1185,560,1647, - 20,17,21,18,481,42,383,44,502,1101, - 1397,20,17,21,18,481,828,1289,44,502, - 483,520,2161,281,783,1185,518,684,585,716, - 693,826,793,74,290,1862,1250,512,1743,20, - 17,21,18,481,828,1722,44,502,483,520, - 123,238,783,209,518,684,585,716,693,826, - 793,74,672,187,783,330,1647,20,17,21, - 18,481,828,416,44,502,483,520,122,672, - 872,783,518,684,585,716,693,826,793,74, - 111,672,295,91,1719,20,17,21,18,481, - 828,1936,44,502,483,520,888,125,1727,645, - 518,684,585,716,693,826,793,74,1280,282, - 554,829,1647,20,17,21,18,481,42,1747, - 44,502,483,520,739,999,2941,347,518,684, - 585,716,693,826,793,93,318,314,315,316, - 242,328,783,230,1647,20,17,21,18,481, - 42,464,44,502,483,966,1421,20,17,21, - 18,481,828,2044,44,502,483,520,121,645, - 1269,1047,518,684,585,716,693,826,793,74, - 672,297,1499,899,1743,20,17,21,18,481, - 828,249,44,502,483,520,1086,239,527,783, - 518,684,585,716,693,826,793,74,456,1182, - 241,330,1647,20,17,21,18,481,828,560, - 44,502,483,520,1922,2988,1333,645,518,684, - 585,716,693,826,793,74,49,1182,169,92, - 181,253,212,19,1647,20,17,21,18,481, - 828,1267,44,502,483,520,254,212,283,1787, - 518,684,585,716,693,826,793,74,243,253, - 212,85,1647,20,17,21,18,481,828,249, - 44,502,483,520,570,127,2889,630,518,684, - 585,716,693,826,793,74,1002,329,783,84, - 1647,20,17,21,18,481,828,249,44,502, - 483,520,954,645,1413,783,518,684,585,716, - 693,826,793,74,3000,1065,783,83,1647,20, - 17,21,18,481,828,1330,44,502,483,520, - 1920,3009,939,1935,518,684,585,716,693,826, - 793,74,341,775,244,82,1647,20,17,21, - 18,481,828,249,44,502,483,520,645,193, - 1571,911,518,684,585,716,693,826,793,74, - 520,294,783,81,1647,20,17,21,18,481, - 828,1866,44,502,483,520,645,456,967,379, - 518,684,585,716,693,826,793,74,117,296, - 474,80,1647,20,17,21,18,481,828,249, - 44,502,483,520,751,456,2944,170,518,684, - 585,716,693,826,793,74,807,382,969,79, - 1647,20,17,21,18,481,828,179,44,502, - 483,520,1147,456,836,1308,518,684,585,716, - 693,826,793,74,758,334,1513,78,1647,20, - 17,21,18,481,828,711,44,502,483,520, - 1121,456,1201,1209,518,684,585,716,693,826, - 793,74,1346,1469,995,77,1647,20,17,21, - 18,481,828,203,44,502,483,520,998,1331, - 1248,1494,518,684,585,716,693,826,793,74, - 1528,905,67,76,1647,20,17,21,18,481, - 828,180,44,502,483,520,1050,1179,1473,811, - 518,684,585,716,693,826,793,74,1319,178, - 1768,75,1671,20,17,21,18,481,353,1182, - 367,314,315,316,1781,1534,1647,20,17,21, - 18,481,828,1308,44,502,483,520,456,1805, - 134,212,518,684,585,716,693,826,793,74, - 227,253,212,356,1671,20,17,21,18,481, - 352,137,133,135,159,1510,1647,20,17,21, - 18,481,42,1369,44,502,483,520,1709,1558, - 139,165,518,684,585,716,693,1182,204,143, - 146,149,152,560,466,1895,345,1582,1853,1602, - 1757,361,1647,20,17,21,18,481,828,1212, - 44,502,483,520,1259,1199,1913,416,518,684, - 585,716,693,826,793,74,1230,1097,886,73, - 1647,20,17,21,18,481,828,1606,44,502, - 483,520,3214,1125,1349,3214,518,684,585,716, - 693,826,793,74,3214,3214,3214,957,1647,20, - 17,21,18,481,828,3214,44,502,483,520, - 3214,3214,3214,3214,518,684,585,716,693,826, - 793,74,3214,937,3214,1043,1647,20,17,21, - 18,481,42,560,44,502,483,520,560,1857, - 560,560,518,684,585,716,693,826,793,93, - 1647,20,17,21,18,481,42,23,44,502, - 483,520,272,320,278,340,518,684,585,716, - 693,826,793,93,208,226,3214,1647,20,17, - 21,18,481,42,359,44,502,483,520,1870, - 569,1367,560,518,684,585,716,693,826,793, - 93,1647,20,17,21,18,481,42,1070,44, - 502,483,520,333,3214,3214,653,518,684,585, - 716,693,826,793,93,3214,3214,3214,1647,20, - 17,21,18,481,42,211,44,502,483,520, - 560,1125,1349,3214,518,684,585,716,693,826, - 793,93,1647,20,17,21,18,481,42,1098, - 44,502,483,520,279,3214,3214,1870,518,684, - 585,716,693,826,793,93,3214,3214,3214,1647, - 20,17,21,18,481,42,201,44,502,483, - 520,332,3214,3214,1111,518,684,585,716,693, - 826,793,93,334,199,1238,318,314,315,316, - 1126,387,419,20,17,21,18,481,42,666, - 36,1,1238,3214,3214,1597,1695,1875,387,86, - 110,3214,208,95,905,1649,3214,202,784,108, - 94,96,97,98,99,126,86,110,1223,1367, - 95,1922,1649,245,1247,784,108,94,96,97, - 98,99,1847,3214,560,989,318,314,315,316, - 109,105,2815,3214,366,106,3214,317,314,315, - 316,335,384,1838,3214,3214,337,109,2370,3214, - 366,366,107,2109,3214,318,314,315,316,384, - 1651,3214,317,314,315,316,3214,217,1268,220, - 1453,222,223,1348,3214,3214,2360,3214,854,1647, - 20,17,21,18,481,42,1369,44,502,483, - 968,1772,218,1268,220,1453,222,223,228,1239, - 265,1238,273,317,314,315,316,387,3214,344, - 154,1335,268,600,415,271,3214,133,1238,1713, - 249,666,989,3214,387,86,110,786,1831,95, - 3214,1649,2012,3214,784,108,94,96,97,98, - 99,3214,86,110,3214,87,95,126,1649,581, - 472,784,108,94,96,97,98,99,1299,3214, - 3214,989,3214,3214,3214,2210,109,313,2838,3214, - 366,106,3214,317,314,315,316,560,384,782, - 3214,3214,276,109,899,617,249,366,107,2109, - 3214,423,2838,786,560,384,1787,317,314,315, - 316,2386,3214,217,1268,220,1453,222,223,228, - 273,87,2360,2060,755,196,1694,1828,2427,666, - 266,600,415,271,2788,667,1855,217,1268,220, - 1453,222,223,228,3214,1468,1396,317,314,315, - 316,3214,989,3214,1889,194,154,1335,560,2838, - 3214,3214,560,1624,317,314,315,316,989,217, - 1268,220,1453,222,223,228,1182,249,262,273, - 2109,1832,224,192,786,2956,319,3214,2369,266, - 600,415,271,3214,217,1268,220,1453,222,223, - 228,197,87,2360,263,276,560,1847,253,212, - 1647,20,17,21,18,481,42,1073,44,502, - 483,970,3214,217,1268,220,1453,222,223,228, - 339,3214,1918,273,3214,827,560,155,1335,3214, - 3214,3214,2838,266,600,415,271,317,314,315, - 316,466,1880,260,3214,567,3214,3214,1468,3214, - 338,3214,3214,2060,1647,20,17,21,18,481, - 42,3214,44,502,483,1017,1056,217,1268,220, - 1453,222,223,228,1896,1400,1396,1647,20,17, - 21,18,481,42,3214,44,502,483,520,3214, - 617,3214,3214,518,684,585,1154,2838,324,560, - 3214,3214,318,314,315,316,3214,3214,1647,20, - 17,21,18,481,42,2956,44,502,483,520, - 3214,3214,3214,1112,518,684,1157,3214,3214,3214, - 1037,198,217,1268,220,1453,222,223,228,989, - 3214,1396,317,314,315,316,2838,560,3214,3214, - 3214,318,314,315,316,3214,3214,3214,854,1647, - 20,17,21,18,481,42,3214,44,502,483, - 1026,229,218,1268,220,1453,222,223,1386,1239, - 2977,217,1268,220,1453,222,223,228,1037,3214, - 2946,1470,20,17,21,18,481,42,1934,43, - 317,314,315,316,1647,20,17,21,18,481, - 42,1334,44,502,483,520,854,560,560,3214, - 518,1110,233,367,314,315,316,560,3214,3214, - 218,1268,220,1453,222,223,228,1239,1021,3214, - 877,2468,350,134,212,423,1504,423,28,3214, - 1185,2488,317,314,315,316,593,1238,318,314, - 315,316,560,786,141,133,135,159,854,1887, - 3214,1887,419,20,17,21,18,481,42,3214, - 36,86,110,140,165,95,351,3214,3214,1194, - 784,1266,94,96,97,98,99,641,1238,3214, - 3214,2553,3214,3214,786,3214,3214,259,3214,258, - 3214,3214,3214,246,1470,748,1240,689,1238,3214, - 3214,3214,86,110,786,3214,95,367,314,315, - 316,784,103,94,96,97,98,99,803,1238, - 3214,3214,86,110,3214,786,95,134,212,3214, - 3214,784,101,94,96,97,98,99,851,1238, - 3214,3214,3214,86,110,786,3214,95,144,133, - 135,159,784,358,94,96,97,98,99,3214, - 3214,3214,3214,86,110,3214,3214,95,3214,3214, - 1881,3214,784,102,94,96,97,98,99,1087, - 965,1238,317,314,315,316,423,786,3214,3214, - 3214,317,314,315,316,3214,1013,1238,2735,3214, - 3214,3214,3214,786,3214,86,110,854,3214,95, - 1887,3214,3214,3214,784,118,94,96,97,98, - 99,86,110,3214,3214,95,3214,3214,1194,3214, - 784,114,94,96,97,98,99,1061,1238,3214, - 1720,3214,3214,3214,786,3214,3214,3214,258,3214, - 3214,3214,3214,1470,3214,1240,3214,1175,1238,3214, - 3214,3214,86,110,786,3214,95,3214,3214,3214, - 3214,784,1384,94,96,97,98,99,1223,1238, - 3214,249,86,110,3214,786,95,3214,786,3214, - 3214,784,113,94,96,97,98,99,1271,1238, - 3214,1879,3214,86,110,786,87,95,786,3214, - 3214,1864,784,120,94,96,97,98,99,3214, - 3214,249,3214,86,110,3214,87,95,786,3214, - 3214,115,784,119,94,96,97,98,99,1647, - 20,17,21,18,481,42,87,44,502,483, - 520,2069,3214,3214,3214,1129,1647,20,17,21, - 18,481,42,713,44,502,483,520,1028,3214, - 3214,3214,1140,3214,3214,317,314,315,316,1647, - 20,17,21,18,481,42,910,44,502,483, - 1055,854,3214,3214,3214,3214,3214,3214,367,314, - 315,316,1647,20,17,21,18,481,42,3214, - 44,956,1239,3214,3214,273,3214,1120,134,212, - 3214,1767,3214,3214,3214,268,600,415,271,367, - 314,315,316,367,314,315,316,3214,313,147, - 133,135,159,3214,3214,2838,1778,3214,3214,134, - 212,3214,3214,134,212,3214,3214,3214,367,314, - 315,316,1671,20,17,21,18,481,41,3214, - 150,133,135,159,153,133,135,159,134,212, - 217,1268,220,1453,222,223,228,3214,3214,1918, - 1647,20,17,21,18,481,42,3214,39,362, - 133,135,159,1647,20,17,21,18,481,42, - 3214,38,1647,20,17,21,18,481,42,3214, - 37,1647,20,17,21,18,481,42,3214,36, - 1647,20,17,21,18,481,42,500,35,3214, - 723,3214,3214,3214,387,1893,3214,2784,1647,20, - 17,21,18,481,42,3214,47,318,314,315, - 316,3214,87,3214,3214,3214,394,949,196,1647, - 20,17,21,18,481,42,3214,46,1647,20, - 17,21,18,481,42,3214,45,3214,3214,500, - 3214,3214,273,3214,551,3214,387,2730,551,3214, - 3214,3214,266,600,415,271,317,314,315,316, - 317,314,315,316,87,3214,1363,265,394,949, - 196,423,854,3214,3214,551,854,3214,387,1671, - 20,17,21,18,481,34,3214,317,314,315, - 316,3214,3214,1194,3214,3214,87,1194,551,2730, - 3214,115,1791,854,3214,2553,3214,410,3214,1720, - 317,314,315,316,3214,3214,3214,3214,1522,317, - 314,315,316,3214,1194,3214,854,1671,20,17, - 21,18,481,33,3214,1684,2100,2491,929,508, - 3214,366,3214,3214,3214,3214,3214,1194,3214,737, - 3214,317,314,315,316,3214,423,3214,3214,2158, - 1695,20,17,21,18,481,1196,1684,1695,20, - 17,21,18,481,363,1249,3214,3214,3214,1321, - 196,3214,3214,3214,1249,3214,3214,317,314,315, - 316,317,314,315,316,630,317,314,315,316, - 3214,1295,3214,854,1109,3214,1911,2216,423,1889, - 858,423,854,3214,3214,360,1949,423,317,314, - 315,316,786,3214,1065,3214,3214,670,317,314, - 315,316,1887,1121,3008,196,666,1951,191,3214, - 87,1887,3214,786,3029,1168,3214,3214,1879,317, - 314,315,316,1127,1854,786,3214,3214,3214,3214, - 1879,87,124,3214,1889,3038,801,786,1932,1879, - 258,3214,3214,87,3214,2117,786,1240,115,258, - 318,314,315,316,1570,87,1240,3214,3214,1960, - 115,3214,3214,191,87,3214,3214,3214,1965,115, - 1295,318,314,315,316,3214,3214,3214,1211,1854, - 318,314,315,316,3214,1045,3214,3214,3214,3214, - 3214,3214,3214,3214,3214,3214,2168,2187,3214,3214, - 3214,3214,3214,1166,3214,3214,2197,3214,0,494, - 32,0,1790,32,0,3222,1,0,840,128, - 0,855,128,0,901,128,0,840,129,0, - 855,129,0,901,129,0,840,130,0,855, - 130,0,901,130,0,840,184,0,855,184, - 0,901,184,0,184,188,0,840,183,0, - 855,183,0,901,183,0,183,188,0,840, - 131,0,855,131,0,901,131,0,840,132, - 0,855,132,0,901,132,0,20,178,0, - 840,365,0,855,365,0,901,365,0,1, - 701,0,840,377,0,855,377,0,901,377, - 0,1,840,0,1,855,0,1,901,0, - 353,363,0,840,252,0,855,252,0,901, - 252,0,8,10,0,1,3439,0,1,3450, - 0,112,2447,0 + 39,39,40,40,40,40,40,66,66,31, + 31,31,31,31,53,53,53,103,103,98, + 98,98,98,99,99,99,100,100,100,101, + 101,101,102,102,102,97,97,85,85,86, + 54,56,56,56,56,56,72,73,73,73, + 73,73,73,73,73,73,73,73,73,84, + 81,81,120,121,87,87,82,82,82,88, + 104,104,105,105,89,89,89,60,122,122, + 106,90,90,90,83,83,123,107,107,108, + 108,91,91,32,33,33,33,55,51,51, + 42,42,42,42,45,45,47,43,43,44, + 48,48,124,124,46,143,143,125,125,52, + 52,52,52,52,52,52,52,52,109,61, + 61,61,61,49,75,75,74,74,74,76, + 76,69,69,126,126,79,79,77,77,77, + 62,62,62,63,64,64,64,65,65,65, + 65,68,68,57,57,59,128,127,127,127, + 127,110,129,130,130,131,131,132,132,144, + 144,145,145,146,146,146,146,148,148,147, + 147,147,78,133,133,12,12,12,28,28, + 13,13,134,134,111,111,111,112,112,135, + 135,113,113,14,14,136,136,114,114,114, + 114,15,70,137,137,138,138,115,115,115, + 92,92,92,6,6,16,16,23,3,36, + 139,116,116,116,93,93,31,66,53,86, + 86,86,106,106,106,123,120,121,49,88, + 131,131,140,141,110,71,117,117,331,913, + 17,21,18,482,829,560,44,503,484,521, + 368,315,316,317,519,685,586,717,694,827, + 794,74,1851,1380,443,91,521,901,1429,358, + 135,213,672,31,1319,179,1647,20,17,21, + 18,482,42,500,44,927,368,315,316,317, + 388,137,134,136,160,1647,20,17,21,18, + 482,42,1872,44,503,1084,135,213,87,398, + 139,166,395,950,197,629,1635,1279,275,143, + 146,149,152,645,28,1896,1186,137,134,136, + 160,361,1825,465,451,517,2182,2286,2577,2608, + 2612,1279,787,2731,249,462,139,166,1156,255, + 213,939,787,876,2637,143,146,149,152,104, + 87,1896,719,645,22,386,25,361,753,302, + 89,37,2182,2286,2577,2608,2612,1279,1551,20, + 17,21,18,482,829,412,44,503,484,521, + 2637,1371,452,293,519,685,586,717,694,827, + 794,74,659,381,241,281,1445,20,17,21, + 18,482,829,412,44,503,484,521,908,2920, + 1469,1905,519,685,586,717,694,827,794,74, + 672,31,1685,281,294,282,38,1186,753,1575, + 20,17,21,18,482,829,287,44,503,484, + 521,369,414,255,213,519,685,586,717,694, + 827,794,74,282,1464,1186,281,1647,20,17, + 21,18,482,42,289,44,503,484,521,322, + 1295,672,187,519,685,586,717,1185,288,1647, + 20,17,21,18,482,42,282,40,1186,1747, + 1184,398,1658,276,1661,418,2951,158,1771,1599, + 20,17,21,18,482,829,290,44,503,484, + 521,672,186,278,24,519,685,586,717,694, + 827,794,74,672,1350,444,281,1623,20,17, + 21,18,482,829,543,44,503,484,521,323, + 1295,313,1428,519,685,586,717,694,827,794, + 74,28,301,1186,281,312,282,541,1186,560, + 1647,20,17,21,18,482,42,384,44,503, + 1102,1397,20,17,21,18,482,829,1290,44, + 503,484,521,2162,282,783,1186,519,685,586, + 717,694,827,794,74,291,1862,1251,513,1743, + 20,17,21,18,482,829,1722,44,503,484, + 521,124,239,783,210,519,685,586,717,694, + 827,794,74,672,188,783,331,1647,20,17, + 21,18,482,829,416,44,503,484,521,123, + 672,873,783,519,685,586,717,694,827,794, + 74,111,672,296,91,1719,20,17,21,18, + 482,829,1937,44,503,484,521,888,126,1727, + 645,519,685,586,717,694,827,794,74,1281, + 283,554,830,1647,20,17,21,18,482,42, + 1747,44,503,484,521,739,999,2942,348,519, + 685,586,717,694,827,794,93,319,315,316, + 317,243,329,783,231,1647,20,17,21,18, + 482,42,465,44,503,484,967,1421,20,17, + 21,18,482,829,2045,44,503,484,521,122, + 645,1270,1047,519,685,586,717,694,827,794, + 74,672,298,1499,900,1743,20,17,21,18, + 482,829,249,44,503,484,521,1086,240,528, + 783,519,685,586,717,694,827,794,74,456, + 1182,242,331,1647,20,17,21,18,482,829, + 560,44,503,484,521,1922,2989,1333,645,519, + 685,586,717,694,827,794,74,49,1182,169, + 92,181,254,213,19,1647,20,17,21,18, + 482,829,1268,44,503,484,521,255,213,284, + 1787,519,685,586,717,694,827,794,74,244, + 254,213,85,1647,20,17,21,18,482,829, + 249,44,503,484,521,571,128,2890,630,519, + 685,586,717,694,827,794,74,1002,330,783, + 84,1647,20,17,21,18,482,829,249,44, + 503,484,521,955,645,1414,783,519,685,586, + 717,694,827,794,74,3001,1065,783,83,1647, + 20,17,21,18,482,829,1330,44,503,484, + 521,1920,3010,940,1935,519,685,586,717,694, + 827,794,74,342,775,245,82,1647,20,17, + 21,18,482,829,249,44,503,484,521,645, + 194,1572,911,519,685,586,717,694,827,794, + 74,520,295,783,81,1647,20,17,21,18, + 482,829,1866,44,503,484,521,645,456,968, + 379,519,685,586,717,694,827,794,74,117, + 297,474,80,1647,20,17,21,18,482,829, + 249,44,503,484,521,751,456,2945,170,519, + 685,586,717,694,827,794,74,807,383,969, + 79,1647,20,17,21,18,482,829,180,44, + 503,484,521,1147,456,836,1308,519,685,586, + 717,694,827,794,74,758,334,1513,78,1647, + 20,17,21,18,482,829,712,44,503,484, + 521,1121,456,1201,1209,519,685,586,717,694, + 827,794,74,1346,1469,995,77,1647,20,17, + 21,18,482,829,204,44,503,484,521,998, + 1331,1248,1494,519,685,586,717,694,827,794, + 74,1528,905,67,76,1647,20,17,21,18, + 482,829,181,44,503,484,521,1050,1179,1473, + 811,519,685,586,717,694,827,794,74,1319, + 179,1768,75,1671,20,17,21,18,482,354, + 1182,368,315,316,317,1781,1534,1647,20,17, + 21,18,482,829,1309,44,503,484,521,456, + 1805,135,213,519,685,586,717,694,827,794, + 74,228,254,213,357,1671,20,17,21,18, + 482,353,138,134,136,160,1510,1647,20,17, + 21,18,482,42,1370,44,503,484,521,1709, + 1558,140,166,519,685,586,717,694,1183,205, + 144,147,150,153,560,467,1896,346,1582,1853, + 1602,1757,362,1647,20,17,21,18,482,829, + 1212,44,503,484,521,1259,1199,1913,417,519, + 685,586,717,694,827,794,74,1230,1097,887, + 73,1647,20,17,21,18,482,829,1606,44, + 503,484,521,3218,1125,1350,3218,519,685,586, + 717,694,827,794,74,3218,3218,3218,958,1647, + 20,17,21,18,482,829,3218,44,503,484, + 521,3218,3218,3218,3218,519,685,586,717,694, + 827,794,74,3218,937,3218,1044,1647,20,17, + 21,18,482,42,560,44,503,484,521,560, + 1857,560,560,519,685,586,717,694,827,794, + 93,1647,20,17,21,18,482,42,23,44, + 503,484,521,273,321,279,341,519,685,586, + 717,694,827,794,93,209,227,3218,1647,20, + 17,21,18,482,42,360,44,503,484,521, + 1870,570,1368,560,519,685,586,717,694,827, + 794,93,1647,20,17,21,18,482,42,1071, + 44,503,484,521,334,3218,3218,654,519,685, + 586,717,694,827,794,93,3218,3218,3218,1647, + 20,17,21,18,482,42,212,44,503,484, + 521,560,1125,1350,3218,519,685,586,717,694, + 827,794,93,1647,20,17,21,18,482,42, + 1099,44,503,484,521,280,3218,3218,1870,519, + 685,586,717,694,827,794,93,3218,3218,3218, + 1647,20,17,21,18,482,42,202,44,503, + 484,521,333,3218,3218,1111,519,685,586,717, + 694,827,794,93,335,199,1239,319,315,316, + 317,1127,388,419,20,17,21,18,482,42, + 666,36,1,1239,3218,3218,1598,1696,1875,388, + 86,110,3218,209,95,905,1650,3218,203,785, + 108,94,96,97,98,99,127,86,110,1224, + 1368,95,1923,1650,246,1247,785,108,94,96, + 97,98,99,1847,3218,560,989,319,315,316, + 317,109,105,2816,3218,367,106,3218,318,315, + 316,317,336,385,1838,3218,3218,338,109,2371, + 3218,366,367,107,2110,3218,319,315,316,317, + 385,1652,3218,318,315,316,317,3218,218,1269, + 221,1454,223,224,1349,3218,3218,2361,3218,855, + 1647,20,17,21,18,482,42,1370,44,503, + 484,969,1772,219,1269,221,1454,223,224,229, + 1240,265,1239,274,318,315,316,317,388,3218, + 345,155,1336,269,601,416,272,3218,133,1239, + 1714,249,666,990,3218,388,86,110,787,1832, + 95,3218,1650,2013,3218,785,108,94,96,97, + 98,99,3218,86,110,3218,87,95,127,1650, + 582,473,785,108,94,96,97,98,99,1299, + 3218,3218,989,3218,3218,3218,2211,109,314,2839, + 3218,367,106,3218,318,315,316,317,560,385, + 783,3218,3218,277,109,899,617,249,367,107, + 2110,3218,424,2839,787,560,385,1788,318,315, + 316,317,2387,3218,218,1269,221,1454,223,224, + 229,274,87,2361,2061,756,197,1695,1828,2428, + 666,267,601,416,272,2789,667,1856,218,1269, + 221,1454,223,224,229,3218,1469,1397,318,315, + 316,317,3218,989,3218,1890,195,155,1336,560, + 2839,3218,3218,560,1625,318,315,316,317,990, + 218,1269,221,1454,223,224,229,1182,249,263, + 274,2110,1832,225,193,787,2957,320,3218,2370, + 267,601,416,272,3218,218,1269,221,1454,223, + 224,229,198,87,2361,264,277,560,1848,254, + 213,1647,20,17,21,18,482,42,1074,44, + 503,484,971,3218,218,1269,221,1454,223,224, + 229,340,3218,1919,274,3218,827,560,156,1336, + 3218,3218,3218,2839,267,601,416,272,318,315, + 316,317,467,1880,261,3218,568,3218,3218,1469, + 3218,339,3218,3218,2061,1647,20,17,21,18, + 482,42,3218,44,503,484,1018,1057,218,1269, + 221,1454,223,224,229,1896,1401,1397,1647,20, + 17,21,18,482,42,3218,44,503,484,521, + 3218,617,3218,3218,519,685,586,1155,2839,325, + 560,3218,3218,319,315,316,317,3218,3218,1647, + 20,17,21,18,482,42,2957,44,503,484, + 521,3218,3218,3218,1113,519,685,1158,3218,3218, + 3218,1037,199,218,1269,221,1454,223,224,229, + 989,3218,1397,318,315,316,317,2839,560,3218, + 3218,3218,319,315,316,317,3218,3218,3218,855, + 1647,20,17,21,18,482,42,3218,44,503, + 484,1027,230,219,1269,221,1454,223,224,1387, + 1240,2978,218,1269,221,1454,223,224,229,1037, + 3218,2947,1470,20,17,21,18,482,42,1934, + 43,318,315,316,317,1647,20,17,21,18, + 482,42,1334,44,503,484,521,855,560,560, + 3218,519,1111,234,368,315,316,317,560,3218, + 3218,219,1269,221,1454,223,224,229,1240,1021, + 3218,877,2469,351,135,213,424,1504,424,28, + 3218,1186,2489,318,315,316,317,593,1239,319, + 315,316,317,560,787,142,134,136,160,855, + 1888,3218,1888,419,20,17,21,18,482,42, + 3218,36,86,110,141,166,95,352,3218,3218, + 1195,785,1267,94,96,97,98,99,641,1239, + 3218,3218,2554,3218,3218,787,3218,3218,260,3218, + 259,3218,3218,3218,247,1471,748,1241,689,1239, + 3218,3218,3218,86,110,787,3218,95,368,315, + 316,317,785,103,94,96,97,98,99,803, + 1239,3218,3218,86,110,3218,787,95,135,213, + 3218,3218,785,101,94,96,97,98,99,851, + 1239,3218,3218,3218,86,110,787,3218,95,145, + 134,136,160,785,359,94,96,97,98,99, + 3218,3218,3218,3218,86,110,3218,3218,95,3218, + 3218,1881,3218,785,102,94,96,97,98,99, + 1087,965,1239,318,315,316,317,424,787,3218, + 3218,3218,318,315,316,317,3218,1013,1239,2736, + 3218,3218,3218,3218,787,3218,86,110,855,3218, + 95,1888,3218,3218,3218,785,119,94,96,97, + 98,99,86,110,3218,3218,95,3218,3218,1195, + 3218,785,114,94,96,97,98,99,1061,1239, + 3218,1721,3218,3218,3218,787,3218,3218,3218,259, + 3218,3218,3218,3218,1471,3218,1241,3218,1175,1239, + 3218,3218,3218,86,110,787,3218,95,3218,3218, + 3218,3218,785,1385,94,96,97,98,99,1223, + 1239,3218,249,86,110,3218,787,95,3218,787, + 3218,3218,785,113,94,96,97,98,99,1271, + 1239,3218,1879,3218,86,110,787,87,95,787, + 3218,3218,1865,785,121,94,96,97,98,99, + 3218,3218,249,3218,86,110,3218,87,95,787, + 3218,3218,115,785,120,94,96,97,98,99, + 1647,20,17,21,18,482,42,87,44,503, + 484,521,2070,3218,3218,3218,1130,1647,20,17, + 21,18,482,42,713,44,503,484,521,1029, + 3218,3218,3218,1141,3218,3218,318,315,316,317, + 1647,20,17,21,18,482,42,910,44,503, + 484,1056,855,3218,3218,3218,3218,3218,3218,368, + 315,316,317,1647,20,17,21,18,482,42, + 3218,44,957,1240,3218,3218,274,3218,1120,135, + 213,3218,1767,3218,3218,3218,269,601,416,272, + 368,315,316,317,368,315,316,317,3218,313, + 148,134,136,160,3218,3218,2839,1778,3218,3218, + 135,213,3218,3218,135,213,3218,3218,3218,368, + 315,316,317,1671,20,17,21,18,482,41, + 3218,151,134,136,160,154,134,136,160,135, + 213,218,1269,221,1454,223,224,229,3218,3218, + 1919,1647,20,17,21,18,482,42,3218,39, + 363,134,136,160,1647,20,17,21,18,482, + 42,3218,38,1647,20,17,21,18,482,42, + 3218,37,1647,20,17,21,18,482,42,3218, + 36,1647,20,17,21,18,482,42,500,35, + 3218,723,3218,3218,3218,388,1893,3218,2785,1647, + 20,17,21,18,482,42,3218,47,319,315, + 316,317,3218,87,3218,3218,3218,395,950,197, + 1647,20,17,21,18,482,42,3218,46,1647, + 20,17,21,18,482,42,3218,45,3218,3218, + 500,3218,3218,274,3218,551,3218,388,2731,551, + 3218,3218,3218,267,601,416,272,318,315,316, + 317,318,315,316,317,87,3218,1364,266,395, + 950,197,423,855,3218,3218,551,855,3218,388, + 1671,20,17,21,18,482,34,3218,318,315, + 316,317,3218,3218,1195,3218,3218,87,1195,551, + 2731,3218,115,1792,855,3218,2554,3218,410,3218, + 1721,318,315,316,317,3218,3218,3218,3218,1523, + 318,315,316,317,3218,1195,3218,855,1671,20, + 17,21,18,482,33,3218,1685,2101,2492,930, + 508,3218,367,3218,3218,3218,3218,3218,1195,3218, + 737,3218,318,315,316,317,3218,424,3218,3218, + 2159,1695,20,17,21,18,482,1197,1685,1695, + 20,17,21,18,482,364,1249,3218,3218,3218, + 1321,197,3218,3218,3218,1249,3218,3218,318,315, + 316,317,318,315,316,317,631,318,315,316, + 317,3218,1295,3218,855,1109,3218,1911,2217,424, + 1890,858,424,855,3218,3218,360,1949,424,318, + 315,316,317,787,3218,1066,3218,3218,671,318, + 315,316,317,1888,1122,3009,197,666,1951,192, + 3218,87,1888,3218,787,3030,1169,3218,3218,1879, + 318,315,316,317,1128,1855,787,3218,3218,3218, + 3218,1879,87,125,3218,1890,3039,802,787,1932, + 1879,259,3218,3218,87,3218,2118,787,1241,115, + 259,319,315,316,317,1571,87,1241,3218,3218, + 1960,115,3218,3218,192,87,3218,3218,3218,1965, + 115,1296,319,315,316,317,3218,3218,3218,1212, + 1855,319,315,316,317,3218,1046,3218,3218,3218, + 3218,3218,3218,3218,3218,3218,3218,2169,2188,3218, + 3218,3218,3218,3218,1167,3218,3218,2198,3218,0, + 495,32,0,1791,32,0,3226,1,0,841, + 129,0,856,129,0,902,129,0,841,130, + 0,856,130,0,902,130,0,841,131,0, + 856,131,0,902,131,0,841,185,0,856, + 185,0,902,185,0,185,189,0,841,184, + 0,856,184,0,902,184,0,184,189,0, + 841,132,0,856,132,0,902,132,0,841, + 133,0,856,133,0,902,133,0,20,179, + 0,841,366,0,856,366,0,902,366,0, + 1,702,0,841,378,0,856,378,0,902, + 378,0,1,841,0,1,856,0,1,902, + 0,354,364,0,841,253,0,856,253,0, + 902,253,0,8,10,0,1310,118,0,1, + 3444,0,1,3455,0,112,2448,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -896,206 +896,206 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 3214,5230,1,1252,3169,5178,1,1,1,1, - 1,1,1,1,458,1,1,1,1,1, - 1,1,1,1,1,1,1,3223,1,3314, - 1,1,1,1,1,1212,54,64,744,842, - 772,1224,2226,1210,799,1222,2976,1213,355,2174, - 3221,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,8,3202,3202,3202, - 3202,3202,3202,3202,3202,3202,3202,3202,3202,3202, - 3202,3202,3202,3202,3202,3202,3202,3202,3202,3202, - 3202,3202,3202,3202,3202,3202,3202,3202,3202,3202, - 3202,3202,444,719,3202,3202,3202,3202,3202,3202, - 3202,3202,3202,3202,444,719,3202,3202,3202,3202, - 3202,3202,3202,3202,3202,3202,3202,3202,3202,3202, - 3202,3202,3214,5230,1,1252,3169,5178,1,1, - 1,1,1,1,1,1,458,1,1,1, - 1,1,1,1,1,1,1,1,1,3223, - 1,3314,1,1,1,1,1,1212,354,65, - 744,842,772,1224,2226,1210,799,1222,2976,1213, - 58,2174,3221,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3214,5230, - 1,3224,3169,5178,1,1,1,1,1,1, - 1,1,458,1,1,1,1,1,1,1, - 1,1,1,1,1,3223,1,3314,1,1, - 1,1,1,1212,444,719,744,842,772,1224, - 2226,1210,799,1222,2976,1213,444,719,1,1, + 3218,5235,1,1253,3170,5183,1,1,1,1, + 1,1,1,1,459,1,1,1,1,1, + 1,1,1,1,1,1,1,3227,1,3318, + 1,1,1,1,1,1213,54,64,745,843, + 773,1225,2227,1211,800,1223,2977,1214,356,2175, + 3225,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,8,3203,3203,3203, + 3203,3203,3203,3203,3203,3203,3203,3203,3203,3203, + 3203,3203,3203,3203,3203,3203,3203,3203,3203,3203, + 3203,3203,3203,3203,3203,3203,3203,3203,3203,3203, + 3203,3203,445,720,3203,3203,3203,3203,3203,3203, + 3203,3203,3203,3203,445,720,3203,3203,3203,3203, + 3203,3203,3203,3203,3203,3203,3203,3203,3203,3203, + 3203,3203,3218,5235,1,1253,3170,5183,1,1, + 1,1,1,1,1,1,459,1,1,1, + 1,1,1,1,1,1,1,1,1,3227, + 1,3318,1,1,1,1,1,1213,355,65, + 745,843,773,1225,2227,1211,800,1223,2977,1214, + 58,2175,3225,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,3218,5235, + 1,3228,3170,5183,1,1,1,1,1,1, + 1,1,459,1,1,1,1,1,1,1, + 1,1,1,1,1,3227,1,3318,1,1, + 1,1,1,1213,445,720,745,843,773,1225, + 2227,1211,800,1223,2977,1214,445,720,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3214,5230,1,3224,3169,5178, - 1,1,1,1,1,1,1,1,458,1, + 1,1,1,1,3218,5235,1,3228,3170,5183, + 1,1,1,1,1,1,1,1,459,1, 1,1,1,1,1,1,1,1,1,1, - 1,3223,1,3314,1,1,1,1,1,1212, - 285,59,744,842,772,1224,2226,1210,799,1222, - 2976,1213,1,3439,2628,1,1,1,1,1, + 1,3227,1,3318,1,1,1,1,1,1213, + 286,59,745,843,773,1225,2227,1211,800,1223, + 2977,1214,1,3444,2629,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3214,3225,432,3214,901,3226,2711,840,855,2702, - 2693,3230,2720,2900,1471,2867,2819,2652,3227,3228, - 3229,2680,638,1324,3427,3429,3428,3214,3376,1, - 3377,3375,3430,3378,3374,267,3439,1941,269,901, - 648,252,840,855,2569,2129,2024,1970,61,1749, - 874,3381,3386,3385,3383,3384,3382,3387,3388,3380, - 3389,3390,3391,1761,2879,2847,1,1,3226,3226, - 3085,730,3226,3214,730,3226,3226,2,3226,184, - 3124,3226,3226,3121,3124,72,3115,3118,3214,3225, - 432,3218,1,3226,2711,116,3169,2702,2693,3230, - 2720,1282,3226,2867,2819,2652,3227,3228,3229,2680, - 638,1324,3214,62,3214,3226,3226,3221,3214,116, - 51,2569,2129,2024,1970,3214,1749,874,3222,2592, - 425,1,3226,3226,90,3226,3226,3226,3226,3226, - 3226,3226,3226,60,3226,3226,3226,3226,3226,3226, - 3226,3226,3226,3226,3226,3226,3226,3226,3226,3226, - 3226,3226,3226,3226,1,3217,3225,3225,90,1, - 3225,1336,2955,3225,3225,3221,3225,183,3136,3225, - 3225,3133,3136,458,3127,3130,3214,1,1,63, - 270,1,1,2546,2529,1,1,1,1,1, - 3225,1,1,1,1,1,1,1,1,1, - 66,3078,68,3225,3225,3600,2569,2129,2024,1970, - 252,1749,874,3214,901,1469,730,840,855,3214, - 3225,3225,3220,3225,3225,3225,3225,3225,3225,3225, - 3225,3214,3225,3225,3225,3225,3225,3225,3225,3225, - 3225,3225,3225,3225,3225,3225,3225,3225,3225,3225, - 3225,3225,3214,5230,1,3224,3219,5178,1,2546, - 2529,1,1,1,1,1,458,1,1,1, - 1,1,1,1,1,1,1,3439,2628,3223, - 3187,3314,2078,3181,3184,2047,3214,1212,88,57, - 744,842,772,1224,2226,1210,799,1222,2976,1213, - 3214,5230,1,3224,3214,5178,1,3218,3214,1, - 1,1,1,1,458,1,1,1,1,1, - 1,1,1,1,1558,1,181,3223,3224,3314, - 901,3214,3225,840,855,1212,3226,942,744,842, - 772,1224,2226,1210,799,1222,2976,1213,3214,5230, - 1,3224,3223,5178,1,444,719,1,1,1, - 1,1,458,1,1,1,1,1,1,1, - 1,1,267,3214,1828,3223,901,3314,252,840, - 855,3217,1,1212,1828,264,744,842,772,1224, - 2226,1210,799,1222,2976,1213,3214,1,377,190, - 1,1,3178,1,1,3172,3175,129,730,1, - 67,3103,325,3540,3097,3100,3214,3214,730,264, - 1,1,1,2915,1,3409,1,1,1,1, - 1,3427,3429,3428,53,3376,3541,3377,3375,3430, - 3378,3374,3214,2592,425,3224,190,1,1,1, + 3218,3229,433,3218,902,3230,2712,841,856,2703, + 2694,3234,2721,2901,1472,2868,2820,2653,3231,3232, + 3233,2681,639,1325,3432,3434,3433,3218,3381,1, + 3382,3380,3435,3383,3379,268,3444,1942,270,902, + 649,253,841,856,2570,2130,2025,1971,61,1750, + 875,3386,3391,3390,3388,3389,3387,3392,3393,3385, + 3394,3395,3396,1762,2880,2848,1,1,3230,3230, + 3086,731,3230,3218,731,3230,3230,2,3230,185, + 3125,3230,3230,3122,3125,72,3116,3119,3218,3229, + 433,3222,1,3230,2712,116,3170,2703,2694,3234, + 2721,1283,3230,2868,2820,2653,3231,3232,3233,2681, + 639,1325,3218,62,3218,3230,3230,3225,3218,116, + 51,2570,2130,2025,1971,3218,1750,875,3226,2593, + 426,1,3230,3230,90,3230,3230,3230,3230,3230, + 3230,3230,3230,60,3230,3230,3230,3230,3230,3230, + 3230,3230,3230,3230,3230,3230,3230,3230,3230,3230, + 3230,3230,3230,3230,1,3221,3229,3229,90,1, + 3229,1337,2956,3229,3229,3225,3229,184,3137,3229, + 3229,3134,3137,459,3128,3131,3218,1,1,63, + 271,1,1,2547,2530,1,1,1,1,1, + 3229,1,1,1,1,1,1,1,1,1, + 66,3079,68,3229,3229,3605,2570,2130,2025,1971, + 253,1750,875,3218,902,1470,731,841,856,3218, + 3229,3229,3224,3229,3229,3229,3229,3229,3229,3229, + 3229,3218,3229,3229,3229,3229,3229,3229,3229,3229, + 3229,3229,3229,3229,3229,3229,3229,3229,3229,3229, + 3229,3229,3218,5235,1,3228,3223,5183,1,2547, + 2530,1,1,1,1,1,459,1,1,1, + 1,1,1,1,1,1,1,3444,2629,3227, + 3188,3318,2079,3182,3185,2048,3218,1213,88,57, + 745,843,773,1225,2227,1211,800,1223,2977,1214, + 3218,5235,1,3228,3218,5183,1,3222,3218,1, + 1,1,1,1,459,1,1,1,1,1, + 1,1,1,1,1559,1,182,3227,3228,3318, + 902,3218,3229,841,856,1213,3230,943,745,843, + 773,1225,2227,1211,800,1223,2977,1214,3218,5235, + 1,3228,3227,5183,1,445,720,1,1,1, + 1,1,459,1,1,1,1,1,1,1, + 1,1,268,3218,1829,3227,902,3318,253,841, + 856,3221,1,1213,1829,265,745,843,773,1225, + 2227,1211,800,1223,2977,1214,3218,1,378,191, + 1,1,3179,1,1,3173,3176,130,731,1, + 67,3104,326,3545,3098,3101,3218,3218,731,265, + 1,1,1,2916,1,3414,1,1,1,1, + 1,3432,3434,3433,53,3381,3546,3382,3380,3435, + 3383,3379,3218,2593,426,3228,191,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3214,5230,1,3224,3214,5178,1,3223, - 3214,1,1,1,1,1,458,1,1,1, - 1,1,1,1,1,1,1,3439,2628,3223, - 3187,3314,2078,3181,3184,69,284,1212,3214,493, - 744,842,772,1224,2226,1210,799,1222,2976,1213, - 3214,5230,1,3224,1296,5178,1,1,2328,1, - 1,1,1,1,458,1,1,1,1,1, - 1,1,1,1,1558,48,1,3223,1456,3314, - 3187,2768,252,3181,3184,1212,493,70,744,842, - 772,1224,2226,1210,799,1222,2976,1213,3214,1, - 3214,189,1,1,348,1,1,3214,3225,130, - 52,1,3226,3112,4437,1368,3106,3109,2047,2592, - 425,1009,1,1,1,3471,1,3409,1,1, - 1,1,1,3427,3429,3428,221,3376,849,3377, - 3375,3430,3378,3374,3471,3214,2759,2738,189,1, + 1,1,3218,5235,1,3228,3218,5183,1,3227, + 3218,1,1,1,1,1,459,1,1,1, + 1,1,1,1,1,1,1,3444,2629,3227, + 3188,3318,2079,3182,3185,69,285,1213,3218,494, + 745,843,773,1225,2227,1211,800,1223,2977,1214, + 3218,5235,1,3228,1297,5183,1,1,2329,1, + 1,1,1,1,459,1,1,1,1,1, + 1,1,1,1,1559,48,1,3227,1457,3318, + 3188,2769,253,3182,3185,1213,494,70,745,843, + 773,1225,2227,1211,800,1223,2977,1214,3218,1, + 3218,190,1,1,349,1,1,3218,3229,131, + 52,1,3230,3113,4442,1369,3107,3110,2048,2593, + 426,1010,1,1,1,3476,1,3414,1,1, + 1,1,1,3432,3434,3433,222,3381,850,3382, + 3380,3435,3383,3379,3476,3218,2760,2739,190,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3214,5230,1,3224,3214,5178, - 1,616,730,1,1,1,1,1,458,1, - 1,1,1,1,1,1,1,1,1,3439, - 2628,3223,3187,3314,3214,3181,3184,3214,3214,1212, - 1519,56,744,842,772,1224,2226,1210,799,1222, - 2976,1213,3214,5230,1,3224,1372,5178,1,3214, - 1,1,1,1,1,1,458,1,1,1, - 1,1,1,1,1,1,252,3439,2628,3223, - 901,3314,2267,840,855,2287,3214,1212,1195,3214, - 744,842,772,1224,2226,1210,799,1222,2976,1213, - 3214,5230,1,3224,55,5178,1,444,719,1, - 1,1,1,1,458,1,1,1,1,1, - 1,1,1,1,1309,50,1,3223,3470,3314, - 3187,2768,252,3181,3184,1212,3214,2232,744,842, - 772,1224,2226,1210,799,1222,2976,1213,3214,1, - 375,190,1,1,901,1,1,840,855,131, - 3214,1,2811,3145,207,3225,3139,3142,3214,3226, - 444,719,1,1,1,3214,1,3409,1,1, - 1,1,1,3427,3429,3428,71,3376,3214,3377, - 3375,3430,3378,3374,3471,3214,2759,2738,190,1, + 1,1,1,1,3218,5235,1,3228,3218,5183, + 1,617,731,1,1,1,1,1,459,1, + 1,1,1,1,1,1,1,1,1,3444, + 2629,3227,3188,3318,3218,3182,3185,3218,3218,1213, + 1520,56,745,843,773,1225,2227,1211,800,1223, + 2977,1214,3218,5235,1,3228,1373,5183,1,3218, + 1,1,1,1,1,1,459,1,1,1, + 1,1,1,1,1,1,253,3444,2629,3227, + 902,3318,2268,841,856,2288,3218,1213,1196,118, + 745,843,773,1225,2227,1211,800,1223,2977,1214, + 3218,5235,1,3228,55,5183,1,445,720,1, + 1,1,1,1,459,1,1,1,1,1, + 1,1,1,1,3206,50,1,3227,3475,3318, + 3188,2769,253,3182,3185,1213,3218,2233,745,843, + 773,1225,2227,1211,800,1223,2977,1214,3218,1, + 376,191,1,1,902,1,1,841,856,132, + 3218,1,2812,3146,208,3229,3140,3143,3218,3230, + 445,720,1,1,1,3218,1,3414,1,1, + 1,1,1,3432,3434,3433,71,3381,3218,3382, + 3380,3435,3383,3379,3476,3218,2760,2739,191,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3214,5230,1,3224,3214,5178, - 1,3214,3214,1,1,1,1,1,458,1, - 1,1,1,1,1,1,1,1,3214,2188, - 3214,3223,1856,3314,1397,3427,3429,3428,3214,1212, - 1937,3214,744,842,772,1224,2226,1210,799,1222, - 2976,1213,3214,5230,1,3224,2308,5178,1,200, - 616,1,1,1,1,1,458,1,1,1, - 1,1,1,1,1,1,378,255,252,3223, - 901,3314,3199,840,855,3193,3196,1212,112,3595, - 744,842,772,1224,2226,1210,799,1222,2976,1213, - 3214,5230,1,3224,3214,5178,1,1609,247,1, - 1,1,1,1,458,1,1,1,1,1, - 1,1,1,1,1,3208,2208,3223,1,3314, - 1828,3220,3427,3429,3428,1212,3214,3214,744,842, - 772,1224,2226,1210,799,1222,2976,1213,3214,3225, - 182,921,901,3226,901,840,855,840,855,248, - 3214,2908,49,128,730,3219,2924,3094,2768,3214, - 3088,3091,3427,3429,3428,3214,3376,2471,3377,3375, - 3430,3378,3374,1,1,1,3211,3427,3429,3428, - 3214,3376,3471,3377,3375,3430,3378,3374,3214,3381, - 3386,3385,3383,3384,3382,3387,3388,3380,3389,3390, - 3391,1761,2879,2847,3381,3386,3385,3383,3384,3382, - 3387,3388,3380,3389,3390,3391,1,3225,432,3218, - 3214,3226,1642,2759,2738,2702,2693,3230,2720,1282, - 3214,2867,2819,2652,3227,3228,3229,2680,638,1324, - 3214,3225,432,3218,814,3226,2242,343,30,2702, - 2693,3230,2720,1282,3214,2867,2819,2652,3227,3228, - 3229,2680,638,1324,1,4095,432,29,1428,3997, - 2711,3214,3556,2702,2693,3230,2720,1282,4437,2867, - 2819,2652,3227,3228,3229,2680,638,1324,30,3214, - 3225,432,219,3217,3226,2711,3214,555,2702,2693, - 3230,2720,1282,4437,2867,2819,2652,3227,3228,3229, - 2680,638,1324,336,29,1692,3214,3217,20,178, - 3157,3157,178,376,3157,178,178,901,730,156, - 840,855,353,363,363,3190,363,3243,3190,363, - 363,3214,178,178,178,3157,178,3214,178,178, - 178,178,178,3214,3157,3157,363,363,363,3190, - 363,1093,363,363,363,363,363,1149,363,3190, - 1,4095,432,206,682,3997,2711,210,682,2702, - 2693,3230,2720,1282,4437,2867,2819,2652,3227,3228, - 3229,2680,638,1324,3214,3225,432,1,588,3226, - 2711,206,3214,2702,2693,3230,2720,1282,4437,2867, - 2819,2652,3227,3228,3229,2680,638,1324,379,3225, - 432,346,3214,3226,2711,3214,3451,2702,2693,3230, - 2720,1282,4437,2867,2819,2652,3227,3228,3229,2680, - 638,1324,3214,3225,432,3226,1507,3226,2711,1, - 5154,2702,2693,3230,2720,1282,4437,2867,2819,2652, - 3227,3228,3229,2680,638,1324,3214,3225,432,3214, - 765,3226,2711,3214,3214,2702,2693,3230,2720,1282, - 364,2867,2819,2652,3227,3228,3229,2680,638,1324, - 3214,3225,2727,3214,4437,3226,2711,3225,3214,2702, - 2693,3230,2720,1282,3214,2867,2819,2652,3227,3228, - 3229,2680,638,1324,3214,3225,2779,3214,650,3226, - 2711,3214,3214,2702,2693,3230,2720,1282,228,2867, - 2819,2652,3227,3228,3229,2680,638,1324,1,3225, - 432,3214,231,3226,2711,3214,42,2702,2693,3230, - 2720,1282,1368,2867,2819,2652,3227,3228,3229,2680, - 638,1324,331,3225,432,3214,1,3226,2711,3220, - 3214,2702,2693,3230,2720,1282,3214,2867,2819,2652, - 3227,3228,3229,2680,638,1324,132,3214,3214,1664, - 3154,205,5552,3148,3151,901,5552,365,840,855, - 323,3166,758,3219,3160,3163,3214,3214,3214,3224, - 3427,3429,3428,3214,3376,1254,3377,3375,3430,3378, - 3374,3427,3429,3428,3214,3376,2511,3377,3375,3430, - 3378,3374,3214,3223,1226,1198,1170,1142,1114,1058, - 1086,1030,1002,974,32,686,3079,1,3439,1941, - 261,1,3205,1941,3220,1912,3214,374,5561,3240, - 3241,901,5561,3214,840,855,3214,1996,3214,3220, - 3214,3225,349,3214,1385,3226,3214,1966,517,3220, - 3082,3214,3225,730,261,249,3226,730,3219,3214, - 1241,291,3220,3214,3214,1037,261,3220,1,3214, - 158,116,3220,3219,901,3214,1480,840,855,1, - 1,1,369,3219,579,3214,901,3214,3220,840, - 855,3214,3214,3214,250,116,3219,1531,3214,421, - 368,3219,228,3214,901,116,3219,840,855,3214, - 811,251,3218,587,3214,3214,232,1251,3427,3429, - 3428,370,3219,3214,3214,901,3220,3224,840,855, - 3214,910,3214,3214,914,3427,3429,3428,199,3214, - 371,188,901,3214,901,840,855,840,855,372, - 378,3223,3214,901,373,205,840,855,901,3214, - 3219,840,855,3214,374,3214,3214,3214,3214,3214, - 3214,3214,1407,1995,3214,3214,3214,1582,3214,3214, - 3214,3214,3214,3214,3214,3214,3217 + 1,1,1,1,3218,5235,1,3228,3218,5183, + 1,3218,3218,1,1,1,1,1,459,1, + 1,1,1,1,1,1,1,1,3218,2189, + 3218,3227,1857,3318,1398,3432,3434,3433,3218,1213, + 1938,3218,745,843,773,1225,2227,1211,800,1223, + 2977,1214,3218,5235,1,3228,2309,5183,1,201, + 617,1,1,1,1,1,459,1,1,1, + 1,1,1,1,1,1,379,256,253,3227, + 902,3318,3200,841,856,3194,3197,1213,112,3600, + 745,843,773,1225,2227,1211,800,1223,2977,1214, + 3218,5235,1,3228,3218,5183,1,1610,248,1, + 1,1,1,1,459,1,1,1,1,1, + 1,1,1,1,1,3212,2209,3227,1,3318, + 1829,3224,3432,3434,3433,1213,3218,3218,745,843, + 773,1225,2227,1211,800,1223,2977,1214,3218,3229, + 183,922,902,3230,902,841,856,841,856,249, + 3218,2909,49,129,731,3223,2925,3095,2769,3218, + 3089,3092,3432,3434,3433,3218,3381,2472,3382,3380, + 3435,3383,3379,1,1,1,3215,3432,3434,3433, + 3218,3381,3476,3382,3380,3435,3383,3379,3218,3386, + 3391,3390,3388,3389,3387,3392,3393,3385,3394,3395, + 3396,1762,2880,2848,3386,3391,3390,3388,3389,3387, + 3392,3393,3385,3394,3395,3396,1,3229,433,3222, + 3218,3230,1643,2760,2739,2703,2694,3234,2721,1283, + 3218,2868,2820,2653,3231,3232,3233,2681,639,1325, + 3218,3229,433,3222,815,3230,2243,344,30,2703, + 2694,3234,2721,1283,3218,2868,2820,2653,3231,3232, + 3233,2681,639,1325,1,4100,433,29,1429,4002, + 2712,3218,3561,2703,2694,3234,2721,1283,4442,2868, + 2820,2653,3231,3232,3233,2681,639,1325,30,3218, + 3229,433,220,3221,3230,2712,3218,556,2703,2694, + 3234,2721,1283,4442,2868,2820,2653,3231,3232,3233, + 2681,639,1325,337,29,1693,3218,3221,20,179, + 3158,3158,179,377,3158,179,179,902,731,157, + 841,856,354,364,364,3191,364,3247,3191,364, + 364,3218,179,179,179,3158,179,3218,179,179, + 179,179,179,3218,3158,3158,364,364,364,3191, + 364,1094,364,364,364,364,364,1150,364,3191, + 1,4100,433,207,683,4002,2712,211,683,2703, + 2694,3234,2721,1283,4442,2868,2820,2653,3231,3232, + 3233,2681,639,1325,3218,3229,433,1,589,3230, + 2712,207,3218,2703,2694,3234,2721,1283,4442,2868, + 2820,2653,3231,3232,3233,2681,639,1325,380,3229, + 433,347,3218,3230,2712,3218,3456,2703,2694,3234, + 2721,1283,4442,2868,2820,2653,3231,3232,3233,2681, + 639,1325,3218,3229,433,3230,1508,3230,2712,1, + 5159,2703,2694,3234,2721,1283,4442,2868,2820,2653, + 3231,3232,3233,2681,639,1325,3218,3229,433,3218, + 766,3230,2712,3218,3218,2703,2694,3234,2721,1283, + 365,2868,2820,2653,3231,3232,3233,2681,639,1325, + 3218,3229,2728,3218,4442,3230,2712,3229,3218,2703, + 2694,3234,2721,1283,3218,2868,2820,2653,3231,3232, + 3233,2681,639,1325,3218,3229,2780,3218,651,3230, + 2712,3218,3218,2703,2694,3234,2721,1283,229,2868, + 2820,2653,3231,3232,3233,2681,639,1325,1,3229, + 433,3218,232,3230,2712,3218,42,2703,2694,3234, + 2721,1283,1369,2868,2820,2653,3231,3232,3233,2681, + 639,1325,332,3229,433,3218,1,3230,2712,3224, + 3218,2703,2694,3234,2721,1283,3218,2868,2820,2653, + 3231,3232,3233,2681,639,1325,133,3218,3218,1665, + 3155,206,5557,3149,3152,902,5557,366,841,856, + 324,3167,759,3223,3161,3164,3218,3218,3218,3228, + 3432,3434,3433,3218,3381,1255,3382,3380,3435,3383, + 3379,3432,3434,3433,3218,3381,2512,3382,3380,3435, + 3383,3379,3218,3227,1227,1199,1171,1143,1115,1059, + 1087,1031,1003,975,32,687,3080,1,3444,1942, + 262,1,3209,1942,3224,1913,3218,375,5566,3244, + 3245,902,5566,3218,841,856,3218,1997,3218,3224, + 3218,3229,350,3218,1386,3230,3218,1967,518,3224, + 3083,3218,3229,731,262,250,3230,731,3223,3218, + 1242,292,3224,3218,3218,1038,262,3224,1,3218, + 159,116,3224,3223,902,3218,1481,841,856,1, + 1,1,370,3223,580,3218,902,3218,3224,841, + 856,3218,3218,3218,251,116,3223,1532,3218,422, + 369,3223,229,3218,902,116,3223,841,856,3218, + 812,252,3222,588,3218,3218,233,1252,3432,3434, + 3433,371,3223,3218,3218,902,3224,3228,841,856, + 3218,911,3218,3218,915,3432,3434,3433,200,3218, + 372,189,902,3218,902,841,856,841,856,373, + 379,3227,3218,902,374,206,841,856,902,3218, + 3223,841,856,3218,375,3218,3218,3218,3218,3218, + 3218,3218,1408,1996,3218,3218,3218,1583,3218,3218, + 3218,3218,3218,3218,3218,3218,3221 }; }; public final static char termAction[] = TermAction.termAction; @@ -1108,36 +1108,36 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 291,301,299,303,302,305,304,275,31,3, 430,430,254,31,272,272,272,114,387,371, 31,31,31,31,31,31,31,31,31,31, - 31,31,31,31,31,31,31,31,620,31, + 31,31,31,31,31,31,31,31,618,31, 31,31,31,31,31,31,31,31,31,31, - 31,31,272,272,250,153,118,228,475,174, - 173,519,551,551,551,531,512,531,512,512, - 531,512,531,67,531,402,31,372,286,286, + 31,31,272,272,250,153,118,228,473,174, + 173,517,549,549,549,529,510,529,510,510, + 529,510,529,67,529,402,31,372,286,286, 291,291,291,291,291,291,289,289,299,293, 293,302,301,200,200,304,303,171,351,171, - 114,121,109,28,250,508,232,272,553,478, - 365,271,618,169,512,430,427,430,169,430, - 512,31,71,3,371,599,317,317,430,551, - 551,586,551,551,317,200,31,200,225,544, - 31,31,351,151,121,109,508,250,231,228, - 272,112,402,454,480,143,271,364,272,442, - 320,171,354,272,369,317,317,385,31,433, - 31,31,586,200,435,586,551,546,151,109, - 109,31,31,250,232,475,459,458,118,480, - 272,454,453,270,171,442,320,354,354,179, - 599,317,544,272,551,272,272,586,31,586, - 470,171,316,462,546,546,465,118,438,356, - 220,109,508,250,250,272,553,478,112,143, - 272,253,272,272,320,351,543,320,354,356, - 447,356,317,599,546,586,31,586,586,58, - 452,57,371,546,462,462,118,153,546,351, - 149,468,202,430,31,200,50,508,109,480, - 454,320,194,356,351,31,430,254,317,272, - 370,470,317,47,618,372,462,546,438,62, - 153,360,430,31,109,272,454,253,351,316, - 31,312,194,313,351,272,254,317,586,431, - 272,371,31,250,431,194,31,313,313,586, - 272,272,250,313,586 + 114,121,109,28,250,506,232,272,551,476, + 365,271,616,169,510,430,427,430,169,430, + 510,31,71,3,371,597,317,317,430,549, + 549,584,549,549,317,200,31,200,225,542, + 31,31,351,151,121,109,506,250,231,228, + 272,112,402,452,478,143,271,364,272,440, + 320,171,354,272,369,317,317,385,31,370, + 31,31,584,200,433,584,549,544,151,109, + 109,31,31,250,232,473,457,456,118,478, + 272,452,451,270,171,440,320,354,354,179, + 597,317,542,272,549,272,272,584,31,584, + 468,171,316,460,544,544,463,118,436,356, + 220,109,506,250,250,272,551,476,112,143, + 272,253,272,272,320,351,541,320,354,356, + 445,356,317,597,544,584,31,584,584,58, + 450,57,371,544,460,460,118,153,544,351, + 149,466,202,430,31,200,50,506,109,478, + 452,320,194,356,351,31,430,254,317,272, + 370,468,317,47,616,372,460,544,436,62, + 153,360,430,31,109,272,452,253,351,316, + 31,312,194,313,351,272,254,317,584,431, + 272,371,31,250,431,194,31,313,313,584, + 272,272,250,313,584 }; }; public final static char asb[] = Asb.asb; @@ -1188,27 +1188,27 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 23,13,63,64,65,59,51,56,54,55, 53,52,57,58,60,61,62,34,31,28, 30,33,24,26,25,32,4,8,7,5, - 1,0,35,0,48,68,0,3,69,49, - 27,14,4,8,7,0,3,49,50,69, - 0,48,2,3,37,49,0,2,48,37, - 36,4,8,7,3,49,27,69,0,3, - 48,37,11,0,6,2,36,37,3,30, - 51,52,63,31,53,32,54,55,33,56, - 57,28,64,34,65,58,59,60,61,62, - 1,5,13,7,8,4,68,24,26,25, - 0,1,5,14,4,8,7,0,59,51, - 56,54,55,53,52,57,58,60,61,62, - 36,49,37,34,31,28,30,33,24,26, - 25,32,48,27,3,6,1,7,8,4, - 2,0,6,30,51,24,52,63,31,53, - 32,54,55,33,26,56,57,28,64,34, - 65,58,59,25,60,61,62,1,5,13, - 68,4,8,7,0,39,41,14,45,47, - 42,35,43,44,40,38,46,29,17,18, - 19,20,1,5,2,15,16,12,6,9, - 10,21,22,13,23,27,3,11,0,17, - 18,19,20,11,1,5,2,15,16,12, - 6,9,10,21,22,13,23,48,0 + 1,0,48,68,0,3,69,49,27,14, + 4,8,7,0,3,49,50,69,0,48, + 2,3,37,49,0,2,48,37,36,4, + 8,7,3,49,27,69,0,3,48,37, + 11,0,6,2,36,37,3,30,51,52, + 63,31,53,32,54,55,33,56,57,28, + 64,34,65,58,59,60,61,62,1,5, + 13,7,8,4,68,24,26,25,0,1, + 5,14,4,8,7,0,59,51,56,54, + 55,53,52,57,58,60,61,62,36,49, + 37,34,31,28,30,33,24,26,25,32, + 48,27,3,6,1,7,8,4,2,0, + 6,30,51,24,52,63,31,53,32,54, + 55,33,26,56,57,28,64,34,65,58, + 59,25,60,61,62,1,5,13,68,4, + 8,7,0,39,41,14,45,47,42,35, + 43,44,40,38,46,29,17,18,19,20, + 1,5,2,15,16,12,6,9,10,21, + 22,13,23,27,3,11,0,17,18,19, + 20,11,1,5,2,15,16,12,6,9, + 10,21,22,13,23,48,0 }; }; public final static byte asr[] = Asr.asr; @@ -1452,26 +1452,26 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 1995,1855,0,451,0,411,0,581,0,2944, - 1854,2889,0,587,517,0,2158,2100,1720,1995, - 2060,1855,2628,2109,1941,1887,1912,1831,1695,0, - 842,0,1787,1770,2811,1651,1634,0,686,658, - 555,588,653,527,416,2161,0,1278,423,387, - 0,3038,3029,2977,1995,2956,2060,2158,3008,1855, - 2100,2946,2735,1912,1831,1720,2109,2360,2216,2924, - 1695,2919,423,2915,1713,1684,1624,854,2553,1278, - 2636,2611,1761,2607,2879,2847,2576,1895,2285,2181, - 387,2838,2369,2815,2788,2210,2784,0,1453,1268, - 600,415,1720,2553,1941,1887,1828,2730,0,2779, - 2727,432,2488,2468,2447,2427,2386,2370,2328,2308, - 2287,2267,2226,1787,1770,1651,1634,0,2908,2900, - 2867,2819,2652,1324,1282,2242,1642,2161,616,1336, - 2078,2047,2546,2529,2174,719,444,2569,2129,2024, - 1970,1749,874,2768,2759,2738,2592,425,2720,2711, - 2702,2693,2680,638,1609,1582,1558,914,1531,686, - 1507,1480,658,588,758,1456,1428,1400,886,1372, - 1296,842,814,730,1254,1226,1198,1170,1142,1114, - 1086,1058,1030,1002,974,387,942,786,555,527, + 1996,1856,0,452,0,412,0,582,0,2945, + 1855,2890,0,588,518,0,2159,2101,1721,1996, + 2061,1856,2629,2110,1942,1888,1913,1832,1696,0, + 843,0,1788,1771,2812,1652,1635,0,687,659, + 556,589,654,528,417,2162,0,1279,424,388, + 0,3039,3030,2978,1996,2957,2061,2159,3009,1856, + 2101,2947,2736,1913,1832,1721,2110,2361,2217,2925, + 1696,2920,424,2916,1714,1685,1625,855,2554,1279, + 2637,2612,1762,2608,2880,2848,2577,1896,2286,2182, + 388,2839,2370,2816,2789,2211,2785,0,1454,1269, + 601,416,1721,2554,1942,1888,1829,2731,0,2780, + 2728,433,2489,2469,2448,2428,2387,2371,2329,2309, + 2288,2268,2227,1788,1771,1652,1635,0,2909,2901, + 2868,2820,2653,1325,1283,2243,1643,2162,617,1337, + 2079,2048,2547,2530,2175,720,445,2570,2130,2025, + 1971,1750,875,2769,2760,2739,2593,426,2721,2712, + 2703,2694,2681,639,1610,1583,1559,915,1532,687, + 1508,1481,659,589,759,1457,1429,1401,887,1373, + 1297,843,815,731,1255,1227,1199,1171,1143,1115, + 1087,1059,1031,1003,975,388,943,787,556,528, 0 }; }; @@ -1743,18 +1743,18 @@ public class GCCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final static int NUM_STATES = 345, NT_OFFSET = 100, - LA_STATE_OFFSET = 3600, + LA_STATE_OFFSET = 3605, MAX_LA = 2147483647, - NUM_RULES = 386, + NUM_RULES = 387, NUM_NONTERMINALS = 148, NUM_SYMBOLS = 248, SEGMENT_SIZE = 8192, - START_STATE = 484, + START_STATE = 485, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 99, EOLT_SYMBOL = 99, - ACCEPT_ACTION = 3078, - ERROR_ACTION = 3214; + ACCEPT_ACTION = 3079, + ERROR_ACTION = 3218; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java index e09eb854bdc..1f0650f8a7c 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gcc/GCCSizeofExpressionParsersym.java @@ -1,5 +1,5 @@ /******************************************************************************* -* Copyright (c) 2006, 2009 IBM Corporation and others. +* Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java index 79cd5d86268..2eb08594c13 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParser.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -992,1111 +992,1063 @@ private GNUBuildASTParserAction gnuAction; // // Rule 193: iteration_statement ::= do statement while ( expression ) ; // - case 193: { action. consumeStatementDoLoop(); break; + case 193: { action. consumeStatementDoLoop(true); break; } // - // Rule 194: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 194: iteration_statement ::= do statement // - case 194: { action. consumeStatementForLoop(); break; + case 194: { action. consumeStatementDoLoop(false); break; } // - // Rule 196: for_init_statement ::= simple_declaration_with_declspec + // Rule 195: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 196: { action. consumeStatementDeclaration(); break; + case 195: { action. consumeStatementForLoop(); break; } // - // Rule 197: jump_statement ::= break ; + // Rule 197: for_init_statement ::= simple_declaration_with_declspec // - case 197: { action. consumeStatementBreak(); break; + case 197: { action. consumeStatementDeclaration(); break; } // - // Rule 198: jump_statement ::= continue ; + // Rule 198: jump_statement ::= break ; // - case 198: { action. consumeStatementContinue(); break; + case 198: { action. consumeStatementBreak(); break; } // - // Rule 199: jump_statement ::= return expression ; + // Rule 199: jump_statement ::= continue ; // - case 199: { action. consumeStatementReturn(true); break; + case 199: { action. consumeStatementContinue(); break; } // - // Rule 200: jump_statement ::= return ; + // Rule 200: jump_statement ::= return expression ; // - case 200: { action. consumeStatementReturn(false); break; + case 200: { action. consumeStatementReturn(true); break; } // - // Rule 201: jump_statement ::= goto identifier_token ; + // Rule 201: jump_statement ::= return ; // - case 201: { action. consumeStatementGoto(); break; + case 201: { action. consumeStatementReturn(false); break; } // - // Rule 202: declaration_statement ::= block_declaration + // Rule 202: jump_statement ::= goto identifier_token ; // - case 202: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 202: { action. consumeStatementGoto(); break; } // - // Rule 203: declaration_statement ::= function_definition + // Rule 203: declaration_statement ::= block_declaration // - case 203: { action. consumeStatementDeclaration(); break; + case 203: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 211: declaration ::= ERROR_TOKEN + // Rule 204: declaration_statement ::= function_definition // - case 211: { action. consumeDeclarationProblem(); break; + case 204: { action. consumeStatementDeclaration(); break; } // - // Rule 221: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 212: declaration ::= ERROR_TOKEN // - case 221: { action. consumeDeclarationSimple(true); break; + case 212: { action. consumeDeclarationProblem(); break; } // - // Rule 222: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 222: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 222: { action. consumeDeclarationSimple(true); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 223: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 223: { action. consumeDeclarationSpecifiersSimple(); break; + case 223: { action. consumeDeclarationSimple(true); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 224: { action. consumeDeclarationSpecifiersComposite(); break; + case 224: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 226: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 226: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 226: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 227: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 227: { action. consumeDeclarationSpecifiersTypeName(); break; + case 227: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 229: declaration_specifiers_opt ::= $Empty + // Rule 228: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 229: { action. consumeEmpty(); break; + case 228: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 233: no_type_declaration_specifier ::= friend + // Rule 230: declaration_specifiers_opt ::= $Empty // - case 233: { action. consumeToken(); break; + case 230: { action. consumeEmpty(); break; } // - // Rule 234: no_type_declaration_specifier ::= typedef + // Rule 234: no_type_declaration_specifier ::= friend // case 234: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= auto + // Rule 235: no_type_declaration_specifier ::= typedef // - case 254: { action. consumeToken(); break; + case 235: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= register + // Rule 255: storage_class_specifier ::= auto // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= static + // Rule 256: storage_class_specifier ::= register // case 256: { action. consumeToken(); break; } // - // Rule 257: storage_class_specifier ::= extern + // Rule 257: storage_class_specifier ::= static // case 257: { action. consumeToken(); break; } // - // Rule 258: storage_class_specifier ::= mutable + // Rule 258: storage_class_specifier ::= extern // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= inline + // Rule 259: storage_class_specifier ::= mutable // case 259: { action. consumeToken(); break; } // - // Rule 260: function_specifier ::= virtual + // Rule 260: function_specifier ::= inline // case 260: { action. consumeToken(); break; } // - // Rule 261: function_specifier ::= explicit + // Rule 261: function_specifier ::= virtual // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= char + // Rule 262: function_specifier ::= explicit // case 262: { action. consumeToken(); break; } // - // Rule 263: simple_type_specifier ::= wchar_t + // Rule 263: simple_type_specifier ::= simple_type_specifier_token // case 263: { action. consumeToken(); break; } // - // Rule 264: simple_type_specifier ::= bool + // Rule 277: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 264: { action. consumeToken(); break; - } - - // - // Rule 265: simple_type_specifier ::= short - // - case 265: { action. consumeToken(); break; - } - - // - // Rule 266: simple_type_specifier ::= int - // - case 266: { action. consumeToken(); break; - } - - // - // Rule 267: simple_type_specifier ::= long - // - case 267: { action. consumeToken(); break; - } - - // - // Rule 268: simple_type_specifier ::= signed - // - case 268: { action. consumeToken(); break; - } - - // - // Rule 269: simple_type_specifier ::= unsigned - // - case 269: { action. consumeToken(); break; - } - - // - // Rule 270: simple_type_specifier ::= float - // - case 270: { action. consumeToken(); break; - } - - // - // Rule 271: simple_type_specifier ::= double - // - case 271: { action. consumeToken(); break; + case 277: { action. consumeQualifiedId(false); break; } // - // Rule 272: simple_type_specifier ::= void + // Rule 278: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 272: { action. consumeToken(); break; + case 278: { action. consumeQualifiedId(false); break; } // - // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 279: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 275: { action. consumeQualifiedId(false); break; + case 279: { action. consumeQualifiedId(false); break; } // - // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 280: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 276: { action. consumeQualifiedId(false); break; + case 280: { action. consumeQualifiedId(true); break; } // - // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 282: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 277: { action. consumeQualifiedId(false); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 283: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 278: { action. consumeQualifiedId(true); break; + case 283: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 284: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 280: { action. consumeTypeSpecifierElaborated(false); break; + case 284: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 288: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 281: { action. consumeTypeSpecifierElaborated(true); break; + case 288: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 289: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 282: { action. consumeTypeSpecifierElaborated(false); break; + case 289: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 284: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } + // Rule 295: enumerator_definition ::= identifier_token // - case 284: { action. consumeTypeSpecifierEnumeration(false); break; + case 295: { action. consumeEnumerator(false); break; } // - // Rule 285: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } + // Rule 296: enumerator_definition ::= identifier_token = constant_expression // - case 285: { action. consumeTypeSpecifierEnumeration(true); break; + case 296: { action. consumeEnumerator(true); break; } // - // Rule 291: enumerator_definition ::= identifier_token + // Rule 298: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 291: { action. consumeEnumerator(false); break; + case 298: { action. consumeNamespaceDefinition(true); break; } // - // Rule 292: enumerator_definition ::= identifier_token = constant_expression + // Rule 299: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 292: { action. consumeEnumerator(true); break; + case 299: { action. consumeNamespaceDefinition(false); break; } // - // Rule 294: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 301: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 294: { action. consumeNamespaceDefinition(true); break; + case 301: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 295: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 302: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 295: { action. consumeNamespaceDefinition(false); break; + case 302: { action. consumeUsingDeclaration(); break; } // - // Rule 297: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 303: typename_opt ::= typename // - case 297: { action. consumeNamespaceAliasDefinition(); break; + case 303: { action. consumePlaceHolder(); break; } // - // Rule 298: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 304: typename_opt ::= $Empty // - case 298: { action. consumeUsingDeclaration(); break; + case 304: { action. consumeEmpty(); break; } // - // Rule 299: typename_opt ::= typename + // Rule 305: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 299: { action. consumePlaceHolder(); break; + case 305: { action. consumeUsingDirective(); break; } // - // Rule 300: typename_opt ::= $Empty + // Rule 306: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 300: { action. consumeEmpty(); break; + case 306: { action. consumeLinkageSpecification(); break; } // - // Rule 301: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 307: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 301: { action. consumeUsingDirective(); break; + case 307: { action. consumeLinkageSpecification(); break; } // - // Rule 302: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 312: init_declarator_complete ::= init_declarator // - case 302: { action. consumeLinkageSpecification(); break; + case 312: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 303: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 314: init_declarator ::= complete_declarator initializer // - case 303: { action. consumeLinkageSpecification(); break; + case 314: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 308: init_declarator_complete ::= init_declarator + // Rule 317: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 308: { action. consumeInitDeclaratorComplete(); break; + case 317: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 310: init_declarator ::= complete_declarator initializer + // Rule 319: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 310: { action. consumeDeclaratorWithInitializer(true); break; + case 319: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 313: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 323: basic_direct_declarator ::= declarator_id_name // - case 313: { action. consumeDeclaratorWithPointer(true); break; + case 323: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 315: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 324: basic_direct_declarator ::= ( declarator ) // - case 315: { action. consumeDeclaratorWithPointer(true); break; + case 324: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 319: basic_direct_declarator ::= declarator_id_name + // Rule 325: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 319: { action. consumeDirectDeclaratorIdentifier(); break; + case 325: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 320: basic_direct_declarator ::= ( declarator ) + // Rule 326: array_direct_declarator ::= array_direct_declarator array_modifier // - case 320: { action. consumeDirectDeclaratorBracketed(); break; + case 326: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 321: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 327: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 321: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 327: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 322: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 328: array_modifier ::= [ constant_expression ] // - case 322: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 328: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 323: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 329: array_modifier ::= [ ] // - case 323: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 329: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 324: array_modifier ::= [ constant_expression ] + // Rule 330: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 324: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 330: { action. consumePointer(); break; } // - // Rule 325: array_modifier ::= [ ] + // Rule 331: ptr_operator ::= pointer_hook & pointer_hook // - case 325: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 331: { action. consumeReferenceOperator(); break; } // - // Rule 326: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 332: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 326: { action. consumePointer(); break; + case 332: { action. consumePointerToMember(); break; } // - // Rule 327: ptr_operator ::= pointer_hook & pointer_hook + // Rule 339: cv_qualifier ::= const // - case 327: { action. consumeReferenceOperator(); break; + case 339: { action. consumeToken(); break; } // - // Rule 328: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 340: cv_qualifier ::= volatile // - case 328: { action. consumePointerToMember(); break; + case 340: { action. consumeToken(); break; } // - // Rule 335: cv_qualifier ::= const + // Rule 342: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 335: { action. consumeToken(); break; + case 342: { action. consumeQualifiedId(false); break; } // - // Rule 336: cv_qualifier ::= volatile + // Rule 343: type_id ::= type_specifier_seq // - case 336: { action. consumeToken(); break; + case 343: { action. consumeTypeId(false); break; } // - // Rule 338: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 344: type_id ::= type_specifier_seq abstract_declarator // - case 338: { action. consumeQualifiedId(false); break; + case 344: { action. consumeTypeId(true); break; } // - // Rule 339: type_id ::= type_specifier_seq + // Rule 347: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 339: { action. consumeTypeId(false); break; + case 347: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 340: type_id ::= type_specifier_seq abstract_declarator + // Rule 348: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 340: { action. consumeTypeId(true); break; + case 348: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 343: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 352: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 343: { action. consumeDeclaratorWithPointer(false); break; + case 352: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 344: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 353: basic_direct_abstract_declarator ::= ( ) // - case 344: { action. consumeDeclaratorWithPointer(true); break; + case 353: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 348: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 354: array_direct_abstract_declarator ::= array_modifier // - case 348: { action. consumeDirectDeclaratorBracketed(); break; + case 354: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 349: basic_direct_abstract_declarator ::= ( ) + // Rule 355: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 349: { action. consumeAbstractDeclaratorEmpty(); break; + case 355: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 350: array_direct_abstract_declarator ::= array_modifier + // Rule 356: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 350: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 356: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 351: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 357: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 351: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 357: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 352: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 358: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 352: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 358: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 353: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 353: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 359: { action. consumePlaceHolder(); break; } // - // Rule 354: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 360: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 354: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 360: { action. consumeEmpty(); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 361: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 355: { action. consumePlaceHolder(); break; + case 361: { action. consumePlaceHolder(); break; } // - // Rule 356: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 367: abstract_declarator_opt ::= $Empty // - case 356: { action. consumeEmpty(); break; + case 367: { action. consumeEmpty(); break; } // - // Rule 357: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 368: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 357: { action. consumePlaceHolder(); break; + case 368: { action. consumeParameterDeclaration(); break; } // - // Rule 363: abstract_declarator_opt ::= $Empty + // Rule 369: parameter_declaration ::= declaration_specifiers // - case 363: { action. consumeEmpty(); break; + case 369: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 364: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 371: parameter_init_declarator ::= declarator = parameter_initializer // - case 364: { action. consumeParameterDeclaration(); break; + case 371: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 365: parameter_declaration ::= declaration_specifiers + // Rule 373: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 365: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 373: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 367: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 374: parameter_init_declarator ::= = parameter_initializer // - case 367: { action. consumeDeclaratorWithInitializer(true); break; + case 374: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 369: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 375: parameter_initializer ::= assignment_expression // - case 369: { action. consumeDeclaratorWithInitializer(true); break; + case 375: { action. consumeInitializer(); break; } // - // Rule 370: parameter_init_declarator ::= = parameter_initializer + // Rule 376: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 370: { action. consumeDeclaratorWithInitializer(false); break; + case 376: { action. consumeFunctionDefinition(false); break; } // - // Rule 371: parameter_initializer ::= assignment_expression + // Rule 377: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 371: { action. consumeInitializer(); break; + case 377: { action. consumeFunctionDefinition(true); break; } // - // Rule 372: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 380: initializer ::= ( expression_list ) // - case 372: { action. consumeFunctionDefinition(false); break; + case 380: { action. consumeInitializerConstructor(); break; } // - // Rule 373: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 381: initializer_clause ::= assignment_expression // - case 373: { action. consumeFunctionDefinition(true); break; + case 381: { action. consumeInitializer(); break; } // - // Rule 376: initializer ::= ( expression_list ) + // Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // - case 376: { action. consumeInitializerConstructor(); break; + case 383: { action. consumeInitializerList(); break; } // - // Rule 377: initializer_clause ::= assignment_expression + // Rule 384: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // - case 377: { action. consumeInitializer(); break; + case 384: { action. consumeInitializerList(); break; } // - // Rule 379: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 385: initializer_list ::= { <openscope-ast> } // - case 379: { action. consumeInitializerList(); break; + case 385: { action. consumeInitializerList(); break; } // - // Rule 380: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 386: start_initializer_list ::= $Empty // - case 380: { action. consumeInitializerList(); break; + case 386: { action. initializerListStart(); break; } // - // Rule 381: initializer_list ::= { <openscope-ast> } + // Rule 387: end_initializer_list ::= $Empty // - case 381: { action. consumeInitializerList(); break; + case 387: { action. initializerListEnd(); break; } // - // Rule 382: start_initializer_list ::= $Empty + // Rule 392: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 382: { action. initializerListStart(); break; + case 392: { action. consumeClassSpecifier(); break; } // - // Rule 383: end_initializer_list ::= $Empty + // Rule 393: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // - case 383: { action. initializerListEnd(); break; + case 393: { action. consumeClassHead(false); break; } // - // Rule 388: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 394: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 388: { action. consumeClassSpecifier(); break; + case 394: { action. consumeClassHead(false); break; } // - // Rule 389: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 395: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 389: { action. consumeClassHead(false); break; + case 395: { action. consumeClassHead(true); break; } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 396: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 390: { action. consumeClassHead(false); break; + case 396: { action. consumeClassHead(true); break; } // - // Rule 391: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 400: identifier_name_opt ::= $Empty // - case 391: { action. consumeClassHead(true); break; - } + case 400: { action. consumeEmpty(); break; + } // - // Rule 392: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 404: visibility_label ::= access_specifier_keyword : // - case 392: { action. consumeClassHead(true); break; + case 404: { action. consumeVisibilityLabel(); break; } // - // Rule 396: identifier_name_opt ::= $Empty - // - case 396: { action. consumeEmpty(); break; - } - - // - // Rule 400: visibility_label ::= access_specifier_keyword : + // Rule 405: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 400: { action. consumeVisibilityLabel(); break; + case 405: { action. consumeDeclarationSimple(true); break; } // - // Rule 401: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 406: member_declaration ::= declaration_specifiers_opt ; // - case 401: { action. consumeDeclarationSimple(true); break; + case 406: { action. consumeDeclarationSimple(false); break; } // - // Rule 402: member_declaration ::= declaration_specifiers_opt ; + // Rule 409: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 402: { action. consumeDeclarationSimple(false); break; + case 409: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 405: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 415: member_declaration ::= ERROR_TOKEN // - case 405: { action. consumeMemberDeclarationQualifiedId(); break; + case 415: { action. consumeDeclarationProblem(); break; } // - // Rule 411: member_declaration ::= ERROR_TOKEN + // Rule 424: member_declarator ::= declarator constant_initializer // - case 411: { action. consumeDeclarationProblem(); break; + case 424: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 420: member_declarator ::= declarator constant_initializer + // Rule 425: member_declarator ::= bit_field_declarator : constant_expression // - case 420: { action. consumeMemberDeclaratorWithInitializer(); break; + case 425: { action. consumeBitField(true); break; } // - // Rule 421: member_declarator ::= bit_field_declarator : constant_expression + // Rule 426: member_declarator ::= : constant_expression // - case 421: { action. consumeBitField(true); break; + case 426: { action. consumeBitField(false); break; } // - // Rule 422: member_declarator ::= : constant_expression + // Rule 427: bit_field_declarator ::= identifier_name // - case 422: { action. consumeBitField(false); break; + case 427: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 423: bit_field_declarator ::= identifier_name + // Rule 428: constant_initializer ::= = constant_expression // - case 423: { action. consumeDirectDeclaratorIdentifier(); break; + case 428: { action. consumeInitializer(); break; } // - // Rule 424: constant_initializer ::= = constant_expression + // Rule 434: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 424: { action. consumeInitializer(); break; + case 434: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 430: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 430: { action. consumeBaseSpecifier(false, false); break; + case 435: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 431: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 436: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 431: { action. consumeBaseSpecifier(true, true); break; + case 436: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 432: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 437: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 432: { action. consumeBaseSpecifier(true, true); break; + case 437: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 433: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 438: access_specifier_keyword ::= private // - case 433: { action. consumeBaseSpecifier(true, false); break; + case 438: { action. consumeToken(); break; } // - // Rule 434: access_specifier_keyword ::= private + // Rule 439: access_specifier_keyword ::= protected // - case 434: { action. consumeToken(); break; + case 439: { action. consumeToken(); break; } // - // Rule 435: access_specifier_keyword ::= protected + // Rule 440: access_specifier_keyword ::= public // - case 435: { action. consumeToken(); break; + case 440: { action. consumeToken(); break; } // - // Rule 436: access_specifier_keyword ::= public + // Rule 442: access_specifier_keyword_opt ::= $Empty // - case 436: { action. consumeToken(); break; + case 442: { action. consumeEmpty(); break; } // - // Rule 438: access_specifier_keyword_opt ::= $Empty + // Rule 444: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 438: { action. consumeEmpty(); break; + case 444: { action. consumeTemplateId(); break; } // - // Rule 440: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 445: conversion_function_id ::= operator conversion_type_id // - case 440: { action. consumeTemplateId(); break; + case 445: { action. consumeConversionName(); break; } // - // Rule 441: conversion_function_id ::= operator conversion_type_id + // Rule 446: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 441: { action. consumeConversionName(); break; + case 446: { action. consumeTypeId(true); break; } // - // Rule 442: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 447: conversion_type_id ::= type_specifier_seq // - case 442: { action. consumeTypeId(true); break; + case 447: { action. consumeTypeId(false); break; } // - // Rule 443: conversion_type_id ::= type_specifier_seq + // Rule 448: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 443: { action. consumeTypeId(false); break; + case 448: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 444: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 454: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 444: { action. consumeDeclaratorWithPointer(false); break; + case 454: { action. consumeConstructorChainInitializer(); break; } // - // Rule 450: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 455: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 450: { action. consumeConstructorChainInitializer(); break; + case 455: { action. consumeQualifiedId(false); break; } // - // Rule 451: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 458: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 451: { action. consumeQualifiedId(false); break; + case 458: { action. consumeTemplateId(); break; } // - // Rule 454: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 459: operator_id_name ::= operator overloadable_operator // - case 454: { action. consumeTemplateId(); break; + case 459: { action. consumeOperatorName(); break; } // - // Rule 455: operator_id_name ::= operator overloadable_operator + // Rule 502: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 455: { action. consumeOperatorName(); break; + case 502: { action. consumeTemplateDeclaration(); break; } // - // Rule 498: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 503: export_opt ::= export // - case 498: { action. consumeTemplateDeclaration(); break; + case 503: { action. consumePlaceHolder(); break; } // - // Rule 499: export_opt ::= export + // Rule 504: export_opt ::= $Empty // - case 499: { action. consumePlaceHolder(); break; + case 504: { action. consumeEmpty(); break; } // - // Rule 500: export_opt ::= $Empty + // Rule 508: template_parameter ::= parameter_declaration // - case 500: { action. consumeEmpty(); break; + case 508: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 504: template_parameter ::= parameter_declaration + // Rule 509: type_parameter ::= class identifier_name_opt // - case 504: { action. consumeTemplateParamterDeclaration(); break; + case 509: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 505: type_parameter ::= class identifier_name_opt + // Rule 510: type_parameter ::= class identifier_name_opt = type_id // - case 505: { action. consumeSimpleTypeTemplateParameter(false); break; + case 510: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 506: type_parameter ::= class identifier_name_opt = type_id + // Rule 511: type_parameter ::= typename identifier_name_opt // - case 506: { action. consumeSimpleTypeTemplateParameter(true); break; + case 511: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 507: type_parameter ::= typename identifier_name_opt + // Rule 512: type_parameter ::= typename identifier_name_opt = type_id // - case 507: { action. consumeSimpleTypeTemplateParameter(false); break; + case 512: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 508: type_parameter ::= typename identifier_name_opt = type_id + // Rule 513: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 508: { action. consumeSimpleTypeTemplateParameter(true); break; + case 513: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 509: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 514: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 509: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 514: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 510: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 515: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 510: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 515: { action. consumeTemplateId(); break; } // - // Rule 511: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 520: template_argument ::= assignment_expression // - case 511: { action. consumeTemplateId(); break; + case 520: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 516: template_argument ::= assignment_expression + // Rule 521: template_argument ::= type_id // - case 516: { action. consumeTemplateArgumentExpression(); break; + case 521: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 517: template_argument ::= type_id + // Rule 522: explicit_instantiation ::= template declaration // - case 517: { action. consumeTemplateArgumentTypeId(); break; + case 522: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 518: explicit_instantiation ::= template declaration + // Rule 523: explicit_specialization ::= template < > declaration // - case 518: { action. consumeTemplateExplicitInstantiation(); break; + case 523: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 519: explicit_specialization ::= template < > declaration + // Rule 524: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 519: { action. consumeTemplateExplicitSpecialization(); break; + case 524: { action. consumeStatementTryBlock(true); break; } // - // Rule 520: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 525: try_block ::= try compound_statement // - case 520: { action. consumeStatementTryBlock(); break; + case 525: { action. consumeStatementTryBlock(false); break; } // - // Rule 523: handler ::= catch ( exception_declaration ) compound_statement + // Rule 528: handler ::= catch ( exception_declaration ) compound_statement // - case 523: { action. consumeStatementCatchHandler(false); break; + case 528: { action. consumeStatementCatchHandler(false); break; } // - // Rule 524: handler ::= catch ( ... ) compound_statement + // Rule 529: handler ::= catch ( ... ) compound_statement // - case 524: { action. consumeStatementCatchHandler(true); break; + case 529: { action. consumeStatementCatchHandler(true); break; } // - // Rule 525: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 530: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 525: { action. consumeDeclarationSimple(true); break; + case 530: { action. consumeDeclarationSimple(true); break; } // - // Rule 526: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 531: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 526: { action. consumeDeclarationSimple(true); break; + case 531: { action. consumeDeclarationSimple(true); break; } // - // Rule 527: exception_declaration ::= type_specifier_seq + // Rule 532: exception_declaration ::= type_specifier_seq // - case 527: { action. consumeDeclarationSimple(false); break; + case 532: { action. consumeDeclarationSimple(false); break; } // - // Rule 529: exception_specification ::= throw ( ) + // Rule 534: exception_specification ::= throw ( ) // - case 529: { action. consumePlaceHolder(); break; + case 534: { action. consumePlaceHolder(); break; } // - // Rule 550: attribute_parameter ::= assignment_expression + // Rule 555: attribute_parameter ::= assignment_expression // - case 550: { action. consumeIgnore(); break; + case 555: { action. consumeIgnore(); break; } // - // Rule 561: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 566: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 561: { gnuAction.consumeDeclarationASM(); break; + case 566: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 572: unary_expression ::= __alignof__ unary_expression + // Rule 577: unary_expression ::= __alignof__ unary_expression // - case 572: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 577: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 573: unary_expression ::= __alignof__ ( type_id ) + // Rule 578: unary_expression ::= __alignof__ ( type_id ) // - case 573: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; + case 578: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_alignof); break; } // - // Rule 574: unary_expression ::= typeof unary_expression + // Rule 579: unary_expression ::= typeof unary_expression // - case 574: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 579: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 575: unary_expression ::= typeof ( type_id ) + // Rule 580: unary_expression ::= typeof ( type_id ) // - case 575: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 580: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 576: relational_expression ::= relational_expression >? shift_expression + // Rule 581: relational_expression ::= relational_expression >? shift_expression // - case 576: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; + case 581: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; } // - // Rule 577: relational_expression ::= relational_expression <? shift_expression + // Rule 582: relational_expression ::= relational_expression <? shift_expression // - case 577: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; + case 582: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; } // - // Rule 578: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression + // Rule 583: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression // - case 578: { action. consumeExpressionConditional(); break; + case 583: { action. consumeExpressionConditional(); break; } // - // Rule 579: primary_expression ::= ( compound_statement ) + // Rule 584: primary_expression ::= ( compound_statement ) // - case 579: { gnuAction.consumeCompoundStatementExpression(); break; + case 584: { gnuAction.consumeCompoundStatementExpression(); break; } // - // Rule 580: labeled_statement ::= case case_range_expression : statement + // Rule 585: labeled_statement ::= case case_range_expression : statement // - case 580: { action. consumeStatementCase(); break; + case 585: { action. consumeStatementCase(); break; } // - // Rule 581: case_range_expression ::= constant_expression ... constant_expression + // Rule 586: case_range_expression ::= constant_expression ... constant_expression // - case 581: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 586: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 585: typeof_type_specifier ::= typeof unary_expression + // Rule 590: typeof_type_specifier ::= typeof unary_expression // - case 585: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 590: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 586: typeof_type_specifier ::= typeof ( type_id ) + // Rule 591: typeof_type_specifier ::= typeof ( type_id ) // - case 586: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 591: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 587: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // Rule 592: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 587: { action. consumeDeclarationSpecifiersTypeof(); break; + case 592: { action. consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 600: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator + // Rule 605: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator // - case 600: { action. consumeDeclaratorWithPointer(true); break; + case 605: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 603: simple_type_specifier ::= _Complex + // Rule 608: simple_type_specifier ::= _Complex // - case 603: { action. consumeToken(); break; + case 608: { action. consumeToken(); break; } // - // Rule 604: simple_type_specifier ::= _Imaginary + // Rule 609: simple_type_specifier ::= _Imaginary // - case 604: { action. consumeToken(); break; + case 609: { action. consumeToken(); break; } // - // Rule 605: cv_qualifier ::= restrict + // Rule 610: cv_qualifier ::= restrict // - case 605: { action. consumeToken(); break; + case 610: { action. consumeToken(); break; } // - // Rule 606: explicit_instantiation ::= extern template declaration + // Rule 611: explicit_instantiation ::= extern template declaration // - case 606: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break; + case 611: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break; } // - // Rule 607: explicit_instantiation ::= static template declaration + // Rule 612: explicit_instantiation ::= static template declaration // - case 607: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break; + case 612: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break; } // - // Rule 608: explicit_instantiation ::= inline template declaration + // Rule 613: explicit_instantiation ::= inline template declaration // - case 608: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break; + case 613: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break; } // - // Rule 609: postfix_expression ::= ( type_id ) initializer_list + // Rule 614: postfix_expression ::= ( type_id ) initializer_list // - case 609: { action. consumeExpressionTypeIdInitializer(); break; + case 614: { action. consumeExpressionTypeIdInitializer(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java index 42c2c191af8..5c9356bd162 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParserprs.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -57,619 +57,630 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 0,1,0,1,1,0,1,1,1,1, 1,1,1,1,1,3,4,3,2,1, 4,2,1,2,5,7,5,1,4,1, - 0,5,7,8,1,1,2,2,3,2, - 3,1,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,1,0,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, + 0,5,7,2,8,1,1,2,2,3, + 2,3,1,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,1,0, + 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,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3,4,4,5,2,5, - 6,5,0,6,7,0,1,3,1,0, - 1,3,1,7,6,0,7,6,1,0, - 6,6,4,1,3,1,0,1,1,2, - 1,1,3,1,3,1,1,1,1,3, - 9,2,2,3,2,5,3,7,0,1, - 2,2,1,0,1,1,1,3,1,2, - 1,1,2,3,1,1,1,3,2,1, - 2,2,9,8,2,1,3,1,3,1, - 0,1,0,2,1,1,3,1,3,2, - 1,5,8,1,2,3,1,1,7,6, - 3,0,0,1,3,1,1,5,6,6, - 7,7,0,0,1,0,1,1,1,2, - 4,2,2,1,5,1,1,1,1,1, - 1,1,2,1,0,1,3,1,1,2, - 3,2,1,2,2,1,0,1,3,3, - 5,5,4,1,1,1,1,0,1,5, - 2,2,1,2,2,1,0,1,3,4, - 3,1,1,5,2,1,1,3,3,1, + 1,1,1,1,1,1,3,4,4,5, + 2,5,6,5,0,1,0,7,8,0, + 1,3,1,0,1,3,1,7,6,0, + 7,6,1,0,6,6,4,1,3,1, + 0,1,1,2,1,1,3,1,3,1, + 1,1,1,3,9,2,2,3,2,5, + 3,7,0,1,2,2,1,0,1,1, + 1,3,1,2,1,1,2,3,1,1, + 1,3,2,1,2,2,9,8,2,1, + 3,1,3,1,0,1,0,2,1,1, + 3,1,3,2,1,5,8,1,2,3, + 1,1,7,6,3,0,0,1,3,1, + 1,5,6,6,7,7,0,0,1,0, + 1,1,1,2,4,2,2,1,5,1, + 1,1,1,1,1,1,2,1,0,1, + 3,1,1,2,3,2,1,2,2,1, + 0,1,3,3,5,5,4,1,1,1, + 1,0,1,5,2,2,1,2,2,1, + 0,1,3,4,3,1,1,5,2,1, + 1,3,3,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,2,2,7,1,0, - 1,3,1,1,2,4,2,4,7,9, - 5,1,3,1,0,1,1,2,4,4, - 1,2,5,5,3,3,1,4,3,1, - 0,1,3,1,1,1,1,2,6,3, - 1,3,1,4,0,1,1,1,3,1, - 0,4,3,1,2,1,3,4,4,4, - 6,1,0,1,3,1,3,0,1,4, - 5,2,4,2,4,3,3,5,3,4, - 3,1,2,2,2,4,2,1,1,2, - 2,3,2,2,3,1,1,1,1,4, - 1,1,1,1,1,3,3,3,4,-162, - 0,0,0,-2,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-7,0,0,0,0,0,0,-14,0, - 0,0,0,0,0,0,0,-8,0,-9, - 0,0,0,-65,0,0,0,-273,0,0, - 0,-96,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -22,-176,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-4,0,-11,0,0, - 0,0,0,0,0,-16,0,-405,0,0, - 0,-468,-3,0,-342,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-95,0,0,0,0,-18,0, - 0,-19,-170,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-20,0,0,0, - 0,0,0,-145,0,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, + 1,1,1,1,1,1,1,1,1,2, + 2,7,1,0,1,3,1,1,2,4, + 2,4,7,9,5,1,3,1,0,1, + 1,2,4,4,2,1,2,5,5,3, + 3,1,4,3,1,0,1,3,1,1, + 1,1,2,6,3,1,3,1,4,0, + 1,1,1,3,1,0,4,3,1,2, + 1,3,4,4,4,6,1,0,1,3, + 1,3,0,1,4,5,2,4,2,4, + 3,3,5,3,4,3,1,2,2,2, + 4,2,1,1,2,2,3,2,2,3, + 1,1,1,1,4,1,1,1,1,1, + 3,3,3,4,-162,0,0,0,-2,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-210,0,0, + 0,0,0,0,-7,0,0,0,0,-3, + 0,0,0,-311,0,-148,0,0,0,-34, + -8,0,0,0,-622,0,0,0,0,0, + 0,0,0,0,0,0,0,-69,0,0, + 0,-345,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-383,0,0,0,0,0, + 0,-9,0,0,0,0,-529,0,0,0, + -11,0,-41,0,0,0,0,0,0,0, + 0,0,0,0,-226,0,0,0,-137,0, + 0,0,0,0,0,0,0,-146,0,0, + -37,0,0,0,0,0,0,0,0,0, + 0,-435,0,-16,0,0,0,0,-127,0, + 0,0,0,0,0,0,0,0,0,-145, + 0,0,0,0,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,-14, + 0,0,0,0,0,0,0,0,0,0, + -61,0,0,-18,0,0,0,0,0,-596, + 0,0,0,0,-176,0,0,0,0,0, + -19,0,-189,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,-138,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-20,0,0,-22,-323,0,0, 0,0,0,0,0,0,0,-28,0,0, - 0,0,0,0,0,0,-227,0,0,0, - 0,0,-37,0,0,0,-38,-98,0,0, - 0,0,0,0,0,-39,-189,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,-408,0, + 0,0,-182,0,0,0,0,-190,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,-160,0,0,0, - 0,-252,0,0,0,-128,0,0,0,-58, - -99,0,0,0,0,0,0,0,-626,0, + 0,-487,0,0,-23,0,0,0,0,0, + 0,0,-38,0,0,0,0,0,0,0, + 0,-224,0,0,0,0,0,-39,0,0, + 0,0,0,-15,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,0,0,0,-203,0,0,0,0, - 0,-190,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-54,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-41,0,0,0,0,0, - -15,0,0,0,0,0,0,0,0,0, - 0,-250,0,0,0,0,-42,0,0,0, - -30,0,0,0,-173,0,0,0,0,0, - 0,-111,0,0,-361,0,0,0,0,0, + 0,-50,0,0,-4,0,-251,0,0,0, + 0,0,0,0,0,-63,0,0,0,0, + 0,0,0,0,0,0,0,-128,0,0, + 0,-305,-111,0,0,0,0,0,-101,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,0,-311,0,0, - -101,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-61,0,0,-44,0,0, - 0,0,0,-194,0,0,0,-45,0,0, - 0,0,0,0,0,0,-383,0,-217,0, + 0,0,0,0,0,0,-42,-58,0,0, + 0,0,0,-66,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-362,-96,-51, + 0,0,-64,-590,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-48,-154,0,-54,-500,0,0, 0,0,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,-118,0,0, + 0,0,-347,0,0,0,-44,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-201,-64,-588,0,0, - 0,-256,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-203,-29,0,0, + 0,0,0,0,0,0,0,-499,0,0, + 0,-45,0,0,-147,0,0,0,0,0, + -445,0,-183,0,0,0,-48,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-202,0,0,-60,0,0,0, - 0,0,0,0,0,0,0,-71,0,0, - 0,0,0,0,0,-360,0,0,0,-72, + 0,0,0,0,0,0,-70,0,0,0, + 0,0,0,0,0,0,0,-543,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-586,0,0, - 0,0,0,0,-63,0,0,0,0,0, - 0,0,0,-110,0,0,0,0,0,0, - 0,0,0,-183,0,0,0,0,0,0, + 0,-409,0,0,0,0,-53,-36,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-137,0,0,0, - 0,0,-66,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-444,0,0, - 0,-271,-67,-313,0,0,0,0,0,0, + 0,-313,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,0,-132, - 0,0,-522,0,0,0,0,-68,0,0, - 0,0,0,-51,0,0,-210,0,0,0, - 0,-177,-416,0,0,0,-305,0,0,0, + 0,0,0,0,-71,0,-91,0,0,0, + 0,0,0,0,0,0,-557,0,0,0, + -67,0,0,0,0,-308,0,0,0,0, + 0,0,0,0,0,0,-65,0,-169,0, + -72,0,0,0,0,0,0,0,-273,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-94,0,0,0, - 0,0,0,0,0,-403,0,0,0,0, - -504,0,0,0,-86,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-409,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-86,0, + 0,0,0,-370,0,0,0,0,0,-87, + 0,0,-303,0,0,0,0,-416,0,0, + 0,-324,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-87,0,-192,0,0,-274,0, + -250,0,-25,-601,0,0,0,0,0,0, + 0,0,-68,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-505,0,0,0,0,0,0,0,0, + -405,0,0,0,-171,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-127,0,0,-498,0,0,0, - 0,0,0,0,0,-568,0,0,0,-125, - 0,-88,0,0,-408,0,0,0,0,0, - -320,0,0,-511,0,0,0,0,0,0, + -505,0,0,0,-88,0,0,0,0,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,-50,0,0, - 0,0,0,-91,0,0,-387,0,0,0, - 0,-178,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-271,-98,0,0,0, + -414,0,0,0,0,0,0,0,0,0, + 0,-201,0,0,0,0,0,0,0,-274, + 0,0,0,-89,0,0,0,0,0,0, + 0,0,-506,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-164,-89,0,-370,0,0,0, + 0,0,0,0,0,0,-90,0,-422,-92, 0,0,0,0,0,0,0,0,0,0, - 0,-112,0,0,-90,0,-239,0,0,0, + 0,0,0,0,0,0,0,0,-155,0, + 0,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,0,0,0,-527, - 0,0,0,0,0,-541,0,0,0,0, - -193,0,0,0,0,0,0,0,0,0, - -92,0,0,0,-486,0,0,0,0,-348, - 0,0,0,-93,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-469,0, 0,0,0,0,0,0,0,0,0,0, - 0,-40,0,0,0,0,0,0,-126,0, - 0,0,0,0,0,0,0,0,0,-102, - 0,0,-204,0,-129,0,0,-349,0,0, - 0,-106,0,0,0,0,0,0,0,0, + 0,0,0,-172,0,0,-99,0,-125,0, + 0,-126,-178,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-108,0,0,0,0,0,0,0, - 0,-109,0,0,0,0,0,0,0,0, - -146,0,0,0,0,-350,0,0,0,0, + 0,0,0,0,0,-110,0,0,0,0, + 0,0,-442,0,0,0,0,0,0,0, + 0,0,0,-93,0,0,-102,-239,0,0, + 0,-154,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-118,0, - -212,0,0,0,0,0,0,0,0,-119, - 0,0,0,0,0,-120,0,0,-206,0, - -133,0,0,-351,0,0,0,0,0,0, + -107,0,0,-94,-320,0,0,0,0,0, + 0,0,-523,0,0,0,0,0,-108,0, + 0,-192,0,0,0,0,-565,0,-202,0, + 0,0,-177,-348,0,0,0,-57,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-155,0,-123,0, - 0,0,0,0,0,0,0,-124,0,0, - 0,0,0,-113,0,0,-224,0,0,0, - 0,-352,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-147,0,0,0,-114,0,0, - -521,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-115,-174,-135,0,0,-353, 0,0,0,0,0,0,0,0,0,0, + 0,0,-106,0,0,0,0,-227,0,0, + 0,0,-349,0,0,0,-113,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-116,-157,0,-143,0,0,0,0,0, - 0,0,0,-199,0,0,0,0,0,-182, - 0,0,-376,0,0,0,0,-354,0,0, + 0,0,0,0,0,-242,0,0,0,-204, + 0,0,0,0,0,0,0,-114,0,0, + 0,0,0,0,0,0,-206,0,0,0, + 0,-350,0,0,0,0,0,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,-565,0,0,0, + 0,0,0,0,-115,0,-262,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -130,-142,-131,0,0,-355,0,0,0,-134, + -306,0,0,0,0,-403,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,0,0,0,0,-140,-158,-262, + 0,0,0,-112,0,-304,0,0,0,0, + -116,0,0,0,0,-109,0,0,0,0, + 0,0,0,0,-130,0,-131,0,0,-352, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-566,0,-221,0,0,0,0, - -59,0,0,-356,0,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,0,-223,0,0, - 0,0,0,-249,0,0,-156,-216,-57,0, - 0,-357,0,0,0,-205,0,0,0,0, + 0,0,-322,0,0,0,0,0,0,0, + 0,0,0,0,-160,0,0,0,0,0, + -119,0,0,0,0,-129,0,0,-353,0, + 0,0,-411,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-208,-159,-308,0,0,0,0, - -213,0,0,0,0,-225,0,0,0,0, - 0,-278,0,0,-215,-228,-229,0,0,-358, + 0,-402,0,0,0,0,0,0,-134,0, + 0,0,0,-120,0,0,0,0,0,-123, + 0,0,0,0,-193,0,0,-354,0,0, + 0,-249,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -421,-387,0,0,0,0,0,-212,0,0, + 0,0,-124,0,0,0,0,0,-140,0, + 0,0,-142,0,0,0,-355,0,0,0, + -156,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-488, + 0,0,0,0,0,0,-205,0,0,0, + 0,0,0,0,0,0,0,-143,0,0, + -135,0,0,0,0,-356,0,0,0,-256, 0,0,0,0,0,0,0,0,0,0, - 0,-422,-304,0,0,0,0,0,-306,0, - 0,0,0,0,0,0,0,-555,0,-257, - 0,0,0,0,-207,0,0,-374,0,0, - 0,-552,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-70, - 0,0,0,0,0,0,-230,0,0,0, + 0,0,0,0,0,0,0,0,-588,0, + 0,-199,0,0,0,0,0,0,0,0, + -221,0,0,0,0,0,-223,0,0,-376, + 0,0,0,0,-357,0,0,0,-208,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,-497,0, + 0,0,0,0,-213,0,0,0,0,-225, + 0,0,0,0,0,0,0,0,-215,0, + -157,0,0,-358,0,0,0,-228,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,-388,0,0,0,0,0, - -289,0,0,-231,0,-283,0,0,0,-524, + 0,0,0,0,0,0,-498,0,0,0, + 0,0,0,-229,0,0,0,0,-288,0, + 0,0,0,0,-278,0,0,-257,-216,-158, + 0,0,-374,0,0,0,-230,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-117,0,0,0,0, + 0,0,-289,0,0,0,0,-410,0,0, + 0,0,0,-159,0,0,-393,0,0,0, + -231,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -321,0,0,0,0,0,-522,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-251, - 0,0,-385,0,0,0,0,-525,0,0, - 0,-324,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-322, - 0,0,0,0,0,0,-232,0,0,0, - 0,-618,0,0,0,0,0,0,0,0, - -233,0,-209,0,0,0,-597,0,0,0, - -234,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-195,0, - -235,0,0,0,0,0,0,0,0,0, - -288,0,0,0,0,0,-585,0,0,0, - 0,0,0,0,-433,0,0,0,-316,0, + -232,0,-207,0,0,-526,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-117,0,0,0, - -236,0,0,-237,0,0,0,0,-293,0, - 0,0,0,0,-579,0,0,-443,0,0, - 0,-238,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-546,0, + 0,0,0,0,0,-233,0,0,0,0, + 0,0,0,0,-283,0,-552,0,0,-385, + 0,0,0,0,-527,0,0,0,-573,0, 0,0,0,0,0,0,0,0,0,0, - -402,0,0,0,0,0,0,0,0,0, - 0,-240,0,0,0,0,0,-587,0,0, - -318,0,0,0,0,-180,-514,0,0,0, + 0,0,0,0,0,0,0,0,-612,0, + 0,0,0,0,-234,0,0,0,0,-293, + 0,0,0,0,0,0,0,0,-554,0, + -386,0,0,0,-180,-599,0,0,0,-235, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-241,0,0,0,0, - 0,0,0,0,-411,0,-243,0,0,-515, 0,0,0,0,0,0,0,0,0,0, + -589,0,0,0,-316,0,0,0,0,0, + 0,-209,0,0,-433,0,0,0,-236,0, 0,0,0,0,0,0,0,0,0,0, - 0,-222,-487,0,0,0,0,0,0,0, - 0,0,0,-319,0,0,0,0,0,-369, - 0,0,-258,0,0,0,0,0,-532,0, + 0,0,0,0,0,0,0,-569,0,0, + 0,0,0,0,-567,0,0,0,0,0, + 0,0,0,-245,0,0,0,0,-444,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,-318,0,0,0,0,0, + 0,0,0,-319,0,0,0,0,0,-609, + 0,0,-593,0,0,0,-222,-515,0,0, 0,0,0,0,0,0,0,0,0,0, - -567,0,0,0,-259,0,0,-607,0,0, - 0,0,0,0,0,0,-245,0,-414,0, - 0,-570,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-246,0,-291,-260,0,0, - 0,0,0,0,0,-392,0,0,0,0, - 0,-261,0,0,-267,-247,-12,0,0,0, - 0,0,0,0,0,-35,0,0,0,0, + 0,0,0,0,-238,0,0,-568,0,0, + 0,0,0,0,0,0,0,0,-439,0, + 0,-516,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-148,0,-97,-268,-427,0,0, - 0,0,-285,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-269,0,0,0, - 0,0,-270,0,0,0,0,0,0,-496, - 0,0,0,-226,0,0,-280,0,0,0, - 0,0,0,-384,0,-169,0,0,-362,0, - -317,0,0,0,0,0,0,0,0,0, - 0,0,0,-172,0,0,0,0,0,0, - 0,-282,0,0,0,0,0,0,0,0, - 0,-5,0,0,0,0,0,0,0,-248, - 0,-265,-284,-589,0,-323,0,0,-266,0, - -497,0,0,0,0,0,0,0,-292,0, + 0,0,0,0,-591,0,-240,-369,-241,0, + 0,0,0,0,0,0,-392,0,0,0, + 0,0,-598,0,0,-613,0,0,0,-27, + -534,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-485,-294,0,0,0,0,-276,0, + 0,0,0,0,0,0,0,-243,0,0, + -258,0,0,0,0,-132,0,0,0,0, + 0,-395,0,0,-572,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-85,-163,0,0,0, - 0,0,-184,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-406,-427, + 0,0,0,0,0,0,0,0,0,-95, + 0,0,0,0,0,-581,0,0,-246,-470, + -259,0,0,0,0,-260,-261,0,-35,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-267,0,0,0,0,0,-407,0,0, + 0,0,0,0,0,0,-276,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -268,0,-628,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-388,0,0,0, + -269,0,0,0,0,0,0,-247,0,-270, + 0,-360,0,0,0,-428,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-553,0,0,0,0,0, + 0,-248,0,0,0,0,-265,0,0,0, + 0,0,-280,-5,0,0,0,0,0,0, + 0,0,-12,0,0,-441,0,0,-17,0, + 0,0,-266,0,0,0,0,0,0,0, + 0,0,0,0,-282,-31,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-174, + -284,-292,0,0,-30,0,0,0,0,0, + 0,0,0,-194,0,0,0,-291,-294,0, + 0,0,0,0,0,-317,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -272,0,0,0,0,0,0,0,0,0, + 0,0,0,-432,-295,-412,0,0,0,0, + 0,0,0,-359,0,-384,0,0,-571,0, + 0,-298,0,0,0,0,-587,0,0,0, + -517,0,0,0,0,0,-300,-301,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-302,0,0,0,0,0,0,-570, + 0,0,0,0,0,0,0,0,-309,-76, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-277,0,0,0,-346,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,-503,0,0,0,0, + 0,0,0,-326,0,-508,0,0,0,0, + 0,0,0,0,0,0,0,0,-431,0, + 0,0,-373,0,0,0,0,0,0,0, + 0,0,0,-6,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-173,-618,-620, + 0,0,-578,0,0,0,0,0,0,0, + 0,0,0,0,0,-626,0,-375,0,0, + 0,0,0,0,-443,0,0,0,0,0, + -377,0,0,-378,0,-415,-195,-564,0,0, + 0,-504,0,0,-379,0,0,0,0,-287, + -486,0,0,-481,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-255,0, + 0,-297,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,0,0,0, - 0,-395,-218,0,-295,0,0,0,-272,0, - 0,-421,0,0,0,0,0,0,0,0, - -544,0,0,0,0,0,0,0,0,0, + -380,0,-382,0,0,-139,0,0,0,0, + -478,-424,0,0,0,0,-184,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-52,0,-298,-410,-516,0,0,0, - 0,0,0,0,-277,0,0,0,0,0, + 0,0,0,0,-396,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-398, + 0,0,-399,-164,0,0,0,0,0,0, + 0,0,0,-484,-502,-400,0,0,0,0, + 0,0,-401,0,0,-252,0,0,0,-343, + 0,0,0,-417,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-418,-425,-426,-434,0,0,-310, + 0,0,0,0,0,0,-344,0,0,0, + -436,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -446,0,0,0,0,0,-447,0,0,0, + -438,0,0,0,0,0,0,0,0,0, + 0,0,0,-43,0,0,0,-448,-100,-175, + 0,0,-621,0,0,0,0,0,-514,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-525,0,0,-312, + -363,-314,0,0,0,0,-315,0,0,0, + -371,0,-449,0,0,0,0,0,0,0, + -528,-450,0,0,0,-614,0,0,0,0, + 0,0,0,0,0,-364,0,-482,0,0, + 0,0,0,0,-163,0,0,-451,0,-452, + 0,-519,0,0,0,0,0,0,0,0, + 0,0,0,0,-623,-453,0,0,0,0, + 0,0,0,-365,0,0,0,0,0,0, + -454,-559,-253,0,-26,0,0,0,-455,0, + -456,-457,0,0,0,0,0,-540,0,0, + 0,0,-458,-459,-460,0,0,-560,0,0, + 0,0,0,0,0,0,0,0,0,0, + -161,0,-461,0,0,0,0,0,0,-462, + 0,0,0,0,0,-463,0,0,0,0, + 0,0,0,0,-299,0,0,0,0,0, + 0,0,0,0,0,0,0,-440,-513,0, + -464,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, + 0,0,0,0,0,0,0,-83,0,0, + 0,-390,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-544,0,-465,-429,0, + 0,0,0,0,-466,-561,-583,-467,0,0, + 0,0,-604,-608,0,-619,0,0,-471,0, + -473,0,-474,-479,0,0,0,0,0,0, + 0,-279,0,-335,0,0,0,0,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,-336,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -577,-483,0,-468,0,0,-485,0,0,-337, + 0,0,0,-494,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-495,0,-496,0,0,0,0,-59, + 0,0,-338,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-347,0,0,0,0,0, + 0,0,0,0,0,-55,0,0,0,0, + 0,0,-520,0,0,-339,0,0,0,-521, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-372,-530, + -541,-555,0,0,0,-97,0,0,-489,0, + -500,-556,-536,-558,0,-562,-575,-584,0,-592, + -600,0,-610,-611,-40,0,-624,0,0,0, + 0,0,0,0,0,-547,0,0,0,-602, + 0,-490,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-538,0, + -419,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-619,0,0,0,0,-287,0, - 0,0,-345,0,0,0,-300,0,0,0, + 0,0,0,0,0,0,0,0,0,-617, + 0,-340,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-301,-297,-302,0,0,0, - 0,0,0,0,0,0,-309,0,0,-507, - 0,0,0,-594,0,0,0,0,0,0, - 0,0,-310,0,0,0,0,0,-325,-186, - -326,-373,0,0,0,0,-171,0,0,0, - -375,0,0,0,0,0,0,0,0,0, - -435,0,0,0,0,0,-576,0,0,0, + 0,0,0,0,-214,0,0,-542,-52,0, + 0,-545,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -312,0,0,0,0,0,0,-185,0,0, - 0,0,0,-431,0,0,0,-314,-377,0, - 0,0,0,0,0,-315,0,-378,0,0, - 0,0,0,0,-379,-439,0,-386,0,0, - 0,0,-610,0,0,-380,0,0,0,0, - 0,-441,0,0,0,-382,0,0,-346,0, - 0,0,-396,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -442,-398,0,-550,-440,0,0,0,0,0, - 0,0,-407,0,-399,0,0,-400,0,-401, - -438,0,0,0,0,0,0,0,0,0, - 0,0,0,-371,-412,-255,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,-390,0,0,0,-591,0,0,0,-62, - 0,0,0,0,0,-406,-415,0,0,0, - 0,-417,0,0,0,-149,0,0,0,0, - 0,0,-513,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-557,-429,0,0,0,0,0, - -418,0,0,0,0,-571,0,-424,0,0, - -425,0,0,0,0,0,0,0,-426,0, - 0,0,0,0,-596,0,0,0,-244,0, - 0,0,0,-430,0,0,0,-165,0,0, - -434,0,-436,0,-518,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-445,0, - -428,-467,0,-24,-446,0,-363,0,0,0, - 0,0,-447,-448,-449,-253,-214,0,0,0, - 0,0,-432,-484,0,0,0,0,0,0, - 0,0,0,0,-488,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-161,-599,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-450,0,-299,0,0,0, - 0,0,0,0,0,0,0,0,0,-451, - -480,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-334,0,0,0, - -616,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-138, - -452,-453,-454,0,0,0,0,0,0,0, - 0,-455,0,0,-456,-563,0,0,-562,0, - 0,-457,0,0,0,0,0,0,0,0, - -611,0,0,0,0,0,-483,0,-458,0, - 0,0,0,0,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, - 0,-459,-460,0,-481,0,0,0,0,0, - 0,0,-344,0,0,0,-175,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-372,-461,-462,-139,0,0, - 0,-437,0,0,0,-624,0,0,-501,0, - 0,-463,0,0,0,0,0,-499,-464,-465, - 0,0,0,0,0,0,0,0,0,-466, - -364,-470,0,-365,-512,0,0,0,0,0, - -502,0,-472,0,0,0,0,0,0,0, - 0,0,0,-473,0,-419,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-478, - 0,0,0,0,0,0,0,0,0,0, - -482,0,0,-493,0,-335,0,0,0,-494, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-477,-495,-219, - 0,0,0,0,0,0,0,0,0,0, - -519,0,0,-520,0,0,0,0,0,0, - -528,-539,0,0,0,0,-575,-612,0,0, - 0,0,0,-553,0,0,0,0,-554,0, - 0,0,0,-534,0,0,0,0,-336,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-556,0,0,-560,0,0, - -337,0,0,0,-573,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-526,-545,-582,-536,0,0,0,-590, - 0,0,-338,0,0,0,0,0,0,0, + 0,0,0,-582,0,0,0,0,0,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,-43,0,0,0,0, - 0,0,0,0,-339,0,0,0,-598,0, + 0,0,0,0,0,0,0,-168,0,0, + 0,-548,0,0,0,0,-366,0,0,0, + -549,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-381, + -550,0,-491,0,0,-551,0,0,0,0, + 0,0,-585,-136,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-605, + 0,-586,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-381,-279,-608,-600, - 0,0,0,-196,0,0,-538,0,0,-609, - 0,-542,-622,-540,0,0,-136,0,0,-543, - 0,0,0,0,0,0,-503,0,0,0, - 0,0,-559,0,0,0,0,-615,0,-166, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-489,-471, - -17,0,0,0,0,0,0,0,-55,0, + 0,0,-472,0,0,0,0,0,-191,-597, + -492,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-603,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-551,-581,0,0,0,0, - 0,0,0,0,0,-546,0,0,0,0, - 0,0,0,0,0,0,0,0,-547,0, - 0,-548,-474,0,0,-359,0,0,0,0, - 0,0,0,-549,0,0,0,0,0,0, + -606,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-475,0,-493,-389,0, + 0,0,-219,0,0,0,0,-607,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-558,0,0,-583,-584,0, - 0,-167,0,0,0,0,0,0,0,0, - -621,0,0,0,0,0,0,0,0,0, - 0,-595,0,0,0,-531,0,0,-389,0, - 0,0,0,0,0,0,-601,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-604,0,0,0,0, - 0,0,0,0,0,0,0,-605,0,0, - 0,0,0,-602,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-606,-533,-21, - 0,0,0,0,-614,-23,0,0,-617,0, + 0,0,0,-616,0,-627,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-531,-533,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-625,0,0,0,0, - 0,0,0,0,0,0,-368,0,0,0, - 0,0,0,0,0,0,0,0,0,-490, - 0,-572,-100,0,0,0,0,0,0,0, - -56,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-579,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-574,-191,0,0,0,0, - 0,0,0,-105,0,0,0,0,0,0, + 0,-535,0,-254,0,0,0,-185,0,0, + -56,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-578,-254,0, - 0,0,0,0,0,0,-141,0,0,0, + 0,0,0,0,-574,0,-420,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-491,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-196,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -613,-220,0,0,0,0,-517,0,-492,0, + 0,0,0,0,0,0,0,-576,0,-532, + 0,0,0,-437,0,0,0,0,-165,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-580,0,0, - 0,0,0,-569,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-620,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, 0,0,0,0,0,0,0,0,0,0, + -580,0,-296,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,-469,0,0,0,0,0, - 0,0,-475,0,0,0,0,0,0,-509, - -529,-623,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-615,0,-24,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,0,0,0,0,0,0,0,0, - 0,0,0,-103,0,0,0,-561,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-577,-603,0, + 0,0,0,0,0,0,-625,0,-188,0, + 0,0,-220,0,0,0,0,-167,0,0, 0,0,0,0,0,0,0,0,0,0, - -179,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-366,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-32,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,0,0,0,0,0, + 0,0,0,0,0,0,0,-368,0,0, + 0,0,0,-105,0,0,0,0,0,-85, + 0,0,0,0,0,0,-103,0,0,0, + 0,0,0,0,0,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,-32,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,-104, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-144,0,0,0,0, - 0,0,0,0,0,0,-290,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-518,0,0,0,0,-286,0,0,0, + 0,0,-179,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,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,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-329, + 0,0,0,-329,0,0,0,0,0,0, 0,0,0,0,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,0, + 0,0,0,-330,0,0,0,0,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,0,0,0,-200, - 0,0,0,0,0,0,0,0,-331,0, + 0,0,0,-104,0,0,0,0,0,0, + 0,0,0,0,0,0,-141,0,0,0, + -144,0,0,0,-186,0,0,0,0,0, + 0,-290,0,0,0,0,0,0,0,0, + 0,0,0,0,-244,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-509,0,0, 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,0,0,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,0,0,0,0,-33,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-333,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,-1,0,0,0,0, + 0,0,0,0,-200,0,0,0,0,0, + 0,0,0,0,-78,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-333,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-150, 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,-563,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,0,0, - 0,0,0,0,0,0,-78,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,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, - -80,0,0,0,0,0,0,0,0,0, + 0,-80,0,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,-81,0,0,0,0,0, 0,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,-84,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,-153,0, + 0,0,0,0,-84,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-153,0,0, 0,0,0,0,0,0,0,0,0,0, - -197,0,0,0,0,0,0,0,0,-263, - 0,0,0,0,0,0,0,0,-327,0, 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,0,0,0,0,0, - -198,-296,0,0,0,0,0,0,0,0, + 0,0,0,-328,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-367,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,0,0, - -307,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-627, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-26,0, + 0,-73,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,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, + 0,0,0,0,0,0,0,-197,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,-62,0,0,0,0, + 0,-263,0,0,0,0,0,-218,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,-510,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-328,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-367,0,0,0,0,0, + 0,0,-151,0,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,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,0,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,-10, - -530,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-13,0, - 0,0,0,0,0,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,-285,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-275,0,0,0,0, + 0,-307,-413,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,0,0,0,0,-36,0,0, + 0,-511,0,0,0,0,0,0,0,0, + 0,0,0,0,-10,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-46,0,0,0, - 0,0,0,0,0,0,-25,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,0,0,-13,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-47,0, + 0,0,0,0,-629,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-46,0,0,0,0, 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,0,0,0,0,-394, 0,0,0,0,0,0,0,0,0,0, - -49,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-47,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,0,0, + 0,0,0,-49,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,-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,-122,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,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-423,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,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -423,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-535,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-391,0,0,0,0,0,0,0, - -506,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, - -420,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-27,0, - 0,0,-31,0,0,0,0,0,0,0, + -537,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-391, + 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,0,0,0, - 0,0,0,0,0,0,0,-150,0,0, + 0,-152,0,0,-507,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-151,0, - 0,0,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,-397,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-397, + 0,0,-275,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,-524,0, + 0,0,0,0,0,0,0,0,-539,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-281,0,0,0,0,0,-523,0, - 0,0,0,0,-537,0,0,0,0,0, - 0,0,-508,0,0,0,0,0,-564,0, - 0,0,-592,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-476,0,0,0,0,0,0, + 0,0,0,0,0,0,-566,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-593,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-187,0, - 0,0,0,0,0,-188,0,0,0,0, - 0,0,-181,0,0,0,0,0,0,0, + -594,0,0,0,0,-477,0,0,0,0, + 0,0,-595,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-480, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-286,0,0,0,0,-476, - 0,0,0,0,0,0,-211,0,0,0, - 0,0,0,0,0,0,-413,0,0,0, - 0,0,0,0,0,-394,0,0,0,0, - 0,0,0,0,0,-404,0,0,0,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,0,0,0,0,0, @@ -680,7 +691,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,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; @@ -690,738 +701,749 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface BaseAction { public final static char baseAction[] = { - 188,4,125,90,90,29,29,88,88,45, - 45,38,38,188,1,1,15,15,15,15, - 15,15,15,16,16,16,14,11,11,6, - 6,6,6,6,6,2,77,77,5,5, - 12,12,59,59,148,148,149,68,68,52, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,17, - 150,150,150,126,126,18,18,18,18,18, - 18,18,18,18,18,18,18,18,19,19, - 189,189,190,190,191,153,153,154,154,151, - 151,155,152,152,20,20,21,21,27,27, - 27,28,28,28,28,30,30,30,31,31, - 31,32,32,32,32,32,33,33,33,35, - 35,36,36,37,37,39,39,41,41,42, - 42,47,47,46,46,46,46,46,46,46, - 46,46,46,46,46,46,44,34,156,156, - 103,103,192,192,96,220,220,78,78,78, - 78,78,78,78,78,78,79,79,79,76, - 76,60,60,193,193,80,80,80,110,110, - 194,194,81,81,81,195,195,82,82,82, - 82,82,83,83,85,85,85,85,85,85, - 85,85,53,53,53,53,53,111,111,109, - 109,54,196,22,22,22,22,22,51,51, - 91,91,91,91,91,163,163,158,158,158, - 158,158,159,159,159,160,160,160,161,161, - 161,162,162,162,92,92,92,92,92,93, - 93,93,13,13,13,13,13,13,13,13, - 13,13,13,104,130,130,130,130,130,130, - 128,128,128,164,129,129,197,166,166,165, - 165,132,132,112,74,74,133,56,50,167, - 167,57,87,87,168,168,157,157,134,135, - 135,136,71,71,169,169,66,66,66,63, - 63,62,67,67,89,89,69,69,69,65, - 97,97,106,105,105,70,70,64,64,61, - 61,48,107,107,107,99,99,99,100,100, - 101,101,101,102,102,113,113,113,115,115, - 114,114,221,221,98,98,199,199,199,199, - 199,138,49,49,171,198,198,139,139,94, - 94,94,95,173,200,200,43,43,127,140, - 140,140,140,202,117,116,116,131,131,131, - 174,175,175,175,175,175,175,175,175,175, - 175,175,204,204,201,201,203,203,119,120, - 120,120,120,121,205,122,118,118,206,206, - 176,176,176,176,108,108,108,207,207,8, - 8,9,208,208,209,177,170,170,178,178, - 179,180,180,7,7,10,210,210,210,210, - 210,210,210,210,210,210,210,210,210,210, - 210,210,210,210,210,210,210,210,210,210, - 210,210,210,210,210,210,210,210,210,210, - 210,210,210,210,210,210,210,210,72,75, - 75,181,181,142,142,143,143,143,143,143, - 143,3,144,144,141,141,123,123,86,73, - 84,172,172,124,124,211,211,211,145,145, - 137,137,212,212,23,23,23,40,40,24, - 24,213,213,182,182,182,183,183,214,214, - 184,184,25,25,215,215,185,185,185,185, - 26,58,216,216,217,217,186,186,186,146, - 146,146,18,18,18,18,32,32,42,16, - 79,218,187,187,187,147,147,22,55,91, - 136,136,136,119,119,119,197,202,117,65, - 71,164,133,13,13,70,86,86,86,17, - 1575,35,2652,2638,46,5280,27,30,31,836, - 827,26,28,2595,25,23,50,1624,106,76, - 77,108,1919,589,534,535,536,2097,2234,1105, - 2177,2331,2317,2361,3939,2341,2414,2411,2052,2432, - 3054,2462,143,273,2988,1952,158,144,3738,35, - 967,32,2893,5830,27,30,31,836,827,26, - 28,1611,25,23,50,1624,106,76,77,108, - 232,3128,1381,35,452,2097,2234,6153,2177,2331, - 2317,2361,1885,2341,2414,2411,986,2432,3385,2462, - 143,235,230,231,158,144,1011,221,73,35, - 808,387,3711,2736,274,4118,35,967,32,1025, - 5830,27,30,31,836,827,26,28,1611,25, - 23,50,1624,106,76,77,108,242,245,248, - 251,3354,2097,2234,1979,2177,2331,2317,3519,1199, - 681,273,1203,2622,35,967,32,582,5646,27, - 30,31,836,827,57,28,2563,1297,3931,4120, - 4126,5697,6029,4712,3014,35,967,32,2772,5830, - 27,30,31,836,827,26,28,1611,25,23, - 50,1624,106,76,77,108,341,6033,1381,35, - 279,2097,2234,5753,2177,2331,2317,2361,2399,2341, - 2414,2411,3699,2432,2563,2462,143,261,35,282, - 516,144,3408,355,35,967,32,2488,2213,41, - 30,31,836,827,72,517,2577,3014,35,967, - 32,2772,5830,27,30,31,836,827,26,28, - 1611,25,23,50,1624,106,76,77,108,341, - 445,2727,2762,1590,2097,2234,3721,2177,2331,2317, - 2361,1301,2341,2414,2411,744,2432,2899,2462,143, - 951,3366,3571,516,144,3408,449,35,967,32, - 1512,2728,1144,30,31,836,827,512,517,3078, - 35,967,32,61,6306,27,30,31,836,827, - 26,28,706,510,3567,2096,1517,322,2506,540, - 2371,446,3014,35,967,32,2772,5830,27,30, - 31,836,827,26,28,1611,25,23,50,1624, - 106,76,77,108,341,261,1882,1855,34,2097, - 2234,1105,2177,2331,2317,2361,4191,2341,2414,2411, - 512,2432,3323,2462,143,182,2772,2908,516,144, - 3408,167,35,808,387,71,609,2231,2814,658, - 323,2506,2538,517,341,3393,35,967,32,2772, - 5830,27,30,31,836,827,26,28,1611,25, - 23,50,1624,106,76,77,108,341,1460,156, - 1547,1459,2097,2234,49,2177,2331,2317,2361,2092, - 2341,2414,2411,1170,2432,71,2462,143,1359,3887, - 1158,516,144,3408,449,35,967,32,3126,2170, - 40,30,31,836,827,512,517,261,3441,3121, - 35,967,32,2741,3836,27,30,31,836,827, - 337,28,1953,2875,1616,2752,2506,1955,3470,35, - 967,32,497,5830,27,30,31,836,827,26, - 28,1611,25,23,50,1624,106,76,77,108, - 538,534,535,536,402,2097,2234,1330,2177,2331, - 2317,2361,565,2341,2414,2411,2371,2432,513,2462, - 143,314,1028,319,377,144,2893,1463,3093,35, - 967,32,3476,5830,27,30,31,836,827,26, - 28,1611,25,23,50,1624,106,76,77,108, - 538,534,535,536,2893,2097,2234,2062,2177,2331, - 2317,2361,2560,2341,2414,2411,2371,2432,3199,2462, - 143,301,378,2231,377,144,4118,35,967,32, - 1918,5830,27,30,31,836,827,26,28,1611, - 25,23,50,1624,106,76,77,108,3683,298, - 542,2074,2772,2097,2234,1105,2177,2331,2317,2361, - 4317,2341,2414,2411,1839,3620,2598,384,4246,310, - 341,351,378,2231,3167,35,967,32,871,5830, - 27,30,31,836,827,26,28,1611,25,23, - 50,1624,106,76,77,108,4118,261,35,4372, - 3700,2097,2234,1105,2177,2331,2317,2361,4776,2341, - 2414,2411,2371,2432,962,2462,143,385,261,3049, - 377,144,2444,2059,3316,35,967,32,3284,5830, - 27,30,31,836,827,26,28,1611,25,23, - 50,1624,106,76,77,108,538,534,535,536, - 1460,2097,2234,1965,2177,2331,2317,2361,71,2341, - 2414,2411,774,2432,3128,2462,143,3156,378,2231, - 550,144,2457,3738,35,967,32,3156,5830,27, - 30,31,836,827,26,28,1611,25,23,50, - 1624,106,76,77,108,538,534,535,536,2451, - 2097,2234,1798,2177,2331,2317,2361,71,2341,2414, - 2411,1856,2432,375,2462,143,261,35,3680,371, - 144,3738,35,967,32,2380,5830,27,30,31, - 836,827,26,28,1611,25,23,50,1624,106, - 76,77,108,261,35,808,387,1356,2097,2234, - 288,2177,2331,2317,2361,388,2341,2414,2411,4098, - 2432,437,2462,143,3432,302,2538,371,144,2721, - 35,967,32,442,6306,27,30,31,836,827, - 59,28,3738,35,967,32,451,5830,27,30, - 31,836,827,26,28,1611,25,23,50,1624, - 106,76,77,108,261,35,293,234,548,2097, - 2234,370,2177,2331,2317,2361,4020,2341,2414,2411, - 3128,2432,3642,2462,143,1689,35,452,371,144, - 6153,3536,541,2074,3316,35,967,32,3324,5830, - 27,30,31,836,827,26,28,1611,25,23, - 50,1624,106,76,77,108,459,2833,1894,369, - 1994,2097,2234,2145,2177,2331,2317,2361,3235,2341, - 2414,2411,5855,2432,1105,2462,143,261,3671,5988, - 550,144,3542,35,967,32,320,5830,27,30, - 31,836,827,26,28,1611,25,23,50,1624, - 106,76,77,108,71,3678,1789,2270,2772,2097, - 2234,4485,2177,2331,2317,2361,1116,2341,2414,2411, - 367,2432,2833,2783,164,3703,341,3239,35,967, - 32,521,5830,27,30,31,836,827,26,28, - 1611,25,23,50,1624,106,76,77,108,389, - 3959,496,3408,426,2097,2234,234,2177,2331,2317, - 2361,2538,2341,2414,2411,2655,2432,3034,2462,143, - 3721,2458,325,142,144,3379,35,277,2236,2138, - 3738,35,967,32,3233,5830,27,30,31,836, - 827,26,28,1611,25,23,50,1624,106,76, - 77,108,4272,449,2727,2762,2772,2097,2234,1105, - 2177,2331,2317,2361,4920,2341,2414,2411,549,2432, - 1311,2462,143,2893,341,2300,155,144,3738,35, - 967,32,2919,5830,27,30,31,836,827,26, - 28,1611,25,23,50,1624,106,76,77,108, - 1204,458,2891,71,1663,2097,2234,837,2177,2331, - 2317,2361,71,2341,2414,2411,922,2432,561,2462, - 143,2266,35,277,154,144,3738,35,967,32, - 521,5830,27,30,31,836,827,26,28,1611, - 25,23,50,1624,106,76,77,108,93,2177, - 1356,3163,88,2097,2234,102,2177,2331,2317,2361, - 71,2341,2414,2411,2359,2432,71,2462,143,3307, - 3874,1730,153,144,3738,35,967,32,2425,5830, - 27,30,31,836,827,26,28,1611,25,23, - 50,1624,106,76,77,108,403,3276,1930,71, - 552,2097,2234,5271,2177,2331,2317,2361,71,2341, - 2414,2411,5311,2432,3100,2462,143,2266,35,280, - 152,144,3738,35,967,32,1034,5830,27,30, - 31,836,827,26,28,1611,25,23,50,1624, - 106,76,77,108,261,35,1855,276,3198,2097, - 2234,3429,2177,2331,2317,2361,6179,2341,2414,2411, - 441,2432,455,2462,143,3704,1979,2833,151,144, - 3738,35,967,32,1034,5830,27,30,31,836, - 827,26,28,1611,25,23,50,1624,106,76, - 77,108,1317,2833,2310,71,560,2097,2234,2724, - 2177,2331,2317,2361,71,2341,2414,2411,5351,2432, - 71,2462,143,2893,658,567,150,144,3738,35, - 967,32,882,5830,27,30,31,836,827,26, - 28,1611,25,23,50,1624,106,76,77,108, - 261,35,1855,278,2989,2097,2234,1105,2177,2331, - 2317,2361,6183,2341,2414,2411,555,2432,179,2462, - 143,2660,3128,1444,149,144,3738,35,967,32, - 2662,5830,27,30,31,836,827,26,28,1611, - 25,23,50,1624,106,76,77,108,2750,2833, - 1381,35,279,2097,2234,6296,2177,2331,2317,2361, - 2086,2341,2414,2411,1105,2432,71,2462,143,6214, - 1471,1730,148,144,3738,35,967,32,579,5830, - 27,30,31,836,827,26,28,1611,25,23, - 50,1624,106,76,77,108,3868,731,35,395, - 553,2097,2234,446,2177,2331,2317,2361,71,2341, - 2414,2411,2214,2432,2538,2462,143,1446,1808,1517, - 147,144,3738,35,967,32,78,5830,27,30, - 31,836,827,26,28,1611,25,23,50,1624, - 106,76,77,108,2801,2833,261,35,293,2097, - 2234,3142,2177,2331,2317,2361,71,2341,2414,2411, - 2786,2432,2538,2462,143,3705,1729,454,146,144, - 3738,35,967,32,24,5830,27,30,31,836, - 827,26,28,1611,25,23,50,1624,106,76, - 77,108,3462,731,35,395,2772,2097,2234,3156, - 2177,2331,2317,2361,5485,2341,2414,2411,422,2432, - 3197,2462,143,3301,3427,2825,145,144,4118,35, - 967,32,447,5830,27,30,31,836,827,26, - 28,1611,25,23,50,1624,106,76,77,108, - 261,35,808,387,3091,2097,2234,1386,2177,2331, - 2317,2361,51,2341,2414,2411,554,2432,3351,2783, - 164,3738,35,967,32,1953,5830,27,30,31, - 836,827,26,28,1611,25,23,50,1624,106, - 76,77,108,273,3536,951,1761,295,2097,2234, - 504,2177,2331,2317,2361,3128,2341,2414,2411,352, - 2432,3128,2462,143,1293,564,2538,159,144,3309, - 3738,35,967,32,3644,5830,27,30,31,836, - 827,26,28,1611,25,23,50,1624,106,76, - 77,108,522,877,502,503,1665,2097,2234,3205, - 2177,2331,2317,2361,275,2341,2414,2411,70,2432, - 71,2462,143,2893,658,3517,578,144,3738,35, - 967,32,3156,5830,27,30,31,836,827,26, - 28,1611,25,23,50,1624,106,76,77,108, - 261,35,1855,281,3204,2097,2234,2819,2177,2331, - 2317,2361,3128,2341,2414,2411,324,2432,198,2462, - 143,172,390,3011,140,144,426,3802,35,967, - 32,1695,5830,27,30,31,836,827,26,28, - 1611,25,23,50,1624,106,76,77,108,2923, - 877,1538,557,2772,2097,2234,3633,2177,2331,2317, - 2361,71,2341,2414,2411,2515,2432,447,2462,143, - 284,3427,524,189,144,4118,35,967,32,3276, - 5830,27,30,31,836,827,26,28,1611,25, - 23,50,1624,106,76,77,108,261,35,808, - 387,2891,2097,2234,360,2177,2331,2317,2361,71, - 2341,2414,2411,2609,2432,516,2783,164,4118,35, - 967,32,2202,5830,27,30,31,836,827,26, - 28,1611,25,23,50,1624,106,76,77,108, - 273,261,35,1855,3674,2097,2234,358,2177,2331, - 2317,2361,1995,2341,2414,2411,3104,2432,140,2783, - 164,71,3016,2915,2997,3126,2546,4118,35,967, - 32,422,5830,27,30,31,836,827,26,28, - 1611,25,23,50,1624,106,76,77,108,538, - 534,535,536,71,2097,2234,1858,2177,2331,2317, - 2361,338,2341,2414,2411,3156,2432,2979,2783,164, - 4118,35,967,32,292,5830,27,30,31,836, - 827,26,28,1611,25,23,50,1624,106,76, - 77,108,3003,1509,35,1855,276,2097,2234,522, - 2177,2331,2317,2361,71,2341,2414,2411,3175,2432, - 71,2783,164,2982,712,538,534,535,536,4118, - 35,967,32,421,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,106,76,77, - 108,261,35,808,387,3400,2097,2234,140,2177, - 2331,2317,2361,381,2341,2414,2411,2833,2432,1303, - 2783,164,4244,35,967,32,424,5830,27,30, - 31,836,827,26,28,1611,25,23,50,1624, - 106,76,77,108,430,2833,3357,3306,4593,2097, - 2234,380,2177,2331,2317,2361,71,2341,2414,2411, - 2813,2432,4501,2783,164,2727,2833,2569,1097,293, - 538,534,535,536,3621,581,1697,35,967,32, - 4183,4254,27,30,31,836,827,337,28,3631, - 537,534,535,536,2355,3624,2212,3013,3156,537, - 534,535,536,2185,35,967,32,1067,3836,27, - 30,31,836,827,337,28,4760,3081,3315,537, - 534,535,536,3304,326,333,538,534,535,536, - 261,3734,1855,74,919,3049,1312,3322,317,891, - 319,1672,312,828,3467,330,2922,2686,658,2533, - 658,1925,35,3333,32,4183,4254,27,30,31, - 836,827,337,28,2922,317,891,319,658,600, - 828,3319,3570,4564,537,534,535,536,156,2913, - 160,379,4398,35,808,387,294,971,3555,200, - 2833,3191,2833,3348,3801,237,919,3049,160,2833, - 1304,1509,35,1855,3739,589,534,535,536,917, - 304,308,1011,317,891,319,1672,312,828,4647, - 330,69,3071,2923,3787,273,3319,2772,68,2721, - 35,967,32,662,6306,27,30,31,836,827, - 58,28,42,2517,1660,3427,3355,71,4564,2879, - 610,610,232,1528,35,967,32,4183,3836,27, - 30,31,836,827,337,28,287,2925,341,341, - 3592,418,3331,235,230,231,537,534,535,536, - 156,156,3230,1761,877,3833,274,2772,6277,2833, - 2075,2789,3515,4787,3408,3408,2772,44,2517,2292, - 3051,261,35,1855,3805,228,1979,1883,2782,242, - 245,248,251,3354,3427,317,891,319,53,312, - 828,358,681,1720,2686,173,2922,3383,287,582, - 658,321,1741,406,1049,2833,3890,2915,2997,530, - 3931,4120,4126,5697,6029,4712,537,534,535,536, - 538,534,535,536,3373,407,408,409,632,1034, - 160,3171,3051,1067,52,4118,35,967,32,6033, - 5830,27,30,31,836,827,26,28,1611,25, - 23,50,1624,106,76,77,108,305,308,1011, - 359,2081,2097,2234,3128,2177,2331,2317,2361,2833, - 2341,2414,3602,4118,35,967,32,3384,5830,27, - 30,31,836,827,26,28,1611,25,23,50, - 1624,106,76,77,108,2291,2833,3708,376,3608, - 2097,2234,877,2177,2331,2317,2361,1856,2341,3586, - 2384,35,967,32,3999,4254,27,30,31,836, - 827,337,28,2833,523,3247,1460,410,413,2131, - 3201,3442,3768,537,534,535,536,2711,35,967, - 32,3769,5646,27,30,31,836,827,56,28, - 2693,3591,570,537,534,535,536,3042,35,967, - 32,4183,3836,27,30,31,836,827,337,28, - 2476,2833,317,891,319,1672,313,828,2632,331, - 537,534,535,536,449,35,967,32,2833,95, - 3625,30,31,836,827,2799,2833,4787,3575,350, - 539,537,534,535,536,3831,3536,1034,2893,344, - 2140,1122,347,731,35,395,3832,559,2637,317, - 891,319,2814,312,828,558,3836,6159,2686,4118, - 35,967,32,4639,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,106,76,77, - 108,3156,3837,197,2922,3536,2097,2234,658,2177, - 2331,2317,2361,71,3587,3895,89,1447,3896,102, - 3897,2121,35,3333,32,4183,3836,27,30,31, - 836,827,337,28,2833,71,3428,60,160,1068, - 5973,304,308,1011,3711,534,535,536,1945,35, - 967,32,2666,3836,27,30,31,836,827,337, - 28,3335,2833,90,3870,349,261,35,808,387, - 731,35,1978,3588,392,1660,2047,71,426,3883, - 1841,3897,2636,317,891,319,3355,312,828,285, - 610,348,3071,2650,35,3333,32,4183,3836,27, - 30,31,836,827,337,28,420,4028,341,433, - 314,1028,319,49,3499,2833,537,534,535,536, - 156,2726,1170,391,877,350,2538,426,71,1237, - 2075,2815,6173,3335,3408,342,2140,1122,347,3077, - 4377,418,3331,3232,571,2538,1979,2607,428,261, - 35,808,387,1034,3088,317,891,319,71,312, - 828,3777,2772,1847,3071,2739,35,3333,32,4183, - 3836,27,30,31,836,827,337,28,3714,2894, - 341,2893,2833,544,1334,2907,3480,3572,3711,534, - 535,536,49,548,642,736,283,2569,35,293, - 610,46,2468,3268,2833,3335,3408,537,534,535, - 536,3803,4568,418,3331,2833,97,871,228,2687, - 537,534,535,536,1117,2371,297,317,891,319, - 156,312,828,3882,877,98,3071,1067,2914,3633, - 1903,180,4309,658,3804,203,215,3218,401,202, - 212,213,214,216,588,830,169,2206,35,967, - 32,6011,3836,27,30,31,836,827,337,28, - 927,2893,168,156,183,167,170,171,172,173, - 174,609,2231,162,4377,418,3331,4118,35,967, - 32,3801,5830,27,30,31,836,827,26,28, - 1611,25,23,50,1624,106,76,77,108,2913, - 2301,1013,1018,1115,2097,2234,201,2177,3425,317, - 891,319,1201,312,828,1514,2814,350,3291,3267, - 1304,6159,1950,537,534,535,536,342,2140,1122, - 347,261,35,808,387,340,350,71,1195,2294, - 2542,1596,538,534,535,536,342,2140,1122,347, - 4118,35,967,32,3252,5830,27,30,31,836, - 827,26,28,1611,25,23,50,1624,106,76, - 77,108,3356,4254,432,2893,3240,2097,2234,3585, - 2177,2331,3552,4118,35,967,32,3128,5830,27, - 30,31,836,827,26,28,1611,25,23,50, - 1624,106,76,77,108,1,3771,3386,1848,610, - 2097,2234,3346,2177,2331,3553,3801,1996,354,71, - 199,4125,3506,4025,1841,877,530,228,2833,3830, - 3957,537,534,535,536,537,534,535,536,156, - 3808,3634,189,877,3635,2893,364,374,2542,1903, - 180,1303,2917,3958,203,215,3218,450,202,212, - 213,214,216,588,3640,169,2828,35,967,32, - 5981,3836,27,30,31,836,827,337,28,2371, - 1409,168,2371,184,167,170,171,172,173,174, - 405,3961,429,181,3902,349,4118,35,967,32, - 3903,5830,27,30,31,836,827,26,28,1611, - 25,23,50,1624,106,76,77,108,3467,3421, - 2301,3631,610,2097,2234,2038,2177,3440,317,891, - 319,2473,312,828,3901,609,2231,1497,609,2231, - 3877,3965,3960,537,534,535,536,2893,261,35, - 808,387,156,353,3737,350,332,333,372,3718, - 2542,530,1903,180,2833,342,2140,1122,347,4118, - 35,967,32,3232,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,106,76,77, - 108,431,3409,4182,195,3964,2097,2234,2372,2177, - 3481,4118,35,967,32,4024,5830,27,30,31, - 836,827,26,28,1611,25,23,50,1624,106, - 76,77,108,71,4547,3966,2833,1456,2097,2234, - 3974,2177,3482,4118,35,967,32,2471,5830,27, - 30,31,836,827,26,28,1611,25,23,50, - 1624,106,76,77,108,4245,167,35,808,387, - 2097,2234,2371,2177,3483,4118,35,967,32,1942, - 5830,27,30,31,836,827,26,28,1611,25, - 23,50,1624,106,76,77,108,377,3128,3766, - 2893,610,2097,2234,3462,2177,3492,71,2772,49, - 4022,3077,71,4083,2833,7314,4408,1647,1170,228, - 2833,2772,6277,6165,196,1739,3427,1804,609,2231, - 7314,156,7314,71,2407,877,877,2784,2893,228, - 71,1903,180,4308,2772,222,203,215,3218,3966, - 202,212,213,214,216,588,7314,169,374,71, - 471,1952,341,658,610,7314,1741,406,1049,543, - 35,808,387,168,239,3660,167,170,171,172, - 173,174,228,193,589,534,535,536,3408,407, - 408,409,632,156,156,2922,71,3631,877,658, - 4599,2707,504,3976,1903,180,2833,7314,7314,203, - 215,3218,49,202,212,213,214,216,588,2833, - 169,1170,2833,565,7314,2081,3767,610,47,160, - 658,232,3903,333,2833,67,168,1444,178,167, - 170,171,172,173,174,228,501,503,66,7314, - 7314,65,240,230,231,1303,7314,156,2833,2833, - 156,877,71,64,7314,7314,2772,1903,180,3183, - 3610,3670,203,215,3218,2772,202,212,213,214, - 216,588,2833,169,341,3015,659,55,54,2561, - 610,410,412,341,6243,7314,7314,2833,4029,168, - 529,176,167,170,171,172,173,174,228,7314, - 3408,101,537,534,535,536,2833,7314,1307,3408, - 156,2873,7314,2713,877,3631,3908,7314,2833,2476, - 1903,180,532,7314,71,203,215,3218,3461,202, - 212,213,214,216,588,2322,169,7314,3636,753, - 1337,3609,4432,610,1672,2833,1466,2984,331,71, - 328,333,168,3596,580,167,170,171,172,173, - 174,228,7314,589,534,535,536,7314,350,589, - 534,535,536,156,4502,7314,3577,877,344,2140, - 1122,347,7314,1903,180,7314,7314,71,203,215, - 3218,2772,202,212,213,214,216,588,7314,169, - 71,7314,847,2448,658,528,610,7314,6243,341, - 232,637,35,808,387,168,232,177,167,170, - 171,172,173,174,228,7314,537,534,535,536, - 7314,244,230,231,156,3408,156,247,230,231, - 877,7314,7314,2476,3989,7314,1903,180,3352,7314, - 7314,203,215,3218,49,202,212,213,214,216, - 588,7314,169,1170,7314,941,2448,7314,1672,610, - 47,6243,330,4156,167,35,808,387,168,886, - 187,167,170,171,172,173,174,228,7314,537, - 534,535,536,7314,7314,7314,7314,7314,7314,156, - 4611,7314,7314,877,7314,7314,2476,7314,7314,1903, - 180,7314,7314,7314,203,215,3218,49,202,212, - 213,214,216,588,7314,169,1170,7314,1035,2448, - 7314,1672,610,3050,6243,330,7314,637,35,808, - 387,168,2407,3849,167,170,171,172,173,174, - 228,7314,537,534,535,536,71,7314,7314,7314, - 658,7314,156,5312,7314,7314,877,7314,7314,2476, - 7314,7314,1903,180,7314,7314,7314,203,215,3218, - 49,202,212,213,214,216,588,7314,169,1170, - 156,1129,2834,7314,1672,610,47,3498,330,71, - 3992,7314,7314,658,168,1807,192,167,170,171, - 172,173,174,228,7314,537,534,535,536,7314, - 537,534,535,536,7314,156,4059,7314,1804,877, - 7314,7314,2542,156,2922,1903,180,3499,658,7314, - 203,215,3218,4004,202,212,213,214,216,588, - 7314,169,2295,35,967,32,6011,3836,27,30, - 31,836,827,337,28,7314,7314,168,160,186, - 167,170,171,172,173,174,4118,35,967,32, - 7314,5830,27,30,31,836,827,26,28,1611, - 25,23,50,1624,106,76,77,108,3631,7314, - 7314,7314,7314,2097,2234,2448,3495,7314,7314,2554, - 6243,7314,7314,71,317,891,319,610,312,828, - 71,71,1223,525,2772,658,610,7314,537,534, - 535,536,7314,4104,333,341,7314,4052,7314,7314, - 7314,350,341,7314,228,2476,7314,156,7314,7314, - 7314,342,2140,1122,347,156,156,188,7314,526, - 877,5956,7314,7314,7314,3296,1903,180,3408,7314, - 1672,203,215,3218,5571,202,212,213,214,216, - 588,508,169,7314,1399,35,967,32,3533,4254, - 27,30,31,836,827,337,28,7314,168,7314, - 194,167,170,171,172,173,174,537,534,535, - 536,537,534,535,536,7314,7314,7314,71,1804, - 7314,7314,658,3744,2476,7314,7314,7314,2917,7314, - 7314,1399,35,967,32,7314,4254,27,30,31, - 836,827,337,28,7314,7314,317,891,319,1672, - 315,828,156,331,537,534,535,536,94,7314, - 7314,7314,4067,7314,7314,7314,7314,3605,35,967, - 32,2693,5830,27,30,31,836,827,26,28, - 1611,25,23,50,1624,106,76,77,107,3631, - 7314,7314,7314,317,891,319,1672,313,828,7314, - 331,4118,35,967,32,2371,5830,27,30,31, - 836,827,26,28,1611,25,23,50,1624,106, - 76,77,108,7314,4129,333,7314,7314,2097,2234, - 7314,3502,4451,35,808,387,7314,971,7314,7314, - 7314,7314,7314,7314,7314,238,7314,7314,7314,7314, - 7314,7314,7314,7314,7314,589,534,535,536,7314, - 7314,609,2231,7314,7314,7314,7314,7314,7314,7314, - 7314,7314,7314,71,7314,273,7314,2772,7314,7314, - 1811,35,967,32,4183,3836,27,30,31,836, - 827,337,28,7314,7314,341,167,35,808,387, - 7314,7314,232,538,534,535,536,1528,35,967, - 32,4183,3836,27,30,31,836,827,337,28, - 7314,3408,7314,236,230,231,7314,7314,7314,7314, - 538,534,535,536,506,7314,274,7314,7314,49, - 7314,7314,317,891,319,7314,312,828,1170,7314, - 7314,3098,7314,7314,7314,47,7314,7314,7314,243, - 246,249,252,3354,817,7314,7314,7314,7314,317, - 891,319,681,312,828,7314,7314,7314,3098,583, - 4118,35,967,32,7314,5830,27,30,31,836, - 827,26,28,1611,25,23,50,1624,106,76, - 77,108,7314,7314,7314,7314,7314,2097,3349,4118, - 35,967,32,7314,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,106,76,77, - 108,2005,7314,7314,7314,2772,2097,3355,7314,7314, - 825,35,808,387,7314,7314,7314,7314,7314,4118, - 35,967,32,228,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,106,76,77, - 108,7314,7314,7314,7314,7314,3363,7314,7314,7314, - 205,215,3218,49,204,212,213,214,216,588, - 7314,7314,1170,7314,7314,7314,7314,7314,7314,47, - 7314,7314,7314,206,208,210,632,7314,2076,7314, - 7314,7314,7314,7314,7314,7314,217,207,209,3866, - 35,967,32,7314,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,585,76,77, - 13,7314,5609,4118,35,967,32,7314,5830,27, - 30,31,836,827,26,28,1611,25,23,50, - 1624,106,76,77,108,7314,4118,35,967,32, - 3364,5830,27,30,31,836,827,26,28,1611, - 25,23,50,1624,106,76,77,108,7314,4118, - 35,967,32,3365,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,106,76,77, - 85,7314,7314,7314,7314,4118,35,967,32,614, - 5830,27,30,31,836,827,26,28,1611,25, - 23,50,1624,106,76,77,83,4118,35,967, - 32,7314,5830,27,30,31,836,827,26,28, - 1611,25,23,50,1624,106,76,77,82,4118, - 35,967,32,7314,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,106,76,77, - 81,4118,35,967,32,7314,5830,27,30,31, - 836,827,26,28,1611,25,23,50,1624,106, - 76,77,80,4118,35,967,32,7314,5830,27, - 30,31,836,827,26,28,1611,25,23,50, - 1624,106,76,77,79,4118,35,967,32,7314, - 5830,27,30,31,836,827,26,28,1611,25, - 23,50,1624,106,76,77,78,4118,1882,967, - 2047,7314,5830,27,30,31,836,827,26,28, - 1611,25,23,50,1624,106,76,77,84,3673, - 35,967,32,7314,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,106,76,77, - 104,2224,7314,7314,7314,2772,7314,7314,7314,7314, - 2107,35,808,387,7314,7314,7314,7314,7314,4118, - 35,967,32,228,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,106,76,77, - 110,2313,2094,7314,7314,2772,7314,6243,7314,7314, - 205,215,3218,49,204,212,213,214,216,588, - 7314,7314,1170,228,7314,537,534,535,536,2872, - 7314,7314,7314,206,208,210,632,7314,2170,7314, - 7314,2402,2476,7314,7314,2772,217,207,209,7314, - 205,215,3218,7314,204,212,213,214,216,588, - 71,7314,7314,228,2772,7314,7314,1672,7314,7314, - 1317,331,5609,206,208,210,632,7314,7314,1996, - 7314,7314,341,7314,7314,7314,217,207,209,7314, - 205,215,3218,7314,204,212,213,214,216,588, - 7314,7314,537,534,535,536,7314,7314,3408,7314, - 2129,7314,5609,206,208,210,632,7314,7314,1263, - 7314,533,7314,7314,7314,7314,217,207,209,3929, - 35,967,32,7314,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,574,76,77, - 2688,7314,5609,4118,35,967,32,7314,5830,27, - 30,31,836,827,26,28,1611,25,23,50, - 1624,106,76,77,109,4118,35,967,32,7314, - 5830,27,30,31,836,827,26,28,1611,25, - 23,50,1624,106,76,77,105,3992,35,967, - 32,7314,5830,27,30,31,836,827,26,28, - 1611,25,23,50,1624,572,76,77,4055,35, - 967,32,7314,5830,27,30,31,836,827,26, - 28,1611,25,23,50,1624,86,76,77,4181, - 35,967,32,1243,5830,27,30,31,836,827, - 26,28,1611,25,23,50,1624,3153,76,77, - 2135,2359,7314,7314,2772,7314,6243,7314,7314,7314, - 7314,7314,7314,7314,7314,7314,654,7314,7314,7314, - 7314,7314,228,7314,537,534,535,536,7314,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,1875, - 7314,2476,7314,2772,7314,7314,7314,7314,7314,205, - 215,3218,7314,204,212,213,214,216,588,7314, - 7314,228,7314,7314,7314,7314,1672,7314,7314,7314, - 5571,7314,206,208,210,632,637,35,808,387, - 7314,7314,7314,7314,7314,518,207,209,205,215, - 3218,7314,204,212,213,214,216,588,2541,35, - 967,32,4183,3836,27,30,31,836,827,337, - 28,206,208,210,632,7314,7314,2491,7314,49, - 7314,2772,7314,7314,218,207,209,1717,1170,7314, - 7314,7314,7314,7314,7314,3246,7314,7314,7314,228, - 7314,7314,7314,7314,708,7314,7314,7314,7314,7314, - 589,534,535,536,96,7314,7314,7314,7314,2580, - 317,891,319,2772,312,828,205,215,3218,1497, - 204,212,213,214,216,588,7314,7314,7314,7314, - 7314,228,7314,261,35,808,387,7314,7314,206, - 208,210,632,7314,7314,7314,7314,232,7314,7314, - 7314,2669,608,207,209,2772,7314,7314,205,215, - 3218,7314,204,212,213,214,216,588,250,230, - 231,7314,7314,228,7314,7314,49,7314,7314,7314, - 7314,206,208,210,632,1170,7314,7314,7314,7314, - 7314,7314,1711,2758,607,207,209,2772,7314,7314, - 205,215,3218,7314,204,212,213,214,216,588, - 1643,35,808,387,7314,228,7314,7314,7314,7314, - 7314,7314,7314,206,208,210,632,7314,7314,7314, - 7314,7314,7314,7314,7314,2847,606,207,209,2772, - 7314,7314,205,215,3218,7314,204,212,213,214, - 216,588,7314,49,7314,7314,7314,228,7314,7314, - 7314,7314,1170,7314,7314,206,208,210,632,1787, - 7314,7314,7314,7314,7314,7314,7314,2936,519,207, - 209,2772,7314,7314,205,215,3218,7314,204,212, - 213,214,216,588,7314,7314,7314,7314,7314,228, - 7314,7314,7314,7314,7314,7314,7314,206,208,210, - 632,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 303,207,209,7314,7314,7314,205,215,3218,7314, - 204,212,213,214,216,588,2808,35,967,32, - 4183,3836,27,30,31,836,827,337,28,206, - 208,210,632,1732,7314,7314,7314,2772,6243,7314, - 7314,1732,498,207,209,2772,6243,7314,261,35, - 808,387,7314,7314,7314,3427,537,534,535,536, - 7314,7314,7314,3427,537,534,535,536,7314,7314, - 7314,2448,7314,2476,7314,7314,6243,7314,317,891, - 319,2476,312,828,7314,7314,7314,3785,7314,1831, - 7314,49,7314,2051,537,534,535,536,1672,7314, - 1170,7314,330,7314,7314,7314,1672,1262,7314,7314, - 330,2476,589,534,535,536,589,534,535,536, - 7314,7314,7314,7314,7314,7314,7314,7314,3355,7314, - 4059,358,610,7314,7314,7314,1672,7314,3030,358, - 330,7314,7314,7314,7314,7314,3374,2915,2997,3355, - 341,7314,7314,610,3374,2915,2997,3355,7314,232, - 7314,610,156,232,7314,7314,877,7314,3030,7314, - 7314,341,2075,7314,7314,7314,3408,7314,7314,341, - 253,230,231,156,584,230,231,877,1979,2635, - 3355,156,7314,2075,610,877,7314,3408,7314,7314, - 7314,2075,7314,7314,7314,3408,7314,7314,7314,1979, - 2656,7314,341,167,35,808,387,1979,2780,167, - 35,808,387,7314,156,3669,7314,7314,877,610, - 7314,7314,7314,3534,2075,7314,7314,2772,3408,167, - 35,808,387,167,35,808,387,341,7314,7314, - 1979,3385,7314,7314,7314,3427,49,7314,7314,156, - 7314,7314,49,7314,7314,1170,7314,7314,7314,188, - 7314,1170,47,5956,167,35,808,387,47,7314, - 7314,1383,49,7314,7314,7314,49,2591,7314,2635, - 7314,1170,7314,7314,7314,1170,2635,7314,47,7314, - 7314,7314,47,261,35,808,387,3236,7314,7314, - 7314,3511,537,534,535,536,7314,49,7314,537, - 534,535,536,7314,7314,3127,1170,7314,7314,2476, - 71,504,7314,47,610,190,2476,261,35,808, - 387,7314,3728,7314,7314,7314,49,2635,537,534, - 535,536,341,7314,327,1170,261,35,808,387, - 7314,2419,6265,7314,156,2476,261,35,808,387, - 537,534,535,536,188,501,503,7314,5956,71, - 49,7314,7314,610,7314,7314,7314,2476,7314,1170, - 2799,7314,7314,7314,7314,7314,2389,7314,7314,49, - 7314,341,7314,7314,7314,7314,7314,7314,1170,49, - 7314,7314,3599,156,3778,1615,7314,7314,1170,3727, - 7314,7314,7314,188,7314,1787,7314,5956,7314,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 3806,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,3884, - 7314,0,1,229,696,0,500,5570,0,1, - 229,0,39,7329,0,39,7328,0,1,5668, - 0,823,1,0,39,1,7329,0,39,1, - 7328,0,1,1642,0,1,945,0,229,219, - 0,7548,223,0,7547,223,0,749,223,0, - 752,223,0,767,223,0,7919,223,0,7650, - 223,0,7649,223,0,7575,223,0,7574,223, - 0,7573,223,0,7572,223,0,7571,223,0, - 7570,223,0,7569,223,0,7568,223,0,7548, - 224,0,7547,224,0,749,224,0,752,224, - 0,767,224,0,7919,224,0,7650,224,0, - 7649,224,0,7575,224,0,7574,224,0,7573, - 224,0,7572,224,0,7571,224,0,7570,224, - 0,7569,224,0,7568,224,0,7548,225,0, - 7547,225,0,749,225,0,752,225,0,767, - 225,0,7919,225,0,7650,225,0,7649,225, - 0,7575,225,0,7574,225,0,7573,225,0, - 7572,225,0,7571,225,0,7570,225,0,7569, - 225,0,7568,225,0,767,393,0,752,393, - 0,749,393,0,283,393,0,7548,226,0, - 7547,226,0,749,226,0,752,226,0,767, - 226,0,7919,226,0,7650,226,0,7649,226, - 0,7575,226,0,7574,226,0,7573,226,0, - 7572,226,0,7571,226,0,7570,226,0,7569, - 226,0,7568,226,0,283,286,0,7548,227, - 0,7547,227,0,749,227,0,752,227,0, - 767,227,0,7919,227,0,7650,227,0,7649, - 227,0,7575,227,0,7574,227,0,7573,227, - 0,7572,227,0,7571,227,0,7570,227,0, - 7569,227,0,7568,227,0,1298,386,0,7329, - 48,0,7328,48,0,7548,587,0,7547,587, - 0,749,587,0,752,587,0,767,587,0, - 7919,587,0,7650,587,0,7649,587,0,7575, - 587,0,7574,587,0,7573,587,0,7572,587, - 0,7571,587,0,7570,587,0,7569,587,0, - 7568,587,0,7548,241,0,7547,241,0,749, - 241,0,752,241,0,767,241,0,7919,241, - 0,7650,241,0,7649,241,0,7575,241,0, - 7574,241,0,7573,241,0,7572,241,0,7571, - 241,0,7570,241,0,7569,241,0,7568,241, - 0,7918,241,0,7917,241,0,7586,241,0, - 7585,241,0,7584,241,0,7583,241,0,7582, - 241,0,7581,241,0,7580,241,0,7579,241, - 0,7578,241,0,7577,241,0,7576,241,0, - 39,241,7329,0,39,241,7328,0,7352,241, - 0,1,767,0,1,752,0,1,749,0, - 1,329,0,38,945,0,38,7329,0,38, - 7328,0,453,1693,0,439,1702,0,1298,29, - 0,7326,1,0,767,597,0,752,597,0, - 749,597,0,601,597,0,601,596,0,7377, - 75,0,7376,75,0,753,75,0,3057,75, - 0,2754,75,0,975,75,0,1750,316,0, - 1,599,0,1,443,0,457,1406,0,456, - 1601,0,35,33,0,47,37,0,500,2095, - 0,7352,1,229,0,39,1,229,0,229, - 415,0,1,1514,0,1,7918,0,1,7917, - 0,1,7586,0,1,7585,0,1,7584,0, - 1,7583,0,1,7582,0,1,7581,0,1, - 7580,0,1,7579,0,1,7578,0,1,7577, - 0,1,7576,0,1,5439,0,7329,37,0, - 7328,37,0,43,7350,0,43,37,0,2280, - 91,0,32,34,0,7322,1,0,39,945, - 0,767,599,0,752,599,0,749,599,0, - 7326,382,0,7325,382,0,767,329,0,752, - 329,0,749,329,0,1,2027,0,1,2123, - 0,229,220,0,7324,404,0,7323,404,0, - 229,414,0,3813,126,0,7326,586,382,0, - 7325,586,382,0,1,229,3061,0,7323,229, - 0,3109,229,0,7320,1,0,7319,1,0, - 237,2736,0,387,32,0,386,29,0,767, - 444,0,752,444,0,749,444,0,7352,444, - 0,329,444,0,39,444,0,7350,45,0, - 37,45,0,7326,575,382,0,7325,575,382, - 0,7326,573,382,0,7325,573,382,0,7326, - 87,382,0,7325,87,382,0,1,92,0, - 3622,229,0,10,12,0,7352,1,0,39, - 1,0,585,574,0,7919,334,0,7650,334, - 0,7649,334,0,3813,128,0,3813,127,0, - 4501,100,0,8,10,12,0,7329,2,37, - 0,7328,2,37,0,7329,36,0,7328,36, - 0,767,594,0,752,594,0,749,594,0, - 767,593,0,752,593,0,749,593,0,537, - 538,0,4414,103,0,2612,99,0,767,95, - 0,752,95,0,749,95,0,7352,95,0, - 329,95,0,39,95,0,7326,586,575,382, - 0,586,575,0,35,73,0,767,594,595, - 0,752,594,595,0,749,594,595,0,594, - 595,0,278,3174,0,3869,382,0,185,4371, - 0,8,12,0 + 190,4,126,91,91,30,30,89,89,46, + 46,39,39,190,1,1,16,16,16,16, + 16,16,16,17,17,17,15,11,11,6, + 6,6,6,6,6,2,78,78,5,5, + 12,12,60,60,149,149,150,69,69,53, + 18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,18, + 151,151,151,127,127,19,19,19,19,19, + 19,19,19,19,19,19,19,19,20,20, + 191,191,192,192,193,154,154,155,155,152, + 152,156,153,153,21,21,22,22,28,28, + 28,29,29,29,29,31,31,31,32,32, + 32,33,33,33,33,33,34,34,34,36, + 36,37,37,38,38,40,40,42,42,43, + 43,48,48,47,47,47,47,47,47,47, + 47,47,47,47,47,47,45,35,157,157, + 104,104,194,194,97,222,222,79,79,79, + 79,79,79,79,79,79,80,80,80,77, + 77,61,61,195,195,81,81,81,111,111, + 196,196,82,82,82,82,197,197,83,83, + 83,83,83,84,84,86,86,86,86,86, + 86,86,86,54,54,54,54,54,112,112, + 110,110,55,198,23,23,23,23,23,52, + 52,92,92,92,92,92,164,164,159,159, + 159,159,159,160,160,160,161,161,161,162, + 162,162,163,163,163,93,93,93,93,93, + 94,94,94,13,14,14,14,14,14,14, + 14,14,14,14,14,105,131,131,131,131, + 131,131,129,129,129,165,166,166,130,130, + 199,168,168,167,167,133,133,113,75,75, + 134,57,51,169,169,58,88,88,170,170, + 158,158,135,136,136,137,72,72,171,171, + 67,67,67,64,64,63,68,68,90,90, + 70,70,70,66,98,98,107,106,106,71, + 71,65,65,62,62,49,108,108,108,100, + 100,100,101,101,102,102,102,103,103,114, + 114,114,116,116,115,115,223,223,99,99, + 201,201,201,201,201,139,50,50,173,200, + 200,140,140,95,95,95,96,175,202,202, + 44,44,128,141,141,141,141,204,118,117, + 117,132,132,132,176,177,177,177,177,177, + 177,177,177,177,177,177,206,206,203,203, + 205,205,120,121,121,121,121,122,207,123, + 119,119,208,208,178,178,178,178,109,109, + 109,209,209,8,8,9,210,210,211,179, + 172,172,180,180,181,182,182,7,7,10, + 212,212,212,212,212,212,212,212,212,212, + 212,212,212,212,212,212,212,212,212,212, + 212,212,212,212,212,212,212,212,212,212, + 212,212,212,212,212,212,212,212,212,212, + 212,212,73,76,76,183,183,143,143,144, + 144,144,144,144,144,3,145,145,142,142, + 124,124,87,74,85,85,174,174,125,125, + 213,213,213,146,146,138,138,214,214,24, + 24,24,41,41,25,25,215,215,184,184, + 184,185,185,216,216,186,186,26,26,217, + 217,187,187,187,187,27,59,218,218,219, + 219,188,188,188,147,147,147,19,19,19, + 19,33,33,43,17,80,220,189,189,189, + 148,148,23,56,92,137,137,137,120,120, + 120,199,204,118,66,72,165,134,13,13, + 71,87,87,87,18,1575,35,2807,2806,46, + 5652,27,30,31,978,963,26,28,2801,263, + 25,23,50,1684,106,76,77,108,3707,594, + 539,540,541,2264,2331,1462,2287,2406,2371,2480, + 2916,2455,2573,2529,1303,2645,2446,2687,143,275, + 1641,2135,158,144,2790,2297,35,1097,32,4457, + 3474,27,30,31,978,963,341,28,637,35, + 898,391,4123,35,1097,32,233,3708,27,30, + 31,978,963,26,28,1570,263,25,23,50, + 1684,106,76,77,108,637,3254,236,231,232, + 2264,2331,2935,2287,2406,2371,2480,3901,2455,3640, + 276,1386,49,637,1921,1865,34,392,321,1637, + 323,1351,316,1507,5085,1107,3123,530,748,637, + 35,4713,4273,243,246,249,252,4646,2357,35, + 279,355,35,1097,32,354,887,41,30,31, + 978,963,3962,587,76,346,2278,2140,351,637, + 35,297,2741,531,2939,807,955,1433,2710,4769, + 3016,35,1097,32,2924,3708,27,30,31,978, + 963,26,28,1570,263,25,23,50,1684,106, + 76,77,108,345,2956,42,2738,1337,2264,2331, + 1616,2287,2406,2371,2480,3886,2455,2573,2529,984, + 2645,71,2687,143,358,4154,1816,520,144,3631, + 3970,594,539,540,541,1381,35,456,547,2189, + 6307,452,521,3016,35,1097,32,2924,3708,27, + 30,31,978,963,26,28,1570,263,25,23, + 50,1684,106,76,77,108,345,2214,291,2459, + 88,2264,2331,102,2287,2406,2371,2480,233,2455, + 2573,2529,1522,2645,546,2687,143,3012,1107,3123, + 520,144,3631,542,539,540,541,557,2312,245, + 231,232,1412,3154,516,521,2268,35,1097,32, + 2617,6303,27,30,31,978,963,57,28,1689, + 35,456,2238,71,6307,2689,821,1359,3016,35, + 1097,32,2924,3708,27,30,31,978,963,26, + 28,1570,263,25,23,50,1684,106,76,77, + 108,345,3280,35,279,1466,2264,2331,3250,2287, + 2406,2371,2480,2401,2455,2573,2529,516,2645,424, + 2687,143,2357,35,282,520,144,3631,2490,594, + 539,540,541,89,1616,2989,102,2171,2689,4401, + 521,3397,35,1097,32,2924,3708,27,30,31, + 978,963,26,28,1570,263,25,23,50,1684, + 106,76,77,108,345,449,2923,2955,2104,2264, + 2331,291,2287,2406,2371,2480,233,2455,2573,2529, + 2399,2645,3013,2687,143,1330,6102,71,520,144, + 3631,1359,543,539,540,541,1616,248,231,232, + 1963,5057,516,521,560,1673,3154,61,449,35, + 1097,32,3707,2054,1739,30,31,978,963,1298, + 3025,2030,3521,2689,3475,35,1097,32,1886,3708, + 27,30,31,978,963,26,28,1570,263,25, + 23,50,1684,106,76,77,108,2738,1512,453, + 2923,2955,2264,2331,1616,2287,2406,2371,2480,5061, + 2455,2573,2529,2269,2645,517,2687,143,3055,3428, + 3012,381,144,1463,3095,35,1097,32,545,3708, + 27,30,31,978,963,26,28,1570,263,25, + 23,50,1684,106,76,77,108,543,539,540, + 541,306,2264,2331,501,2287,2406,2371,2480,2073, + 2455,2573,2529,2269,2645,222,2687,143,1808,382, + 2313,381,144,4123,35,1097,32,640,3708,27, + 30,31,978,963,26,28,1570,263,25,23, + 50,1684,106,76,77,108,5085,1517,1381,35, + 281,2264,2331,678,2287,2406,2371,2480,3472,2455, + 2573,3671,2911,2610,388,637,35,1865,278,382, + 2313,637,3123,3169,35,1097,32,89,3708,27, + 30,31,978,963,26,28,1570,263,25,23, + 50,1684,106,76,77,108,2984,637,35,898, + 391,2264,2331,764,2287,2406,2371,2480,3472,2455, + 2573,2529,2269,2645,389,2687,143,44,2738,314, + 381,144,637,35,898,391,3592,1857,2454,35, + 1097,32,3479,3474,27,30,31,978,963,341, + 28,275,3319,35,1097,32,1925,3708,27,30, + 31,978,963,26,28,1570,263,25,23,50, + 1684,106,76,77,108,3201,455,1616,382,2313, + 2264,2331,4108,2287,2406,2371,2480,3856,2455,2573, + 2529,2061,2645,526,2687,143,637,35,297,555, + 144,321,1637,323,1937,316,1507,2998,2083,3582, + 1711,1920,277,1359,292,543,539,540,541,3743, + 35,1097,32,379,3708,27,30,31,978,963, + 26,28,1570,263,25,23,50,1684,106,76, + 77,108,1327,526,160,570,2128,2264,2331,734, + 2287,2406,2371,2480,2096,2455,2573,2529,2800,2645, + 3090,2687,143,919,35,399,158,144,3743,35, + 1097,32,3356,3708,27,30,31,978,963,26, + 28,1570,263,25,23,50,1684,106,76,77, + 108,2843,2796,1717,3773,2924,2264,2331,1359,2287, + 2406,2371,2480,71,2455,2573,2529,780,2645,2886, + 2687,143,527,3011,345,375,144,594,539,540, + 541,73,35,898,391,2624,35,1097,32,156, + 6303,27,30,31,978,963,56,28,553,162, + 1394,3743,35,1097,32,3130,3708,27,30,31, + 978,963,26,28,1570,263,25,23,50,1684, + 106,76,77,108,233,275,2891,2213,3790,2264, + 2331,140,2287,2406,2371,2480,2741,2455,2573,2529, + 3415,2645,3428,2687,143,251,231,232,375,144, + 2713,35,1097,32,3392,6009,27,30,31,978, + 963,59,28,3743,35,1097,32,374,3708,27, + 30,31,978,963,26,28,1570,263,25,23, + 50,1684,106,76,77,108,3855,3436,305,3467, + 828,2264,2331,2924,2287,2406,2371,2480,3225,2455, + 2573,2529,3146,2645,2012,2687,143,93,72,3202, + 375,144,3655,3319,35,1097,32,326,3708,27, + 30,31,978,963,26,28,1570,263,25,23, + 50,1684,106,76,77,108,60,330,337,3234, + 373,2264,2331,2688,2287,2406,2371,2480,4304,2455, + 2573,2529,1886,2645,3582,2687,143,1488,1359,3012, + 555,144,1616,3547,35,1097,32,5225,3708,27, + 30,31,978,963,26,28,1570,263,25,23, + 50,1684,106,76,77,108,1725,2984,508,160, + 4209,2264,2331,3356,2287,2406,2371,2480,2162,2455, + 2573,2529,371,2645,3232,2971,164,2302,3241,35, + 1097,32,1110,3708,27,30,31,978,963,26, + 28,1570,263,25,23,50,1684,106,76,77, + 108,3543,506,507,71,3310,2264,2331,2970,2287, + 2406,2371,2480,1966,2455,2573,2529,327,2645,71, + 2687,143,2054,843,329,142,144,2726,3115,3428, + 2415,324,6329,2548,3743,35,1097,32,1517,3708, + 27,30,31,978,963,26,28,1570,263,25, + 23,50,1684,106,76,77,108,543,539,540, + 541,717,2264,2331,3920,2287,2406,2371,2480,554, + 2455,2573,2529,1822,2645,302,2687,143,637,35, + 284,155,144,3743,35,1097,32,2221,3708,27, + 30,31,978,963,26,28,1570,263,25,23, + 50,1684,106,76,77,108,637,35,1865,280, + 3428,2264,2331,463,2287,2406,2371,2480,2933,2455, + 2573,2529,441,2645,393,2687,143,3102,430,3507, + 154,144,3743,35,1097,32,2357,3708,27,30, + 31,978,963,26,28,1570,263,25,23,50, + 1684,106,76,77,108,3437,566,1381,35,281, + 2264,2331,5970,2287,2406,2371,2480,446,2455,2573, + 2529,3707,2645,1431,2687,143,637,35,3853,153, + 144,3743,35,1097,32,1937,3708,27,30,31, + 978,963,26,28,1570,263,25,23,50,1684, + 106,76,77,108,3543,433,919,35,399,2264, + 2331,1317,2287,2406,2371,2480,71,2455,2573,2529, + 928,2645,2648,2687,143,922,569,2461,152,144, + 3743,35,1097,32,500,3708,27,30,31,978, + 963,26,28,1570,263,25,23,50,1684,106, + 76,77,108,637,35,1865,283,1986,2264,2331, + 299,2287,2406,2371,2480,2746,2455,2573,2529,3593, + 2645,71,2687,143,572,3237,2655,151,144,3743, + 35,1097,32,3707,3708,27,30,31,978,963, + 26,28,1570,263,25,23,50,1684,106,76, + 77,108,637,35,1865,3834,1820,2264,2331,1016, + 2287,2406,2371,2480,71,2455,2573,2529,4485,2645, + 71,2687,143,3416,5628,2054,150,144,3743,35, + 1097,32,2054,3708,27,30,31,978,963,26, + 28,1570,263,25,23,50,1684,106,76,77, + 108,3307,637,3822,182,2924,2264,2331,3673,2287, + 2406,2371,2480,71,2455,2573,2529,5668,2645,3163, + 2687,143,385,3012,3655,149,144,3743,35,1097, + 32,1446,3708,27,30,31,978,963,26,28, + 1570,263,25,23,50,1684,106,76,77,108, + 1509,35,1865,278,407,2264,2331,2273,2287,2406, + 2371,2480,2220,2455,2573,2529,462,2645,71,2687, + 143,3543,735,5517,148,144,3743,35,1097,32, + 3010,3708,27,30,31,978,963,26,28,1570, + 263,25,23,50,1684,106,76,77,108,3741, + 363,565,71,2924,2264,2331,5822,2287,2406,2371, + 2480,71,2455,2573,2529,1715,2645,71,2687,143, + 3428,2351,345,147,144,3743,35,1097,32,1201, + 3708,27,30,31,978,963,26,28,1570,263, + 25,23,50,1684,106,76,77,108,3744,637, + 3922,1865,74,2264,2331,3309,2287,2406,2371,2480, + 71,2455,2573,2529,888,2645,179,2687,143,3470, + 355,3543,146,144,3743,35,1097,32,183,3708, + 27,30,31,978,963,26,28,1570,263,25, + 23,50,1684,106,76,77,108,1509,35,1865, + 3932,3386,2264,2331,1105,2287,2406,2371,2480,71, + 2455,2573,2529,1993,2645,2054,2687,143,3388,1380, + 3543,145,144,4123,35,1097,32,1514,3708,27, + 30,31,978,963,26,28,1570,263,25,23, + 50,1684,106,76,77,108,637,35,898,391, + 584,2264,2331,3012,2287,2406,2371,2480,3582,2455, + 2573,2529,1359,2645,3543,2971,164,3743,35,1097, + 32,2895,3708,27,30,31,978,963,26,28, + 1570,263,25,23,50,1684,106,76,77,108, + 275,3310,3026,160,24,2264,2331,2727,2287,2406, + 2371,2480,6377,2455,2573,2529,51,2645,356,2687, + 143,3324,4278,1848,159,144,3743,35,1097,32, + 3753,3708,27,30,31,978,963,26,28,1570, + 263,25,23,50,1684,106,76,77,108,637, + 35,1865,3938,3510,2264,2331,551,2287,2406,2371, + 2480,342,2455,2573,2529,2054,2645,3582,2687,143, + 3428,1359,3931,583,144,3743,35,1097,32,2054, + 3708,27,30,31,978,963,26,28,1570,263, + 25,23,50,1684,106,76,77,108,984,919, + 35,399,160,2264,2331,1695,2287,2406,2371,2480, + 71,2455,2573,2529,1511,2645,199,2687,143,259, + 394,3428,140,144,430,2573,3807,35,1097,32, + 2296,3708,27,30,31,978,963,26,28,1570, + 263,25,23,50,1684,106,76,77,108,543, + 539,540,541,3751,2264,2331,328,2287,2406,2371, + 2480,165,2455,2573,2529,3202,2645,198,2687,143, + 97,4153,3197,189,144,4123,35,1097,32,1539, + 3708,27,30,31,978,963,26,28,1570,263, + 25,23,50,1684,106,76,77,108,637,35, + 898,391,562,2264,2331,1616,2287,2406,2371,2480, + 6391,2455,2573,2529,3543,2645,3947,2971,164,4123, + 35,1097,32,447,3708,27,30,31,978,963, + 26,28,1570,263,25,23,50,1684,106,76, + 77,108,434,3169,3511,71,70,2264,2331,2659, + 2287,2406,2371,2480,71,2455,2573,2529,3668,2645, + 165,2971,164,637,35,898,391,2812,4123,35, + 1097,32,426,3708,27,30,31,978,963,26, + 28,1570,263,25,23,50,1684,106,76,77, + 108,543,539,540,541,2112,2264,2331,1616,2287, + 2406,2371,2480,6403,2455,2573,2529,437,2645,3310, + 2971,164,4123,35,1097,32,296,3708,27,30, + 31,978,963,26,28,1570,263,25,23,50, + 1684,106,76,77,108,3963,384,1997,71,2934, + 2264,2331,1619,2287,2406,2371,2480,71,2455,2573, + 2529,3251,2645,2054,2971,164,637,35,898,391, + 1832,4123,35,1097,32,425,3708,27,30,31, + 978,963,26,28,1570,263,25,23,50,1684, + 106,76,77,108,594,539,540,541,2537,2264, + 2331,2986,2287,2406,2371,2480,1303,2455,2573,2529, + 436,2645,3271,2971,164,4249,35,1097,32,428, + 3708,27,30,31,978,963,26,28,1570,263, + 25,23,50,1684,106,76,77,108,396,2049, + 3707,233,430,2264,2331,383,2287,2406,2371,2480, + 1981,2455,2573,2529,98,2645,4109,2971,164,3543, + 2539,2844,254,231,232,5839,4599,4507,586,1697, + 35,1097,32,3479,4804,27,30,31,978,963, + 341,28,1217,325,542,539,540,541,71,3546, + 2984,535,1208,542,539,540,541,2713,35,1097, + 32,2475,6009,27,30,31,978,963,58,28, + 5044,2474,2703,2802,35,1097,32,2984,6009,27, + 30,31,978,963,26,28,1783,3012,514,298, + 4520,2907,321,1637,323,1783,316,1507,3543,334, + 3081,3926,4123,35,1097,32,3428,3708,27,30, + 31,978,963,26,28,1570,263,25,23,50, + 1684,106,76,77,108,3582,1975,4817,3584,1359, + 2264,2331,3543,2287,2406,2371,2480,3543,2455,2573, + 2529,527,3738,3199,4404,35,898,391,3374,2975, + 546,2189,301,2634,1277,297,2726,238,263,1954, + 160,6329,4117,3543,308,312,1069,69,594,539, + 540,541,240,263,94,2896,2053,542,539,540, + 541,2373,3480,594,539,540,541,1119,275,450, + 1981,3161,729,68,1018,543,35,898,391,1687, + 594,539,540,541,449,35,1097,32,2903,3128, + 40,30,31,978,963,233,1927,35,3431,32, + 3479,4804,27,30,31,978,963,341,28,4172, + 233,3543,543,539,540,541,236,231,232,49, + 542,539,540,541,3504,3140,71,233,1351,276, + 1074,241,231,232,3368,1315,3771,3461,1359,3582, + 1359,53,173,1359,1247,2357,4039,259,589,231, + 232,3308,243,246,249,252,4646,3275,2204,321, + 1637,323,1783,316,1507,887,334,1120,762,156, + 405,156,587,3511,160,543,539,540,541,3735, + 3900,3548,201,2939,807,955,1433,2710,4769,1409, + 4123,35,1097,32,4817,3708,27,30,31,978, + 963,26,28,1570,263,25,23,50,1684,106, + 76,77,85,2956,432,3543,4524,422,3417,4123, + 35,1097,32,1873,3708,27,30,31,978,963, + 26,28,1570,263,25,23,50,1684,106,76, + 77,108,3762,4210,3900,52,140,2264,2331,450, + 2287,2406,2371,2480,3389,3646,2475,35,1097,32, + 3728,4804,27,30,31,978,963,341,28,449, + 35,1097,32,3387,71,3669,30,31,978,963, + 542,539,540,541,1947,35,1097,32,2809,3474, + 27,30,31,978,963,341,28,5803,71,3963, + 3012,3024,1359,3044,35,1097,32,3479,3474,27, + 30,31,978,963,341,28,3963,3146,3446,321, + 1637,323,1783,317,1507,3707,335,542,539,540, + 541,95,830,156,2897,3920,71,1733,3503,1975, + 3242,2924,234,2275,5072,2901,354,318,1177,323, + 3543,1733,336,337,3428,2924,348,2278,2140,351, + 3655,529,543,539,540,541,321,1637,323,3165, + 316,1507,3543,6220,3655,3926,4123,35,1097,32, + 380,3708,27,30,31,978,963,26,28,1570, + 263,25,23,50,1684,106,76,77,108,353, + 202,3404,3236,3429,2264,2331,1734,2287,2406,2371, + 3614,3771,71,3146,288,615,5118,1528,35,1097, + 32,3479,3474,27,30,31,978,963,341,28, + 542,539,540,541,3608,4645,362,358,308,312, + 1069,542,539,540,541,535,156,2617,3736,337, + 362,3272,3042,3057,357,660,2180,180,5072,354, + 3463,3960,535,3716,71,4042,3042,3057,2924,346, + 2278,2140,351,1687,1694,71,3776,3712,1258,3618, + 321,1637,323,3777,316,1507,3577,345,196,3926, + 4123,35,1097,32,3596,3708,27,30,31,978, + 963,26,28,1570,263,25,23,50,1684,106, + 76,77,108,3631,3840,3899,3903,3465,2264,2331, + 3543,2287,2406,3615,2177,2269,2822,4123,35,1097, + 32,2649,3708,27,30,31,978,963,26,28, + 1570,263,25,23,50,1684,106,76,77,108, + 575,3382,309,312,1069,2264,2331,3541,2287,2406, + 3633,2386,35,3431,32,3479,3474,27,30,31, + 978,963,341,28,543,35,898,391,1199,2539, + 3012,614,2313,3012,5839,3893,539,540,541,2124, + 35,3431,32,3479,3474,27,30,31,978,963, + 341,28,3562,542,539,540,541,3707,6339,197, + 3543,3639,3543,542,539,540,541,3543,49,1975, + 2475,3543,1975,1332,321,1637,323,1351,316,1507, + 3562,71,1362,762,1168,3080,637,35,898,391, + 544,378,564,2306,528,1783,3675,563,3428,334, + 2269,90,321,1637,323,71,316,1507,739,615, + 927,762,2919,35,3431,32,3479,3474,27,30, + 31,978,963,341,28,3838,1115,4913,345,2924, + 435,4902,422,3417,3708,2269,3893,539,540,541, + 156,2535,3505,283,200,1998,289,615,345,2549, + 2943,2638,1952,3562,3631,534,614,2313,71,5286, + 422,3417,3203,2179,2385,4259,229,2917,140,542, + 539,540,541,2269,3631,321,1637,323,156,316, + 1507,3011,1975,4618,762,4394,1331,537,2180,180, + 823,614,2313,204,216,3184,3576,203,213,214, + 215,217,593,376,169,2208,35,1097,32,4457, + 3474,27,30,31,978,963,341,28,3310,3428, + 168,3617,183,167,170,171,172,173,174,614, + 2313,2511,4902,422,3417,4123,35,1097,32,3146, + 3708,27,30,31,978,963,26,28,1570,263, + 25,23,50,1684,106,76,77,108,1642,35, + 898,391,3543,2264,2331,409,2287,3558,321,1637, + 323,354,316,1507,332,337,71,3414,3778,3543, + 4074,346,2278,2140,351,3836,71,71,3538,344, + 2685,4170,352,71,3774,354,71,3199,665,189, + 3216,3870,49,3290,2370,346,2278,2140,351,576, + 1104,1351,3012,3394,4123,35,1097,32,1589,3708, + 27,30,31,978,963,26,28,1570,263,25, + 23,50,1684,106,76,77,108,395,3919,4306, + 3276,430,2264,2331,1347,2287,3560,4123,35,1097, + 32,1975,3708,27,30,31,978,963,26,28, + 1570,263,25,23,50,1684,106,76,77,108, + 549,3428,3966,378,3543,2264,2331,3543,2287,3576, + 4123,35,1097,32,3839,3708,27,30,31,978, + 963,26,28,1570,263,25,23,50,1684,106, + 76,77,108,3841,3531,3684,368,3726,2264,2331, + 2214,2287,3591,4123,35,1097,32,1434,3708,27, + 30,31,978,963,26,28,1570,263,25,23, + 50,1684,106,76,77,108,731,35,898,391, + 558,2264,2331,2563,2287,3599,4123,35,1097,32, + 3584,3708,27,30,31,978,963,26,28,1570, + 263,25,23,50,1684,106,76,77,108,1, + 3638,3902,3806,615,2264,2331,2303,2287,3601,3543, + 49,3543,3711,3543,3906,2828,3251,4025,3965,1351, + 4168,986,229,3835,3971,4277,47,4092,7423,2924, + 542,539,540,541,156,769,4553,7423,1975,3956, + 3428,454,71,4455,2180,180,1359,1743,345,204, + 216,3184,7423,203,213,214,215,217,593,3543, + 169,2741,35,1097,32,6255,3474,27,30,31, + 978,963,341,28,1666,2269,168,156,184,167, + 170,171,172,173,174,7423,223,4112,181,4518, + 3428,353,4123,35,1097,32,7423,3708,27,30, + 31,978,963,26,28,1570,263,25,23,50, + 1684,106,76,77,108,2634,35,297,3543,1957, + 2264,2331,3543,3602,321,1637,323,559,316,1507, + 7423,614,2313,1711,7423,7423,193,7423,7423,542, + 539,540,541,542,539,540,541,7423,4581,7423, + 7423,354,3737,7423,234,7423,1018,867,7423,7423, + 1018,346,2278,2140,351,4123,35,1097,32,3712, + 3708,27,30,31,978,963,26,28,1570,263, + 25,23,50,1684,106,76,77,108,637,35, + 898,391,3543,2264,2331,7423,3613,3610,35,1097, + 32,3543,3708,27,30,31,978,963,26,28, + 1570,263,25,23,50,1684,106,76,77,107, + 377,3543,67,71,615,3146,3543,1359,4039,7423, + 7423,66,49,3543,1647,445,2269,459,2924,5884, + 7423,1351,7423,229,7423,7423,7423,7423,1506,1120, + 234,65,3543,1639,7423,156,64,229,156,1975, + 3743,337,7423,55,7423,2180,180,7423,4121,7423, + 204,216,3184,7423,203,213,214,215,217,593, + 7423,169,54,471,2068,410,6230,615,7423,2539, + 3543,71,614,2313,5839,1359,7423,168,7423,3754, + 167,170,171,172,173,174,229,411,412,413, + 645,7423,7423,542,539,540,541,3543,156,7423, + 101,3146,1975,7423,7423,7423,156,7423,2180,180, + 2475,3543,7423,204,216,3184,4141,203,213,214, + 215,217,593,2215,169,7423,565,4010,71,2830, + 615,7423,1359,2459,5839,1783,3746,337,3543,334, + 168,3200,178,167,170,171,172,173,174,229, + 7423,7423,7423,542,539,540,541,542,539,540, + 541,156,7423,156,3543,1975,3575,4583,3483,7423, + 2475,2180,180,4146,2617,7423,204,216,3184,7423, + 203,213,214,215,217,593,7423,169,71,659, + 414,416,1359,615,4707,1783,533,7423,7423,335, + 7423,7423,7423,168,7423,176,167,170,171,172, + 173,174,229,7423,7423,7423,7423,638,7423,354, + 5658,7423,71,156,156,7423,1359,7423,1975,348, + 2278,2140,351,2429,2180,180,7423,7423,7423,204, + 216,3184,7423,203,213,214,215,217,593,7423, + 169,2595,753,7423,2539,7423,615,156,2661,5839, + 7423,825,35,898,391,7423,168,4237,585,167, + 170,171,172,173,174,229,7423,7423,542,539, + 540,541,542,539,540,541,7423,156,7423,7423, + 7423,1975,7423,7423,7423,2475,7423,2180,180,2988, + 7423,7423,204,216,3184,49,203,213,214,215, + 217,593,7423,169,1351,847,7423,2539,7423,615, + 1783,47,5839,7423,334,7423,7423,7423,7423,168, + 1058,177,167,170,171,172,173,174,229,7423, + 7423,542,539,540,541,3467,7423,7423,7423,2924, + 156,7423,4269,7423,1975,7423,7423,7423,2475,7423, + 2180,180,7423,7423,7423,204,216,3184,3655,203, + 213,214,215,217,593,7423,169,7423,941,7423, + 2361,7423,615,1783,3129,5839,7423,334,7423,71, + 7423,7423,168,2924,187,167,170,171,172,173, + 174,229,7423,7423,542,539,540,541,542,539, + 540,541,345,156,7423,3156,7423,1975,7423,7423, + 7423,2475,7423,2180,180,3051,7423,7423,204,216, + 3184,7423,203,213,214,215,217,593,3631,169, + 7423,1035,7423,1840,508,615,1783,7423,5839,7423, + 4520,2851,71,7423,7423,168,2924,3941,167,170, + 171,172,173,174,229,7423,7423,542,539,540, + 541,7423,7423,7423,7423,345,156,7423,7423,7423, + 1975,7423,7423,7423,2475,7423,2180,180,505,507, + 7423,204,216,3184,7423,203,213,214,215,217, + 593,3631,169,7423,1129,7423,1334,7423,615,1783, + 7423,2747,7423,335,2871,7423,7423,7423,168,7423, + 192,167,170,171,172,173,174,229,3058,7423, + 542,539,540,541,96,542,539,540,541,156, + 7423,7423,7423,1975,7423,7423,7423,1123,7423,2180, + 180,7423,2475,7423,204,216,3184,7423,203,213, + 214,215,217,593,7423,169,7423,1223,7423,2747, + 7423,615,7423,1849,7423,7423,7423,331,71,7423, + 7423,168,2924,186,167,170,171,172,173,174, + 229,7423,7423,542,539,540,541,542,539,540, + 541,345,156,7423,7423,7423,1975,7423,7423,7423, + 2475,7423,2180,180,2617,7423,7423,204,216,3184, + 7423,203,213,214,215,217,593,3631,169,4457, + 35,898,391,7423,2975,2460,7423,7423,7423,7423, + 2880,7423,239,263,168,7423,195,167,170,171, + 172,173,174,594,539,540,541,7423,71,7423, + 7423,7423,2924,7423,543,35,898,391,7423,7423, + 3091,1046,7423,275,615,7423,7423,1399,35,1097, + 32,345,4804,27,30,31,978,963,341,28, + 3091,2604,7423,345,615,7423,7423,7423,7423,7423, + 233,542,539,540,541,156,7423,3631,49,1975, + 5646,7423,7423,345,7423,2324,7423,1351,2475,3631, + 3824,237,231,232,5065,156,7423,7423,7423,1975, + 7423,2280,2231,2306,276,2324,7423,7423,7423,3631, + 321,1637,323,1783,319,1507,7423,335,7423,7423, + 7423,2280,2564,7423,7423,7423,7423,244,247,250, + 253,4646,3348,7423,7423,7423,7423,2815,7423,7423, + 887,7423,7423,1399,35,1097,32,588,4804,27, + 30,31,978,963,341,28,542,539,540,541, + 7423,542,539,540,541,7423,7423,542,539,540, + 541,7423,7423,3238,7423,7423,7423,7423,2475,7423, + 4123,35,1097,32,5803,3708,27,30,31,978, + 963,26,28,1570,263,25,23,50,1684,106, + 76,77,83,2972,7423,7423,321,1637,323,1783, + 317,1507,7423,335,4123,35,1097,32,7423,3708, + 27,30,31,978,963,26,28,1570,263,25, + 23,50,1684,106,76,77,108,7423,7423,7423, + 7423,7423,2264,3451,4123,35,1097,32,7423,3708, + 27,30,31,978,963,26,28,1570,263,25, + 23,50,1684,106,76,77,108,7423,7423,7423, + 7423,7423,2264,3457,1812,35,1097,32,3479,3474, + 27,30,31,978,963,341,28,825,35,898, + 391,543,35,898,391,3203,7423,7423,543,539, + 540,541,1528,35,1097,32,3479,3474,27,30, + 31,978,963,341,28,637,35,898,391,542, + 539,540,541,7423,7423,7423,543,539,540,541, + 7423,49,7423,7423,7423,49,2475,321,1637,323, + 1351,316,1507,7423,1351,7423,4398,47,4281,7423, + 7423,47,2924,7423,7423,7423,972,7423,7423,49, + 1788,2972,7423,7423,7423,321,1637,323,46,316, + 1507,3655,7423,2984,4398,4123,35,1097,32,7423, + 3708,27,30,31,978,963,26,28,1570,263, + 25,23,50,1684,106,76,77,108,7423,4123, + 35,1097,32,3478,3708,27,30,31,978,963, + 26,28,1570,263,25,23,50,1684,106,76, + 77,108,7423,4123,35,1097,32,3523,3708,27, + 30,31,978,963,26,28,1570,263,25,23, + 50,1684,106,76,77,108,2007,508,7423,7423, + 2924,3532,7423,7423,7423,1013,35,898,391,7423, + 7423,7423,7423,7423,7423,4123,35,1097,32,229, + 3708,27,30,31,978,963,26,28,1570,263, + 25,23,50,1684,106,76,77,82,7423,7423, + 3091,505,507,7423,615,7423,206,216,3184,49, + 205,213,214,215,217,593,7423,7423,1351,7423, + 7423,7423,7423,345,7423,47,3352,7423,7423,207, + 209,211,645,7423,1336,156,7423,7423,7423,1975, + 7423,3936,218,208,210,2324,7423,7423,7423,3631, + 542,539,540,541,7423,7423,7423,7423,7423,7423, + 7423,2280,2799,7423,7423,7423,13,3051,5907,4123, + 35,1097,32,7423,3708,27,30,31,978,963, + 26,28,1570,263,25,23,50,1684,106,76, + 77,81,4123,35,1097,32,7423,3708,27,30, + 31,978,963,26,28,1570,263,25,23,50, + 1684,106,76,77,80,4123,35,1097,32,7423, + 3708,27,30,31,978,963,26,28,1570,263, + 25,23,50,1684,106,76,77,79,7423,7423, + 7423,7423,4123,35,1097,32,619,3708,27,30, + 31,978,963,26,28,1570,263,25,23,50, + 1684,106,76,77,78,4123,1921,1097,2091,7423, + 3708,27,30,31,978,963,26,28,1570,263, + 25,23,50,1684,106,76,77,84,3678,35, + 1097,32,7423,3708,27,30,31,978,963,26, + 28,1570,263,25,23,50,1684,106,76,77, + 104,4123,35,1097,32,7423,3708,27,30,31, + 978,963,26,28,1570,263,25,23,50,1684, + 106,76,77,110,4123,35,1097,32,7423,3708, + 27,30,31,978,963,26,28,1570,263,25, + 23,50,1684,106,76,77,109,4123,35,1097, + 32,7423,3708,27,30,31,978,963,26,28, + 1570,263,25,23,50,1684,106,76,77,105, + 3871,35,1097,32,7423,3708,27,30,31,978, + 963,26,28,1570,263,25,23,50,1684,590, + 76,77,3934,35,1097,32,7423,3708,27,30, + 31,978,963,26,28,1570,263,25,23,50, + 1684,579,76,77,3997,35,1097,32,7423,3708, + 27,30,31,978,963,26,28,1570,263,25, + 23,50,1684,577,76,77,4060,35,1097,32, + 7423,3708,27,30,31,978,963,26,28,1570, + 263,25,23,50,1684,86,76,77,2226,7423, + 7423,7423,2924,7423,7423,7423,7423,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,919,35,2079,3306, + 7423,229,2374,35,898,391,7423,7423,1762,7423, + 7423,7423,2924,5884,7423,7423,7423,7423,2315,7423, + 7423,7423,2924,7423,7423,7423,7423,7423,206,216, + 3184,229,205,213,214,215,217,593,71,7423, + 49,229,2924,7423,7423,7423,49,7423,7423,1351, + 7423,207,209,211,645,1351,739,7423,2068,410, + 6230,345,2752,3091,218,208,210,615,206,216, + 3184,1247,205,213,214,215,217,593,7423,7423, + 7423,411,412,413,645,7423,345,3631,1062,7423, + 5907,207,209,211,645,7423,7423,7423,156,7423, + 512,7423,1975,7423,218,208,210,7423,2324,7423, + 7423,7423,3631,869,7423,7423,7423,2215,7423,7423, + 7423,7423,7423,7423,2280,2878,7423,7423,1881,7423, + 5907,4186,35,1097,32,7423,3708,27,30,31, + 978,963,26,28,1570,263,25,23,50,1684, + 3335,76,77,2187,35,1097,32,7423,3474,27, + 30,31,978,963,341,28,7423,7423,7423,7423, + 7423,7423,2404,2747,7423,7423,2924,543,539,540, + 541,7423,7423,7423,414,417,7423,7423,7423,637, + 35,898,391,7423,7423,229,7423,542,539,540, + 541,7423,71,7423,7423,7423,2924,7423,7423,7423, + 7423,7423,7423,7423,2475,2137,321,1637,323,2924, + 605,1507,206,216,3184,345,205,213,214,215, + 217,593,7423,49,637,35,898,391,229,3375, + 7423,7423,1351,7423,7423,207,209,211,645,4907, + 7423,3631,7423,7423,7423,7423,7423,1877,218,208, + 210,2924,7423,7423,510,206,216,3184,7423,205, + 213,214,215,217,593,71,7423,7423,49,2924, + 229,7423,2780,7423,5907,7423,7423,1351,207,209, + 211,645,7423,7423,2515,7423,2493,7423,345,7423, + 2924,522,208,210,7423,7423,7423,206,216,3184, + 7423,205,213,214,215,217,593,7423,7423,229, + 637,35,898,391,3631,7423,7423,7423,7423,7423, + 207,209,211,645,7423,2582,7423,538,7423,2924, + 7423,7423,7423,219,208,210,206,216,3184,7423, + 205,213,214,215,217,593,7423,7423,229,637, + 35,898,391,7423,49,7423,7423,7423,7423,207, + 209,211,645,1351,2671,7423,7423,7423,2924,7423, + 952,7423,613,208,210,206,216,3184,7423,205, + 213,214,215,217,593,7423,7423,229,7423,7423, + 7423,7423,7423,49,7423,7423,7423,7423,207,209, + 211,645,1351,2760,7423,7423,7423,2924,7423,1589, + 7423,612,208,210,206,216,3184,7423,205,213, + 214,215,217,593,7423,7423,229,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,7423,207,209,211, + 645,7423,2849,7423,7423,7423,2924,7423,7423,7423, + 611,208,210,206,216,3184,7423,205,213,214, + 215,217,593,7423,7423,229,7423,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,207,209,211,645, + 7423,2938,7423,7423,7423,2924,7423,7423,7423,523, + 208,210,206,216,3184,7423,205,213,214,215, + 217,593,7423,7423,229,7423,7423,7423,7423,7423, + 7423,7423,7423,7423,7423,207,209,211,645,7423, + 7423,7423,7423,7423,7423,7423,7423,7423,307,208, + 210,206,216,3184,7423,205,213,214,215,217, + 593,2988,35,1097,32,3479,3474,27,30,31, + 978,963,341,28,207,209,211,645,7423,7423, + 2652,7423,7423,7423,2924,5839,7423,502,208,210, + 3123,35,1097,32,2996,3474,27,30,31,978, + 963,341,28,3655,542,539,540,541,7423,7423, + 7423,7423,3091,7423,7423,2652,615,7423,7423,2924, + 5839,2475,7423,7423,321,1637,323,7423,316,1507, + 7423,7423,7423,3937,7423,345,406,7423,3655,542, + 539,540,541,7423,7423,7423,1783,156,3091,7423, + 334,1975,615,318,1177,323,2475,2324,7423,7423, + 7423,3631,7423,825,35,898,391,543,35,898, + 391,345,7423,2280,2912,7423,7423,7423,4269,362, + 7423,1783,7423,156,7423,334,7423,1975,7423,543, + 35,898,391,2324,3827,3042,3057,3631,7423,3772, + 7423,7423,7423,615,7423,7423,7423,49,7423,2280, + 3929,49,7423,3156,362,7423,1351,7423,7423,7423, + 1351,7423,345,2779,71,7423,7423,47,615,3827, + 3042,3057,1461,49,156,7423,1272,543,35,898, + 391,7423,1351,7423,188,7423,7423,345,6201,47, + 7423,543,35,898,391,7423,71,7423,2548,156, + 615,660,7423,543,35,898,391,7423,7423,188, + 7423,7423,7423,6201,7423,7423,7423,7423,7423,345, + 71,49,7423,7423,615,7423,7423,7423,7423,7423, + 1351,156,7423,7423,7423,49,7423,47,7423,7423, + 7423,188,7423,345,1351,6201,2613,49,7423,7423, + 190,47,7423,7423,7423,156,1351,7423,7423,7423, + 2706,7423,7423,47,7423,188,7423,7423,7423,6201, + 7423,7423,3536,7423,7423,3933,7423,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,7423,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,7423,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,7423,3979,7423,7423, + 7423,7423,7423,7423,7423,7423,7423,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,7423,7423,7423,7423, + 7423,4038,7423,7423,7423,3821,7423,0,1,230, + 1035,0,504,5865,0,1,230,0,39,7438, + 0,39,7437,0,1,1278,0,751,1,0, + 39,1,7438,0,39,1,7437,0,1,3945, + 0,1,723,0,230,220,0,7658,224,0, + 7657,224,0,824,224,0,841,224,0,884, + 224,0,8033,224,0,7763,224,0,7762,224, + 0,7685,224,0,7684,224,0,7683,224,0, + 7682,224,0,7681,224,0,7680,224,0,7679, + 224,0,7678,224,0,7658,225,0,7657,225, + 0,824,225,0,841,225,0,884,225,0, + 8033,225,0,7763,225,0,7762,225,0,7685, + 225,0,7684,225,0,7683,225,0,7682,225, + 0,7681,225,0,7680,225,0,7679,225,0, + 7678,225,0,7658,226,0,7657,226,0,824, + 226,0,841,226,0,884,226,0,8033,226, + 0,7763,226,0,7762,226,0,7685,226,0, + 7684,226,0,7683,226,0,7682,226,0,7681, + 226,0,7680,226,0,7679,226,0,7678,226, + 0,884,397,0,841,397,0,824,397,0, + 285,397,0,7658,227,0,7657,227,0,824, + 227,0,841,227,0,884,227,0,8033,227, + 0,7763,227,0,7762,227,0,7685,227,0, + 7684,227,0,7683,227,0,7682,227,0,7681, + 227,0,7680,227,0,7679,227,0,7678,227, + 0,285,290,0,7658,228,0,7657,228,0, + 824,228,0,841,228,0,884,228,0,8033, + 228,0,7763,228,0,7762,228,0,7685,228, + 0,7684,228,0,7683,228,0,7682,228,0, + 7681,228,0,7680,228,0,7679,228,0,7678, + 228,0,1443,390,0,7438,48,0,7437,48, + 0,7658,592,0,7657,592,0,824,592,0, + 841,592,0,884,592,0,8033,592,0,7763, + 592,0,7762,592,0,7685,592,0,7684,592, + 0,7683,592,0,7682,592,0,7681,592,0, + 7680,592,0,7679,592,0,7678,592,0,7658, + 242,0,7657,242,0,824,242,0,841,242, + 0,884,242,0,8033,242,0,7763,242,0, + 7762,242,0,7685,242,0,7684,242,0,7683, + 242,0,7682,242,0,7681,242,0,7680,242, + 0,7679,242,0,7678,242,0,7697,242,0, + 7696,242,0,7695,242,0,7694,242,0,7693, + 242,0,7692,242,0,7691,242,0,7690,242, + 0,7689,242,0,7688,242,0,7687,242,0, + 8032,242,0,8031,242,0,39,242,7438,0, + 39,242,7437,0,7461,242,0,1,884,0, + 1,841,0,1,824,0,1,333,0,38, + 723,0,38,7438,0,38,7437,0,457,1729, + 0,443,1926,0,1443,29,0,7435,1,0, + 884,602,0,841,602,0,824,602,0,606, + 602,0,606,601,0,7486,75,0,7485,75, + 0,906,75,0,1465,75,0,1634,75,0, + 3198,75,0,1981,320,0,1,604,0,1, + 447,0,461,1732,0,460,2035,0,35,33, + 0,47,37,0,504,2229,0,7461,1,230, + 0,39,1,230,0,230,419,0,1,1317, + 0,1,7697,0,1,7696,0,1,7695,0, + 1,7694,0,1,7693,0,1,7692,0,1, + 7691,0,1,7690,0,1,7689,0,1,7688, + 0,1,7687,0,1,8032,0,1,8031,0, + 1,5562,0,7438,37,0,7437,37,0,43, + 7459,0,43,37,0,1037,91,0,32,34, + 0,7431,1,0,39,723,0,884,604,0, + 841,604,0,824,604,0,7435,386,0,7434, + 386,0,884,333,0,841,333,0,824,333, + 0,1,1403,0,1,1916,0,230,221,0, + 7433,408,0,7432,408,0,230,418,0,3863, + 126,0,7435,591,386,0,7434,591,386,0, + 1,230,3218,0,7432,230,0,3231,230,0, + 7429,1,0,7428,1,0,238,1349,0,391, + 32,0,390,29,0,884,448,0,841,448, + 0,824,448,0,7461,448,0,333,448,0, + 39,448,0,7459,45,0,37,45,0,7435, + 580,386,0,7434,580,386,0,7435,578,386, + 0,7434,578,386,0,7435,87,386,0,7434, + 87,386,0,1,92,0,3749,230,0,10, + 12,0,7461,1,0,39,1,0,590,579, + 0,8033,338,0,7763,338,0,7762,338,0, + 3863,128,0,3863,127,0,4328,100,0,8, + 10,12,0,3921,194,0,7438,2,37,0, + 7437,2,37,0,7438,36,0,7437,36,0, + 884,599,0,841,599,0,824,599,0,884, + 598,0,841,598,0,824,598,0,542,543, + 0,3039,103,0,2755,99,0,884,95,0, + 841,95,0,824,95,0,7461,95,0,333, + 95,0,39,95,0,7435,591,580,386,0, + 591,580,0,35,73,0,884,599,600,0, + 841,599,600,0,824,599,600,0,599,600, + 0,280,2417,0,3943,386,0,185,4644,0, + 8,12,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1438,8 +1460,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 40,41,42,43,44,0,46,47,48,49, 50,51,52,53,54,55,56,57,58,59, 60,61,62,63,64,65,66,67,68,69, - 0,71,0,1,2,75,76,0,1,79, - 8,81,82,83,84,85,86,87,11,89, + 0,71,0,1,2,0,76,77,3,79, + 8,81,82,83,84,85,86,87,0,89, 90,91,92,93,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, @@ -1447,8 +1469,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 36,37,38,39,40,41,42,43,44,0, 46,47,48,49,50,51,52,53,54,55, 56,57,58,59,60,61,62,63,64,65, - 66,67,68,69,0,71,0,1,2,75, - 76,0,0,79,129,81,82,83,84,85, + 66,67,68,69,0,71,78,28,29,30, + 76,77,0,79,129,81,82,83,84,85, 86,87,0,89,90,91,92,93,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, @@ -1457,7 +1479,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 42,43,44,0,46,47,48,49,50,51, 52,53,54,55,56,57,58,59,60,61, 62,63,64,65,66,67,68,69,0,71, - 0,1,2,75,76,94,95,79,96,81, + 78,28,29,30,76,77,8,79,96,81, 82,83,84,85,86,87,0,89,90,91, 92,93,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1466,8 +1488,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 38,39,40,41,42,43,44,0,46,47, 48,49,50,51,52,53,54,55,56,57, 58,59,60,61,62,63,64,65,66,67, - 68,69,0,71,0,1,2,75,76,0, - 127,79,8,9,82,83,84,85,86,87, + 68,69,0,71,0,1,2,0,76,77, + 3,79,8,9,82,83,84,85,86,87, 0,89,90,91,92,93,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1476,8 +1498,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 44,0,46,47,48,49,50,51,52,53, 54,55,56,57,58,59,60,61,62,63, 64,65,66,67,68,69,0,71,0,1, - 2,75,76,0,8,79,8,9,82,83, - 84,85,86,87,105,89,90,91,92,93, + 2,0,76,77,3,79,8,9,82,83, + 84,85,86,87,0,89,90,91,92,93, 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, @@ -1485,8 +1507,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 40,41,42,43,44,0,46,47,48,49, 50,51,52,53,54,55,56,57,58,59, 60,61,62,63,64,65,66,67,68,69, - 0,71,0,1,2,75,76,0,127,79, - 97,98,82,83,84,85,86,87,0,89, + 0,71,0,1,2,0,76,77,3,79, + 0,105,82,83,84,85,86,87,0,89, 90,91,92,93,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, @@ -1494,8 +1516,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 36,37,38,39,40,41,42,43,44,0, 46,47,48,49,50,51,52,53,54,55, 56,57,58,59,60,61,62,63,64,65, - 66,67,68,69,0,71,0,1,2,75, - 76,0,127,79,97,98,82,83,84,85, + 66,67,68,69,0,71,0,1,2,0, + 76,77,3,79,94,95,82,83,84,85, 86,87,0,89,90,91,92,93,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, @@ -1504,7 +1526,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 42,43,44,0,46,47,48,49,50,51, 52,53,54,55,56,57,58,59,60,61, 62,63,64,65,66,67,68,69,0,71, - 0,1,2,75,76,0,0,79,97,98, + 0,1,2,0,76,77,3,79,0,11, 82,83,84,85,86,87,0,89,90,91, 92,93,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1513,8 +1535,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 38,39,40,41,42,43,44,0,46,47, 48,49,50,51,52,53,54,55,56,57, 58,59,60,61,62,63,64,65,66,67, - 68,69,0,71,0,1,2,75,76,0, - 0,79,97,98,82,83,84,85,86,87, + 68,69,0,71,0,1,2,0,76,77, + 3,79,94,95,82,83,84,85,86,87, 0,89,90,91,92,93,0,1,2,3, 4,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, @@ -1523,7 +1545,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 44,0,46,47,48,49,50,51,52,53, 54,55,56,57,58,59,60,61,62,63, 64,65,66,67,68,69,0,71,0,1, - 2,75,76,94,95,79,0,11,82,83, + 2,0,76,77,3,79,0,105,82,83, 84,85,86,87,0,89,90,91,92,93, 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, @@ -1532,7 +1554,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 40,41,42,43,44,0,46,47,48,49, 50,51,52,53,54,55,56,57,58,59, 60,61,62,63,64,65,66,67,68,69, - 0,71,0,3,29,75,76,0,0,79, + 0,71,0,1,2,0,76,77,3,79, 94,95,82,83,84,85,86,87,0,89, 90,91,92,93,0,1,2,3,4,5, 6,7,8,9,10,11,12,13,14,15, @@ -1541,8 +1563,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 36,37,38,39,40,41,42,43,44,0, 46,47,48,49,50,51,52,53,54,55, 56,57,58,59,60,61,62,63,64,65, - 66,67,68,69,0,71,94,95,4,75, - 76,94,95,79,0,0,82,83,84,85, + 66,67,68,69,0,71,0,1,2,0, + 76,77,3,79,0,130,82,83,84,85, 86,87,0,89,90,91,92,93,0,1, 2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, @@ -1551,7 +1573,7 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 42,43,44,0,46,47,48,49,50,51, 52,53,54,55,56,57,58,59,60,61, 62,63,64,65,66,67,68,69,0,71, - 0,3,0,75,76,3,0,79,94,95, + 0,97,98,3,76,77,0,79,94,95, 82,83,84,85,86,87,0,89,90,91, 92,93,0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15,16,17, @@ -1560,354 +1582,355 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 38,39,40,41,42,43,44,0,46,47, 48,49,50,51,52,53,54,55,56,57, 58,59,60,61,62,63,64,65,66,67, - 68,69,0,71,94,95,0,75,76,3, - 0,79,0,11,82,83,84,85,86,87, + 68,69,0,71,78,97,98,0,76,77, + 3,79,0,1,82,83,84,85,86,87, 0,89,90,91,92,93,0,1,2,3, 4,5,6,7,8,9,10,11,12,0, - 28,29,30,0,1,2,0,4,5,6, + 28,0,0,0,1,2,0,4,5,6, 7,5,6,7,28,29,30,31,32,33, - 34,35,36,37,38,39,40,41,0,43, - 44,3,46,47,28,29,30,31,32,33, - 34,35,36,37,38,39,40,0,45,79, - 0,1,2,67,4,0,70,77,72,73, - 74,99,100,77,78,79,80,81,0,1, - 2,3,4,5,6,7,8,9,0,80, + 34,35,36,37,38,39,40,41,29,43, + 44,0,46,47,28,29,30,31,32,33, + 34,35,36,37,38,39,40,80,45,0, + 0,1,2,67,4,0,70,0,72,73, + 74,75,13,0,78,79,80,81,0,1, + 2,3,4,5,6,7,8,9,0,1, 94,95,96,97,98,99,100,101,102,103, - 104,105,106,107,108,109,110,0,43,44, - 114,115,116,117,118,119,120,121,122,123, - 124,125,126,0,128,0,1,2,3,4, - 5,6,7,8,9,10,11,12,0,0, - 1,3,0,1,2,0,4,5,6,7, + 104,105,106,107,108,109,110,42,97,98, + 45,115,116,117,118,119,120,121,122,123, + 124,125,126,127,128,0,1,2,3,4, + 5,6,7,8,9,10,11,12,97,98, + 0,0,0,1,2,0,4,5,6,7, 5,6,7,28,29,30,31,32,33,34, - 35,36,37,38,39,40,41,28,43,44, - 82,46,47,28,29,30,31,32,33,34, - 35,36,37,38,39,40,0,45,0,1, + 35,36,37,38,39,40,41,0,43,44, + 3,46,47,28,29,30,31,32,33,34, + 35,36,37,38,39,40,45,45,0,1, 2,0,67,0,3,70,0,72,73,74, - 77,10,77,78,79,80,81,0,1,2, - 3,4,5,6,7,8,9,0,80,94, + 75,10,0,78,79,80,81,0,1,2, + 3,4,5,6,7,8,9,0,0,94, 95,96,97,98,99,100,101,102,103,104, - 105,106,107,108,109,110,43,44,42,114, + 105,106,107,108,109,110,43,44,42,72, 115,116,117,118,119,120,121,122,123,124, - 125,126,0,128,0,1,2,3,4,5, + 125,126,127,128,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,0,42,43,44,0, + 36,37,38,39,40,0,42,43,44,4, 46,47,48,49,50,51,52,53,54,55, 56,57,58,59,60,61,62,63,64,65, - 103,104,0,1,2,71,0,1,2,3, + 0,0,1,2,106,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,26,27,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,0,1, - 2,45,4,78,0,49,0,1,2,3, + 2,45,4,0,0,49,0,1,2,3, 4,5,6,7,8,9,12,11,12,63, - 64,65,66,0,68,69,0,75,76,0, - 74,5,6,7,5,6,7,81,0,0, - 1,0,1,2,88,4,5,6,7,10, - 0,10,11,12,28,29,30,31,32,33, - 34,35,36,37,38,39,40,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,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,73,0,73,45,78,0,0,49, - 0,1,2,3,4,5,6,7,8,9, - 13,11,12,63,64,65,66,96,68,69, - 0,28,29,30,74,5,6,7,0,1, - 2,81,4,5,6,7,0,0,88,11, - 12,4,5,6,7,0,1,0,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,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,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,37,38,39,40,41,70,0,0,45, - 74,4,0,49,0,1,2,3,4,5, - 6,7,8,9,77,11,12,63,64,65, - 66,0,68,69,0,1,2,3,4,0, - 0,0,8,9,0,81,5,6,7,5, - 6,7,88,45,0,14,15,16,17,18, - 19,20,21,22,23,24,25,26,0,28, + 64,65,66,0,68,69,0,76,77,79, + 74,5,6,7,0,1,2,81,4,5, + 6,7,0,0,88,11,12,4,5,6, + 7,0,10,0,28,29,30,31,32,33, + 34,35,36,37,38,39,40,0,112,113, + 114,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,43,44,0,0,1,2,74,4, - 5,6,7,129,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,45, - 0,0,74,49,8,5,6,7,0,1, - 2,0,4,5,6,7,0,63,64,65, - 66,130,68,69,80,111,112,113,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,45,88,0,1,2,45,4,5,6, - 7,0,108,42,11,12,0,1,2,115, - 116,117,118,119,120,121,122,123,124,125, - 0,1,2,3,4,5,6,7,8,9, - 0,11,12,129,0,1,2,3,4,5, + 39,40,41,0,111,73,45,0,1,2, + 49,0,1,2,3,4,5,6,7,8, + 9,0,11,12,63,64,65,66,96,68, + 69,0,11,12,0,74,5,6,7,0, + 1,2,81,4,5,6,7,0,0,88, + 11,12,45,5,6,7,0,10,0,28, + 29,30,31,32,33,34,35,36,37,38, + 39,40,0,112,113,114,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,70,0, + 73,45,75,4,0,49,0,1,2,3, + 4,5,6,7,8,9,80,11,12,63, + 64,65,66,0,68,69,0,1,2,3, + 4,0,80,0,8,9,0,81,5,6, + 7,5,6,7,88,0,42,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 0,28,29,30,31,32,33,34,35,36, + 37,38,39,40,43,44,0,0,1,2, + 74,4,5,6,7,129,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,45,0,0,74,49,8,5,6,7, + 0,1,2,10,4,5,6,7,0,63, + 64,65,66,0,68,69,80,112,113,114, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,45,88,0,1,2,0,4, + 5,6,7,0,108,0,11,12,5,6, + 7,0,116,117,118,119,120,121,122,123, + 124,125,126,0,1,2,3,4,5,6, + 7,8,9,0,0,129,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,45, + 127,45,0,1,2,49,0,1,2,3, + 4,5,6,7,8,9,0,74,0,63, + 64,65,66,0,68,69,70,0,1,2, + 3,4,0,0,1,8,9,10,107,0, + 0,43,44,10,88,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, + 45,4,0,1,49,8,9,0,75,72, + 73,78,75,11,72,78,73,80,63,64, + 65,66,72,68,69,0,0,1,2,3, + 4,0,0,96,8,9,81,5,6,7, + 0,0,45,88,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,45, - 0,75,76,49,0,1,2,3,4,5, - 6,7,8,9,74,0,0,63,64,65, - 66,0,68,69,70,0,1,2,3,4, - 80,0,0,8,9,10,5,6,7,0, + 0,1,2,49,4,5,6,7,72,0, + 0,11,12,0,1,2,75,63,64,65, + 66,70,68,69,0,0,1,2,3,4, + 5,6,7,8,9,81,11,12,103,104, 0,45,88,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,45,0, - 1,2,49,4,5,6,7,72,73,0, - 11,12,77,78,72,80,63,64,65,66, - 0,68,69,0,0,1,2,3,4,0, - 0,96,8,9,81,5,6,7,107,10, + 37,38,39,40,41,0,1,2,45,76, + 77,82,49,0,1,2,3,4,0,74, + 0,8,9,5,6,7,63,64,65,66, + 70,68,69,0,0,1,2,3,4,5, + 6,7,8,9,81,11,12,103,104,0, 45,88,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,45,0,1, - 2,49,4,5,6,7,72,77,78,11, - 12,0,73,74,0,63,64,65,66,0, - 68,69,3,0,1,2,3,4,5,6, - 7,8,9,81,11,12,103,104,0,45, + 38,39,40,41,0,75,0,45,0,0, + 4,49,4,5,6,7,72,0,0,11, + 12,78,5,6,7,63,64,65,66,70, + 68,69,0,1,2,3,4,5,6,7, + 8,9,0,11,12,0,0,5,6,7, 88,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,45,0,77,78, - 49,4,5,6,7,72,0,0,11,12, - 3,5,6,7,63,64,65,66,70,68, - 69,0,0,1,2,3,4,5,6,7, - 8,9,81,11,12,0,0,0,45,88, + 39,40,41,0,1,2,45,4,94,95, + 49,8,9,0,1,2,74,0,5,6, + 7,0,94,95,63,64,65,66,0,68, + 69,0,1,2,0,4,5,6,7,0, + 0,10,11,12,10,5,6,7,45,88, 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,45,0,0,0,49, - 0,1,2,3,4,0,74,10,8,9, - 5,6,7,63,64,65,66,70,68,69, - 0,1,2,3,4,5,6,7,0,1, - 2,11,12,5,6,7,0,45,88,0, + 40,41,0,1,2,45,4,0,70,49, + 8,9,74,0,73,0,0,73,74,4, + 4,94,95,63,64,65,66,0,68,69, + 0,1,2,3,4,0,0,96,8,9, + 10,5,6,7,0,10,31,31,88,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,45,4,0,0,49,8, - 9,0,72,0,0,0,5,6,7,5, - 6,7,63,64,65,66,70,68,69,0, - 1,2,3,4,5,6,7,8,9,0, - 0,0,3,126,3,0,45,88,0,1, + 41,0,1,2,45,4,0,70,49,8, + 9,0,72,73,0,0,5,6,7,5, + 6,7,63,64,65,66,81,68,69,0, + 1,2,3,4,5,6,7,112,113,114, + 11,12,0,0,0,3,3,88,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,45,4,80,0,49,8,9, - 0,1,2,74,4,0,0,0,8,9, - 3,63,64,65,66,0,68,69,0,1, + 0,1,2,45,0,0,0,49,3,3, + 0,72,0,3,0,11,0,5,6,7, + 0,63,64,65,66,0,68,69,0,1, 2,3,4,5,6,7,8,9,13,0, - 0,0,0,4,3,45,88,0,1,2, + 0,0,0,0,0,45,88,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,72, - 0,66,45,3,78,80,49,0,1,2, - 3,4,74,0,0,8,9,4,0,70, - 63,64,65,66,0,68,69,0,1,2, - 3,4,0,0,10,8,9,10,5,6, - 7,0,10,0,31,88,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,70,0, - 0,45,0,0,80,49,78,73,0,72, - 73,77,10,70,11,73,0,0,10,63, - 64,65,66,0,68,69,3,11,0,101, - 102,0,0,10,111,112,113,109,110,11, - 12,10,10,41,88,0,1,2,3,4, - 5,6,7,8,9,10,11,12,13,14, + 33,34,35,36,37,38,39,40,41,45, + 70,66,45,0,78,0,49,0,1,2, + 3,4,74,99,100,8,9,0,1,2, + 63,64,65,66,72,68,69,10,75,0, + 0,0,0,3,0,0,1,2,3,4, + 10,10,10,8,9,88,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,70,0,81, - 45,0,4,0,49,72,73,0,1,2, - 77,78,99,100,73,73,106,10,63,64, - 65,66,0,68,69,99,100,5,6,7, - 0,1,0,0,1,2,3,4,96,0, - 10,8,9,88,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,0,1,2,3,4,5,6,7,8, - 9,10,42,0,67,42,43,44,77,46, - 47,48,0,50,51,52,53,54,55,56, - 57,58,59,60,61,62,0,0,1,2, - 0,4,41,73,71,8,9,0,75,76, - 78,78,0,1,2,3,4,10,45,0, - 8,9,10,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 0,1,2,3,4,0,0,0,8,9, - 10,5,6,7,42,43,44,10,46,47, - 48,0,50,51,52,53,54,55,56,57, - 58,59,60,61,62,0,80,0,78,67, - 73,41,0,71,77,10,0,1,2,3, - 4,72,10,81,8,9,10,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,67,70,0,0,0,3, - 0,1,2,41,0,5,6,7,42,43, - 44,11,46,47,48,74,50,51,52,53, - 54,55,56,57,58,59,60,61,62,0, - 1,2,0,67,0,3,81,71,0,1, - 2,3,4,45,10,45,8,9,0,11, + 25,26,27,0,1,2,3,4,5,6, + 7,8,9,10,0,1,2,42,43,44, + 75,46,47,48,67,50,51,52,53,54, + 55,56,57,58,59,60,61,62,67,67, + 0,72,72,73,41,75,71,0,78,0, + 0,76,77,78,0,1,2,3,4,45, + 10,0,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,0,1,2,3,4,0,0,0, + 8,9,10,5,6,7,42,43,44,0, + 46,47,48,42,50,51,52,53,54,55, + 56,57,58,59,60,61,62,67,78,70, + 0,67,0,41,0,71,4,3,0,1, + 2,3,4,0,10,81,8,9,10,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,0,0,72,72, - 0,5,6,7,45,0,10,10,46,47, - 42,43,44,0,46,47,48,4,50,51, + 22,23,24,25,26,27,0,1,0,70, + 0,0,0,1,2,78,10,5,6,7, + 42,43,44,11,46,47,48,78,50,51, 52,53,54,55,56,57,58,59,60,61, - 62,67,0,0,72,0,0,41,41,71, - 5,6,7,75,76,0,1,2,3,4, - 45,0,0,8,9,3,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,77,77,0,114,0,42,0, - 5,6,7,70,0,0,0,42,43,44, - 128,46,47,48,10,50,51,52,53,54, - 55,56,57,58,59,60,61,62,0,1, - 2,78,0,0,0,0,71,5,6,7, - 75,76,0,1,2,3,4,12,77,0, - 8,9,3,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 0,67,0,45,4,70,42,0,0,45, - 3,0,4,78,42,43,44,10,46,47, - 48,0,50,51,52,53,54,55,56,57, - 58,59,60,61,62,108,101,102,0,31, - 77,0,115,71,109,110,0,75,76,0, - 1,2,3,4,13,0,10,8,9,10, - 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,0,0,72, - 73,70,5,6,7,0,45,41,10,0, - 49,42,43,44,0,46,47,48,77,50, - 51,52,53,54,55,56,57,58,59,60, - 61,62,0,0,0,0,67,5,6,7, - 71,0,1,2,3,4,13,72,0,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,0, - 0,0,3,0,0,77,0,3,45,81, - 10,10,49,42,43,44,10,46,47,48, - 0,50,51,52,53,54,55,56,57,58, - 59,60,61,62,0,1,2,3,4,74, - 96,106,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,0,0,0,0,0,67,67,0, - 4,0,10,10,10,10,42,43,44,73, - 46,47,48,77,50,51,52,53,54,55, - 56,57,58,59,60,61,62,126,0,0, - 80,67,0,1,2,3,4,0,10,10, - 8,9,0,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 67,67,0,0,0,73,70,0,73,41, - 0,70,0,74,42,43,44,0,46,47, - 48,4,50,51,52,53,54,55,56,57, - 58,59,60,61,62,96,0,0,1,2, - 3,4,73,0,72,8,9,70,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,0,0,0,0,0, - 0,0,70,70,70,10,0,70,96,42, - 43,44,72,46,47,48,0,50,51,52, - 53,54,55,56,57,58,59,60,61,62, - 0,0,1,2,3,4,70,0,71,8, - 9,0,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,0, - 0,0,0,3,3,0,0,0,3,3, - 74,74,74,42,43,44,81,46,47,48, - 74,50,51,52,53,54,55,56,57,58, - 59,60,61,62,78,0,1,2,3,4, - 0,71,71,8,9,105,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,0,0,0,0,3,3,3, - 0,0,0,74,3,3,0,42,43,44, - 78,46,47,48,107,50,51,52,53,54, - 55,56,57,58,59,60,61,62,0,1, - 2,3,4,0,0,42,8,9,45,11, + 62,0,70,0,3,67,72,73,42,71, + 0,1,2,3,4,45,45,45,8,9, + 0,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,108,73, + 0,1,2,75,0,0,116,46,47,0, + 1,2,42,43,44,10,46,47,48,0, + 50,51,52,53,54,55,56,57,58,59, + 60,61,62,72,0,72,0,0,0,0, + 0,71,5,6,7,45,76,77,0,1, + 2,3,4,0,45,75,8,9,78,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,0,0,0,0, - 0,3,3,0,0,0,3,0,3,0, - 42,43,44,0,46,47,48,77,50,51, + 22,23,24,25,26,27,115,0,73,75, + 75,0,5,6,7,0,5,6,7,128, + 42,43,44,74,46,47,48,0,50,51, 52,53,54,55,56,57,58,59,60,61, - 62,0,1,2,3,4,0,0,0,8, - 9,3,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,0, - 0,0,49,0,3,0,0,0,0,0, - 74,74,0,42,43,44,72,46,47,48, - 80,50,51,52,53,54,55,56,57,58, - 59,60,61,62,0,1,2,3,4,0, - 0,0,8,9,0,11,12,13,14,15, + 62,0,74,74,0,96,0,0,0,71, + 3,0,11,70,76,77,0,1,2,3, + 4,78,96,0,8,9,3,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,101,102,42,0,0,45, + 75,3,109,110,0,0,0,10,42,43, + 44,74,46,47,48,0,50,51,52,53, + 54,55,56,57,58,59,60,61,62,72, + 74,70,0,75,0,3,0,71,41,0, + 0,0,76,77,0,1,2,3,4,13, + 99,100,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,27,0,0,0,0,0,0,0,0, - 70,72,0,0,0,0,42,43,44,0, - 46,47,48,80,50,51,52,53,54,55, - 56,57,58,59,60,61,62,0,1,2, - 3,4,0,0,0,8,9,0,11,12, + 26,27,0,0,0,70,70,5,6,7, + 0,45,10,10,10,49,42,43,44,74, + 46,47,48,0,50,51,52,53,54,55, + 56,57,58,59,60,61,62,0,74,70, + 0,67,0,41,41,71,0,1,2,3, + 4,11,10,0,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,0,0,0,75,75,75, + 70,0,111,0,10,81,10,12,42,43, + 44,10,46,47,48,0,50,51,52,53, + 54,55,56,57,58,59,60,61,62,0, + 1,2,3,4,0,73,0,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,0,0,99, + 100,0,0,67,107,4,4,73,10,75, + 0,42,43,44,73,46,47,48,75,50, + 51,52,53,54,55,56,57,58,59,60, + 61,62,0,127,0,80,67,0,1,2, + 3,4,10,0,10,8,9,4,11,12, 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,42, - 43,44,80,46,47,48,0,50,51,52, + 23,24,25,26,27,67,0,0,0,72, + 0,70,70,41,4,0,10,10,3,42, + 43,44,106,46,47,48,0,50,51,52, 53,54,55,56,57,58,59,60,61,62, - 0,1,2,3,4,0,0,0,8,9, - 45,11,12,13,14,15,16,17,18,19, + 0,67,0,1,2,3,4,0,0,72, + 8,9,0,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 0,0,0,0,67,0,0,0,3,3, + 10,10,10,10,42,43,44,81,46,47, + 48,0,50,51,52,53,54,55,56,57, + 58,59,60,61,62,0,0,1,2,3, + 4,41,41,71,8,9,0,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,0,0,96,0,0,0, + 0,3,0,3,10,73,73,10,42,43, + 44,74,46,47,48,0,50,51,52,53, + 54,55,56,57,58,59,60,61,62,0, + 0,1,2,3,4,70,0,71,8,9, + 0,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,0,0, - 0,45,0,0,0,0,0,0,0,0, - 0,0,42,43,44,0,46,47,48,0, + 0,0,0,3,3,0,0,0,3,74, + 73,0,42,43,44,81,46,47,48,80, 50,51,52,53,54,55,56,57,58,59, 60,61,62,0,1,2,3,4,0,0, - 0,8,9,0,11,12,13,14,15,16, + 0,8,9,74,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, - 27,0,0,0,3,0,0,0,0,8, - 0,0,11,12,0,42,43,44,0,46, - 47,48,0,50,51,52,53,54,55,56, - 57,58,59,60,61,62,0,0,0,0, - 0,0,0,0,43,44,0,46,47,48, - 0,0,0,70,0,0,0,0,0,0, - 0,78,0,0,0,0,0,0,0,0, - 0,70,0,72,0,0,75,76,77,78, - 0,80,0,0,101,102,0,0,0,0, - 0,0,109,110,0,94,95,0,97,0, - 99,100,101,102,103,104,105,106,107,108, - 0,0,0,0,0,114,0,116,117,118, - 119,120,121,122,123,124,125,0,1,2, - 0,4,5,6,7,0,0,0,0,0, - 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, - 0,0,0,0,0,0,49,0,0,0, - 0,1,2,0,4,5,6,7,0,0, - 63,64,65,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,0,0,0,0,0,0,49, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,63,64,65,0,0,0,0, - 0,0,0,0,0,0,0,0,28,29, - 30,31,32,33,34,35,36,37,38,39, - 40,41,0,0,0,0,0,1,2,3, - 4,5,6,7,8,9,10,11,12,0, + 27,0,0,0,0,0,111,3,0,0, + 0,72,3,3,0,42,43,44,80,46, + 47,48,80,50,51,52,53,54,55,56, + 57,58,59,60,61,62,0,1,2,3, + 4,0,0,0,8,9,0,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,0,0,0,0,0,0, + 0,0,0,71,0,0,0,0,42,43, + 44,80,46,47,48,80,50,51,52,53, + 54,55,56,57,58,59,60,61,62,0, + 1,2,3,4,0,0,0,8,9,0, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,0,0,0, + 0,0,0,0,0,70,0,0,0,0, + 0,42,43,44,80,46,47,48,0,50, + 51,52,53,54,55,56,57,58,59,60, + 61,62,0,1,2,3,4,0,0,0, + 8,9,45,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,25,26,27, 0,0,0,0,0,0,0,0,0,0, - 70,0,72,73,28,29,30,31,32,33, + 0,0,0,0,42,43,44,0,46,47, + 48,80,50,51,52,53,54,55,56,57, + 58,59,60,61,62,0,1,2,3,4, + 0,0,0,8,9,45,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,0,0,0,49,0,0,111, + 0,0,0,0,0,0,0,42,43,44, + 0,46,47,48,0,50,51,52,53,54, + 55,56,57,58,59,60,61,62,0,1, + 2,3,4,0,0,0,8,9,0,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,0,0,0,3, + 0,0,0,0,8,0,0,11,12,0, + 42,43,44,13,46,47,48,0,50,51, + 52,53,54,55,56,57,58,59,60,61, + 62,0,0,0,0,0,0,0,0,43, + 44,0,46,47,48,45,0,0,70,49, + 0,0,0,0,0,0,78,0,0,0, + 0,0,0,0,0,0,70,0,72,0, + 0,75,76,77,78,0,80,0,0,101, + 102,0,0,0,0,0,0,109,110,0, + 94,95,0,97,0,99,100,101,102,103, + 104,105,106,107,108,0,0,0,0,0, + 0,115,0,117,118,119,120,121,122,123, + 124,125,126,0,1,2,0,4,5,6, + 7,0,0,0,0,0,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,0,0,0,0, + 0,0,49,0,0,0,0,1,2,0, + 4,5,6,7,0,0,63,64,65,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,0, + 0,0,0,0,0,49,0,1,2,3, + 4,5,6,7,8,9,10,11,12,63, + 64,65,0,0,0,0,0,0,0,0, + 0,0,0,0,28,29,30,31,32,33, 34,35,36,37,38,39,40,41,0,0, 0,0,0,1,2,3,4,5,6,7, 8,9,10,11,12,0,0,0,0,0, - 0,0,0,67,0,0,0,0,72,73, + 0,0,0,0,0,0,70,0,72,73, 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,0,0,0,0,0,1, 2,3,4,5,6,7,8,9,10,11, - 12,0,0,0,0,0,0,0,0,0, + 12,0,0,0,0,0,0,0,0,67, 0,0,0,0,72,73,28,29,30,31, 32,33,34,35,36,37,38,39,40,41, + 0,0,0,0,0,1,2,3,4,5, + 6,7,8,9,10,11,12,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 72,73,28,29,30,31,32,33,34,35, + 36,37,38,39,40,41,0,70,0,0, + 0,0,0,0,0,78,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,72,73,101,102, + 0,0,0,0,0,0,109,110,0,0, 0,0,0,0,0,0,0,0,0,0, - 72,73,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0 }; }; public final static char termCheck[] = TermCheck.termCheck; @@ -1915,478 +1938,479 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface TermAction { public final static char termAction[] = {0, - 7314,7104,6439,6439,6439,6432,6439,6439,6439,6439, - 7180,6439,6439,1,1,1,1,1,1,1, + 7423,7210,6545,6545,6545,6538,6545,6545,6545,6545, + 7286,6545,6545,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,7214,1,1,1,7423,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,7108,1,1,1,7314,1,1,1,1, + 1,1,1,1,1,1,2062,7434,650,7598, + 1,1,7423,7437,7438,7423,1,1,1748,2867, + 2209,7430,3303,2471,2283,2420,3173,4140,7423,3301, + 705,3245,3036,3234,10,7289,7289,7289,7289,7289, + 7289,7289,7289,7289,7289,7289,7289,7289,7289,7289, + 7289,7289,7289,7289,7289,7289,7289,7289,7289,7289, + 7289,7289,7289,7289,7289,7289,7289,7289,7289,7289, + 7289,7289,7289,7289,7289,7289,7289,7289,7289,338, + 7289,7289,7289,7289,7289,7289,7289,7289,7289,7289, + 7289,7289,7289,7289,7289,7289,7289,7289,7289,7289, + 7289,7289,7289,7289,387,7289,6063,7307,7304,7301, + 7289,7289,360,7289,6537,7289,7289,7289,7289,7289, + 7289,7289,7423,7289,7289,7289,7289,7289,8,7319, + 7319,7319,7319,7319,7319,7319,7319,7319,7319,7319, + 7319,7319,7319,7319,7319,7319,7319,7319,7319,7319, + 7319,7319,7319,7319,7319,7319,7319,7319,7319,7319, + 7319,7319,7319,7319,7319,7319,7319,7319,7319,7319, + 7319,7319,7319,338,7319,7319,7319,7319,7319,7319, + 7319,7319,7319,7319,7319,7319,7319,7319,7319,7319, + 7319,7319,7319,7319,7319,7319,7319,7319,7423,7319, + 7938,7762,7763,8033,7319,7319,2209,7319,7782,7319, + 7319,7319,7319,7319,7319,7319,7423,7319,7319,7319, + 7319,7319,7423,7210,6545,6545,6545,6538,6545,6545, + 6545,6545,7217,6545,6545,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1517,7325,713,7489, - 1,1,7314,7328,7329,1,1,7314,3043,2225, - 2720,7321,3146,3128,2148,2283,3052,3867,3027,3136, - 1047,3125,2734,3118,10,7183,7183,7183,7183,7183, - 7183,7183,7183,7183,7183,7183,7183,7183,7183,7183, - 7183,7183,7183,7183,7183,7183,7183,7183,7183,7183, - 7183,7183,7183,7183,7183,7183,7183,7183,7183,7183, - 7183,7183,7183,7183,7183,7183,7183,7183,7183,383, - 7183,7183,7183,7183,7183,7183,7183,7183,7183,7183, - 7183,7183,7183,7183,7183,7183,7183,7183,7183,7183, - 7183,7183,7183,7183,7314,7183,7314,6732,6729,7183, - 7183,121,356,7183,6431,7183,7183,7183,7183,7183, - 7183,7183,7314,7183,7183,7183,7183,7183,8,7213, - 7213,7213,7213,7213,7213,7213,7213,7213,7213,7213, - 7213,7213,7213,7213,7213,7213,7213,7213,7213,7213, - 7213,7213,7213,7213,7213,7213,7213,7213,7213,7213, - 7213,7213,7213,7213,7213,7213,7213,7213,7213,7213, - 7213,7213,7213,7314,7213,7213,7213,7213,7213,7213, - 7213,7213,7213,7213,7213,7213,7213,7213,7213,7213, - 7213,7213,7213,7213,7213,7213,7213,7213,7314,7213, - 7314,7328,7329,7213,7213,4456,4681,7213,7669,7213, - 7213,7213,7213,7213,7213,7213,7314,7213,7213,7213, - 7213,7213,7314,7104,6439,6439,6439,6432,6439,6439, - 6439,6439,7111,6439,6439,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,7214,1,1,1,7423,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,7108,1,1,1,7314,1,1, + 1,1,1,1,1,1,1,1,2062,7434, + 650,7598,7423,1,38,7005,7002,7423,1,1, + 1098,2867,6999,3945,3303,2471,2283,2420,3173,4140, + 7423,3301,705,3245,3036,3234,7423,7210,6545,6545, + 6545,6538,6545,6545,6545,6545,7217,6545,6545,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1517,7325, - 713,7489,7314,1,38,6899,6896,1,1,133, - 3775,2225,6893,1642,3146,3128,2148,2283,3052,3867, - 7314,3136,1047,3125,2734,3118,7314,7104,6439,6439, - 6439,6432,6439,6439,6439,6439,7111,6439,6439,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,7214,1,1, + 1,7423,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,7108,1,1, - 1,373,1,1,1,1,1,1,1,1, + 1,1,2062,7434,650,7598,133,1,7423,7437, + 7438,7423,1,1,3860,2867,723,3945,3303,2471, + 2283,2420,3173,4140,7423,3301,705,3245,3036,3234, + 7423,7210,6545,6545,6545,6538,6545,6545,6545,6545, + 7217,6545,6545,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1517,7325,713,7489,7314,1,7314,7328, - 7329,1,1,111,2720,2225,945,1642,3146,3128, - 2148,2283,3052,3867,3149,3136,1047,3125,2734,3118, - 7314,7104,6439,6439,6439,6432,6439,6439,6439,6439, - 7111,6439,6439,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,7214,1,1,1,7423,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,7108,1,1,1,520,1,1,1,1, + 1,1,1,1,1,1,2062,7434,650,7598, + 7423,1,7423,6838,6835,7423,1,1,1296,2867, + 121,3119,3303,2471,2283,2420,3173,4140,7423,3301, + 705,3245,3036,3234,7423,7210,6545,6545,6545,6538, + 6545,6545,6545,6545,7217,6545,6545,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1517,7325,713,7489, - 7314,1,7314,11560,11207,1,1,114,3775,2225, - 5289,5463,3146,3128,2148,2283,3052,3867,7314,3136, - 1047,3125,2734,3118,7314,7104,6439,6439,6439,6432, - 6439,6439,6439,6439,7111,6439,6439,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,7214,1,1,1,7423, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,7108,1,1,1,7314, 1,1,1,1,1,1,1,1,1,1, + 2062,7434,650,7598,7423,1,7423,7437,7438,7423, + 1,1,1981,2867,4012,4085,3303,2471,2283,2420, + 3173,4140,7423,3301,705,3245,3036,3234,7423,7210, + 6545,6545,6545,6538,6545,6545,6545,6545,7217,6545, + 6545,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1517,7325,713,7489,7314,1,48,6732,6729,1, - 1,113,3775,2225,5289,5463,3146,3128,2148,2283, - 3052,3867,7314,3136,1047,3125,2734,3118,7314,7104, - 6439,6439,6439,6432,6439,6439,6439,6439,7111,6439, - 6439,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7214, + 1,1,1,7423,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,7108, - 1,1,1,7314,1,1,1,1,1,1, + 1,1,1,1,2062,7434,650,7598,7423,1, + 7423,11680,11679,7423,1,1,3555,2867,582,5823, + 3303,2471,2283,2420,3173,4140,7423,3301,705,3245, + 3036,3234,7423,7210,6545,6545,6545,6538,6545,6545, + 6545,6545,7217,6545,6545,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1517,7325,713,7489,7314,1, - 396,7328,7329,1,1,112,7314,2225,5289,5463, - 3146,3128,2148,2283,3052,3867,7314,3136,1047,3125, - 2734,3118,7314,7104,6439,6439,6439,6432,6439,6439, - 6439,6439,7111,6439,6439,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,7214,1,1,1,7423,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,7108,1,1,1,7314,1,1, + 1,1,1,1,1,1,1,1,2062,7434, + 650,7598,134,1,48,6838,6835,7423,1,1, + 1349,2867,4012,4085,3303,2471,2283,2420,3173,4140, + 7423,3301,705,3245,3036,3234,7423,7210,6545,6545, + 6545,6538,6545,6545,6545,6545,7217,6545,6545,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1517,7325, - 713,7489,7314,1,7314,11560,11207,1,1,577, - 7314,2225,5289,5463,3146,3128,2148,2283,3052,3867, - 7314,3136,1047,3125,2734,3118,7314,7104,6439,6439, - 6439,6432,6439,6439,6439,6439,7111,6439,6439,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,7214,1,1, + 1,7423,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,7108,1,1, - 1,7314,1,1,1,1,1,1,1,1, + 1,1,2062,7434,650,7598,7423,1,400,7437, + 7438,574,1,1,2117,2867,581,3119,3303,2471, + 2283,2420,3173,4140,7423,3301,705,3245,3036,3234, + 7423,7210,6545,6545,6545,6538,6545,6545,6545,6545, + 7217,6545,6545,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1517,7325,713,7489,7314,1,290,7328, - 7329,1,1,4456,4681,2225,576,6287,3146,3128, - 2148,2283,3052,3867,7314,3136,1047,3125,2734,3118, - 7314,7104,6439,6439,6439,6432,6439,6439,6439,6439, - 7111,6439,6439,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,7214,1,1,1,185,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,7108,1,1,1,563,1,1,1,1, + 1,1,1,1,1,1,2062,7434,650,7598, + 7423,1,7423,11680,11679,561,1,1,2522,2867, + 4012,4085,3303,2471,2283,2420,3173,4140,7423,3301, + 705,3245,3036,3234,7423,7210,6545,6545,6545,6538, + 6545,6545,6545,6545,7217,6545,6545,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1517,7325,713,7489, - 7314,1,125,2049,7876,1,1,124,7314,2225, - 4456,4681,3146,3128,2148,2283,3052,3867,7314,3136, - 1047,3125,2734,3118,7314,7104,6439,6439,6439,6432, - 6439,6439,6439,6439,7111,6439,6439,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,7214,1,1,1,7423, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,7108,1,1,1,7314, 1,1,1,1,1,1,1,1,1,1, + 2062,7434,650,7598,111,1,294,7437,7438,91, + 1,1,7145,2867,125,7417,3303,2471,2283,2420, + 3173,4140,7423,3301,705,3245,3036,3234,7423,7210, + 6545,6545,6545,6538,6545,6545,6545,6545,7217,6545, + 6545,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1517,7325,713,7489,39,1,4456,4681,7352,1, - 1,4456,4681,2225,123,7314,3146,3128,2148,2283, - 3052,3867,7314,3136,1047,3125,2734,3118,7314,7104, - 6439,6439,6439,6432,6439,6439,6439,6439,7111,6439, - 6439,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7214, + 1,1,1,7423,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,7108, - 1,1,1,7314,1,1,1,1,1,1, + 1,1,1,1,2062,7434,650,7598,114,1, + 548,5471,5494,1292,1,1,7423,2867,4012,4085, + 3303,2471,2283,2420,3173,4140,7423,3301,705,3245, + 3036,3234,7423,7210,6545,6545,6545,6538,6545,6545, + 6545,6545,7217,6545,6545,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1517,7325,713,7489,7314,1, - 122,890,7314,1,1,2001,7314,2225,4456,4681, - 3146,3128,2148,2283,3052,3867,7314,3136,1047,3125, - 2734,3118,7314,7104,6439,6439,6439,6432,6439,6439, - 6439,6439,7111,6439,6439,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,7214,1,1,1,7423,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,7108,1,1,1,7314,1,1, + 1,1,1,1,1,1,1,1,2062,7434, + 650,7598,7423,1,3360,5471,5494,313,1,1, + 923,2867,550,7974,3303,2471,2283,2420,3173,4140, + 7423,3301,705,3245,3036,3234,7423,7068,7068,7068, + 7068,7068,7068,7068,7068,7068,7068,7068,7068,568, + 7975,113,7423,397,6730,6730,225,285,6721,6727, + 6724,6637,6631,6634,7068,7068,7068,7068,7068,7068, + 7068,7068,7068,7068,7068,7068,7068,7068,7990,7068, + 7068,112,7068,7068,6646,6643,6640,6652,6670,6649, + 6661,6628,6655,6658,6667,6664,6625,1223,285,304, + 7423,6551,6548,7068,7461,7423,7068,7423,7068,7068, + 7068,7068,7726,7423,7068,7068,7068,7068,333,6551, + 6548,1278,751,884,824,841,723,3945,7423,3729, + 7068,7068,7068,7068,7068,7068,7068,7068,7068,7068, + 7068,7068,7068,7068,7068,7068,7068,1032,5471,5494, + 6024,7068,7068,7068,7068,7068,7068,7068,7068,7068, + 7068,7068,7068,7068,7068,7423,7148,7148,7148,7148, + 7148,7148,7148,7148,7148,7148,7148,7148,5471,5494, + 7423,7423,602,7029,7029,226,606,7020,7026,7023, + 6685,6679,6682,7148,7148,7148,7148,7148,7148,7148, + 7148,7148,7148,7148,7148,7148,7148,320,7148,7148, + 7053,7148,7148,6694,6691,6688,6700,6718,6697,6709, + 6676,6703,6706,6715,6712,6673,1212,606,36,7337, + 7334,7423,7148,118,2746,7148,573,7148,7148,7148, + 7148,7429,7423,7148,7148,7148,7148,1,6564,6560, + 1278,6557,6987,6993,6990,723,3945,7423,135,7148, + 7148,7148,7148,7148,7148,7148,7148,7148,7148,7148, + 7148,7148,7148,7148,7148,7148,5014,4984,1935,1643, + 7148,7148,7148,7148,7148,7148,7148,7148,7148,7148, + 7148,7148,7148,7148,39,6551,6548,6252,751,884, + 824,841,5425,3945,7428,5329,5352,1867,8031,8032, + 7689,7687,7696,7695,7691,7692,7690,7693,7694,7697, + 7688,5781,7762,7763,8033,7684,7678,7685,7681,7657, + 7683,7682,7679,7680,7658,39,7442,5235,4950,7461, + 5402,5375,3090,7824,1400,1567,7444,1485,5606,1534, + 7445,7443,1389,7439,7440,7441,5584,3595,7825,7826, + 1,7423,7437,7438,682,1688,7423,7081,7081,230, + 7077,6545,6545,6545,230,230,7085,230,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1517,7325, - 713,7489,115,1,4456,4681,7314,1,1,1147, - 1,2225,334,5046,3146,3128,2148,2283,3052,3867, - 306,3136,1047,3125,2734,3118,7314,6962,6962,6962, - 6962,6962,6962,6962,6962,6962,6962,6962,6962,35, - 7201,7198,7195,393,6624,6624,224,283,6615,6621, - 6618,6531,6525,6528,6962,6962,6962,6962,6962,6962, - 6962,6962,6962,6962,6962,6962,6962,6962,7314,6962, - 6962,1750,6962,6962,6540,6537,6534,6546,6564,6543, - 6555,6522,6549,6552,6561,6558,6519,7314,283,1347, - 7314,6445,6442,6962,7352,118,6962,2843,6962,6962, - 6962,5023,4929,6962,6962,6962,6962,6962,329,6445, - 6442,5668,823,767,749,752,945,1642,7314,1649, - 6962,6962,6962,6962,6962,6962,6962,6962,6962,6962, - 6962,6962,6962,6962,6962,6962,6962,7314,4889,4860, - 6962,6962,6962,6962,6962,6962,6962,6962,6962,6962, - 6962,6962,6962,566,6962,7314,7042,7042,7042,7042, - 7042,7042,7042,7042,7042,7042,7042,7042,309,545, - 7860,1900,597,6923,6923,225,601,6914,6920,6917, - 6579,6573,6576,7042,7042,7042,7042,7042,7042,7042, - 7042,7042,7042,7042,7042,7042,7042,7861,7042,7042, - 3722,7042,7042,6588,6585,6582,6594,6612,6591,6603, - 6570,6597,6600,6609,6606,6567,7314,601,36,7228, - 7225,7314,7042,120,1290,7042,568,7042,7042,7042, - 1759,7320,7042,7042,7042,7042,7042,1,6458,6454, - 5668,6451,6881,6887,6884,945,1642,129,1214,7042, - 7042,7042,7042,7042,7042,7042,7042,7042,7042,7042, - 7042,7042,7042,7042,7042,7042,4889,4860,1951,7042, - 7042,7042,7042,7042,7042,7042,7042,7042,7042,7042, - 7042,7042,7314,7042,39,6445,6442,6097,823,767, - 749,752,5227,1642,7319,5139,5161,1980,7917,7918, - 7578,7576,7585,7584,7580,7581,7579,7582,7583,7586, - 7577,5549,7649,7650,7919,7574,7568,7575,7571,7547, - 7573,7572,7569,7570,7548,7314,7333,5117,5095,7314, - 5205,5183,5069,7711,1404,1565,7335,1462,5528,1545, - 7336,7334,1365,7330,7331,7332,5507,5389,7712,7713, - 3563,3530,7314,7328,7329,1567,7314,6975,6975,229, - 6971,6439,6439,6439,229,229,6979,229,229,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,230,7423,6551, + 6548,7074,7461,525,131,1,311,6564,6560,1278, + 6557,6987,6993,6990,723,3945,3276,6996,6996,1, + 1,1,4035,7423,2279,7838,227,5448,1692,1714, + 230,6745,6739,6742,447,7059,7059,419,7059,7059, + 7059,7059,1,398,7926,7059,7059,391,884,824, + 841,7423,365,7423,6754,6751,6748,6760,6778,6757, + 6769,6736,6763,6766,6775,6772,6733,7423,7861,7862, + 7863,7423,7081,7081,230,7077,6545,6545,6545,230, + 230,7196,230,230,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,229,7314,6445, - 6442,6968,7352,5813,131,1,307,6458,6454,5668, - 6451,6881,6887,6884,945,1642,715,6890,6890,1, - 1,1,3367,7314,2048,7725,226,5249,1065,296, - 229,6639,6633,6636,767,749,752,415,7314,7314, - 1960,1,7189,7189,7813,7186,6881,6887,6884,7320, - 7314,361,329,329,6648,6645,6642,6654,6672,6651, - 6663,6630,6657,6660,6669,6666,6627,7748,7749,7750, - 7314,6975,6975,229,6971,6439,6439,6439,229,229, - 7090,229,229,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,230,7423,1,365,7074,37,7071,7071, + 1,7423,6564,6560,1278,6557,6987,6993,6990,723, + 3945,7423,7056,7056,1,1,1,4035,365,2279, + 7838,228,4709,4651,7423,230,6796,6790,6793,448, + 7250,7250,418,7244,7235,7241,7238,7423,398,7926, + 7247,7247,7459,884,824,841,35,7429,7423,6805, + 6802,6799,6811,6829,6808,6820,6787,6814,6817,6826, + 6823,6784,295,7861,7862,7863,7423,6545,6545,230, + 6545,6538,6545,6545,230,230,6574,230,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,229,7319,334,361,6968,7825,300,7314,1, - 7314,6458,6454,5668,6451,6881,6887,6884,945,1642, - 7613,6950,6950,1,1,1,3367,361,2048,7725, - 227,7649,7650,7919,229,6690,6684,6687,443,6953, - 6953,414,6953,6953,6953,6953,29,394,7813,6953, - 6953,387,767,749,752,7314,3285,514,6699,6696, - 6693,6705,6723,6702,6714,6681,6708,6711,6720,6717, - 6678,7748,7749,7750,7314,6439,6439,229,6439,6432, - 6439,6439,229,229,6468,229,229,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,11817,1, - 12069,1,1,12090,1,229,1298,7314,7314,6436, - 423,2684,7314,1,7314,6458,6454,5668,6451,6881, - 6887,6884,945,1642,985,6890,6890,1,1,1, - 2657,185,713,7525,1,6458,6454,6448,6451,119, - 7314,223,6465,6462,602,219,6483,6477,6480,767, - 749,752,7813,1038,438,7917,7918,7578,7576,7585, - 7584,7580,7581,7579,7582,7583,7586,7577,447,6492, - 6489,6486,6498,6516,6495,6507,6474,6501,6504,6513, - 6510,6471,4889,4860,139,286,6675,6675,2385,283, - 767,749,752,219,7314,6439,6439,229,6439,6432, - 6439,6439,229,229,229,229,229,1,1,1, + 11422,1,12125,1,1,12188,1,230,1443,7423, + 7428,6542,654,656,7423,1,7423,6564,6560,1278, + 6557,6987,6993,6990,723,3945,1642,6996,6996,1, + 1,1,2933,7423,650,7635,1,6564,6560,6554, + 6557,120,2569,224,6571,6568,300,220,6589,6583, + 6586,884,824,841,7926,442,2131,8031,8032,7689, + 7687,7696,7695,7691,7692,7690,7693,7694,7697,7688, + 451,6598,6595,6592,6604,6622,6601,6613,6580,6607, + 6610,6619,6616,6577,5014,4984,139,290,6781,6781, + 2525,285,884,824,841,220,7423,6545,6545,230, + 6545,6538,6545,6545,230,230,230,230,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,11817,1, - 12069,1,1,12090,1,229,37,6965,6965,6436, - 587,7314,682,1,6965,6747,6741,6744,596,6926, - 6926,7314,601,767,749,752,7314,1,1,1, - 2657,7308,713,7525,2100,7748,7749,7750,6756,6753, - 6750,6762,6780,6759,6771,6738,6765,6768,6777,6774, - 6735,2791,7813,444,7144,7144,5687,7138,7129,7135, - 7132,7314,1166,1857,7141,7141,7314,6732,6729,3996, - 2052,2004,1956,1908,1860,1812,1764,1716,1668,1620, - 7314,6458,6454,5668,6451,6881,6887,6884,945,1642, - 291,6950,6950,220,7314,6439,6439,229,6439,6432, - 6439,6439,229,229,229,229,229,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,11817,1, - 12069,1,1,12090,1,229,37,6965,6965,6436, - 7314,5249,1065,1,599,6445,6442,5668,823,767, - 749,752,945,1642,2385,7314,7314,1,1,1, - 2657,137,713,7525,1064,1,6458,6454,3646,6451, - 2428,311,318,945,1642,365,767,749,752,7314, - 7314,7350,7813,7314,6439,6439,229,6439,6432,6439, - 6439,229,229,7081,229,229,1,1,1,1, + 11422,1,12125,1,1,12188,1,230,37,7071, + 7071,6542,592,7423,835,1,7071,6853,6847,6850, + 601,7032,7032,7427,606,884,824,841,7423,1, + 1,1,2933,7423,650,7635,2234,7861,7862,7863, + 6862,6859,6856,6868,6886,6865,6877,6844,6871,6874, + 6883,6880,6841,2257,7926,92,7283,7283,7423,7283, + 7283,7283,7283,607,2882,7423,7283,7283,884,824, + 841,137,3034,2185,2136,2087,2038,1989,1940,1891, + 1842,1793,1744,1,6564,6560,1278,6557,6987,6993, + 6990,723,3945,7423,7423,221,7423,6545,6545,230, + 6545,6538,6545,6545,230,230,230,230,230,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,11817,1,12069, - 1,1,12090,1,229,7314,7030,7027,6436,92, - 7177,7177,1,7177,7177,7177,7177,1522,365,7314, - 7177,7177,365,365,1522,1313,1,1,1,2657, - 7314,713,7525,130,1,6458,6454,3646,6451,7314, - 394,365,945,1642,220,767,749,752,2955,7320, - 7350,7813,7314,6439,6439,229,6439,6432,6439,6439, - 229,229,7081,229,229,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,11817,1,12069,1, - 1,12090,1,229,43,7036,7036,6436,95,7273, - 7273,1,7267,7258,7264,7261,1522,2122,5897,7270, - 7270,7314,7319,916,7314,1,1,1,2657,7314, - 713,7525,2837,343,6445,6442,3646,823,767,749, - 752,945,1642,220,329,329,3563,3530,386,7033, - 7813,7314,6439,6439,229,6439,6432,6439,6439,229, - 229,7081,229,229,1,1,1,1,1,1, + 11422,1,12125,1,1,12188,1,230,119,5946, + 7426,6542,293,1221,1221,1,604,6551,6548,1278, + 751,884,824,841,723,3945,7423,2525,7423,1, + 1,1,2933,7423,650,7635,1227,1,6564,6560, + 3981,6557,322,7423,2019,723,3945,369,1173,7423, + 461,5014,4984,7429,7926,7423,6545,6545,230,6545, + 6538,6545,6545,230,230,7187,230,230,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,11817,1,12069,1,1, - 12090,1,229,7314,11944,11944,6436,39,2122,3810, - 1,7352,767,749,752,1522,591,7314,329,329, - 2736,767,749,752,1,1,1,2657,6726,713, - 7525,7314,7314,7249,7249,7249,7249,7249,7249,7249, - 7249,7249,220,7249,7249,7314,7314,453,7350,7813, - 7314,6439,6439,229,6439,6432,6439,6439,229,229, - 229,229,229,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,11422, + 1,12125,1,1,12188,1,230,7423,6551,6548, + 6542,751,7423,3420,1,7154,3945,7423,1569,1643, + 369,6141,369,3089,1643,369,7428,1408,1,1, + 1,2933,7062,650,7635,129,1,6564,6560,3981, + 6557,310,315,369,723,3945,221,884,824,841, + 7423,390,1530,7926,7423,6545,6545,230,6545,6538, + 6545,6545,230,230,7187,230,230,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,11817,1,12069,1,1,12090, - 1,229,45,7150,7150,6436,7314,7314,7314,1, - 1,6458,6454,5668,6451,599,7249,7318,945,1642, - 7051,7057,7054,1,1,1,2657,6902,713,7525, - 343,39,39,3206,7352,767,749,752,296,7328, - 7329,329,329,767,749,752,439,7147,7813,7314, - 6439,6439,229,6439,6432,6439,6439,229,229,229, - 229,229,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,11422,1, + 12125,1,1,12188,1,230,7423,7136,7133,6542, + 95,7382,7382,1,7376,7367,7373,7370,1643,194, + 7423,7379,7379,7423,6838,6835,3317,1,1,1, + 2933,6832,650,7635,130,7423,6564,6560,1278,6557, + 6987,6993,6990,723,3945,221,7056,7056,3427,3390, + 457,7459,7926,7423,6545,6545,230,6545,6538,6545, + 6545,230,230,7187,230,230,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,11817,1,12069,1,1,12090,1, - 229,7314,6445,6442,6436,823,7314,7314,1,7048, - 1642,590,1522,7314,329,368,767,749,752,7066, - 7072,7069,1,1,1,2657,6905,713,7525,1, - 6458,6454,5668,6451,6881,6887,6884,945,1642,569, - 7314,556,2056,7317,2333,7314,1409,7813,7314,6439, - 6439,229,6439,6432,6439,6439,229,229,229,229, - 229,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,11422,1,12125, + 1,1,12188,1,230,43,7142,7142,6542,5448, + 1692,7323,1,1,6564,6560,1278,6557,398,2525, + 571,723,3945,884,824,841,1,1,1,2933, + 7008,650,7635,7423,347,6551,6548,3981,751,884, + 824,841,723,3945,221,333,333,3427,3390,443, + 7139,7926,7423,6545,6545,230,6545,6538,6545,6545, + 230,230,230,230,230,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,11817,1,12069,1,1,12090,1,229, - 7314,6445,6442,6436,823,1361,7314,1,7048,1642, - 7314,6445,6442,2385,823,366,7314,316,945,1642, - 6947,1,1,1,2657,300,713,7525,1,6458, - 6454,5668,6451,6881,6887,6884,945,1642,7613,395, - 7314,91,7314,386,7039,2819,7813,7314,6439,6439, - 229,6439,6432,6439,6439,229,229,229,229,229, + 1,1,1,1,1,1,11422,1,12125,1, + 1,12188,1,230,124,1837,7423,6542,39,7423, + 1118,1,7461,884,824,841,1643,596,123,333, + 333,3363,884,824,841,1,1,1,2933,7011, + 650,7635,7423,7358,7358,7358,7358,7358,7358,7358, + 7358,7358,604,7358,7358,7423,7423,7157,7163,7160, + 7926,7423,6545,6545,230,6545,6538,6545,6545,230, + 230,230,230,230,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,11422,1,12125,1,1, + 12188,1,230,7423,6551,6548,6542,751,4012,4085, + 1,7154,3945,300,7437,7438,7358,122,884,824, + 841,7423,4012,4085,1,1,1,2933,29,650, + 7635,1,7295,7295,7423,7292,6987,6993,6990,7423, + 595,365,333,333,7429,884,824,841,2837,7926, + 7423,6545,6545,230,6545,6538,6545,6545,230,230, + 230,230,230,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,11817,1,12069,1,1,12090,1,229,1522, - 543,639,6436,1264,3172,1422,1,1,6458,6454, - 5668,6451,2385,39,507,945,1642,7352,126,1298, - 1,1,1,2657,7314,713,7525,1,6458,6454, - 3646,6451,7314,394,7320,945,1642,7114,767,749, - 752,7314,7320,7314,1293,7813,7314,6439,6439,229, - 6439,6432,6439,6439,229,229,229,229,229,1, + 1,1,1,1,11422,1,12125,1,1,12188, + 1,230,7423,6551,6548,6542,751,7423,1443,1, + 723,3945,427,7423,365,39,39,7428,1197,7461, + 7461,4012,4085,1,1,1,2933,29,650,7635, + 1,6564,6560,3981,6557,1,333,365,723,3945, + 7220,7172,7178,7175,7423,7151,1723,2555,7926,7423, + 6545,6545,230,6545,6538,6545,6545,230,230,230, + 230,230,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,11422,1,12125,1,1,12188,1, + 230,7423,6551,6548,6542,751,7423,7014,1,723, + 3945,603,1643,7223,333,7423,884,824,841,884, + 824,841,1,1,1,2933,7430,650,7635,347, + 39,39,3269,7461,884,824,841,7861,7862,7863, + 333,333,1,238,7423,4798,7226,7926,7423,6545, + 6545,230,6545,6538,6545,6545,230,230,230,230, + 230,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 11817,1,12069,1,1,12090,1,229,3845,7314, - 135,6436,7314,117,4500,1,7093,7319,1,1522, - 7117,1008,7324,1298,5046,7319,116,29,7045,1, - 1,1,2657,1,713,7525,3206,5046,7314,3781, - 3749,1,1,339,7748,7749,7750,3676,3457,6236, - 6229,161,361,7323,7813,7314,6439,6439,229,6439, - 6432,6439,6439,229,229,229,229,229,1,1, + 1,1,11422,1,12125,1,1,12188,1,230, + 7423,12063,12063,6542,115,7423,7423,1,2318,6364, + 7423,1643,597,6396,7423,5193,7423,884,824,841, + 7423,1,1,1,2933,304,650,7635,1,6564, + 6560,1278,6557,6987,6993,6990,723,3945,7726,7423, + 7423,7423,460,518,7423,7459,7926,7423,6545,6545, + 230,6545,6538,6545,6545,230,230,230,230,230, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,11817, - 1,12069,1,1,12090,1,229,6908,7314,7321, - 6436,157,2739,7314,1,1522,339,7314,7328,7329, - 339,339,5023,4929,161,361,2993,7326,1,1, - 1,2657,598,713,7525,5023,4929,767,749,752, - 7314,3116,7314,1,6458,6454,6097,6451,361,7314, - 7320,5227,1642,7813,5139,5161,6982,6988,6985,7015, - 7021,6994,6997,7009,7006,7012,7003,7000,6991,7018, - 7024,1,6458,6454,5668,6451,6881,6887,6884,945, - 1642,307,3108,7314,7325,7333,5117,5095,2191,5205, - 5183,5069,7314,1404,1565,7335,1462,5528,1545,7336, - 7334,1365,7330,7331,7332,5507,505,7314,6445,6442, - 7314,823,307,7319,1567,945,1642,7314,39,39, - 3185,515,39,6445,6442,6097,823,7320,5729,457, - 5227,1642,7305,5139,5161,1514,7917,7918,7578,7576, - 7585,7584,7580,7581,7579,7582,7583,7586,7577,5439, - 1,6458,6454,6448,6451,7314,329,7314,6465,6462, - 7324,767,749,752,7333,5117,5095,7326,5205,5183, - 5069,7314,1404,1565,7335,1462,5528,1545,7336,7334, - 1365,7330,7331,7332,5507,7314,4753,7314,3188,7063, - 7319,7323,404,1567,1474,7322,39,6445,6442,6097, - 823,6956,7084,7321,5227,1642,7060,5139,5161,1514, - 7917,7918,7578,7576,7585,7584,7580,7581,7579,7582, - 7583,7586,7577,5439,7325,1756,345,456,47,2646, - 37,6965,6965,7087,7314,767,749,752,7333,5117, - 5095,329,5205,5183,5069,7714,1404,1565,7335,1462, - 5528,1545,7336,7334,1365,7330,7331,7332,5507,37, - 6965,6965,75,7063,1,6941,7321,1567,141,6445, - 6442,6097,823,1834,6911,7350,5227,1642,7314,5139, - 5161,1514,7917,7918,7578,7576,7585,7584,7580,7581, - 7579,7582,7583,7586,7577,5439,7314,7314,1522,6959, - 7314,7287,7295,7291,2543,37,7299,7324,6932,6929, - 7333,5117,5095,48,5205,5183,5069,7329,1404,1565, - 7335,1462,5528,1545,7336,7334,1365,7330,7331,7332, - 5507,7325,7314,7314,6944,592,7314,7299,7323,1567, - 767,749,752,39,39,551,6445,6442,6097,823, - 7350,448,1,5227,1642,4167,5139,5161,1514,7917, - 7918,7578,7576,7585,7584,7580,7581,7579,7582,7583, - 7586,7577,5439,7299,3263,416,6935,139,1951,7314, - 767,749,752,7329,1,128,7314,7333,5117,5095, - 6938,5205,5183,5069,7326,1404,1565,7335,1462,5528, - 1545,7336,7334,1365,7330,7331,7332,5507,7314,7221, - 7217,3190,594,360,7314,132,1567,7231,7237,7234, - 39,39,1,6458,6454,6097,6451,715,1465,237, - 5227,1642,7120,5139,5161,6982,6988,6985,7015,7021, - 6994,6997,7009,7006,7012,7003,7000,6991,7018,7024, - 7314,7325,7314,7350,2152,3845,1508,1,39,5771, - 3206,7314,7352,7204,7333,5117,5095,7114,5205,5183, - 5069,289,1404,1565,7335,1462,5528,1545,7336,7334, - 1365,7330,7331,7332,5507,1166,3781,3749,7314,1937, - 2882,1,3996,1567,3676,3457,1,39,39,39, - 6445,6442,6097,823,7075,346,7324,5227,1642,7060, - 5139,5161,1514,7917,7918,7578,7576,7585,7584,7580, - 7581,7579,7582,7583,7586,7577,5439,593,7314,1522, - 7117,1544,7240,7246,7243,136,3017,7323,7322,7314, - 7078,7333,5117,5095,1,5205,5183,5069,1258,1404, - 1565,7335,1462,5528,1545,7336,7334,1365,7330,7331, - 7332,5507,417,1,7314,427,7063,767,749,752, - 1567,39,6445,6442,6097,823,7075,1522,7314,5227, - 1642,7318,5139,5161,1514,7917,7918,7578,7576,7585, - 7584,7580,7581,7579,7582,7583,7586,7577,5439,7314, - 586,575,2916,7314,7314,1118,7314,4493,3017,7321, - 7096,7153,7078,7333,5117,5095,7320,5205,5183,5069, - 419,1404,1565,7335,1462,5528,1545,7336,7334,1365, - 7330,7331,7332,5507,39,6445,6442,6097,823,3142, - 7671,2993,5227,1642,7060,5139,5161,1514,7917,7918, - 7578,7576,7585,7584,7580,7581,7579,7582,7583,7586, - 7577,5439,1,573,87,1,48,7100,7157,7314, - 7328,7314,163,7161,7169,527,7333,5117,5095,7319, - 5205,5183,5069,5370,1404,1565,7335,1462,5528,1545, - 7336,7334,1365,7330,7331,7332,5507,7317,1,1, - 2520,7063,39,6445,6442,6097,823,7314,191,7320, - 5227,1642,1,5139,5161,1514,7917,7918,7578,7576, - 7585,7584,7580,7581,7579,7582,7583,7586,7577,5439, - 7165,7173,7314,7314,7314,163,7328,7314,527,191, - 100,3328,7314,4119,7333,5117,5095,7314,5205,5183, - 5069,2377,1404,1565,7335,1462,5528,1545,7336,7334, - 1365,7330,7331,7332,5507,2569,73,39,6445,6442, - 6097,823,7319,7314,2044,5227,1642,3910,5139,5161, - 1514,7917,7918,7578,7576,7585,7584,7580,7581,7579, - 7582,7583,7586,7577,5439,8,1,7314,7314,7314, - 134,7314,4032,1298,1064,7311,7314,3298,4086,7333, - 5117,5095,7210,5205,5183,5069,7314,1404,1565,7335, - 1462,5528,1545,7336,7334,1365,7330,7331,7332,5507, - 531,39,6445,6442,6097,823,7284,138,1567,5227, - 1642,7314,5139,5161,1514,7917,7918,7578,7576,7585, - 7584,7580,7581,7579,7582,7583,7586,7577,5439,7314, - 7314,7314,7314,6270,3698,7314,7314,7314,6319,3929, - 2,3930,3993,7333,5117,5095,7311,5205,5183,5069, - 2477,1404,1565,7335,1462,5528,1545,7336,7334,1365, - 7330,7331,7332,5507,7768,39,6445,6442,2836,823, - 7314,3880,1567,5227,1642,3149,5139,5161,1514,7917, - 7918,7578,7576,7585,7584,7580,7581,7579,7582,7583, - 7586,7577,5439,1,7314,7314,7314,4180,4336,4379, - 425,7314,7314,2240,3174,3965,7314,7333,5117,5095, - 7754,5205,5183,5069,2955,1404,1565,7335,1462,5528, - 1545,7336,7334,1365,7330,7331,7332,5507,39,6445, - 6442,3256,823,7314,7314,698,5227,1642,698,5139, - 5161,1514,7917,7918,7578,7576,7585,7584,7580,7581, - 7579,7582,7583,7586,7577,5439,7314,7314,103,7314, - 7314,7252,4598,7314,99,278,1188,7314,7302,7314, - 7333,5117,5095,7314,5205,5183,5069,3496,1404,1565, - 7335,1462,5528,1545,7336,7334,1365,7330,7331,7332, - 5507,39,6445,6442,6068,823,7314,7314,103,5227, - 1642,7252,5139,5161,1514,7917,7918,7578,7576,7585, - 7584,7580,7581,7579,7582,7583,7586,7577,5439,100, - 2,7314,3133,7314,4041,7314,7314,7314,7314,7314, - 2288,4056,7314,7333,5117,5095,7255,5205,5183,5069, - 1649,1404,1565,7335,1462,5528,1545,7336,7334,1365, - 7330,7331,7332,5507,39,6445,6442,6089,823,7314, - 7314,7314,5227,1642,7314,5139,5161,1514,7917,7918, - 7578,7576,7585,7584,7580,7581,7579,7582,7583,7586, - 7577,5439,509,7314,7314,7314,7314,7314,7314,7314, - 37,7210,7314,7314,7314,7314,7333,5117,5095,7314, - 5205,5183,5069,2337,1404,1565,7335,1462,5528,1545, - 7336,7334,1365,7330,7331,7332,5507,39,6445,6442, - 6097,823,7314,7314,7314,5227,1642,7314,5139,5161, - 1514,7917,7918,7578,7576,7585,7584,7580,7581,7579, - 7582,7583,7586,7577,5439,1,7314,7314,7314,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,7333, - 5117,5095,899,5205,5183,5069,1,1404,1565,7335, - 1462,5528,1545,7336,7334,1365,7330,7331,7332,5507, - 39,6445,6442,6130,823,7314,7314,7314,5227,1642, - 648,5139,5161,1514,7917,7918,7578,7576,7585,7584, - 7580,7581,7579,7582,7583,7586,7577,5439,7314,7314, - 7314,650,7314,7314,7314,7314,7314,7314,7314,7314, - 7314,7314,7333,5117,5095,7314,5205,5183,5069,7314, - 1404,1565,7335,1462,5528,1545,7336,7334,1365,7330, - 7331,7332,5507,39,6445,6442,6097,823,7314,7314, - 7314,5227,1642,127,5139,5161,1514,7917,7918,7578, - 7576,7585,7584,7580,7581,7579,7582,7583,7586,7577, - 5439,1,7314,7314,1562,7314,7314,7314,7314,7782, - 7314,7314,7776,7780,7314,7333,5117,5095,7314,5205, - 5183,5069,7314,1404,1565,7335,1462,5528,1545,7336, - 7334,1365,7330,7331,7332,5507,7314,7314,7314,7314, - 7314,7314,7314,7314,7774,7775,7314,7805,7806,7783, - 7314,7314,7314,3845,7314,7314,7314,7314,7314,7314, - 7314,7207,7314,7314,7314,7314,7314,7314,7314,7314, - 7314,7785,7314,982,7314,7314,1804,1838,7807,7786, - 7314,7784,7314,7314,3781,3749,7314,7314,7314,7314, - 7314,7314,3676,3457,7314,7796,7795,7314,7808,7314, - 7777,7778,7801,7802,7799,7800,7779,7781,7803,7804, - 7314,7314,7314,7314,7314,7809,7314,7789,7790,7791, - 7787,7788,7797,7798,7793,7792,7794,7314,6445,6442, - 7314,7352,767,749,752,7314,7314,7314,7314,7314, - 798,7917,7918,7578,7576,7585,7584,7580,7581,7579, - 7582,7583,7586,7577,4999,7649,7650,7919,7574,7568, - 7575,7571,7547,7573,7572,7569,7570,7548,7314,7314, - 7314,7314,7314,7314,7314,7314,7711,7314,7314,7314, - 241,6874,6870,7314,6878,6795,6789,6792,7314,7314, - 5389,7712,7713,798,6834,6831,6861,6867,6840,6843, - 6855,6852,6858,6849,6846,6837,6864,4999,6804,6801, - 6798,6810,6828,6807,6819,6786,6813,6816,6825,6822, - 6783,7314,7314,7314,7314,7314,7314,7314,7314,7711, - 29,386,386,7126,386,386,386,386,386,386, - 7126,7126,7126,5389,7712,7713,7314,7314,7314,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,386,386, - 386,386,386,386,386,386,386,386,386,386, - 386,7126,7314,7314,7314,7314,575,586,586,586, - 586,586,586,586,586,586,7276,7281,7281,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 6908,7314,7126,7126,586,586,586,586,586,586, - 586,586,586,586,586,586,586,7281,7314,7314, - 7314,7314,32,387,387,7123,387,387,387,387, - 387,387,7123,7123,7123,7314,7314,7314,7314,7314, - 7314,7314,7314,7063,7314,7314,7314,7314,586,7281, - 387,387,387,387,387,387,387,387,387,387, - 387,387,387,7123,7314,7314,7314,7314,574,585, - 585,585,585,585,585,585,585,585,7192,7192, - 7192,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 7314,7314,7314,7314,7123,7123,585,585,585,585, - 585,585,585,585,585,585,585,585,585,7192, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 7314,7314,7314,7314,7314,7314,7314,7314,7314,7314, - 585,7192 + 1,1,1,1,1,1,1,1,1,1, + 1,11422,1,12125,1,1,12188,1,230,5985, + 2024,810,6542,7423,3376,157,1,1,6564,6560, + 1278,6557,2525,5169,5145,723,3945,7423,7437,7438, + 1,1,1,2933,7065,650,7635,7435,991,350, + 1,7423,1,3269,7423,1,6564,6560,6252,6557, + 343,7435,7017,5425,3945,7926,5329,5352,7088,7127, + 7124,7115,7121,7094,7097,7109,7106,7112,7103,7100, + 7091,7118,7130,1,6564,6560,1278,6557,6987,6993, + 6990,723,3945,311,45,7256,7256,7442,5235,4950, + 2327,5402,5375,3090,7434,1400,1567,7444,1485,5606, + 1534,7445,7443,1389,7439,7440,7441,5584,7434,7434, + 7423,1643,1643,343,311,343,1688,7423,343,7423, + 1,39,39,519,39,6551,6548,6252,751,7253, + 7435,7423,5425,3945,7414,5329,5352,1317,8031,8032, + 7689,7687,7696,7695,7691,7692,7690,7693,7694,7697, + 7688,5562,1,6564,6560,6554,6557,7423,420,7423, + 6571,6568,7433,884,824,841,7442,5235,4950,7423, + 5402,5375,3090,1935,1400,1567,7444,1485,5606,1534, + 7445,7443,1389,7439,7440,7441,5584,7434,3383,3364, + 139,7169,399,7432,1,1688,390,3269,39,6551, + 6548,6252,751,7423,7220,7430,5425,3945,7166,5329, + 5352,1317,8031,8032,7689,7687,7696,7695,7691,7692, + 7690,7693,7694,7697,7688,5562,7423,3517,452,4529, + 47,37,37,7071,7071,7881,7429,884,824,841, + 7442,5235,4950,333,5402,5375,3090,7867,1400,1567, + 7444,1485,5606,1534,7445,7443,1389,7439,7440,7441, + 5584,75,1443,100,7047,7169,1643,7223,3512,1688, + 141,6551,6548,6252,751,1215,7459,7459,5425,3945, + 7423,5329,5352,1317,8031,8032,7689,7687,7696,7695, + 7691,7692,7690,7693,7694,7697,7688,5562,2882,7428, + 37,7071,7071,919,364,7423,3034,7038,7035,7423, + 7330,7326,7442,5235,4950,7429,5402,5375,3090,7423, + 1400,1567,7444,1485,5606,1534,7445,7443,1389,7439, + 7440,7441,5584,7050,7423,7316,1,599,7423,431, + 7423,1688,7340,7346,7343,2110,39,39,556,6551, + 6548,6252,751,126,7459,1569,5425,3945,3940,5329, + 5352,1317,8031,8032,7689,7687,7696,7695,7691,7692, + 7690,7693,7694,7697,7688,5562,7041,598,7428,2061, + 1593,421,7349,7355,7352,287,884,824,841,7044, + 7442,5235,4950,4392,5402,5375,3090,1,1400,1567, + 7444,1485,5606,1534,7445,7443,1389,7439,7440,7441, + 5584,117,7827,2936,1,2711,7423,349,293,1688, + 2697,7423,5193,3896,39,39,1,6564,6560,6252, + 6557,7199,7784,7423,5425,3945,3311,5329,5352,7088, + 7127,7124,7115,7121,7094,7097,7109,7106,7112,7103, + 7100,7091,7118,7130,3830,3797,721,7423,7423,721, + 7709,6420,3764,3685,7423,7423,7423,7433,7442,5235, + 4950,2,5402,5375,3090,7423,1400,1567,7444,1485, + 5606,1534,7445,7443,1389,7439,7440,7441,5584,1643, + 4203,4592,7423,10220,7423,3962,1,1688,7432,7423, + 7423,7423,39,39,39,6551,6548,6252,751,7181, + 5169,5145,5425,3945,7166,5329,5352,1317,8031,8032, + 7689,7687,7696,7695,7691,7692,7690,7693,7694,7697, + 7688,5562,7423,7423,7423,4718,1443,7396,7404,7400, + 7423,3073,7408,7433,7431,7184,7442,5235,4950,4266, + 5402,5375,3090,7423,1400,1567,7444,1485,5606,1534, + 7445,7443,1389,7439,7440,7441,5584,138,2618,1227, + 116,7169,7423,7408,7432,1688,39,6551,6548,6252, + 751,5193,7429,7423,5425,3945,7427,5329,5352,1317, + 8031,8032,7689,7687,7696,7695,7691,7692,7690,7693, + 7694,7697,7688,5562,7423,132,591,7408,3489,1124, + 3312,1,3934,429,7429,7430,7202,3276,7442,5235, + 4950,161,5402,5375,3090,372,1400,1567,7444,1485, + 5606,1534,7445,7443,1389,7439,7440,7441,5584,39, + 6551,6548,6252,751,7423,7428,136,5425,3945,7166, + 5329,5352,1317,8031,8032,7689,7687,7696,7695,7691, + 7692,7690,7693,7694,7697,7688,5562,99,580,5169, + 5145,48,48,7206,1173,7438,7437,7428,7259,5925, + 7423,7442,5235,4950,161,5402,5375,3090,1737,1400, + 1567,7444,1485,5606,1534,7445,7443,1389,7439,7440, + 7441,5584,408,7426,578,1481,7169,39,6551,6548, + 6252,751,7190,7423,7267,5425,3945,2469,5329,5352, + 1317,8031,8032,7689,7687,7696,7695,7691,7692,7690, + 7693,7694,7697,7688,5562,7263,7423,87,7423,7364, + 7423,7438,7437,7193,3047,7423,7431,7275,4143,7442, + 5235,4950,682,5402,5375,3090,7423,1400,1567,7444, + 1485,5606,1534,7445,7443,1389,7439,7440,7441,5584, + 1,7271,39,6551,6548,6252,751,7423,7423,2042, + 5425,3945,7423,5329,5352,1317,8031,8032,7689,7687, + 7696,7695,7691,7692,7690,7693,7694,7697,7688,5562, + 1,1,1,1,7279,7423,7423,7423,4211,4268, + 7433,191,163,532,7442,5235,4950,7430,5402,5375, + 3090,7423,1400,1567,7444,1485,5606,1534,7445,7443, + 1389,7439,7440,7441,5584,73,39,6551,6548,6252, + 751,7432,191,1688,5425,3945,7423,5329,5352,1317, + 8031,8032,7689,7687,7696,7695,7691,7692,7690,7693, + 7694,7697,7688,5562,8,7423,4251,1,7423,370, + 7423,2417,7423,2905,7420,163,532,7429,7442,5235, + 4950,2376,5402,5375,3090,377,1400,1567,7444,1485, + 5606,1534,7445,7443,1389,7439,7440,7441,5584,7423, + 39,6551,6548,4810,751,7393,7423,1688,5425,3945, + 7423,5329,5352,1317,8031,8032,7689,7687,7696,7695, + 7691,7692,7690,7693,7694,7697,7688,5562,511,100, + 103,7423,509,7361,4362,7423,7423,7423,2159,2425, + 7428,7423,7442,5235,4950,7420,5402,5375,3090,1543, + 1400,1567,7444,1485,5606,1534,7445,7443,1389,7439, + 7440,7441,5584,39,6551,6548,4830,751,7423,7423, + 7423,5425,3945,4329,5329,5352,1317,8031,8032,7689, + 7687,7696,7695,7691,7692,7690,7693,7694,7697,7688, + 5562,423,536,7423,280,7423,3934,7411,7423,103, + 7423,7316,7361,3575,7423,7442,5235,4950,5688,5402, + 5375,3090,5852,1400,1567,7444,1485,5606,1534,7445, + 7443,1389,7439,7440,7441,5584,39,6551,6548,5260, + 751,7423,7423,7423,5425,3945,7423,5329,5352,1317, + 8031,8032,7689,7687,7696,7695,7691,7692,7690,7693, + 7694,7697,7688,5562,7423,2,7423,7423,7423,7423, + 7423,7423,7423,3944,7423,7423,7423,7423,7442,5235, + 4950,2662,5402,5375,3090,1642,1400,1567,7444,1485, + 5606,1534,7445,7443,1389,7439,7440,7441,5584,39, + 6551,6548,5713,751,7423,7423,7423,5425,3945,7423, + 5329,5352,1317,8031,8032,7689,7687,7696,7695,7691, + 7692,7690,7693,7694,7697,7688,5562,1,7423,7423, + 7423,513,7423,7423,7423,37,7423,7423,7423,7423, + 7423,7442,5235,4950,2476,5402,5375,3090,524,1400, + 1567,7444,1485,5606,1534,7445,7443,1389,7439,7440, + 7441,5584,39,6551,6548,6252,751,7423,7423,7423, + 5425,3945,661,5329,5352,1317,8031,8032,7689,7687, + 7696,7695,7691,7692,7690,7693,7694,7697,7688,5562, + 1,7423,7423,7423,7423,7423,7423,7423,7423,7423, + 7423,7423,7423,7423,7442,5235,4950,7423,5402,5375, + 3090,2853,1400,1567,7444,1485,5606,1534,7445,7443, + 1389,7439,7440,7441,5584,39,6551,6548,6288,751, + 7423,7423,7423,5425,3945,712,5329,5352,1317,8031, + 8032,7689,7687,7696,7695,7691,7692,7690,7693,7694, + 7697,7688,5562,7423,7423,7423,2449,7423,7423,3934, + 7423,7423,7423,7423,7423,7423,7423,7442,5235,4950, + 7423,5402,5375,3090,7423,1400,1567,7444,1485,5606, + 1534,7445,7443,1389,7439,7440,7441,5584,39,6551, + 6548,6252,751,7423,7423,7423,5425,3945,128,5329, + 5352,1317,8031,8032,7689,7687,7696,7695,7691,7692, + 7690,7693,7694,7697,7688,5562,1,7423,7423,1914, + 1,7423,7423,7423,7895,7423,7423,7889,7893,7423, + 7442,5235,4950,7181,5402,5375,3090,7423,1400,1567, + 7444,1485,5606,1534,7445,7443,1389,7439,7440,7441, + 5584,7423,7423,7423,7423,7423,7423,7423,7423,7887, + 7888,7423,7918,7919,7896,3073,7423,7423,3896,7184, + 7423,7423,7423,7423,7423,7423,7310,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,7898,7423,1063,7423, + 7423,7920,1797,1828,7899,7423,7897,7423,7423,3830, + 3797,7423,7423,7423,7423,7423,7423,3764,3685,7423, + 7909,7908,7423,7921,7423,7890,7891,7914,7915,7912, + 7913,7892,7894,7916,7917,7423,7423,7423,7423,7423, + 7423,7922,7423,7902,7903,7904,7900,7901,7910,7911, + 7906,7905,7907,7423,6551,6548,7423,7461,884,824, + 841,7423,7423,7423,7423,7423,1198,8031,8032,7689, + 7687,7696,7695,7691,7692,7690,7693,7694,7697,7688, + 5540,7762,7763,8033,7684,7678,7685,7681,7657,7683, + 7682,7679,7680,7658,7423,7423,7423,7423,7423,7423, + 7423,7423,7824,7423,7423,7423,242,6980,6976,7423, + 6984,6901,6895,6898,7423,7423,3595,7825,7826,1198, + 6973,6970,6961,6967,6940,6943,6955,6952,6958,6949, + 6946,6937,6964,5540,6910,6907,6904,6916,6934,6913, + 6925,6892,6919,6922,6931,6928,6889,7423,7423,7423, + 7423,7423,7423,7423,7423,7824,29,390,390,7232, + 390,390,390,390,390,390,7232,7232,7232,3595, + 7825,7826,7423,7423,7423,7423,7423,7423,7423,7423, + 7423,7423,7423,7423,390,390,390,390,390,390, + 390,390,390,390,390,390,390,7232,7423,7423, + 7423,7423,580,591,591,591,591,591,591,591, + 591,591,7385,7390,7390,7423,7423,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,7014,7423,7232,7232, + 591,591,591,591,591,591,591,591,591,591, + 591,591,591,7390,7423,7423,7423,7423,32,391, + 391,7229,391,391,391,391,391,391,7229,7229, + 7229,7423,7423,7423,7423,7423,7423,127,7423,7169, + 7423,7423,7423,7423,591,7390,391,391,391,391, + 391,391,391,391,391,391,391,391,391,7229, + 7423,7423,7423,7423,579,590,590,590,590,590, + 590,590,590,590,7298,7298,7298,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,7423,7423,7423,7423, + 7229,7229,590,590,590,590,590,590,590,590, + 590,590,590,590,590,7298,7423,3896,7423,7423, + 7423,7423,7423,7423,7423,7313,7423,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,7423,7423,7423,7423, + 7423,7423,7423,7423,7423,7423,590,7298,3830,3797, + 7423,7423,7423,7423,7423,7423,3764,3685 }; }; public final static char termAction[] = TermAction.termAction; @@ -2394,69 +2418,69 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface Asb { public final static char asb[] = {0, - 1318,1,1309,3,436,1356,91,91,91,1265, - 6,805,1317,471,929,594,1125,594,594,594, - 1138,29,1138,802,1138,1256,1138,1138,471,932, - 1138,1119,890,32,1356,1198,709,1138,1138,396, - 932,1138,932,594,93,42,42,1070,42,239, - 29,26,110,26,932,930,496,592,392,1254, - 37,804,88,802,808,471,1256,172,932,932, - 89,473,890,890,890,890,890,890,890,890, - 890,890,711,890,648,594,93,93,93,93, - 471,594,1138,486,486,645,781,16,16,1201, - 796,543,1198,1198,932,1367,1005,172,172,1138, - 335,1005,1138,1138,93,1138,932,285,1017,53, - 42,42,41,41,29,471,932,930,550,475, - 549,166,392,591,1005,37,932,25,832,481, - 89,29,161,932,172,89,932,281,648,648, - 648,648,1210,435,285,1138,1005,1005,1005,850, - 993,869,869,436,436,436,436,932,348,9, - 9,348,889,486,29,471,781,291,1198,1138, - 932,889,668,1198,781,281,1138,1138,172,172, - 1201,335,335,930,1017,53,41,41,41,932, - 645,645,496,645,236,1254,1004,1003,391,163, - 932,37,1117,805,93,928,95,37,25,482, - 486,25,486,89,161,161,932,1070,501,506, - 503,510,508,517,515,519,518,520,338,521, - 1069,932,473,932,1005,1005,1005,1005,335,435, - 889,1138,851,1201,1013,824,823,547,554,1144, - 1144,471,711,890,1005,1005,1070,1070,1070,1070, - 89,1005,889,929,931,929,1005,335,29,596, - 932,594,335,534,1198,1205,1005,163,29,1198, - 781,1208,1138,1070,1070,1138,1005,828,813,827, - 1069,93,490,490,163,163,41,932,933,1005, - 166,1005,347,1005,1005,285,97,486,486,486, - 486,932,161,163,756,757,890,890,890,890, - 890,890,890,890,890,890,890,890,890,890, - 890,890,890,890,890,890,890,889,889,889, - 889,889,889,889,889,889,889,889,1072,890, - 869,281,1138,1138,1138,669,890,436,1138,1138, - 1005,850,1117,890,1117,645,849,594,594,594, - 851,594,932,600,645,645,932,29,993,1005, - 1015,1017,889,932,285,1148,648,594,594,594, - 594,932,932,932,931,285,769,471,932,348, - 163,668,1138,1138,771,889,825,825,1011,1201, - 716,53,42,53,1068,1068,163,645,1005,1004, - 930,543,890,1117,782,790,540,97,486,486, - 761,163,890,932,503,503,501,501,501,508, - 508,508,508,508,508,506,506,515,510,510, - 518,517,519,1117,1117,520,1005,1138,1201,840, - 851,1117,1008,851,869,869,867,1059,869,645, - 645,788,769,1005,1017,89,930,1005,889,889, - 889,889,594,594,473,932,930,769,1005,668, - 1138,935,771,889,889,1015,813,53,436,436, - 347,645,97,890,890,540,540,97,97,596, - 470,762,932,889,889,1138,1138,1138,889,1138, - 851,890,851,1005,1198,1005,867,1356,594,1005, - 769,1061,1005,932,945,1005,1005,1005,1005,348, - 348,289,1138,473,841,594,757,1138,774,1069, - 540,540,761,932,471,471,932,1138,348,890, - 335,851,788,851,645,1356,889,851,848,1061, - 1061,1181,1005,1005,289,716,1138,117,774,1057, - 932,932,932,1138,1005,335,889,849,348,645, - 1005,1064,1061,1005,1005,1195,1138,1138,594,490, - 932,932,851,1005,645,1064,1064,29,29,1197, - 1018,1068,851,1064,1004,929,436 + 1307,1,1298,126,951,1345,65,65,65,1254, + 8,1041,1306,986,902,546,1055,546,546,546, + 1068,175,1068,1038,1068,774,1068,1068,986,905, + 1068,1049,863,3,1345,1128,1201,1068,1068,911, + 905,1068,905,546,178,16,16,811,16,74, + 175,270,180,270,905,903,381,544,377,1252, + 11,1040,62,1038,173,986,774,193,905,905, + 63,988,863,863,863,863,863,863,863,863, + 863,863,1203,863,1140,546,178,178,178,178, + 986,546,1068,437,437,654,745,260,260,1131, + 768,489,1128,1128,905,1356,732,193,193,1068, + 320,732,1068,1068,178,1068,905,120,996,27, + 16,16,15,15,175,986,905,903,496,386, + 495,500,377,543,732,11,905,269,754,432, + 63,175,441,905,193,63,905,116,1140,1140, + 1140,1140,1208,950,120,1068,732,732,732,823, + 720,842,842,951,951,951,951,905,333,67, + 67,333,862,437,175,986,745,276,1128,1068, + 905,862,1160,1128,745,116,1068,1068,193,193, + 1131,320,320,903,996,27,15,15,15,905, + 654,654,381,654,257,1252,731,730,376,444, + 905,11,607,1041,178,901,1359,11,269,433, + 437,269,437,63,441,441,905,811,447,452, + 449,456,454,463,461,465,464,466,323,467, + 810,905,988,905,732,732,732,732,320,950, + 862,1068,824,1131,992,794,793,493,506,1074, + 1074,986,1203,863,732,732,811,811,811,811, + 63,732,862,902,904,902,732,320,175,550, + 905,546,320,480,1128,1135,732,444,175,1128, + 745,1138,1068,811,811,1068,732,798,783,797, + 810,178,187,187,444,444,15,905,906,732, + 500,732,332,732,732,120,1361,437,437,437, + 437,905,441,443,657,443,863,863,863,863, + 863,863,863,863,863,863,863,863,863,863, + 863,863,863,863,863,863,863,862,862,862, + 862,862,862,862,862,862,862,862,562,863, + 842,116,1068,1068,1068,1161,863,951,1068,1068, + 732,823,607,863,607,654,822,546,546,546, + 824,546,905,609,654,654,905,175,720,732, + 994,996,862,905,120,1078,1140,546,546,546, + 546,905,905,905,904,120,548,986,905,333, + 444,1160,1068,1068,735,862,795,795,990,1131, + 392,27,16,27,809,809,444,654,732,731, + 903,489,863,607,746,762,486,1361,437,437, + 554,443,444,863,905,449,449,447,447,447, + 454,454,454,454,454,454,452,452,461,456, + 456,464,463,465,607,607,466,732,1068,1131, + 813,824,607,908,824,842,842,840,822,842, + 654,654,752,821,732,996,63,903,732,862, + 862,862,862,546,546,988,905,903,548,732, + 1160,1068,662,735,862,862,994,783,27,951, + 951,332,654,1361,863,863,486,486,1361,1361, + 550,985,555,905,444,862,862,1068,1068,1068, + 862,1068,824,863,824,732,1128,732,840,1345, + 546,732,548,802,732,905,672,732,732,732, + 732,333,333,124,1068,988,814,546,443,1068, + 738,810,486,486,554,905,986,986,905,1068, + 333,863,320,824,752,824,654,1345,862,824, + 821,802,802,1111,732,732,124,392,1068,129, + 738,1036,905,905,905,1068,732,320,862,822, + 333,654,732,805,802,732,732,1125,1068,1068, + 546,187,905,905,824,732,654,805,805,175, + 175,1127,997,809,824,805,731,902,951 }; }; public final static char asb[] = Asb.asb; @@ -2464,143 +2488,144 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface Asr { public final static char asr[] = {0, - 129,0,3,29,0,42,45,0,9,4, - 45,8,1,2,0,79,3,78,96,80, - 77,73,41,72,74,6,7,5,67,10, - 0,10,74,67,79,0,111,112,113,74, - 81,9,10,3,12,11,8,41,69,66, - 88,68,14,15,30,5,32,16,17,49, - 28,18,63,33,34,19,35,36,20,21, - 37,38,22,23,39,64,40,13,65,24, - 31,25,29,26,27,6,7,4,1,2, - 45,0,70,0,41,10,3,9,8,74, - 12,11,4,1,2,6,7,5,0,5, - 10,67,6,7,80,0,75,76,71,46, - 47,12,11,43,44,8,48,54,62,27, - 3,4,9,59,60,61,42,57,52,56, - 17,26,16,22,20,21,23,24,19,18, - 25,14,15,13,51,55,53,50,58,67, - 1,2,81,10,0,10,77,73,1,28, - 0,14,15,30,5,32,16,17,49,28, - 50,75,18,51,63,33,34,52,19,35, - 36,20,21,37,76,9,38,53,22,23, - 54,39,55,64,56,71,57,40,58,13, - 65,24,31,25,29,26,59,60,61,42, - 2,3,46,47,12,43,44,8,48,78, - 4,27,62,6,7,1,11,0,14,15, - 30,32,16,17,49,28,18,63,33,88, - 34,19,35,36,20,21,37,66,38,22, - 23,39,64,40,13,65,24,68,31,25, - 29,26,3,12,4,41,27,69,67,10, - 5,11,6,7,9,45,1,2,8,0, - 75,76,3,13,51,55,53,50,58,17, - 26,16,22,20,21,23,24,19,18,25, - 14,15,59,60,61,42,57,52,56,8, - 9,4,46,47,12,11,43,44,48,54, - 62,27,1,2,126,10,0,5,78,74, - 96,126,81,41,6,7,77,14,15,16, - 17,50,75,18,51,52,19,20,21,76, - 9,53,22,23,54,55,56,71,57,58, - 13,24,25,26,59,60,61,2,3,46, - 47,12,11,43,44,8,48,4,27,62, - 42,73,10,1,0,76,75,43,44,11, - 99,100,105,12,106,8,48,80,70,78, - 119,120,116,117,118,124,123,125,95,94, - 121,122,103,104,101,102,107,108,46,47, - 77,97,114,72,3,27,13,63,49,64, - 65,17,26,16,22,20,21,23,24,19, - 18,25,14,15,32,38,39,34,37,36, - 33,28,29,30,5,7,6,35,40,31, - 1,2,4,0,10,74,77,73,3,0, - 4,6,7,5,70,10,74,67,0,78, - 80,77,1,2,0,10,74,73,42,0, - 98,97,11,99,100,43,44,95,94,70, - 101,102,109,110,103,104,12,105,106,107, - 78,73,80,116,117,118,119,120,121,122, - 123,124,125,74,96,126,81,108,115,6, - 7,5,10,41,77,0,126,41,77,73, - 10,74,0,14,15,30,5,32,16,17, - 28,18,33,34,19,35,36,20,21,37, - 9,38,22,23,39,40,24,31,25,29, - 26,2,72,12,11,8,4,41,6,7, - 1,73,10,3,0,10,67,77,0,14, - 15,16,17,50,75,18,51,52,19,20, - 21,76,9,53,22,23,54,55,56,71, - 57,58,13,24,25,26,59,60,61,42, - 1,2,3,46,47,12,11,43,44,8, - 48,4,27,62,41,10,0,30,5,32, - 49,28,63,33,34,35,36,37,38,39, - 64,40,65,31,29,6,7,71,46,47, - 12,11,43,44,48,54,62,27,3,4, - 59,60,61,42,57,52,56,17,26,16, - 22,20,21,23,24,19,18,25,14,15, - 13,51,55,53,50,58,67,10,9,8, - 1,2,76,75,0,14,15,30,5,32, - 16,17,49,28,18,63,33,34,19,35, - 36,20,21,37,38,22,23,39,64,40, - 13,65,24,31,25,29,26,1,2,4, - 27,6,7,96,0,80,10,81,77,0, - 31,1,2,4,111,112,113,0,127,0, - 30,28,29,71,79,78,74,96,73,67, - 3,5,10,77,41,6,7,80,0,74, - 5,72,6,7,70,10,77,41,80,3, - 0,45,4,74,6,7,5,1,2,67, - 10,0,5,12,11,6,7,9,8,4, - 1,2,3,72,78,80,77,10,73,96, - 0,4,10,74,67,6,7,5,0,73, - 88,111,112,113,45,74,129,127,130,81, - 69,79,68,66,83,85,92,90,82,87, - 89,91,93,67,84,86,41,10,63,49, - 64,65,32,38,39,34,37,36,31,33, - 28,29,30,5,7,6,35,40,71,75, - 76,51,55,53,50,58,3,17,26,16, - 22,20,21,23,24,19,18,25,14,15, - 59,60,61,42,57,52,56,46,47,12, - 11,43,44,48,54,62,27,13,4,9, - 8,2,1,0,71,79,128,114,46,47, - 74,96,126,81,33,34,35,36,37,9, - 38,39,40,31,29,28,32,8,30,98, - 97,43,44,99,100,94,95,70,101,102, - 103,104,105,106,107,108,115,80,116,117, - 118,119,120,121,122,123,124,125,109,110, - 41,67,78,5,1,2,12,11,4,6, - 7,72,3,77,73,10,0,74,96,0, - 8,9,3,72,11,12,96,14,15,30, - 5,32,16,17,28,18,63,33,34,19, + 129,0,10,74,67,79,0,42,45,0, + 112,113,114,74,81,9,10,3,12,11, + 8,41,69,66,88,68,14,15,30,5, + 32,16,17,49,28,18,63,33,34,19, 35,36,20,21,37,38,22,23,39,64, - 40,13,65,24,31,25,29,26,1,2, - 4,27,6,7,73,10,49,0,82,0, - 30,28,29,71,10,96,73,80,77,78, - 0,14,15,16,17,50,75,18,51,52, - 19,20,21,76,9,53,22,23,54,55, + 40,13,65,24,31,25,29,26,27,6, + 7,4,1,2,45,0,9,4,45,8, + 1,2,0,14,15,30,32,16,17,49, + 28,18,63,33,88,34,19,35,36,20, + 21,37,66,38,22,23,39,64,40,13, + 65,24,68,31,25,29,26,3,12,4, + 41,27,69,67,10,5,11,6,7,9, + 45,1,2,8,0,3,29,0,76,77, + 71,46,47,12,11,43,44,8,48,54, + 62,27,3,4,9,59,60,61,42,57, + 52,56,14,15,17,26,16,22,20,21, + 23,24,19,18,25,13,51,55,53,50, + 58,81,1,2,67,10,0,70,0,5, + 10,67,6,7,80,0,78,80,75,1, + 2,0,14,15,30,5,32,16,17,49, + 28,50,76,18,51,63,33,34,52,19, + 35,36,20,21,37,77,9,38,53,22, + 23,54,39,55,64,56,71,57,40,58, + 13,65,24,31,25,29,26,59,60,61, + 42,2,3,46,47,12,43,44,8,48, + 78,4,27,62,6,7,1,11,0,79, + 3,78,96,80,75,73,41,72,74,10, + 67,6,7,5,0,76,77,3,13,51, + 55,53,50,58,17,26,16,22,20,21, + 23,24,19,18,25,14,15,59,60,61, + 42,57,52,56,8,9,4,46,47,12, + 11,43,44,48,54,62,27,1,2,127, + 10,0,5,78,74,96,127,81,41,6, + 7,75,14,15,16,17,50,76,18,51, + 52,19,20,21,77,9,53,22,23,54, + 55,56,71,57,58,13,24,25,26,59, + 60,61,2,3,46,47,12,11,43,44, + 8,48,4,27,62,42,73,10,1,0, + 10,74,73,42,0,10,74,75,73,3, + 0,14,15,30,5,32,16,17,49,28, + 18,63,33,34,19,35,36,20,21,37, + 38,22,23,39,64,40,13,65,24,31, + 25,29,26,1,2,4,27,6,7,96, + 0,4,6,7,5,70,10,74,67,0, + 1,2,75,81,10,0,98,97,11,99, + 100,43,44,95,94,70,101,102,109,110, + 103,104,12,105,106,107,78,73,80,117, + 118,119,120,121,122,123,124,125,126,74, + 96,127,81,108,116,6,7,5,10,41, + 75,0,127,41,75,73,10,74,0,10, + 75,73,1,28,0,14,15,30,5,32, + 16,17,28,18,33,34,19,35,36,20, + 21,37,9,38,22,23,39,40,24,31, + 25,29,26,2,72,12,11,8,4,41, + 6,7,1,73,10,3,0,111,0,10, + 67,75,0,31,1,2,4,112,113,114, + 0,14,15,16,17,50,76,18,51,52, + 19,20,21,77,9,53,22,23,54,55, 56,71,57,58,13,24,25,26,59,60, 61,42,1,2,3,46,47,12,11,43, - 44,8,48,4,27,62,74,0,27,13, + 44,8,48,4,27,62,74,0,14,15, + 16,17,50,76,18,51,52,19,20,21, + 77,9,53,22,23,54,55,56,71,57, + 58,13,24,25,26,59,60,61,42,1, + 2,3,46,47,12,11,43,44,8,48, + 4,27,62,41,10,0,10,75,81,80, + 0,71,79,128,115,46,47,74,96,127, + 81,33,34,35,36,37,9,38,39,40, + 31,29,28,32,8,30,98,97,43,44, + 99,100,94,95,70,101,102,103,104,105, + 106,107,108,116,80,117,118,119,120,121, + 122,123,124,125,126,109,110,41,67,78, + 5,1,2,12,11,4,6,7,72,3, + 75,73,10,0,30,28,29,71,79,78, + 74,96,73,67,3,5,10,75,41,6, + 7,80,0,4,10,74,67,6,7,5, + 0,74,5,72,6,7,70,10,75,41, + 80,3,0,4,10,67,6,7,5,1, + 2,0,5,12,11,6,7,9,8,4, + 1,2,3,72,78,80,75,10,73,96, + 0,30,28,29,71,10,96,73,80,75, + 78,0,73,88,112,113,114,45,74,129, + 111,130,81,69,79,68,66,83,85,92, + 90,82,87,89,91,93,67,84,86,41, + 10,63,49,64,65,32,38,39,34,37, + 36,31,33,28,29,30,5,7,6,35, + 40,71,76,77,51,55,53,50,58,3, + 17,26,16,22,20,21,23,24,19,18, + 25,14,15,59,60,61,42,57,52,56, + 46,47,12,11,43,44,48,54,62,27, + 13,4,9,8,2,1,0,74,96,0, + 77,76,43,44,11,99,100,105,12,106, + 8,48,80,70,78,120,121,117,118,119, + 125,124,126,95,94,122,123,103,104,101, + 102,107,108,46,47,75,97,115,72,3, + 27,13,63,49,64,65,14,15,17,26, + 16,22,20,21,23,24,19,18,25,32, + 38,39,34,37,36,33,28,29,30,5, + 7,6,35,40,31,1,2,4,0,8, + 9,3,72,11,12,96,14,15,30,5, + 32,16,17,28,18,63,33,34,19,35, + 36,20,21,37,38,22,23,39,64,40, + 13,65,24,31,25,29,26,1,2,4, + 27,6,7,73,10,49,0,45,4,74, + 10,67,6,7,5,1,2,0,27,13, 63,49,64,65,17,26,16,22,20,21, 23,24,19,18,25,14,15,79,74,96, - 126,81,67,128,114,46,47,98,97,43, + 127,81,67,128,115,46,47,98,97,43, 44,99,100,94,95,70,78,101,102,103, - 104,105,106,107,108,115,80,116,117,118, - 119,120,121,122,123,124,125,77,109,110, + 104,105,106,107,108,116,80,117,118,119, + 120,121,122,123,124,125,126,75,109,110, 30,32,28,33,34,35,36,37,38,39, 40,31,29,41,10,73,72,8,9,3, - 12,1,2,4,6,7,5,11,0,75, - 76,46,47,12,11,43,44,8,48,54, - 62,27,3,4,9,59,60,61,57,52, - 56,17,26,16,22,20,21,23,24,19, - 18,25,14,15,13,51,55,53,50,58, - 72,1,2,42,0,4,10,67,6,7, - 5,1,2,0,17,49,28,18,63,33, - 19,35,20,21,37,38,22,23,64,40, - 65,24,31,25,29,26,16,32,30,27, - 15,14,10,3,12,11,41,68,88,34, - 39,36,69,70,6,7,5,45,9,1, - 2,8,4,13,66,0,81,14,15,30, - 32,16,17,49,28,18,63,33,19,35, - 20,21,37,38,22,23,64,40,13,65, - 24,31,25,29,26,27,129,69,66,34, - 39,36,88,68,45,5,10,41,6,7, - 8,9,1,2,4,3,11,12,0 + 12,1,2,4,6,7,5,11,0,30, + 5,32,49,28,63,33,34,35,36,37, + 38,39,64,40,65,31,29,6,7,71, + 46,47,12,11,43,44,48,54,62,27, + 3,4,59,60,61,42,57,52,56,14, + 15,17,26,16,22,20,21,23,24,19, + 18,25,13,51,55,53,50,58,67,10, + 9,8,1,2,77,76,0,76,77,46, + 47,12,11,43,44,8,48,54,62,27, + 3,4,9,59,60,61,57,52,56,14, + 15,17,26,16,22,20,21,23,24,19, + 18,25,13,51,55,53,50,58,72,1, + 2,42,0,17,49,28,18,63,33,19, + 35,20,21,37,38,22,23,64,40,65, + 24,31,25,29,26,16,32,30,27,15, + 14,10,3,12,11,41,68,88,34,39, + 36,69,70,6,7,5,45,9,1,2, + 8,4,13,66,0,81,14,15,30,32, + 16,17,49,28,18,63,33,19,35,20, + 21,37,38,22,23,64,40,13,65,24, + 31,25,29,26,27,129,69,66,34,39, + 36,88,68,45,5,10,41,6,7,8, + 9,1,2,4,3,11,12,0,41,10, + 3,9,8,74,12,11,4,1,2,6, + 7,5,0 }; }; public final static char asr[] = Asr.asr; @@ -2608,69 +2633,69 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface Nasb { public final static char nasb[] = {0, - 293,13,28,21,5,57,13,13,13,305, - 13,138,305,73,73,13,282,13,13,13, - 283,273,283,148,283,148,283,13,11,51, - 283,275,69,231,141,226,175,13,13,102, - 302,13,51,13,13,305,305,13,305,200, - 273,148,13,291,245,245,120,254,115,13, - 231,193,73,291,14,73,291,231,51,12, - 13,13,69,69,69,69,69,69,69,69, - 69,69,51,298,163,13,13,13,13,13, - 73,13,13,231,30,156,148,46,46,312, - 54,13,171,285,51,13,254,231,231,75, - 91,254,13,13,13,13,12,100,231,231, - 305,305,231,231,273,73,204,175,254,13, - 13,78,109,13,254,238,194,148,148,13, - 245,273,231,245,38,106,194,150,163,163, - 163,163,69,64,100,13,254,254,254,48, - 189,1,165,43,43,43,43,51,158,32, - 32,158,220,30,213,17,291,86,171,291, - 51,112,67,142,148,179,148,148,38,38, - 312,91,91,175,235,235,293,293,231,245, - 156,156,120,156,13,120,254,13,254,49, - 51,156,13,203,13,28,56,238,148,148, - 231,291,231,106,231,303,12,13,13,13, - 13,13,13,13,13,13,13,13,69,13, - 13,194,13,12,254,254,254,254,91,43, - 112,271,197,312,188,46,46,13,13,13, - 13,11,51,69,254,254,13,13,13,13, - 99,254,69,174,51,174,254,91,213,13, - 245,13,91,13,286,148,254,231,273,285, - 291,13,231,13,13,258,254,13,224,13, - 13,13,118,118,49,49,293,204,13,254, - 78,254,69,254,254,100,141,231,231,84, - 84,194,303,49,13,13,69,69,69,69, - 69,69,69,69,69,69,69,69,69,69, - 69,69,69,69,69,69,69,69,69,69, - 69,69,69,69,69,69,69,69,248,69, - 38,150,271,271,271,266,69,43,231,93, - 254,216,13,124,13,156,13,13,13,13, - 217,13,303,154,156,156,303,131,256,254, - 310,231,69,51,100,13,163,13,13,13, - 13,194,12,51,23,100,231,17,12,158, - 49,231,148,136,231,69,13,13,223,312, - 235,235,305,231,13,13,49,156,254,254, - 175,156,69,13,182,13,148,285,84,84, - 184,49,69,303,13,13,13,13,13,13, + 279,13,14,55,5,307,13,13,13,295, + 13,149,295,66,66,13,259,13,13,13, + 260,237,260,144,260,144,260,13,11,156, + 260,252,62,225,137,220,173,13,13,213, + 288,13,156,13,13,295,295,13,295,197, + 237,144,13,274,203,203,117,192,200,13, + 225,291,66,274,72,66,274,225,156,12, + 13,13,62,62,62,62,62,62,62,62, + 62,62,156,284,262,13,13,13,13,13, + 66,13,13,225,135,165,144,91,91,302, + 57,13,169,268,156,13,192,225,225,104, + 102,192,13,13,13,13,12,53,225,225, + 295,295,225,225,237,66,228,173,192,13, + 13,133,39,13,192,239,292,144,144,13, + 203,237,225,203,27,22,292,16,262,262, + 262,262,62,107,53,13,192,192,192,119, + 178,1,264,32,32,32,32,156,75,42, + 42,75,210,135,187,35,274,97,169,274, + 156,48,60,138,144,276,144,144,27,27, + 302,102,102,173,184,184,279,279,225,203, + 165,165,117,165,13,117,192,13,192,120, + 156,165,13,227,13,14,306,239,144,144, + 225,274,225,22,225,289,12,13,13,13, + 13,13,13,13,13,13,13,13,62,13, + 13,292,13,12,192,192,192,192,102,32, + 48,235,194,302,177,91,91,13,13,13, + 13,11,156,62,192,192,13,13,13,13, + 52,192,62,172,156,172,192,102,187,13, + 203,13,102,13,269,144,192,225,237,268, + 274,13,225,13,13,248,192,13,218,13, + 13,13,81,81,120,120,279,228,13,192, + 133,192,62,192,192,53,137,225,225,109, + 109,292,289,83,13,13,62,62,62,62, + 62,62,62,62,62,62,62,62,62,62, + 62,62,62,62,62,62,62,62,62,62, + 62,62,62,62,62,62,62,62,159,62, + 27,16,235,235,235,230,62,32,225,78, + 192,206,13,122,13,165,13,13,13,13, + 207,13,289,163,165,165,289,146,246,192, + 300,225,62,156,53,13,262,13,13,13, + 13,292,12,156,88,53,225,35,12,75, + 120,225,144,93,225,62,13,13,217,302, + 184,184,295,225,13,13,120,165,192,192, + 173,165,62,13,25,13,144,268,109,109, + 152,83,120,62,289,13,13,13,13,13, 13,13,13,13,13,13,13,13,13,13, - 13,13,13,13,13,13,254,26,258,13, - 217,13,13,217,262,262,233,13,262,156, - 156,13,231,254,235,98,194,254,220,220, - 220,220,13,13,13,302,194,82,254,67, - 231,136,136,69,69,310,169,235,43,43, - 69,156,142,69,69,291,148,285,13,13, - 73,80,245,69,69,231,96,13,220,258, - 217,69,217,254,226,254,316,231,13,254, - 82,231,254,194,271,254,254,254,254,158, - 158,24,13,13,122,13,49,136,231,13, - 148,291,209,245,73,73,12,26,158,69, - 91,217,13,217,156,142,220,217,122,136, - 231,13,254,254,24,43,134,66,161,13, - 12,245,245,96,254,91,69,13,206,156, - 254,231,136,254,254,231,134,13,13,118, - 12,12,217,254,156,161,231,131,131,224, - 252,13,217,161,254,174,43 + 13,13,13,13,13,13,13,192,95,248, + 13,207,13,13,207,318,318,182,13,318, + 165,165,13,225,192,184,51,292,192,210, + 210,210,210,13,13,13,288,292,68,192, + 60,225,93,93,62,62,300,167,184,32, + 32,62,165,138,62,62,274,144,268,13, + 13,66,111,203,120,62,62,225,20,13, + 210,248,207,62,207,192,220,192,314,225, + 13,192,68,225,192,292,235,192,192,192, + 192,75,75,89,13,13,70,13,120,93, + 225,13,144,274,113,203,66,66,12,95, + 75,62,102,207,13,207,165,138,210,207, + 70,93,225,13,192,192,89,32,129,59, + 131,13,12,203,203,20,192,102,62,13, + 85,165,192,225,93,192,192,225,129,13, + 13,81,12,12,207,192,165,131,225,146, + 146,218,190,13,207,131,192,172,32 }; }; public final static char nasb[] = Nasb.nasb; @@ -2678,38 +2703,39 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,163,187,161,131,160,159, - 5,2,0,38,1,0,180,5,179,0, - 216,0,2,126,0,154,0,167,0,170, - 0,5,2,9,10,150,0,5,10,9, - 2,13,4,48,0,89,0,4,88,0, - 2,59,0,198,0,45,5,2,9,10, - 4,169,0,189,0,88,95,38,13,2, - 9,10,5,0,4,209,0,183,0,207, - 0,172,0,118,0,13,2,9,10,5, - 90,0,4,191,0,152,0,2,125,77, - 0,4,48,210,0,2,77,0,29,185, - 0,4,34,0,215,29,0,116,0,146, - 0,124,0,13,2,9,10,5,218,0, - 38,60,0,173,0,70,0,40,1,0, - 97,4,5,10,9,2,67,40,0,77, - 149,148,0,4,44,45,0,4,103,0, - 137,0,38,60,4,48,44,0,101,100, - 40,67,69,5,10,9,2,0,40,77, - 0,205,0,5,108,206,0,29,100,101, - 4,0,59,2,3,0,51,44,193,38, - 4,0,40,112,0,4,192,0,5,108, - 176,0,38,171,0,88,38,51,78,4, - 44,0,29,101,100,67,5,2,9,10, - 4,0,44,195,22,4,0,4,51,75, - 108,49,5,0,2,68,0,4,44,125, - 0,48,4,29,0,101,100,40,5,69, - 0,4,48,110,0,5,10,9,2,13, - 95,94,38,0,2,5,131,127,128,129, - 147,13,91,0,4,5,10,9,2,67, - 23,0,111,75,51,4,0,5,10,9, - 13,3,1,0,4,51,75,85,0,22, - 4,5,40,97,0,48,4,194,0 + 3,13,10,9,164,189,162,132,161,160, + 5,2,0,169,0,78,150,149,0,153, + 0,2,78,0,207,0,5,10,9,2, + 13,4,49,0,182,5,181,0,30,187, + 0,5,2,9,10,151,0,4,35,0, + 2,126,78,0,218,0,200,0,89,96, + 39,13,2,9,10,5,0,174,0,125, + 0,39,1,0,4,104,0,4,193,0, + 117,0,166,0,4,194,0,2,127,0, + 90,0,71,0,155,0,13,2,9,10, + 5,91,0,4,211,0,191,0,119,0, + 209,0,5,109,178,0,147,0,4,89, + 0,13,2,9,10,5,220,0,175,0, + 138,0,185,0,172,0,98,4,5,10, + 9,2,68,41,0,39,61,0,41,1, + 0,5,109,208,0,2,60,0,4,45, + 126,0,4,45,46,0,102,101,41,68, + 70,5,10,9,2,0,30,101,102,4, + 0,45,197,23,4,0,39,173,0,49, + 4,30,0,52,45,195,39,4,0,217, + 30,0,2,69,0,89,39,52,79,4, + 45,0,4,49,212,0,30,102,101,68, + 5,2,9,10,4,0,41,113,0,5, + 10,9,2,13,96,95,39,0,4,52, + 76,109,50,5,0,102,101,41,5,70, + 0,2,5,132,128,129,130,148,13,92, + 0,39,61,4,49,45,0,4,5,10, + 9,2,68,24,0,41,78,0,112,76, + 52,4,0,5,10,9,13,3,1,0, + 60,2,3,0,4,52,76,86,0,23, + 4,5,41,98,0,46,5,2,9,10, + 4,171,0,49,4,196,0,4,49,111, + 0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2724,12 +2750,12 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 125,117,11,12,98,7,8,14,58,60, 66,72,89,93,95,99,102,104,114,115, 116,128,68,96,106,82,126,108,131,19, - 100,1,123,30,63,83,44,20,101,33, + 100,1,123,30,44,63,83,20,101,33, 124,113,54,55,61,62,64,70,74,76, 77,90,97,17,18,32,6,4,15,16, 21,22,23,24,25,26,27,28,45,46, - 85,86,87,5,29,34,35,36,37,38, - 39,40,41,42,43,122,56,3,132,67, + 56,85,86,87,5,29,34,35,36,37, + 38,39,40,41,42,43,122,3,132,67, 121 }; }; @@ -2739,28 +2765,28 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, 138,143,144,0,0,142,0,0,238,244, - 141,0,151,140,0,0,150,156,0,0, - 157,188,253,0,0,0,166,167,134,168, - 169,170,171,159,172,173,174,137,175,254, - 176,0,149,139,136,177,0,160,185,0, - 0,146,0,0,0,0,0,0,145,180, - 153,0,212,0,0,209,213,0,163,195, - 183,0,0,0,0,0,0,179,0,0, - 0,0,0,0,186,0,0,135,214,133, - 194,0,0,226,0,165,210,220,216,217, - 218,0,0,154,0,0,215,229,0,182, - 187,204,0,0,219,0,0,0,233,0, - 235,0,249,250,0,155,197,198,199,200, - 201,203,0,206,0,207,0,222,225,228, - 0,247,0,248,0,258,261,147,148,152, - 0,0,162,164,0,178,0,189,190,191, - 192,193,196,0,0,202,0,205,211,0, - 223,224,0,0,230,237,0,241,242,243, - 246,0,255,0,257,0,260,0,0,158, - 161,0,181,0,184,0,0,208,221,227, - 0,0,231,232,234,236,0,239,240,245, - 251,252,0,0,256,0,0,259,0,0, - 0 + 141,0,151,0,140,0,0,150,156,0, + 0,157,188,253,0,0,0,166,167,134, + 168,169,170,171,159,172,173,174,137,175, + 254,176,0,149,139,136,177,0,160,185, + 0,0,146,0,0,0,0,0,0,145, + 180,153,0,212,0,0,209,213,0,163, + 195,183,0,0,0,0,0,0,179,0, + 0,0,0,0,0,186,0,0,135,214, + 133,194,0,0,226,0,165,210,220,216, + 217,218,0,0,154,0,0,215,229,0, + 182,187,204,0,0,219,0,0,0,233, + 0,235,0,249,250,0,155,197,198,199, + 200,201,203,0,206,0,207,0,222,225, + 228,0,247,0,248,0,258,261,147,148, + 152,0,0,162,164,0,178,0,189,190, + 191,192,193,196,0,0,0,202,0,205, + 211,0,223,224,0,0,230,237,0,241, + 242,243,246,0,255,0,257,0,260,0, + 0,158,161,0,181,0,184,0,0,208, + 221,227,0,0,231,232,234,236,0,239, + 240,245,251,252,0,0,256,0,0,259, + 0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2768,21 +2794,21 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 250,706,725,403,414,657,673,684,695,495, - 358,372,389,430,448,118,383,515,553,258, - 714,600,96,127,147,156,161,166,221,286, - 441,456,461,71,235,364,378,628,103,235, - 505,461,733,103,308,339,7,39,39,63, - 67,79,90,137,152,182,466,484,488,571, - 593,622,649,653,743,747,751,173,83,173, - 533,549,562,580,641,192,192,320,410,562, - 664,680,691,702,298,611,19,31,60,132, + 250,414,710,729,403,432,661,677,688,699, + 499,358,372,389,452,118,383,519,557,258, + 718,604,96,127,147,156,161,166,221,286, + 445,460,465,71,235,364,378,632,103,235, + 509,465,737,103,308,339,7,39,39,63, + 67,79,90,137,152,182,470,488,492,575, + 597,626,653,657,747,751,755,173,83,173, + 537,553,566,584,645,192,192,320,410,566, + 668,684,695,706,298,615,19,31,60,132, 132,247,313,13,132,334,355,13,13,132, - 492,590,597,247,132,766,1,13,54,186, - 470,537,577,1,132,201,395,421,470,201, - 201,421,524,268,24,24,45,180,45,45, - 45,45,575,755,762,24,24,49,329,755, - 762,141,543,228,180,329,180,344 + 496,594,601,247,132,770,1,13,54,186, + 474,541,581,1,132,201,395,474,201,201, + 422,528,268,422,24,24,45,180,45,45, + 45,45,579,759,766,24,24,49,329,759, + 766,141,547,228,180,329,180,344 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -2790,21 +2816,21 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 94,43,43,226,226,43,43,43,43,502, - 226,171,226,226,454,124,369,521,559,264, - 143,606,101,101,101,135,135,171,226,291, - 446,446,454,76,240,369,177,633,114,243, - 510,720,738,108,302,302,11,43,43,43, - 43,43,94,43,135,171,446,171,171,226, - 337,43,43,43,43,43,337,764,87,177, - 502,502,502,584,633,196,210,324,398,566, - 668,668,668,668,302,615,22,22,43,135, + 94,226,43,43,226,226,43,43,43,43, + 506,226,171,226,458,124,369,525,563,264, + 143,610,101,101,101,135,135,171,226,291, + 450,450,458,76,240,369,177,637,114,243, + 514,724,742,108,302,302,11,43,43,43, + 43,43,94,43,135,171,450,171,171,226, + 337,43,43,43,43,43,337,768,87,177, + 506,506,506,588,637,196,210,324,398,570, + 672,672,672,672,302,619,22,22,43,135, 135,43,43,316,318,337,43,11,11,318, - 171,43,337,43,626,43,4,16,57,189, - 473,540,57,587,645,196,398,436,636,204, - 215,424,527,271,29,37,47,171,476,478, - 480,482,171,757,757,26,34,51,331,759, - 759,143,545,230,293,324,278,346 + 171,43,337,43,630,43,4,16,57,189, + 477,544,57,591,649,196,398,640,204,215, + 439,531,271,425,29,37,47,171,480,482, + 484,486,171,761,761,26,34,51,331,763, + 763,143,549,230,293,324,278,346 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -2812,21 +2838,21 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 49,17,17,74,129,17,17,17,17,81, - 87,50,74,129,128,72,56,81,80,49, - 17,19,3,7,8,176,176,175,127,49, - 128,128,130,24,94,57,50,150,143,94, - 81,17,17,143,102,62,71,147,18,18, - 182,145,84,179,176,175,130,196,54,60, - 154,18,17,17,17,17,17,12,124,175, - 81,80,80,42,150,140,140,69,74,80, - 17,17,17,17,102,19,119,136,16,180, - 176,198,100,107,64,89,63,169,71,130, - 82,155,154,189,150,16,17,71,79,175, - 130,110,79,21,150,140,74,129,150,140, - 140,129,81,49,119,136,187,175,162,161, - 160,159,76,148,59,119,136,218,69,148, - 59,179,110,127,49,69,49,62 + 50,130,18,18,75,130,18,18,18,18, + 82,88,51,75,129,73,57,82,81,50, + 18,20,3,7,8,178,178,177,128,50, + 129,129,131,25,95,58,51,151,144,95, + 82,18,18,144,103,63,72,148,19,19, + 184,146,85,181,178,177,131,198,55,61, + 155,19,18,18,18,18,18,12,125,177, + 82,81,81,43,151,141,141,70,75,81, + 18,18,18,18,103,20,120,137,17,182, + 178,200,101,108,65,90,64,171,72,131, + 83,156,155,191,151,17,18,72,80,177, + 131,111,80,22,151,141,75,151,141,141, + 130,82,50,130,120,137,189,177,163,162, + 161,160,77,149,60,120,137,220,70,149, + 60,181,111,128,50,70,50,63 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2834,19 +2860,19 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeLa { public final static char scopeLa[] = { - 127,73,73,81,81,73,73,73,73,73, - 81,41,81,81,1,78,1,73,130,67, + 111,81,73,73,81,81,73,73,73,73, + 73,81,41,81,1,78,1,73,130,67, 3,73,78,78,78,1,1,41,81,67, - 1,1,1,73,81,1,1,4,78,77, + 1,1,1,73,81,1,1,4,78,75, 41,1,1,78,73,73,1,73,73,73, - 73,73,127,73,1,41,1,41,41,81, - 126,73,73,73,73,73,126,1,73,1, + 73,73,111,73,1,41,1,41,41,81, + 127,73,73,73,73,73,127,1,73,1, 73,73,73,74,4,1,1,11,67,73, 78,78,78,78,73,3,6,6,73,1, - 1,73,73,3,1,126,73,1,1,1, - 41,73,126,73,8,73,73,6,74,1, - 45,80,74,73,1,1,67,67,45,1, - 1,1,82,79,1,1,27,41,1,63, + 1,73,73,3,1,127,73,1,1,1, + 41,73,127,73,8,73,73,6,74,1, + 45,80,74,73,1,1,67,45,1,1, + 67,82,79,1,1,1,27,41,1,63, 49,49,41,4,4,1,1,96,12,4, 4,3,1,67,1,11,1,3 }; @@ -2856,8 +2882,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 371,233,233,398,156,233,233,233,233,91, - 385,371,398,156,156,398,373,91,91,371, + 371,156,233,233,398,156,233,233,233,233, + 91,385,371,398,156,398,373,91,91,371, 233,233,160,204,204,21,21,410,156,371, 156,156,156,310,42,373,371,55,38,42, 91,233,233,38,72,132,138,156,233,233, @@ -2867,8 +2893,8 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym 233,233,233,233,72,233,148,104,233,52, 21,66,72,74,132,68,132,153,138,156, 91,5,18,58,55,233,233,138,91,410, - 156,13,91,238,55,156,398,156,55,156, - 156,156,91,371,148,104,157,410,157,157, + 156,13,91,238,55,156,398,55,156,156, + 156,91,371,156,148,104,157,410,157,157, 157,157,24,60,108,148,104,308,355,60, 108,52,13,156,371,355,371,132 }; @@ -2878,83 +2904,84 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 192,3,0,134,226,0,171,228,135,0, - 209,0,228,135,0,254,209,0,250,171, - 0,254,0,171,0,233,254,0,233,0, - 202,171,0,183,254,0,183,0,192,3, - 27,0,134,0,294,0,261,0,227,0, - 32,165,0,349,84,0,30,179,0,191, - 3,0,192,3,62,0,345,3,314,0, - 344,3,3,6,0,134,134,0,343,3, - 71,0,342,3,127,0,134,180,0,135, - 191,79,0,224,0,272,135,70,133,0, - 20,0,312,135,70,45,0,20,58,0, - 33,140,0,20,58,0,0,312,135,70, - 45,206,0,20,186,0,272,135,70,141, - 0,199,136,0,149,0,234,3,311,0, - 311,0,2,0,134,0,272,135,70,140, - 0,199,136,239,0,199,136,31,239,0, - 199,136,338,31,0,137,208,190,136,0, - 136,0,208,190,136,0,142,136,0,182, - 0,334,135,182,0,135,182,0,231,136, - 0,190,333,262,0,144,0,0,0,0, - 333,262,0,145,144,0,0,0,0,143, + 193,3,0,134,226,0,172,229,135,0, + 209,0,229,135,0,254,209,0,251,172, + 0,254,0,172,0,233,254,0,233,0, + 203,172,0,183,254,0,183,0,193,3, + 27,0,134,0,295,0,261,0,228,0, + 32,165,0,351,84,0,30,179,0,192, + 3,0,193,3,62,0,347,3,316,0, + 346,3,3,6,0,134,134,0,345,3, + 71,0,344,3,111,0,134,180,0,135, + 192,79,0,224,0,273,135,70,133,0, + 20,0,314,135,70,45,0,20,58,0, + 33,140,0,20,58,0,0,314,135,70, + 45,207,0,20,186,0,273,135,70,141, + 0,200,136,0,149,0,235,3,313,0, + 313,0,2,0,134,0,273,135,70,140, + 0,200,136,240,0,200,136,31,240,0, + 200,136,340,31,0,137,209,191,136,0, + 136,0,209,191,136,0,142,136,0,183, + 0,336,135,183,0,135,183,0,231,136, + 0,191,335,263,0,144,0,0,0,0, + 335,263,0,145,144,0,0,0,0,143, 0,0,0,0,145,143,0,0,0,0, - 332,135,169,271,0,135,0,271,0,137, - 0,0,135,0,331,135,169,226,0,135, - 0,0,44,135,0,0,165,3,0,135, - 302,301,135,79,300,182,0,301,135,79, - 300,182,0,223,0,224,0,300,182,0, + 334,135,170,272,0,135,0,272,0,137, + 0,0,135,0,333,135,170,227,0,135, + 0,0,44,135,0,0,166,3,0,135, + 304,303,135,79,302,183,0,303,135,79, + 302,183,0,223,0,224,0,302,183,0, 101,0,0,223,0,224,0,211,101,0, - 0,223,0,224,0,301,135,300,182,0, - 223,0,211,0,0,223,0,244,135,3, - 0,134,0,0,0,0,0,244,135,3, - 231,0,238,3,0,216,0,154,0,196, - 190,136,0,10,0,0,0,0,196,0, - 9,0,0,227,72,0,133,0,244,135, - 3,194,0,194,0,2,0,0,134,0, - 0,0,0,0,202,3,0,240,135,169, - 42,34,0,199,136,66,68,0,204,136, - 0,137,199,136,298,68,0,199,136,298, - 68,0,199,136,80,132,66,0,240,135, - 169,264,66,0,264,66,0,137,0,0, - 135,0,240,135,169,264,243,66,0,264, - 243,66,0,296,135,169,132,328,63,0, - 328,63,0,138,137,0,0,135,0,296, - 135,169,328,63,0,137,0,0,135,0, - 199,136,295,63,0,143,0,208,199,136, - 295,262,0,144,0,199,136,295,262,0, - 208,190,136,13,0,190,136,13,0,190, - 136,0,98,144,0,200,0,199,0,198, - 0,197,0,288,135,153,0,288,135,182, - 0,175,92,0,323,176,325,326,3,89, - 0,134,179,0,325,326,3,89,0,136, - 0,134,179,0,175,3,82,209,87,0, - 134,136,0,209,87,0,113,2,139,134, - 136,0,241,3,82,0,202,179,0,33, - 177,0,179,0,183,33,177,0,241,3, - 93,0,209,160,241,3,91,0,67,179, - 0,241,3,91,0,134,179,67,179,0, - 324,135,169,0,175,0,227,84,0,175, - 115,172,0,30,177,0,134,157,0,234, - 3,0,227,72,285,0,175,72,0,192, - 3,320,76,136,0,134,0,0,0,0, - 320,76,136,0,2,153,134,0,0,0, - 0,192,3,54,0,155,0,134,45,190, - 136,0,31,155,0,98,144,31,155,0, - 235,199,136,0,154,31,155,0,192,3, - 58,0,175,3,58,0,175,3,78,192, - 70,50,0,192,70,50,0,20,2,139, - 134,0,175,3,78,192,70,53,0,192, - 70,53,0,175,3,78,192,70,55,0, - 192,70,55,0,175,3,78,192,70,51, - 0,192,70,51,0,234,3,134,208,190, - 136,13,0,134,208,190,136,13,0,144, - 2,0,134,0,234,3,133,256,190,136, - 13,0,256,190,136,13,0,143,2,0, - 134,0,234,3,144,0,234,3,148,0, - 175,72,148,0,280,0,31,0,31,147, - 0,183,0,142,0,175,3,0 + 0,223,0,224,0,303,135,302,183,0, + 223,0,211,0,0,223,0,245,135,3, + 0,134,0,0,0,0,0,245,135,3, + 232,0,239,3,0,216,0,154,0,197, + 191,136,0,10,0,0,0,0,197,0, + 9,0,0,228,72,0,133,0,245,135, + 3,195,0,195,0,2,0,0,134,0, + 0,0,0,0,203,3,0,241,135,170, + 42,34,0,200,136,66,68,0,204,136, + 0,137,200,136,300,68,0,200,136,300, + 68,0,200,136,80,132,66,0,241,135, + 170,265,66,0,265,66,0,137,0,0, + 135,0,241,135,170,265,244,66,0,265, + 244,66,0,297,298,135,170,132,330,63, + 0,330,63,0,138,137,0,0,0,135, + 0,297,298,135,170,330,63,0,137,0, + 0,0,135,0,200,136,296,63,0,143, + 0,209,200,136,296,263,0,144,0,200, + 136,296,263,0,209,191,136,13,0,191, + 136,13,0,191,136,0,98,144,0,200, + 0,199,0,198,0,197,0,289,135,154, + 0,289,135,183,0,176,92,0,325,177, + 327,328,3,89,0,134,179,0,327,328, + 3,89,0,136,0,134,179,0,176,3, + 82,210,87,0,134,136,0,210,87,0, + 113,2,139,134,136,0,242,3,82,0, + 203,180,0,33,177,0,180,0,183,33, + 177,0,242,3,93,0,210,161,242,3, + 91,0,67,179,0,242,3,91,0,134, + 179,67,179,0,326,135,170,0,176,0, + 228,84,0,176,116,173,0,30,177,0, + 134,157,0,235,3,0,228,72,286,0, + 176,72,0,193,3,322,77,136,0,134, + 0,0,0,0,322,77,136,0,2,153, + 134,0,0,0,0,193,3,54,0,155, + 0,134,45,191,136,0,31,155,0,98, + 144,31,155,0,236,200,136,0,154,31, + 155,0,193,3,58,0,176,3,58,0, + 176,3,78,193,70,50,0,193,70,50, + 0,20,2,139,134,0,176,3,78,193, + 70,53,0,193,70,53,0,176,3,78, + 193,70,55,0,193,70,55,0,176,3, + 78,193,70,51,0,193,70,51,0,235, + 3,134,209,191,136,13,0,134,209,191, + 136,13,0,144,2,0,134,0,235,3, + 133,257,191,136,13,0,257,191,136,13, + 0,143,2,0,134,0,235,3,144,0, + 235,3,149,0,176,72,149,0,281,0, + 31,0,31,147,0,184,0,142,0,176, + 3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2962,48 +2989,48 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface ScopeState { public final static char scopeState[] = {0, - 3596,3461,2784,0,3034,1590,0,2425,2138,1596, - 1447,0,6165,6319,6270,4493,0,1456,712,0, - 3496,3142,0,4502,4371,4308,4245,4182,4119,4056, - 3993,3930,3867,3585,3366,3698,0,6173,2122,3874, - 0,1118,3804,1068,4647,3624,3621,3357,882,1214, - 0,1465,682,0,3057,753,0,1065,0,2739, - 2684,0,1008,1290,0,1011,0,2140,1122,891, - 828,3030,4059,4432,3646,3427,3206,3408,0,2984, - 2322,6130,2225,3868,3567,6097,6089,6068,3256,2836, - 4502,4371,4308,4245,4182,4119,4056,3993,3930,3867, - 3585,3366,0,3077,2843,2666,0,6214,6183,6179, - 6159,6306,6296,6153,5646,5280,6277,4920,6243,5988, - 4776,4317,4254,5830,5753,3240,4191,3939,3836,971, - 0,3030,2693,1049,4611,4564,3218,4432,3077,5956, - 3646,3427,4787,2843,4760,5668,2666,3335,3263,3191, - 2741,0,1049,3218,0,4712,610,2772,0,3728, - 3511,6214,6183,3236,2591,6179,2891,6159,2791,2720, - 2543,1383,708,6306,2451,6296,2310,6153,5646,5280, - 3319,1930,6277,4920,6243,5988,1834,4776,4317,1237, - 2407,4254,5830,2170,5753,3240,4191,3939,3836,945, - 4712,971,2772,3104,1034,886,823,899,4432,3077, - 5956,3335,3263,3030,3191,3646,2741,3427,4787,2693, - 2819,1409,1049,2843,4611,3057,753,4760,4564,5668, - 2666,3218,5549,5528,5507,5439,4999,5485,4647,1166, - 2955,3149,2993,3563,3530,715,4681,4456,3845,3813, - 3781,3749,3676,3457,5046,5023,4929,4889,4860,5463, - 5289,5249,5227,5205,5183,5161,5139,5117,5095,5069, - 2337,1118,2612,2569,2288,2240,2520,2477,1474,1422, - 1361,1068,2428,2385,1313,2191,985,2100,2052,2004, - 1956,1908,1860,1812,1764,1716,1668,1620,1264,658, - 1567,922,837,1214,1522,610,774,2148,0,3077, - 3499,4568,3335,4377,2917,3263,3191,3592,6287,2637, - 4787,6265,2693,2542,4372,3700,3367,6236,6229,3050, - 3098,2843,2476,1312,610,3588,3480,4760,2686,1263, - 1117,1067,2913,4712,6033,6029,5389,5697,3354,4126, - 4120,3931,2657,2772,5571,3030,5981,4485,6011,5973, - 4059,2741,5312,4309,4246,4611,4564,4183,2666,0, - 2873,3887,4502,4371,4308,4245,4182,4119,4056,3993, - 3930,3867,3585,3366,5897,5351,5311,5271,5855,5813, - 5771,5729,5687,5609,5570,4911,0,5897,5351,5311, - 5271,5855,5813,5771,5729,5687,5609,5570,4911,2873, - 3887,0 + 3216,3199,2685,0,830,717,0,2796,1327,1258, + 1208,0,6339,6420,6396,6364,0,3080,1619,0, + 1737,2936,0,4707,4644,4581,4518,4455,4392,4329, + 4266,4203,4140,3919,3593,3311,0,5118,1569,4485, + 0,1124,3956,1074,4117,3584,3546,3511,3386,1223, + 0,919,835,0,1465,906,0,1692,0,1118, + 656,0,654,2746,0,1069,0,2278,2140,1637, + 1507,3156,4269,665,3981,3655,3269,3631,0,3483, + 3200,6288,2867,3762,3480,6252,5713,5260,4830,4810, + 4707,4644,4581,4518,4455,4392,4329,4266,4203,4140, + 3919,3593,0,3203,3317,2809,0,6403,6391,6377, + 6329,6009,5970,6307,6303,5652,5884,5225,5839,4108, + 5061,5057,4804,3708,678,5646,4401,3886,3474,2975, + 0,3156,5803,6230,4913,4817,3184,665,3203,6201, + 3981,3655,5072,3317,5044,1278,2809,3562,3489,3461, + 2996,0,6230,3184,0,4769,615,2924,0,3536, + 2706,6403,6391,2613,2548,6377,2399,6329,2257,2209, + 2110,1272,1461,6009,2012,5970,1963,6307,6303,5652, + 5085,1816,5884,5225,5839,4108,1215,5061,5057,739, + 2306,4804,3708,1247,678,5646,4401,3886,3474,723, + 4769,2975,2924,3169,2984,1058,751,2853,665,3203, + 6201,3562,3489,3156,3461,3981,2996,3655,5072,5803, + 2837,1530,6230,3317,4913,1465,906,5044,4817,1278, + 2809,3184,5781,5606,5584,5562,5540,5517,4117,2882, + 1173,3119,682,3427,3390,3276,4085,4012,3896,3863, + 3830,3797,3764,3685,5193,5169,5145,5014,4984,5494, + 5471,5448,5425,5402,5375,5352,5329,5235,4950,3090, + 2476,1124,2755,2711,2425,2376,2662,2618,1593,1543, + 1481,1074,2569,2525,1408,2327,991,2234,2185,2136, + 2087,2038,1989,1940,1891,1842,1793,1744,1292,1359, + 1688,928,843,1223,1643,615,780,2283,0,3203, + 3238,5286,3562,4902,3051,3489,3461,4524,5823,2988, + 5072,4907,5803,2617,4713,4273,4035,4709,4651,5065, + 4398,3317,2475,1743,615,3306,869,5044,3926,1331, + 1123,1018,4039,4769,2956,2710,3595,1433,4646,955, + 807,2939,2933,2924,4520,3156,6255,2800,4457,6220, + 4269,2996,4583,4394,4209,4913,4817,3479,2809,0, + 5658,4154,4707,4644,4581,4518,4455,4392,4329,4266, + 4203,4140,3919,3593,6141,5822,5668,5628,6102,6063, + 6024,5985,5946,5907,5865,5216,0,6141,5822,5668, + 5628,6102,6063,6024,5985,5946,5907,5865,5216,5658, + 4154,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -3011,69 +3038,69 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,319,68,5,135,182,206,36,39,45, - 34,66,242,66,298,347,289,6,7,5, - 290,271,291,262,292,63,293,133,13,136, - 318,294,27,300,135,3,4,141,140,9, - 8,133,136,194,45,45,45,70,45,42, - 264,243,132,171,136,136,3,3,3,3, - 169,333,295,171,328,295,171,70,136,199, - 190,183,27,62,54,48,44,43,11,12, + 0,321,68,5,135,183,207,36,39,45, + 34,66,243,66,300,349,290,6,7,5, + 291,272,292,263,293,63,294,133,13,136, + 320,295,27,302,135,3,4,141,140,9, + 8,133,136,195,45,45,45,70,45,42, + 265,244,132,172,136,136,3,3,3,3, + 170,335,296,172,330,296,172,70,136,200, + 191,184,27,62,54,48,44,43,11,12, 47,46,136,8,3,58,50,53,55,51, - 13,144,148,79,135,288,202,198,194,135, - 267,299,228,171,136,196,202,70,70,179, - 72,3,75,76,133,132,199,190,3,70, - 78,135,169,169,264,80,199,199,348,42, - 277,3,346,1,42,135,190,247,134,133, - 136,132,169,136,135,190,45,4,3,3, - 3,3,75,76,190,134,192,191,175,169, - 179,135,3,70,70,70,70,136,3,114, - 128,3,72,135,301,74,171,72,228,171, - 136,3,80,77,202,190,12,11,135,135, - 135,72,72,208,135,135,135,135,169,136, - 243,137,74,160,3,77,344,314,3,332, - 136,180,239,66,45,68,182,335,134,133, - 248,171,248,199,169,135,199,272,158,161, - 159,163,162,166,164,168,167,170,71,172, - 275,208,280,208,192,192,192,192,72,320, - 3,160,135,135,3,232,231,287,144,134, - 133,13,136,27,192,175,192,192,192,192, - 190,234,135,45,136,45,234,175,301,310, - 136,311,227,172,171,190,165,169,226,171, - 171,196,196,272,272,228,244,245,153,246, - 312,45,13,49,240,240,135,199,11,1, - 77,160,3,42,1,190,135,248,248,135, - 135,208,135,296,132,297,97,98,44,43, + 13,144,149,79,135,289,203,199,195,135, + 268,301,229,172,136,197,203,70,70,180, + 72,3,76,77,133,132,200,191,3,70, + 78,135,170,170,265,80,200,200,350,42, + 278,3,348,1,42,135,191,248,134,133, + 136,132,170,136,135,191,45,4,3,3, + 3,3,76,77,191,134,193,192,176,170, + 180,135,3,70,70,70,70,136,3,115, + 128,3,72,135,303,74,172,72,229,172, + 136,3,80,75,203,191,12,11,135,135, + 135,72,72,209,135,135,135,135,170,136, + 244,137,74,161,3,75,346,316,3,334, + 136,181,240,66,45,68,183,337,134,133, + 249,172,249,200,170,135,200,273,159,162, + 160,164,163,167,165,169,168,171,71,173, + 276,209,281,209,193,193,193,193,72,322, + 3,161,135,135,3,233,232,288,144,134, + 133,13,136,27,193,176,193,193,193,193, + 191,235,135,45,136,45,235,176,303,312, + 136,313,228,173,172,191,166,170,227,172, + 172,197,197,273,273,229,245,246,154,247, + 314,45,13,49,241,241,135,200,11,1, + 75,161,3,42,1,191,135,249,249,135, + 135,209,135,298,132,299,97,98,44,43, 100,99,11,110,109,102,101,78,70,94, - 95,12,104,103,106,105,107,125,124,123, - 122,121,120,119,118,117,116,80,115,108, - 77,4,160,160,160,160,221,3,321,179, - 165,324,86,84,1,175,10,93,91,89, - 87,82,90,92,85,83,66,79,228,238, - 135,3,77,136,190,149,3,78,78,78, - 78,208,256,136,199,190,302,77,199,3, - 135,169,11,135,160,80,238,202,3,135, - 77,77,78,70,247,247,240,243,1,345, - 208,334,74,252,202,133,250,171,135,135, - 74,296,80,77,159,159,158,158,158,162, - 162,162,162,162,162,161,161,164,163,163, - 167,166,168,256,175,170,192,135,135,10, - 74,349,227,74,3,3,3,209,3,132, - 175,132,191,244,135,190,45,192,3,3, - 3,3,134,133,235,8,45,135,234,135, - 196,201,135,80,80,135,228,135,80,80, - 77,137,77,74,80,171,250,171,154,337, - 239,31,136,74,74,160,282,285,72,200, - 74,96,74,241,179,241,326,153,82,241, - 135,160,244,208,160,175,175,175,175,3, - 3,4,132,134,303,127,331,135,236,312, - 250,171,77,136,31,338,199,135,3,72, - 175,160,202,160,325,135,3,160,303,135, - 160,134,234,234,4,3,219,77,135,78, - 199,136,136,282,234,227,80,209,176,288, - 175,236,135,96,342,179,219,10,71,49, - 199,199,130,323,160,135,236,160,160,135, - 3,247,160,135,343,80,77 + 95,12,104,103,106,105,107,126,125,124, + 123,122,121,120,119,118,117,80,116,108, + 75,4,161,161,161,161,222,3,323,180, + 166,326,86,84,1,176,10,93,91,89, + 87,82,90,92,85,83,66,79,229,239, + 135,3,75,136,191,150,3,78,78,78, + 78,209,257,136,200,191,304,75,200,3, + 135,170,11,135,161,80,239,203,3,135, + 75,75,78,70,248,248,241,244,1,347, + 209,336,74,253,203,133,251,172,135,135, + 74,298,297,80,75,160,160,159,159,159, + 163,163,163,163,163,163,162,162,165,164, + 164,168,167,169,257,176,171,193,135,135, + 10,74,351,228,74,3,3,3,210,3, + 132,176,132,192,245,135,191,45,193,3, + 3,3,3,134,133,236,8,45,135,235, + 135,197,202,135,80,80,135,229,135,80, + 80,75,137,75,74,80,172,251,172,155, + 339,240,31,136,297,74,74,161,283,286, + 72,201,74,96,74,242,180,242,328,154, + 82,242,135,161,245,209,161,176,176,176, + 176,3,3,4,132,134,305,111,333,135, + 237,314,251,172,75,136,31,340,200,135, + 3,72,176,161,203,161,327,135,3,161, + 305,135,161,134,235,235,4,3,220,75, + 135,78,200,136,136,283,235,228,80,210, + 177,289,176,237,135,96,344,180,220,10, + 71,49,200,200,130,325,161,135,237,161, + 161,135,3,248,161,135,345,80,75 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -3367,20 +3394,20 @@ public class GPPParserprs implements lpg.lpgjavaruntime.ParseTable, GPPParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 627, + NUM_STATES = 629, NT_OFFSET = 131, - LA_STATE_OFFSET = 7923, + LA_STATE_OFFSET = 8037, MAX_LA = 2147483647, - NUM_RULES = 609, - NUM_NONTERMINALS = 221, - NUM_SYMBOLS = 352, + NUM_RULES = 614, + NUM_NONTERMINALS = 223, + NUM_SYMBOLS = 354, SEGMENT_SIZE = 8192, - START_STATE = 4911, + START_STATE = 5216, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 129, EOLT_SYMBOL = 129, - ACCEPT_ACTION = 6431, - ERROR_ACTION = 7314; + ACCEPT_ACTION = 6537, + ERROR_ACTION = 7423; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java index e6753d117a9..5eaa497fbb5 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPParsersym.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -23,14 +23,14 @@ public interface GPPParsersym { TK_bool = 16, TK_break = 83, TK_case = 84, - TK_catch = 127, + TK_catch = 111, TK_char = 17, TK_class = 49, TK_const = 28, TK_const_cast = 50, TK_continue = 85, TK_default = 86, - TK_delete = 75, + TK_delete = 76, TK_do = 87, TK_double = 18, TK_dynamic_cast = 51, @@ -50,11 +50,11 @@ public interface GPPParsersym { TK_long = 21, TK_mutable = 37, TK_namespace = 66, - TK_new = 76, + TK_new = 77, TK_operator = 9, - TK_private = 111, - TK_protected = 112, - TK_public = 113, + TK_private = 112, + TK_protected = 113, + TK_public = 114, TK_register = 38, TK_reinterpret_cast = 53, TK_return = 92, @@ -93,7 +93,7 @@ public interface GPPParsersym { TK_LeftParen = 3, TK_Dot = 128, TK_DotStar = 98, - TK_Arrow = 114, + TK_Arrow = 115, TK_ArrowStar = 97, TK_PlusPlus = 46, TK_MinusMinus = 47, @@ -117,23 +117,23 @@ public interface GPPParsersym { TK_Or = 106, TK_AndAnd = 107, TK_OrOr = 108, - TK_Question = 115, + TK_Question = 116, TK_Colon = 74, TK_ColonColon = 4, TK_DotDotDot = 96, TK_Assign = 80, - TK_StarAssign = 116, - TK_SlashAssign = 117, - TK_PercentAssign = 118, - TK_PlusAssign = 119, - TK_MinusAssign = 120, - TK_RightShiftAssign = 121, - TK_LeftShiftAssign = 122, - TK_AndAssign = 123, - TK_CaretAssign = 124, - TK_OrAssign = 125, - TK_Comma = 77, - TK_RightBracket = 126, + TK_StarAssign = 117, + TK_SlashAssign = 118, + TK_PercentAssign = 119, + TK_PlusAssign = 120, + TK_MinusAssign = 121, + TK_RightShiftAssign = 122, + TK_LeftShiftAssign = 123, + TK_AndAssign = 124, + TK_CaretAssign = 125, + TK_OrAssign = 126, + TK_Comma = 75, + TK_RightBracket = 127, TK_RightParen = 73, TK_RightBrace = 81, TK_SemiColon = 41, @@ -223,9 +223,9 @@ public interface GPPParsersym { "LeftBracket", "RightParen", "Colon", + "Comma", "delete", "new", - "Comma", "GT", "try", "Assign", @@ -259,6 +259,7 @@ public interface GPPParsersym { "OrOr", "MAX", "MIN", + "catch", "private", "protected", "public", @@ -275,7 +276,6 @@ public interface GPPParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java index 71501df2ced..225b31b8b91 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParser.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -1003,1105 +1003,1057 @@ private GNUBuildASTParserAction gnuAction; // // Rule 191: iteration_statement ::= do statement while ( expression ) ; // - case 191: { action. consumeStatementDoLoop(); break; + case 191: { action. consumeStatementDoLoop(true); break; } // - // Rule 192: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement + // Rule 192: iteration_statement ::= do statement // - case 192: { action. consumeStatementForLoop(); break; + case 192: { action. consumeStatementDoLoop(false); break; } // - // Rule 194: for_init_statement ::= simple_declaration_with_declspec + // Rule 193: iteration_statement ::= for ( for_init_statement condition_opt ; expression_opt ) statement // - case 194: { action. consumeStatementDeclaration(); break; + case 193: { action. consumeStatementForLoop(); break; } // - // Rule 195: jump_statement ::= break ; + // Rule 195: for_init_statement ::= simple_declaration_with_declspec // - case 195: { action. consumeStatementBreak(); break; + case 195: { action. consumeStatementDeclaration(); break; } // - // Rule 196: jump_statement ::= continue ; + // Rule 196: jump_statement ::= break ; // - case 196: { action. consumeStatementContinue(); break; + case 196: { action. consumeStatementBreak(); break; } // - // Rule 197: jump_statement ::= return expression ; + // Rule 197: jump_statement ::= continue ; // - case 197: { action. consumeStatementReturn(true); break; + case 197: { action. consumeStatementContinue(); break; } // - // Rule 198: jump_statement ::= return ; + // Rule 198: jump_statement ::= return expression ; // - case 198: { action. consumeStatementReturn(false); break; + case 198: { action. consumeStatementReturn(true); break; } // - // Rule 199: jump_statement ::= goto identifier_token ; + // Rule 199: jump_statement ::= return ; // - case 199: { action. consumeStatementGoto(); break; + case 199: { action. consumeStatementReturn(false); break; } // - // Rule 200: declaration_statement ::= block_declaration + // Rule 200: jump_statement ::= goto identifier_token ; // - case 200: { action. consumeStatementDeclarationWithDisambiguation(); break; + case 200: { action. consumeStatementGoto(); break; } // - // Rule 201: declaration_statement ::= function_definition + // Rule 201: declaration_statement ::= block_declaration // - case 201: { action. consumeStatementDeclaration(); break; + case 201: { action. consumeStatementDeclarationWithDisambiguation(); break; } // - // Rule 209: declaration ::= ERROR_TOKEN + // Rule 202: declaration_statement ::= function_definition // - case 209: { action. consumeDeclarationProblem(); break; + case 202: { action. consumeStatementDeclaration(); break; } // - // Rule 219: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; + // Rule 210: declaration ::= ERROR_TOKEN // - case 219: { action. consumeDeclarationSimple(true); break; + case 210: { action. consumeDeclarationProblem(); break; } // - // Rule 220: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; + // Rule 220: simple_declaration ::= declaration_specifiers_opt <openscope-ast> init_declarator_list_opt ; // case 220: { action. consumeDeclarationSimple(true); break; } // - // Rule 221: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers + // Rule 221: simple_declaration_with_declspec ::= declaration_specifiers <openscope-ast> init_declarator_list_opt ; // - case 221: { action. consumeDeclarationSpecifiersSimple(); break; + case 221: { action. consumeDeclarationSimple(true); break; } // - // Rule 222: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers + // Rule 222: declaration_specifiers ::= <openscope-ast> simple_declaration_specifiers // - case 222: { action. consumeDeclarationSpecifiersComposite(); break; + case 222: { action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 223: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers + // Rule 223: declaration_specifiers ::= <openscope-ast> class_declaration_specifiers // case 223: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 224: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers + // Rule 224: declaration_specifiers ::= <openscope-ast> elaborated_declaration_specifiers // case 224: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 225: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers + // Rule 225: declaration_specifiers ::= <openscope-ast> enum_declaration_specifiers // - case 225: { action. consumeDeclarationSpecifiersTypeName(); break; + case 225: { action. consumeDeclarationSpecifiersComposite(); break; } // - // Rule 227: declaration_specifiers_opt ::= $Empty + // Rule 226: declaration_specifiers ::= <openscope-ast> type_name_declaration_specifiers // - case 227: { action. consumeEmpty(); break; + case 226: { action. consumeDeclarationSpecifiersTypeName(); break; } // - // Rule 231: no_type_declaration_specifier ::= friend + // Rule 228: declaration_specifiers_opt ::= $Empty // - case 231: { action. consumeToken(); break; + case 228: { action. consumeEmpty(); break; } // - // Rule 232: no_type_declaration_specifier ::= typedef + // Rule 232: no_type_declaration_specifier ::= friend // case 232: { action. consumeToken(); break; } // - // Rule 252: storage_class_specifier ::= auto + // Rule 233: no_type_declaration_specifier ::= typedef // - case 252: { action. consumeToken(); break; + case 233: { action. consumeToken(); break; } // - // Rule 253: storage_class_specifier ::= register + // Rule 253: storage_class_specifier ::= auto // case 253: { action. consumeToken(); break; } // - // Rule 254: storage_class_specifier ::= static + // Rule 254: storage_class_specifier ::= register // case 254: { action. consumeToken(); break; } // - // Rule 255: storage_class_specifier ::= extern + // Rule 255: storage_class_specifier ::= static // case 255: { action. consumeToken(); break; } // - // Rule 256: storage_class_specifier ::= mutable + // Rule 256: storage_class_specifier ::= extern // case 256: { action. consumeToken(); break; } // - // Rule 257: function_specifier ::= inline + // Rule 257: storage_class_specifier ::= mutable // case 257: { action. consumeToken(); break; } // - // Rule 258: function_specifier ::= virtual + // Rule 258: function_specifier ::= inline // case 258: { action. consumeToken(); break; } // - // Rule 259: function_specifier ::= explicit + // Rule 259: function_specifier ::= virtual // case 259: { action. consumeToken(); break; } // - // Rule 260: simple_type_specifier ::= char + // Rule 260: function_specifier ::= explicit // case 260: { action. consumeToken(); break; } // - // Rule 261: simple_type_specifier ::= wchar_t + // Rule 261: simple_type_specifier ::= simple_type_specifier_token // case 261: { action. consumeToken(); break; } // - // Rule 262: simple_type_specifier ::= bool + // Rule 275: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name // - case 262: { action. consumeToken(); break; - } - - // - // Rule 263: simple_type_specifier ::= short - // - case 263: { action. consumeToken(); break; - } - - // - // Rule 264: simple_type_specifier ::= int - // - case 264: { action. consumeToken(); break; - } - - // - // Rule 265: simple_type_specifier ::= long - // - case 265: { action. consumeToken(); break; - } - - // - // Rule 266: simple_type_specifier ::= signed - // - case 266: { action. consumeToken(); break; - } - - // - // Rule 267: simple_type_specifier ::= unsigned - // - case 267: { action. consumeToken(); break; - } - - // - // Rule 268: simple_type_specifier ::= float - // - case 268: { action. consumeToken(); break; - } - - // - // Rule 269: simple_type_specifier ::= double - // - case 269: { action. consumeToken(); break; + case 275: { action. consumeQualifiedId(false); break; } // - // Rule 270: simple_type_specifier ::= void + // Rule 276: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name // - case 270: { action. consumeToken(); break; + case 276: { action. consumeQualifiedId(false); break; } // - // Rule 273: type_name_specifier ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 277: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name // - case 273: { action. consumeQualifiedId(false); break; + case 277: { action. consumeQualifiedId(false); break; } // - // Rule 274: type_name_specifier ::= dcolon_opt nested_name_specifier template template_id_name + // Rule 278: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name // - case 274: { action. consumeQualifiedId(false); break; + case 278: { action. consumeQualifiedId(true); break; } // - // Rule 275: type_name_specifier ::= typename dcolon_opt nested_name_specifier identifier_name + // Rule 280: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 275: { action. consumeQualifiedId(false); break; + case 280: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 276: type_name_specifier ::= typename dcolon_opt nested_name_specifier template_opt template_id_name + // Rule 281: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name // - case 276: { action. consumeQualifiedId(true); break; + case 281: { action. consumeTypeSpecifierElaborated(true); break; } // - // Rule 278: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 282: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name // - case 278: { action. consumeTypeSpecifierElaborated(false); break; + case 282: { action. consumeTypeSpecifierElaborated(false); break; } // - // Rule 279: elaborated_type_specifier ::= class_keyword elaborated_specifier_hook dcolon_opt nested_name_specifier_opt template_opt template_id_name + // Rule 286: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt comma_opt } // - case 279: { action. consumeTypeSpecifierElaborated(true); break; + case 286: { action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 280: elaborated_type_specifier ::= enum elaborated_specifier_hook dcolon_opt nested_name_specifier_opt identifier_name + // Rule 287: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt comma_opt } // - case 280: { action. consumeTypeSpecifierElaborated(false); break; + case 287: { action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 282: enum_specifier ::= enum enum_specifier_hook { <openscope-ast> enumerator_list_opt } + // Rule 293: enumerator_definition ::= identifier_token // - case 282: { action. consumeTypeSpecifierEnumeration(false); break; + case 293: { action. consumeEnumerator(false); break; } // - // Rule 283: enum_specifier ::= enum enum_specifier_hook identifier_token { <openscope-ast> enumerator_list_opt } + // Rule 294: enumerator_definition ::= identifier_token = constant_expression // - case 283: { action. consumeTypeSpecifierEnumeration(true); break; + case 294: { action. consumeEnumerator(true); break; } // - // Rule 289: enumerator_definition ::= identifier_token + // Rule 296: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 289: { action. consumeEnumerator(false); break; + case 296: { action. consumeNamespaceDefinition(true); break; } // - // Rule 290: enumerator_definition ::= identifier_token = constant_expression + // Rule 297: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } // - case 290: { action. consumeEnumerator(true); break; + case 297: { action. consumeNamespaceDefinition(false); break; } // - // Rule 292: namespace_definition ::= namespace namespace_name namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 299: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; // - case 292: { action. consumeNamespaceDefinition(true); break; + case 299: { action. consumeNamespaceAliasDefinition(); break; } // - // Rule 293: namespace_definition ::= namespace namespace_definition_hook { <openscope-ast> declaration_seq_opt } + // Rule 300: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; // - case 293: { action. consumeNamespaceDefinition(false); break; + case 300: { action. consumeUsingDeclaration(); break; } // - // Rule 295: namespace_alias_definition ::= namespace identifier_token = dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 301: typename_opt ::= typename // - case 295: { action. consumeNamespaceAliasDefinition(); break; + case 301: { action. consumePlaceHolder(); break; } // - // Rule 296: using_declaration ::= using typename_opt dcolon_opt nested_name_specifier_opt unqualified_id_name ; + // Rule 302: typename_opt ::= $Empty // - case 296: { action. consumeUsingDeclaration(); break; + case 302: { action. consumeEmpty(); break; } // - // Rule 297: typename_opt ::= typename + // Rule 303: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; // - case 297: { action. consumePlaceHolder(); break; + case 303: { action. consumeUsingDirective(); break; } // - // Rule 298: typename_opt ::= $Empty + // Rule 304: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } // - case 298: { action. consumeEmpty(); break; + case 304: { action. consumeLinkageSpecification(); break; } // - // Rule 299: using_directive ::= using namespace dcolon_opt nested_name_specifier_opt namespace_name ; + // Rule 305: linkage_specification ::= extern stringlit <openscope-ast> declaration // - case 299: { action. consumeUsingDirective(); break; + case 305: { action. consumeLinkageSpecification(); break; } // - // Rule 300: linkage_specification ::= extern stringlit { <openscope-ast> declaration_seq_opt } + // Rule 310: init_declarator_complete ::= init_declarator // - case 300: { action. consumeLinkageSpecification(); break; + case 310: { action. consumeInitDeclaratorComplete(); break; } // - // Rule 301: linkage_specification ::= extern stringlit <openscope-ast> declaration + // Rule 312: init_declarator ::= complete_declarator initializer // - case 301: { action. consumeLinkageSpecification(); break; + case 312: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 306: init_declarator_complete ::= init_declarator + // Rule 315: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 306: { action. consumeInitDeclaratorComplete(); break; + case 315: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 308: init_declarator ::= complete_declarator initializer + // Rule 317: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator // - case 308: { action. consumeDeclaratorWithInitializer(true); break; + case 317: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 311: declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 321: basic_direct_declarator ::= declarator_id_name // - case 311: { action. consumeDeclaratorWithPointer(true); break; + case 321: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 313: function_declarator ::= <openscope-ast> ptr_operator_seq direct_declarator + // Rule 322: basic_direct_declarator ::= ( declarator ) // - case 313: { action. consumeDeclaratorWithPointer(true); break; + case 322: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 317: basic_direct_declarator ::= declarator_id_name + // Rule 323: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 317: { action. consumeDirectDeclaratorIdentifier(); break; + case 323: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 318: basic_direct_declarator ::= ( declarator ) + // Rule 324: array_direct_declarator ::= array_direct_declarator array_modifier // - case 318: { action. consumeDirectDeclaratorBracketed(); break; + case 324: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 319: function_direct_declarator ::= basic_direct_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 325: array_direct_declarator ::= basic_direct_declarator array_modifier // - case 319: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 325: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 320: array_direct_declarator ::= array_direct_declarator array_modifier + // Rule 326: array_modifier ::= [ constant_expression ] // - case 320: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 326: { action. consumeDirectDeclaratorArrayModifier(true); break; } // - // Rule 321: array_direct_declarator ::= basic_direct_declarator array_modifier + // Rule 327: array_modifier ::= [ ] // - case 321: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 327: { action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 322: array_modifier ::= [ constant_expression ] + // Rule 328: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 322: { action. consumeDirectDeclaratorArrayModifier(true); break; + case 328: { action. consumePointer(); break; } // - // Rule 323: array_modifier ::= [ ] + // Rule 329: ptr_operator ::= pointer_hook & pointer_hook // - case 323: { action. consumeDirectDeclaratorArrayModifier(false); break; + case 329: { action. consumeReferenceOperator(); break; } // - // Rule 324: ptr_operator ::= pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 330: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt // - case 324: { action. consumePointer(); break; + case 330: { action. consumePointerToMember(); break; } // - // Rule 325: ptr_operator ::= pointer_hook & pointer_hook + // Rule 337: cv_qualifier ::= const // - case 325: { action. consumeReferenceOperator(); break; + case 337: { action. consumeToken(); break; } // - // Rule 326: ptr_operator ::= dcolon_opt nested_name_specifier pointer_hook * pointer_hook <openscope-ast> cv_qualifier_seq_opt + // Rule 338: cv_qualifier ::= volatile // - case 326: { action. consumePointerToMember(); break; + case 338: { action. consumeToken(); break; } // - // Rule 333: cv_qualifier ::= const + // Rule 340: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name // - case 333: { action. consumeToken(); break; + case 340: { action. consumeQualifiedId(false); break; } // - // Rule 334: cv_qualifier ::= volatile + // Rule 341: type_id ::= type_specifier_seq // - case 334: { action. consumeToken(); break; + case 341: { action. consumeTypeId(false); break; } // - // Rule 336: declarator_id_name ::= dcolon_opt nested_name_specifier_opt type_name + // Rule 342: type_id ::= type_specifier_seq abstract_declarator // - case 336: { action. consumeQualifiedId(false); break; + case 342: { action. consumeTypeId(true); break; } // - // Rule 337: type_id ::= type_specifier_seq + // Rule 345: abstract_declarator ::= <openscope-ast> ptr_operator_seq // - case 337: { action. consumeTypeId(false); break; + case 345: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 338: type_id ::= type_specifier_seq abstract_declarator + // Rule 346: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator // - case 338: { action. consumeTypeId(true); break; + case 346: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 341: abstract_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 350: basic_direct_abstract_declarator ::= ( abstract_declarator ) // - case 341: { action. consumeDeclaratorWithPointer(false); break; + case 350: { action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 342: abstract_declarator ::= <openscope-ast> ptr_operator_seq direct_abstract_declarator + // Rule 351: basic_direct_abstract_declarator ::= ( ) // - case 342: { action. consumeDeclaratorWithPointer(true); break; + case 351: { action. consumeAbstractDeclaratorEmpty(); break; } // - // Rule 346: basic_direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 352: array_direct_abstract_declarator ::= array_modifier // - case 346: { action. consumeDirectDeclaratorBracketed(); break; + case 352: { action. consumeDirectDeclaratorArrayDeclarator(false); break; } // - // Rule 347: basic_direct_abstract_declarator ::= ( ) + // Rule 353: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier // - case 347: { action. consumeAbstractDeclaratorEmpty(); break; + case 353: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 348: array_direct_abstract_declarator ::= array_modifier + // Rule 354: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier // - case 348: { action. consumeDirectDeclaratorArrayDeclarator(false); break; + case 354: { action. consumeDirectDeclaratorArrayDeclarator(true); break; } // - // Rule 349: array_direct_abstract_declarator ::= array_direct_abstract_declarator array_modifier + // Rule 355: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 349: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 355: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 350: array_direct_abstract_declarator ::= basic_direct_abstract_declarator array_modifier + // Rule 356: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt // - case 350: { action. consumeDirectDeclaratorArrayDeclarator(true); break; + case 356: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 351: function_direct_abstract_declarator ::= basic_direct_abstract_declarator ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 357: parameter_declaration_clause ::= parameter_declaration_list_opt ... // - case 351: { action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 357: { action. consumePlaceHolder(); break; } // - // Rule 352: function_direct_abstract_declarator ::= ( <openscope-ast> parameter_declaration_clause ) <openscope-ast> cv_qualifier_seq_opt <openscope-ast> exception_specification_opt + // Rule 358: parameter_declaration_clause ::= parameter_declaration_list_opt // - case 352: { action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 358: { action. consumeEmpty(); break; } // - // Rule 353: parameter_declaration_clause ::= parameter_declaration_list_opt ... + // Rule 359: parameter_declaration_clause ::= parameter_declaration_list , ... // - case 353: { action. consumePlaceHolder(); break; + case 359: { action. consumePlaceHolder(); break; } // - // Rule 354: parameter_declaration_clause ::= parameter_declaration_list_opt + // Rule 365: abstract_declarator_opt ::= $Empty // - case 354: { action. consumeEmpty(); break; + case 365: { action. consumeEmpty(); break; } // - // Rule 355: parameter_declaration_clause ::= parameter_declaration_list , ... + // Rule 366: parameter_declaration ::= declaration_specifiers parameter_init_declarator // - case 355: { action. consumePlaceHolder(); break; + case 366: { action. consumeParameterDeclaration(); break; } // - // Rule 361: abstract_declarator_opt ::= $Empty + // Rule 367: parameter_declaration ::= declaration_specifiers // - case 361: { action. consumeEmpty(); break; + case 367: { action. consumeParameterDeclarationWithoutDeclarator(); break; } // - // Rule 362: parameter_declaration ::= declaration_specifiers parameter_init_declarator + // Rule 369: parameter_init_declarator ::= declarator = parameter_initializer // - case 362: { action. consumeParameterDeclaration(); break; + case 369: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 363: parameter_declaration ::= declaration_specifiers + // Rule 371: parameter_init_declarator ::= abstract_declarator = parameter_initializer // - case 363: { action. consumeParameterDeclarationWithoutDeclarator(); break; + case 371: { action. consumeDeclaratorWithInitializer(true); break; } // - // Rule 365: parameter_init_declarator ::= declarator = parameter_initializer + // Rule 372: parameter_init_declarator ::= = parameter_initializer // - case 365: { action. consumeDeclaratorWithInitializer(true); break; + case 372: { action. consumeDeclaratorWithInitializer(false); break; } // - // Rule 367: parameter_init_declarator ::= abstract_declarator = parameter_initializer + // Rule 373: parameter_initializer ::= assignment_expression // - case 367: { action. consumeDeclaratorWithInitializer(true); break; + case 373: { action. consumeInitializer(); break; } // - // Rule 368: parameter_init_declarator ::= = parameter_initializer + // Rule 374: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body // - case 368: { action. consumeDeclaratorWithInitializer(false); break; + case 374: { action. consumeFunctionDefinition(false); break; } // - // Rule 369: parameter_initializer ::= assignment_expression + // Rule 375: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq // - case 369: { action. consumeInitializer(); break; + case 375: { action. consumeFunctionDefinition(true); break; } // - // Rule 370: function_definition ::= declaration_specifiers_opt function_declarator <openscope-ast> ctor_initializer_list_opt function_body + // Rule 378: initializer ::= ( expression_list ) // - case 370: { action. consumeFunctionDefinition(false); break; + case 378: { action. consumeInitializerConstructor(); break; } // - // Rule 371: function_definition ::= declaration_specifiers_opt function_declarator try <openscope-ast> ctor_initializer_list_opt function_body <openscope-ast> handler_seq + // Rule 379: initializer_clause ::= assignment_expression // - case 371: { action. consumeFunctionDefinition(true); break; + case 379: { action. consumeInitializer(); break; } // - // Rule 374: initializer ::= ( expression_list ) + // Rule 381: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list // - case 374: { action. consumeInitializerConstructor(); break; + case 381: { action. consumeInitializerList(); break; } // - // Rule 375: initializer_clause ::= assignment_expression + // Rule 382: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list // - case 375: { action. consumeInitializer(); break; + case 382: { action. consumeInitializerList(); break; } // - // Rule 377: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list + // Rule 383: initializer_list ::= { <openscope-ast> } // - case 377: { action. consumeInitializerList(); break; + case 383: { action. consumeInitializerList(); break; } // - // Rule 378: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq } end_initializer_list + // Rule 384: start_initializer_list ::= $Empty // - case 378: { action. consumeInitializerList(); break; + case 384: { action. initializerListStart(); break; } // - // Rule 379: initializer_list ::= { <openscope-ast> } + // Rule 385: end_initializer_list ::= $Empty // - case 379: { action. consumeInitializerList(); break; + case 385: { action. initializerListEnd(); break; } // - // Rule 380: start_initializer_list ::= $Empty + // Rule 390: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } // - case 380: { action. initializerListStart(); break; + case 390: { action. consumeClassSpecifier(); break; } // - // Rule 381: end_initializer_list ::= $Empty + // Rule 391: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt // - case 381: { action. initializerListEnd(); break; + case 391: { action. consumeClassHead(false); break; } // - // Rule 386: class_specifier ::= class_head { <openscope-ast> member_declaration_list_opt } + // Rule 392: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 386: { action. consumeClassSpecifier(); break; + case 392: { action. consumeClassHead(false); break; } // - // Rule 387: class_head ::= class_keyword composite_specifier_hook identifier_name_opt class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 393: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 387: { action. consumeClassHead(false); break; + case 393: { action. consumeClassHead(true); break; } // - // Rule 388: class_head ::= class_keyword composite_specifier_hook template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 394: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt // - case 388: { action. consumeClassHead(false); break; + case 394: { action. consumeClassHead(true); break; } // - // Rule 389: class_head ::= class_keyword composite_specifier_hook nested_name_specifier identifier_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 398: identifier_name_opt ::= $Empty // - case 389: { action. consumeClassHead(true); break; - } + case 398: { action. consumeEmpty(); break; + } // - // Rule 390: class_head ::= class_keyword composite_specifier_hook nested_name_specifier template_id_name class_name_suffix_hook <openscope-ast> base_clause_opt + // Rule 402: visibility_label ::= access_specifier_keyword : // - case 390: { action. consumeClassHead(true); break; + case 402: { action. consumeVisibilityLabel(); break; } // - // Rule 394: identifier_name_opt ::= $Empty - // - case 394: { action. consumeEmpty(); break; - } - - // - // Rule 398: visibility_label ::= access_specifier_keyword : + // Rule 403: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; // - case 398: { action. consumeVisibilityLabel(); break; + case 403: { action. consumeDeclarationSimple(true); break; } // - // Rule 399: member_declaration ::= declaration_specifiers_opt <openscope-ast> member_declarator_list ; + // Rule 404: member_declaration ::= declaration_specifiers_opt ; // - case 399: { action. consumeDeclarationSimple(true); break; + case 404: { action. consumeDeclarationSimple(false); break; } // - // Rule 400: member_declaration ::= declaration_specifiers_opt ; + // Rule 407: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; // - case 400: { action. consumeDeclarationSimple(false); break; + case 407: { action. consumeMemberDeclarationQualifiedId(); break; } // - // Rule 403: member_declaration ::= dcolon_opt nested_name_specifier template_opt unqualified_id_name ; + // Rule 413: member_declaration ::= ERROR_TOKEN // - case 403: { action. consumeMemberDeclarationQualifiedId(); break; + case 413: { action. consumeDeclarationProblem(); break; } // - // Rule 409: member_declaration ::= ERROR_TOKEN + // Rule 422: member_declarator ::= declarator constant_initializer // - case 409: { action. consumeDeclarationProblem(); break; + case 422: { action. consumeMemberDeclaratorWithInitializer(); break; } // - // Rule 418: member_declarator ::= declarator constant_initializer + // Rule 423: member_declarator ::= bit_field_declarator : constant_expression // - case 418: { action. consumeMemberDeclaratorWithInitializer(); break; + case 423: { action. consumeBitField(true); break; } // - // Rule 419: member_declarator ::= bit_field_declarator : constant_expression + // Rule 424: member_declarator ::= : constant_expression // - case 419: { action. consumeBitField(true); break; + case 424: { action. consumeBitField(false); break; } // - // Rule 420: member_declarator ::= : constant_expression + // Rule 425: bit_field_declarator ::= identifier_name // - case 420: { action. consumeBitField(false); break; + case 425: { action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 421: bit_field_declarator ::= identifier_name + // Rule 426: constant_initializer ::= = constant_expression // - case 421: { action. consumeDirectDeclaratorIdentifier(); break; + case 426: { action. consumeInitializer(); break; } // - // Rule 422: constant_initializer ::= = constant_expression + // Rule 432: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name // - case 422: { action. consumeInitializer(); break; + case 432: { action. consumeBaseSpecifier(false, false); break; } // - // Rule 428: base_specifier ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 433: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name // - case 428: { action. consumeBaseSpecifier(false, false); break; + case 433: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 429: base_specifier ::= virtual access_specifier_keyword_opt dcolon_opt nested_name_specifier_opt class_name + // Rule 434: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name // - case 429: { action. consumeBaseSpecifier(true, true); break; + case 434: { action. consumeBaseSpecifier(true, true); break; } // - // Rule 430: base_specifier ::= access_specifier_keyword virtual dcolon_opt nested_name_specifier_opt class_name + // Rule 435: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name // - case 430: { action. consumeBaseSpecifier(true, true); break; + case 435: { action. consumeBaseSpecifier(true, false); break; } // - // Rule 431: base_specifier ::= access_specifier_keyword dcolon_opt nested_name_specifier_opt class_name + // Rule 436: access_specifier_keyword ::= private // - case 431: { action. consumeBaseSpecifier(true, false); break; + case 436: { action. consumeToken(); break; } // - // Rule 432: access_specifier_keyword ::= private + // Rule 437: access_specifier_keyword ::= protected // - case 432: { action. consumeToken(); break; + case 437: { action. consumeToken(); break; } // - // Rule 433: access_specifier_keyword ::= protected + // Rule 438: access_specifier_keyword ::= public // - case 433: { action. consumeToken(); break; + case 438: { action. consumeToken(); break; } // - // Rule 434: access_specifier_keyword ::= public + // Rule 440: access_specifier_keyword_opt ::= $Empty // - case 434: { action. consumeToken(); break; + case 440: { action. consumeEmpty(); break; } // - // Rule 436: access_specifier_keyword_opt ::= $Empty + // Rule 442: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > // - case 436: { action. consumeEmpty(); break; + case 442: { action. consumeTemplateId(); break; } // - // Rule 438: conversion_function_id_name ::= conversion_function_id < <openscope-ast> template_argument_list_opt > + // Rule 443: conversion_function_id ::= operator conversion_type_id // - case 438: { action. consumeTemplateId(); break; + case 443: { action. consumeConversionName(); break; } // - // Rule 439: conversion_function_id ::= operator conversion_type_id + // Rule 444: conversion_type_id ::= type_specifier_seq conversion_declarator // - case 439: { action. consumeConversionName(); break; + case 444: { action. consumeTypeId(true); break; } // - // Rule 440: conversion_type_id ::= type_specifier_seq conversion_declarator + // Rule 445: conversion_type_id ::= type_specifier_seq // - case 440: { action. consumeTypeId(true); break; + case 445: { action. consumeTypeId(false); break; } // - // Rule 441: conversion_type_id ::= type_specifier_seq + // Rule 446: conversion_declarator ::= <openscope-ast> ptr_operator_seq // - case 441: { action. consumeTypeId(false); break; + case 446: { action. consumeDeclaratorWithPointer(false); break; } // - // Rule 442: conversion_declarator ::= <openscope-ast> ptr_operator_seq + // Rule 452: mem_initializer ::= mem_initializer_name ( expression_list_opt ) // - case 442: { action. consumeDeclaratorWithPointer(false); break; + case 452: { action. consumeConstructorChainInitializer(); break; } // - // Rule 448: mem_initializer ::= mem_initializer_name ( expression_list_opt ) + // Rule 453: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name // - case 448: { action. consumeConstructorChainInitializer(); break; + case 453: { action. consumeQualifiedId(false); break; } // - // Rule 449: mem_initializer_name ::= dcolon_opt nested_name_specifier_opt class_name + // Rule 456: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > // - case 449: { action. consumeQualifiedId(false); break; + case 456: { action. consumeTemplateId(); break; } // - // Rule 452: operator_function_id_name ::= operator_id_name < <openscope-ast> template_argument_list_opt > + // Rule 457: operator_id_name ::= operator overloadable_operator // - case 452: { action. consumeTemplateId(); break; + case 457: { action. consumeOperatorName(); break; } // - // Rule 453: operator_id_name ::= operator overloadable_operator + // Rule 500: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration // - case 453: { action. consumeOperatorName(); break; + case 500: { action. consumeTemplateDeclaration(); break; } // - // Rule 496: template_declaration ::= export_opt template < <openscope-ast> template_parameter_list > declaration + // Rule 501: export_opt ::= export // - case 496: { action. consumeTemplateDeclaration(); break; + case 501: { action. consumePlaceHolder(); break; } // - // Rule 497: export_opt ::= export + // Rule 502: export_opt ::= $Empty // - case 497: { action. consumePlaceHolder(); break; + case 502: { action. consumeEmpty(); break; } // - // Rule 498: export_opt ::= $Empty + // Rule 506: template_parameter ::= parameter_declaration // - case 498: { action. consumeEmpty(); break; + case 506: { action. consumeTemplateParamterDeclaration(); break; } // - // Rule 502: template_parameter ::= parameter_declaration + // Rule 507: type_parameter ::= class identifier_name_opt // - case 502: { action. consumeTemplateParamterDeclaration(); break; + case 507: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 503: type_parameter ::= class identifier_name_opt + // Rule 508: type_parameter ::= class identifier_name_opt = type_id // - case 503: { action. consumeSimpleTypeTemplateParameter(false); break; + case 508: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 504: type_parameter ::= class identifier_name_opt = type_id + // Rule 509: type_parameter ::= typename identifier_name_opt // - case 504: { action. consumeSimpleTypeTemplateParameter(true); break; + case 509: { action. consumeSimpleTypeTemplateParameter(false); break; } // - // Rule 505: type_parameter ::= typename identifier_name_opt + // Rule 510: type_parameter ::= typename identifier_name_opt = type_id // - case 505: { action. consumeSimpleTypeTemplateParameter(false); break; + case 510: { action. consumeSimpleTypeTemplateParameter(true); break; } // - // Rule 506: type_parameter ::= typename identifier_name_opt = type_id + // Rule 511: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt // - case 506: { action. consumeSimpleTypeTemplateParameter(true); break; + case 511: { action. consumeTemplatedTypeTemplateParameter(false); break; } // - // Rule 507: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt + // Rule 512: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression // - case 507: { action. consumeTemplatedTypeTemplateParameter(false); break; + case 512: { action. consumeTemplatedTypeTemplateParameter(true); break; } // - // Rule 508: type_parameter ::= template < <openscope-ast> template_parameter_list > class identifier_name_opt = id_expression + // Rule 513: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > // - case 508: { action. consumeTemplatedTypeTemplateParameter(true); break; + case 513: { action. consumeTemplateId(); break; } // - // Rule 509: template_id_name ::= identifier_name < <openscope-ast> template_argument_list_opt > + // Rule 518: template_argument ::= assignment_expression // - case 509: { action. consumeTemplateId(); break; + case 518: { action. consumeTemplateArgumentExpression(); break; } // - // Rule 514: template_argument ::= assignment_expression + // Rule 519: template_argument ::= type_id // - case 514: { action. consumeTemplateArgumentExpression(); break; + case 519: { action. consumeTemplateArgumentTypeId(); break; } // - // Rule 515: template_argument ::= type_id + // Rule 520: explicit_instantiation ::= template declaration // - case 515: { action. consumeTemplateArgumentTypeId(); break; + case 520: { action. consumeTemplateExplicitInstantiation(); break; } // - // Rule 516: explicit_instantiation ::= template declaration + // Rule 521: explicit_specialization ::= template < > declaration // - case 516: { action. consumeTemplateExplicitInstantiation(); break; + case 521: { action. consumeTemplateExplicitSpecialization(); break; } // - // Rule 517: explicit_specialization ::= template < > declaration + // Rule 522: try_block ::= try compound_statement <openscope-ast> handler_seq // - case 517: { action. consumeTemplateExplicitSpecialization(); break; + case 522: { action. consumeStatementTryBlock(true); break; } // - // Rule 518: try_block ::= try compound_statement <openscope-ast> handler_seq + // Rule 523: try_block ::= try compound_statement // - case 518: { action. consumeStatementTryBlock(); break; + case 523: { action. consumeStatementTryBlock(false); break; } // - // Rule 521: handler ::= catch ( exception_declaration ) compound_statement + // Rule 526: handler ::= catch ( exception_declaration ) compound_statement // - case 521: { action. consumeStatementCatchHandler(false); break; + case 526: { action. consumeStatementCatchHandler(false); break; } // - // Rule 522: handler ::= catch ( ... ) compound_statement + // Rule 527: handler ::= catch ( ... ) compound_statement // - case 522: { action. consumeStatementCatchHandler(true); break; + case 527: { action. consumeStatementCatchHandler(true); break; } // - // Rule 523: exception_declaration ::= type_specifier_seq <openscope-ast> declarator + // Rule 528: exception_declaration ::= type_specifier_seq <openscope-ast> declarator // - case 523: { action. consumeDeclarationSimple(true); break; + case 528: { action. consumeDeclarationSimple(true); break; } // - // Rule 524: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator + // Rule 529: exception_declaration ::= type_specifier_seq <openscope-ast> abstract_declarator // - case 524: { action. consumeDeclarationSimple(true); break; + case 529: { action. consumeDeclarationSimple(true); break; } // - // Rule 525: exception_declaration ::= type_specifier_seq + // Rule 530: exception_declaration ::= type_specifier_seq // - case 525: { action. consumeDeclarationSimple(false); break; + case 530: { action. consumeDeclarationSimple(false); break; } // - // Rule 527: exception_specification ::= throw ( ) + // Rule 532: exception_specification ::= throw ( ) // - case 527: { action. consumePlaceHolder(); break; + case 532: { action. consumePlaceHolder(); break; } // - // Rule 548: attribute_parameter ::= assignment_expression + // Rule 553: attribute_parameter ::= assignment_expression // - case 548: { action. consumeIgnore(); break; + case 553: { action. consumeIgnore(); break; } // - // Rule 559: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; + // Rule 564: extended_asm_declaration ::= asm volatile_opt ( extended_asm_param_seq ) ; // - case 559: { gnuAction.consumeDeclarationASM(); break; + case 564: { gnuAction.consumeDeclarationASM(); break; } // - // Rule 570: unary_expression ::= __alignof__ unary_expression + // Rule 575: unary_expression ::= __alignof__ unary_expression // - case 570: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; + case 575: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_alignOf); break; } // - // Rule 571: unary_expression ::= typeof unary_expression + // Rule 576: unary_expression ::= typeof unary_expression // - case 571: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 576: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 572: relational_expression ::= relational_expression >? shift_expression + // Rule 577: relational_expression ::= relational_expression >? shift_expression // - case 572: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; + case 577: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_max); break; } // - // Rule 573: relational_expression ::= relational_expression <? shift_expression + // Rule 578: relational_expression ::= relational_expression <? shift_expression // - case 573: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; + case 578: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_min); break; } // - // Rule 574: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression + // Rule 579: conditional_expression ::= logical_or_expression ? <empty> : assignment_expression // - case 574: { action. consumeExpressionConditional(); break; + case 579: { action. consumeExpressionConditional(); break; } // - // Rule 575: primary_expression ::= ( compound_statement ) + // Rule 580: primary_expression ::= ( compound_statement ) // - case 575: { gnuAction.consumeCompoundStatementExpression(); break; + case 580: { gnuAction.consumeCompoundStatementExpression(); break; } // - // Rule 576: labeled_statement ::= case case_range_expression : statement + // Rule 581: labeled_statement ::= case case_range_expression : statement // - case 576: { action. consumeStatementCase(); break; + case 581: { action. consumeStatementCase(); break; } // - // Rule 577: case_range_expression ::= constant_expression ... constant_expression + // Rule 582: case_range_expression ::= constant_expression ... constant_expression // - case 577: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 582: { action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 581: typeof_type_specifier ::= typeof unary_expression + // Rule 586: typeof_type_specifier ::= typeof unary_expression // - case 581: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; + case 586: { action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_typeof); break; } // - // Rule 582: typeof_type_specifier ::= typeof ( type_id ) + // Rule 587: typeof_type_specifier ::= typeof ( type_id ) // - case 582: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; + case 587: { action. consumeExpressionTypeId(IASTTypeIdExpression.op_typeof); break; } // - // Rule 583: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers + // Rule 588: declaration_specifiers ::= <openscope-ast> typeof_declaration_specifiers // - case 583: { action. consumeDeclarationSpecifiersTypeof(); break; + case 588: { action. consumeDeclarationSpecifiersTypeof(); break; } // - // Rule 596: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator + // Rule 601: declarator ::= <openscope-ast> ptr_operator_seq attribute_or_decl_specifier_seq direct_declarator // - case 596: { action. consumeDeclaratorWithPointer(true); break; + case 601: { action. consumeDeclaratorWithPointer(true); break; } // - // Rule 599: simple_type_specifier ::= _Complex + // Rule 604: simple_type_specifier ::= _Complex // - case 599: { action. consumeToken(); break; + case 604: { action. consumeToken(); break; } // - // Rule 600: simple_type_specifier ::= _Imaginary + // Rule 605: simple_type_specifier ::= _Imaginary // - case 600: { action. consumeToken(); break; + case 605: { action. consumeToken(); break; } // - // Rule 601: cv_qualifier ::= restrict + // Rule 606: cv_qualifier ::= restrict // - case 601: { action. consumeToken(); break; + case 606: { action. consumeToken(); break; } // - // Rule 602: explicit_instantiation ::= extern template declaration + // Rule 607: explicit_instantiation ::= extern template declaration // - case 602: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break; + case 607: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_extern); break; } // - // Rule 603: explicit_instantiation ::= static template declaration + // Rule 608: explicit_instantiation ::= static template declaration // - case 603: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break; + case 608: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_static); break; } // - // Rule 604: explicit_instantiation ::= inline template declaration + // Rule 609: explicit_instantiation ::= inline template declaration // - case 604: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break; + case 609: { action. consumeTemplateExplicitInstantiationGCC(IGPPASTExplicitTemplateInstantiation.ti_inline); break; } // - // Rule 605: postfix_expression ::= ( type_id ) initializer_list + // Rule 610: postfix_expression ::= ( type_id ) initializer_list // - case 605: { action. consumeExpressionTypeIdInitializer(); break; + case 610: { action. consumeExpressionTypeIdInitializer(); break; } // - // Rule 607: no_sizeof_type_id_start ::= ERROR_TOKEN + // Rule 612: no_sizeof_type_id_start ::= ERROR_TOKEN // - case 607: { action. consumeEmpty(); break; + case 612: { action. consumeEmpty(); break; } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java index aeb785bf33a..d7a979817e2 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParserprs.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -57,617 +57,617 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,1,1,0,1,1,1,1,1,1, 1,1,1,3,4,3,2,1,4,2, 1,2,5,7,5,1,4,1,0,5, - 7,8,1,1,2,2,3,2,3,1, - 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,1,0,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,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,3,4,4,5,2,5,6,5, - 0,6,7,0,1,3,1,0,1,3, - 1,7,6,0,7,6,1,0,6,6, - 4,1,3,1,0,1,1,2,1,1, - 3,1,3,1,1,1,1,3,9,2, - 2,3,2,5,3,7,0,1,2,2, - 1,0,1,1,1,3,1,2,1,1, - 2,3,1,1,1,3,2,1,2,2, - 9,8,2,1,3,1,3,1,0,1, - 0,2,1,1,3,1,3,2,1,5, - 8,1,2,3,1,1,7,6,3,0, - 0,1,3,1,1,5,6,6,7,7, - 0,0,1,0,1,1,1,2,4,2, - 2,1,5,1,1,1,1,1,1,1, - 2,1,0,1,3,1,1,2,3,2, - 1,2,2,1,0,1,3,3,5,5, - 4,1,1,1,1,0,1,5,2,2, - 1,2,2,1,0,1,3,4,3,1, - 1,5,2,1,1,3,3,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,2,2,7,1,0,1,3, - 1,1,2,4,2,4,7,9,5,1, - 3,1,0,1,1,2,4,4,1,2, - 5,5,3,3,1,4,3,1,0,1, - 3,1,1,1,1,2,6,3,1,3, - 1,4,0,1,1,1,3,1,0,4, - 3,1,2,1,3,4,4,4,6,1, - 0,1,3,1,3,0,1,4,5,2, - 2,3,3,5,3,4,3,1,2,2, - 2,4,2,1,1,2,2,3,2,2, - 3,1,1,1,1,4,1,1,1,1, - 1,3,3,3,4,1,1,-65,0,0, - 0,-544,0,0,0,0,0,0,0,0, + 7,2,8,1,1,2,2,3,2,3, + 1,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,1,0,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,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,3,4,4,5,2,5, + 6,5,0,1,0,7,8,0,1,3, + 1,0,1,3,1,7,6,0,7,6, + 1,0,6,6,4,1,3,1,0,1, + 1,2,1,1,3,1,3,1,1,1, + 1,3,9,2,2,3,2,5,3,7, + 0,1,2,2,1,0,1,1,1,3, + 1,2,1,1,2,3,1,1,1,3, + 2,1,2,2,9,8,2,1,3,1, + 3,1,0,1,0,2,1,1,3,1, + 3,2,1,5,8,1,2,3,1,1, + 7,6,3,0,0,1,3,1,1,5, + 6,6,7,7,0,0,1,0,1,1, + 1,2,4,2,2,1,5,1,1,1, + 1,1,1,1,2,1,0,1,3,1, + 1,2,3,2,1,2,2,1,0,1, + 3,3,5,5,4,1,1,1,1,0, + 1,5,2,2,1,2,2,1,0,1, + 3,4,3,1,1,5,2,1,1,3, + 3,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2,2,7, + 1,0,1,3,1,1,2,4,2,4, + 7,9,5,1,3,1,0,1,1,2, + 4,4,2,1,2,5,5,3,3,1, + 4,3,1,0,1,3,1,1,1,1, + 2,6,3,1,3,1,4,0,1,1, + 1,3,1,0,4,3,1,2,1,3, + 4,4,4,6,1,0,1,3,1,3, + 0,1,4,5,2,2,3,3,5,3, + 4,3,1,2,2,2,4,2,1,1, + 2,2,3,2,2,3,1,1,1,1, + 4,1,1,1,1,1,3,3,3,4, + 1,1,-65,0,0,0,-2,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -277,0,0,0,-10,0,0,0,0,0, + 0,0,-50,0,0,0,0,-409,-69,0, + 0,-399,-268,0,0,0,0,-436,0,0, + 0,-199,0,0,0,0,0,0,0,0, + 0,-209,0,0,-4,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-60,0, + 0,0,0,-203,0,0,0,0,-194,0, + 0,-619,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,-56,-428, + 0,0,0,0,0,-491,0,0,0,0, + 0,-51,-5,0,0,0,0,0,-128,-53, + 0,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, + -55,0,0,-6,0,0,0,0,0,-7, + 0,0,0,0,0,0,0,0,0,0, + -16,0,0,0,0,0,0,0,0,0, + 0,0,-75,0,0,0,-8,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,0,0,-354, + 0,0,-208,0,0,0,0,0,0,0, + 0,0,0,-9,0,0,-11,0,0,0, + 0,0,-211,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,-232,0,0,-141,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-553,0,0, + 0,0,0,0,0,0,-349,0,0,0, + 0,-418,0,0,-207,0,0,0,0,0, + 0,0,0,-254,0,0,0,-424,0,0, + 0,0,0,0,0,0,0,0,0,-255, + 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,0,-68,-546,-139, + 0,0,0,0,0,0,0,0,0,0, + -61,0,0,0,0,0,-572,0,0,-45, + 0,0,-403,0,-469,-118,0,0,-162,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-134,0,0,0,0,0,0, + -357,0,0,0,-432,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-160,0,0,0,0,0,0,0, + 0,0,0,-241,0,0,-12,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,-152,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-140,0,0,-147,0,0,0,0, + 0,-18,0,0,0,-62,0,0,0,0, + 0,-210,-112,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-447,0,0,0, + 0,0,0,0,0,0,0,0,0,-13, + 0,0,-156,0,0,0,0,-452,0,0, + 0,-15,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-30,0,0,0,0,0, + -242,0,0,-510,0,0,-412,0,0,0, + -166,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-193, + 0,0,0,0,-251,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-159, + 0,0,0,0,0,0,0,0,0,0, + -461,0,0,0,0,-31,-294,0,0,-3, + 0,0,0,-32,0,0,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,0,0,0,-33,0,0,0, + 0,0,-580,0,0,0,0,0,-359,0, + 0,0,-34,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,0,0,-247,0,0,-232,0,0,0, - -194,0,0,0,0,-120,0,0,0,0, + 0,-448,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-481,0, + 0,-599,0,0,0,0,0,-433,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,0,-2,0,0,-147,0,0, - 0,0,0,0,-16,0,0,0,0,0, - 0,0,0,0,0,-209,0,-241,-386,0, + 0,0,0,-35,0,-52,0,0,0,0, + 0,0,0,0,0,0,0,-36,0,0, + -462,0,0,0,0,0,0,0,0,0, + 0,-59,0,-37,-1,0,0,0,0,-434, + 0,0,0,-38,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-570,0,0,0,0,0,0,0,-10, - 0,0,0,0,0,-160,-56,0,0,-277, - -60,0,0,0,0,0,0,0,0,-134, + 0,0,-285,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-247,0,0,0, + 0,0,-609,0,0,0,0,0,-522,0, + 0,0,-226,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-55,0,0,-139,0, - 0,0,0,0,0,-69,0,0,0,-257, - 0,0,0,-566,0,-4,0,0,-68,0, - -121,0,0,0,0,0,0,0,0,0, + 0,-295,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-39,0, + 0,0,0,0,-63,0,0,0,-41,0, + 0,0,-40,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-410,-148,-271,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-516, - 0,0,-287,0,-53,0,0,0,0,-75, + 0,-323,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-5,0,0,0,0,0,-141, + 0,-306,-284,0,0,0,0,-43,0,0, + 0,-463,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -324,0,0,0,0,-205,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -384,-321,-44,-113,0,0,0,-100,0,0, + 0,-148,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -362,0,0,0,0,-319,0,0,-66,0, - 0,-61,0,0,0,0,0,-193,0,0, - 0,0,0,-617,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-448,0, - 0,0,0,0,0,-267,0,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,0,0,0,-254,0,0, - 0,0,0,0,0,0,-384,0,0,0, - 0,-118,0,0,-14,0,0,0,0,0, - 0,0,0,0,-159,0,0,0,0,0, + -610,0,0,0,0,0,-101,0,0,0, + -244,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,0,0,0,0, + -514,0,0,0,0,0,0,0,-319,0, + 0,0,0,0,0,0,-77,0,0,-42, + 0,0,-307,0,0,-102,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-487,0,0,-6, - 0,0,0,0,0,-380,0,0,0,0, + 0,0,0,0,0,0,0,0,-355,0, + 0,0,0,0,0,0,0,-541,0,0, + 0,0,-356,0,0,-329,0,0,0,0, + 0,0,0,0,-103,0,0,0,-57,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,0,0,-368,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-551,0,0,0,0,-199, - 0,0,0,-7,0,0,0,0,-540,0, - 0,-574,0,0,0,0,0,-8,0,0, - -9,0,0,0,0,-203,0,0,0,0, - 0,-11,-112,0,0,0,0,0,0,0, + 0,0,0,0,-58,0,0,-70,0,-119, + 0,0,0,-104,0,0,0,-71,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-52,0,0,0,0, - 0,0,0,0,0,0,0,0,-336,0, - 0,-152,0,0,-62,-59,0,0,0,0, - -452,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-426,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,-363,0,0,0,-255,0,0, + 0,0,-105,0,0,0,-74,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-412,0, + 0,0,0,0,0,-573,0,0,0,0, + -217,0,0,0,0,0,0,0,0,-218, + 0,0,-330,0,0,-161,0,-258,-582,0, + 0,-106,0,0,0,-220,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-617,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-410,0, + 0,-466,0,0,-165,0,0,-612,0,0, + -107,0,0,0,-488,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-205,0,0,0,0,0,0,0,-208, - 0,0,0,0,-403,0,0,-12,0,0, - -462,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-3,0, + 0,0,0,-239,0,0,0,0,0,0, + 0,0,-465,0,0,0,0,-287,0,0, + 0,0,0,-202,0,-114,0,0,0,-108, + 0,0,0,-492,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-245,0,-246,0,0,-568,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-246,0,0,0,0,0,0,0,0, - 0,0,0,0,-13,0,0,-481,0,0, - -578,0,0,0,0,0,-359,0,0,0, + 0,0,-272,0,0,-338,0,0,-109,0, + 0,0,-343,0,0,0,0,0,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,-15,0,0,0,-397,0,0, - 0,0,0,0,0,-217,0,0,-582,0, - -1,-30,0,0,0,-433,0,0,0,0, + 0,0,-224,0,0,0,0,0,0,0, + -115,0,0,0,0,0,0,0,-66,0, + 0,0,0,0,-397,0,0,-110,0,0, + 0,-513,0,0,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,-425,0,0,0,-250,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-31,0,0,0,0,0,-473,0,0, - 0,0,0,0,0,0,0,0,-550,0, - 0,-207,0,0,0,-32,0,-434,0,0, - 0,-33,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-295, + -213,0,0,0,0,0,-145,0,0,0, + -362,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,0,0,0, - 0,0,0,-140,0,0,-224,0,0,0, - 0,-44,-156,0,0,0,-521,0,0,0, + 0,0,0,0,0,0,-363,0,0,-230, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-323,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-272,0, - -251,-50,0,0,0,0,-41,0,0,0, + 0,0,0,-584,-116,-117,0,0,0,0, + 0,0,0,0,0,0,-588,0,0,0, + 0,0,-158,-336,-315,-222,0,0,0,0, + 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,0,0,0,0, - -239,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-597,0, - 0,0,0,0,-43,0,0,0,-343,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-226, - 0,-592,0,0,0,0,0,0,0,0, - 0,0,0,-77,0,0,-34,0,-35,-111, - 0,0,0,0,-100,0,0,0,0,0, + 0,-281,0,0,0,0,0,0,-391,-518, + -415,0,0,-260,0,0,0,-124,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-461,0,0,0, - 0,-36,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-607,0,0,0, - 0,0,-101,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-485,-125,-126,0, + 0,-503,0,0,0,0,0,0,0,0, + -142,0,0,-451,0,0,0,0,-468,-381, + 0,0,-497,0,0,0,-544,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-354,0,0,0,0,-37, + 0,0,0,0,0,0,0,-149,0,0, + 0,0,0,0,-316,0,0,0,0,0, + 0,0,0,0,0,0,-416,0,-431,0, + 0,-164,0,0,0,-150,0,0,0,0, + 0,0,0,0,-380,-370,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-294,0,0,0,0, - -102,0,0,0,-38,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-151,0, + 0,-520,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-467,0, + 0,0,-167,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-168,-282,-442,0,0,0,0,0,0, + -394,0,0,0,0,0,0,0,-252,0, + 0,-111,-274,-489,0,0,-479,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-586,0,0, - 0,-39,0,0,0,0,0,0,0,-40, - 0,0,-608,0,0,0,0,0,-103,0, - 0,0,-42,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-250,0,-57,0,0,0,0,0,-58, 0,0,0,0,0,0,0,0,0,0, - -324,0,0,0,0,0,-104,0,0,0, - -70,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-351, - 0,0,0,-282,0,0,0,0,0,0, - 0,0,-128,0,0,-329,0,0,-166,0, - -71,-242,0,0,-105,0,0,0,-73,0, + 0,0,0,-286,0,0,0,0,0,-490, 0,0,0,0,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, - -74,0,0,-330,0,0,0,0,-245,0, - 0,0,-106,0,0,0,0,0,0,0, + 0,0,-169,-446,-170,0,0,-288,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-368,0,0,0,0,0, - 0,0,0,-399,0,0,0,0,0,0, - 0,-466,0,0,-428,0,0,-114,0,0, - -107,0,0,0,-115,0,0,0,0,0, + 0,0,-499,0,-171,-172,0,-533,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-426,0,0,0,0,0,0,0, - 0,-210,0,0,0,0,0,0,0,-552, - 0,0,-244,0,0,-116,0,0,-108,0, - 0,0,-117,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -513,0,0,-509,0,0,0,0,0,0, - 0,0,0,0,-218,0,0,-158,0,0, - -63,0,0,-220,0,0,-109,0,0,0, - -446,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-124,-258, - -125,0,0,0,0,0,0,0,0,0, - 0,0,-517,0,0,0,0,0,0,-126, - 0,-424,0,0,-110,0,0,0,-580,0, + -257,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-289,0,0,0,0,0, + -534,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-142,-571,0,0, - 0,-288,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-213,0,0,0, - 0,0,-145,0,0,0,0,0,0,0, + 0,0,0,0,-308,-603,0,0,0,0, + 0,0,-173,0,0,0,0,-475,0,0, + -317,0,0,-449,0,-240,-174,-332,-455,0, + -589,0,0,-309,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,0,-610,0,0,0,0,0,0, - 0,-149,0,0,-230,0,0,0,-150,0, + -175,0,0,0,0,-478,0,0,0,0, + -176,0,0,0,-54,0,0,0,0,0, + 0,0,-348,0,0,0,0,0,0,-500, + -543,-49,0,0,0,0,0,0,0,0, + 0,0,0,0,-511,0,0,0,0,0, + 0,0,-177,0,-155,0,0,0,0,-291, 0,0,0,0,0,0,0,0,0,0, + 0,0,-178,-366,0,0,0,0,0,0, + -179,-180,0,0,0,0,-473,0,0,0, + 0,0,0,0,0,0,0,-318,0,0, + 0,0,-181,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-151,0,0,0,0, - 0,0,0,-167,0,0,-78,0,-490,0, - 0,0,0,-113,0,0,0,0,0,-259, + 0,0,0,0,-78,0,0,0,0,0, + -562,0,-182,0,0,0,0,0,0,0, + -127,0,0,0,0,0,0,-64,-271,0, + -486,0,-350,0,-183,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-554,0, + 0,-184,0,0,0,0,0,0,0,-99, + 0,0,0,-185,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-540,0,-325,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-421,0, 0,0,0,0,0,0,0,0,0,0, - 0,-168,0,-169,0,0,0,0,0,0, - 0,0,0,0,0,-170,0,0,0,0, - 0,-119,-615,0,0,0,0,-260,0,0, - 0,-171,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-425, - 0,-172,0,0,-587,0,0,0,0,0, - 0,0,0,-173,0,0,-451,0,0,-174, - 0,-175,-176,0,0,-496,0,0,0,-491, + 0,-591,0,0,0,-157,0,0,-186,0, + -326,0,0,0,0,0,0,0,0,0, + -261,-187,-352,-358,0,0,0,0,0,-188, + 0,-189,-376,0,-353,0,0,0,-190,-379, + 0,0,0,0,-191,-192,-206,0,0,0, + 0,0,0,0,0,0,-195,0,0,0, + 0,-97,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-177,-465, - 0,0,0,0,0,0,-161,0,0,0, - 0,-178,0,0,0,0,0,-356,-281,-179, - -416,0,0,-162,0,0,0,-391,0,0, - 0,0,0,0,0,0,0,0,-370,0, + 0,0,0,0,0,-196,-197,0,0,0, + 0,0,0,-201,0,0,0,0,0,0, + -327,-392,0,0,-204,0,0,0,0,-98, + 0,0,0,-515,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-328,-214,0,-17,0,0, + 0,0,0,0,0,-443,0,0,0,0, + 0,0,0,0,0,0,0,0,-333,0, + -335,0,-216,-278,-221,0,0,0,0,0, + 0,0,-398,-422,0,-423,0,0,-367,0, + -437,0,0,-227,0,0,0,0,0,0, + 0,0,0,0,-552,0,0,0,0,0, + -262,0,0,0,0,0,-372,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,-306,0,0,0,0,0,0,0, - 0,0,0,0,-165,0,0,-485,0,0, - -467,0,0,0,-180,0,0,0,0,0, + 0,0,0,0,0,0,-393,0,0,-229, + 0,-231,0,0,0,0,0,0,-200,0, + 0,0,-212,0,0,0,-95,0,0,0, + -374,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-211,-181,0,0,0,0,0,0, - 0,-315,0,0,0,0,0,0,0,-182, - 0,0,0,0,0,0,0,0,-479,0, + 0,0,0,0,-508,0,0,0,-233,0, + -470,0,0,-474,0,0,-234,0,-235,-236, + 0,0,-378,0,0,0,-238,0,0,0, + 0,-96,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-129,-253,-265,0,-131, + 0,0,0,-516,0,-453,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-308,0,0,0,0,0,0,0,-468, - 0,0,0,0,-202,0,0,-183,0,0, - -489,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-266,-273,0,0, + 0,0,-427,0,0,0,0,-477,-494,-279, + -523,0,0,0,-525,0,-389,-406,0,0, + -484,0,0,0,0,0,0,0,0,0, + 0,0,0,-290,-292,-296,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-349,0,-519,0,0,0,0,0, - 0,-316,0,0,0,0,0,0,0,-222, - 0,0,-252,-184,0,0,0,0,-532,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-317,-307,0,0,0,0,0,0,0, - 0,0,0,0,-274,0,0,-338,0,0, - -533,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-185,-418,0,0,0,0,0,0, - 0,-394,0,0,0,0,0,0,0,-512, - 0,0,0,-286,-278,0,0,0,0,-542, - -475,-186,0,-309,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -393,-187,-415,-382,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,-243, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-447,0,0,0,0,0,0, - -353,0,0,-188,0,-189,-289,-427,0,-421, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-54,0,0,0,-332,0,0,0, - 0,0,0,0,0,0,0,0,-431,0, - 0,0,0,-190,0,0,0,0,0,-164, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-228,-123,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-318,0,-64, - 0,-191,-192,0,-195,0,0,0,0,0, - 0,-348,0,-240,-486,0,0,0,0,-325, - -326,0,0,-196,0,0,0,0,0,0, + -225,0,0,0,0,-346,0,0,0,0, + 0,0,0,0,-407,-532,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-381,0,0,0,0, - 0,0,0,0,0,-346,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-578,0,0,-471,-411,0, + -298,-579,0,0,-413,0,0,-299,-550,-547, + 0,0,0,0,-344,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-197,0,-201,0,0,0,0,0,0, - 0,-350,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-99,0,0, - 0,-488,0,0,0,0,0,0,0,0, + 0,0,0,-382,-558,0,0,0,0,0, + 0,-537,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-304,0,0,0,0, + 0,-312,-313,-314,0,0,0,0,0,0, + 0,0,-322,0,-414,-551,0,0,0,0, + 0,0,-331,0,0,0,-310,0,0,0, + 0,0,0,0,0,0,0,0,0,-334, + -457,0,0,0,0,0,0,0,0,-86, 0,0,0,0,0,0,0,0,0,0, - 0,-204,0,0,0,0,0,0,-327,0, - 0,0,0,-214,0,-97,0,0,0,-463, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-442,-352,0, - 0,0,0,0,0,0,-454,0,0,0, - 0,-436,0,0,0,-417,0,0,0,0, - 0,0,0,0,-127,-469,0,-328,0,0, - 0,0,-216,0,0,0,0,0,0,0, - 0,-221,0,-227,-229,0,0,0,0,0, - 0,-45,-17,-261,0,0,0,0,0,-443, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-231,-358,-376,0,0, - 0,0,-333,-233,0,0,0,0,0,-379, - 0,0,-392,0,0,0,0,-234,0,0, - 0,0,0,-235,-236,0,0,0,0,0, - 0,0,0,0,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,-398, - 0,-238,0,0,0,0,0,-253,0,0, - 0,-335,-18,0,0,0,-49,0,0,0, - -94,0,0,0,-560,0,0,0,0,0, + 0,0,0,-555,-472,-339,0,0,0,0, + 0,-561,-341,-593,-342,0,-496,0,0,0, + 0,-360,0,0,-502,-507,-509,-361,0,0, + 0,0,-87,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-422,0,0, - 0,0,0,0,0,-262,-423,-539,0,0, - 0,-367,0,0,0,-437,0,0,0,0, - -265,-340,0,0,-372,-374,-378,0,-453,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-268,-266,0, - 0,0,0,0,-470,0,0,0,0,0, - 0,-389,-200,0,0,0,-273,0,-589,0, - 0,0,0,-484,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-478,-279,0, + -519,0,0,0,-88,0,0,0,-549,0, 0,0,0,0,0,0,0,0,0,0, - -290,-498,-406,-601,0,0,-292,-206,0,0, - 0,0,0,0,0,-407,-409,-411,-531,0, + 0,0,0,0,0,0,0,0,-377,-385, + -557,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,-559, + 0,0,0,0,-560,0,0,0,-90,0, + 0,0,-585,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-576,0,0, - -577,-413,0,0,0,0,-414,0,0,0, - -296,-157,0,0,0,0,-344,0,0,0, + 0,0,-613,-587,-611,0,0,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,-130,0,0,0,0, - 0,0,0,-536,0,0,0,0,0,0, - 0,0,0,0,0,0,-499,0,0,0, - 0,0,-298,-299,0,0,0,0,0,0, - 0,0,-457,-304,0,0,-472,0,0,0, - -474,-312,0,-313,0,0,0,0,-310,0, + 0,0,0,-400,-228,0,0,0,0,0, + 0,0,-495,0,0,0,-404,0,0,0, + 0,0,0,0,0,-405,-419,-420,-256,0, + 0,0,0,-429,-430,0,0,0,0,-521, + -596,0,-487,-535,0,-438,-440,0,0,0, + 0,-458,-604,0,0,0,0,-459,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-314,0,0,0,0,0,0,0, - -95,0,0,0,0,0,0,0,0,0, + -464,0,-480,-482,0,0,0,0,0,0, + 0,0,-575,0,0,0,0,0,0,0, + 0,-364,0,0,0,0,0,0,0,0, + 0,0,0,0,-498,0,0,0,0,-576, + 0,-504,-506,-512,0,-526,-527,-528,-538,-92, 0,0,0,0,0,0,0,0,0,0, - 0,0,-322,-129,-331,-611,0,-477,0,0, - 0,0,0,0,-334,-212,0,0,0,0, - 0,0,-339,0,0,0,0,0,0,0, - 0,0,0,-96,0,0,0,-510,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-155,0,-341,0, - 0,0,0,0,-483,0,0,0,-493,0, - -524,0,0,0,0,-225,0,0,0,-342, - -514,-545,0,0,-360,0,0,0,0,0, - 0,-361,0,-501,0,0,0,-131,-506,0, - 0,0,-377,0,0,0,0,0,-449,-385, - 0,0,0,0,0,0,0,0,-400,0, - 0,0,0,-404,0,0,0,0,0,0, + 0,0,-539,0,0,-545,0,-556,0,0, + -569,0,-570,0,0,0,-571,0,0,-19, 0,0,0,0,0,0,0,0,0,0, - 0,-291,0,0,0,0,0,0,0,0, - 0,0,0,0,-364,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-508,-515, - -518,-387,0,0,0,0,0,0,0,0, - 0,0,0,0,-522,0,-507,-263,0,0, - 0,0,-405,0,0,0,0,-419,-420,0, - -429,0,0,0,0,-430,0,0,0,0, - 0,0,0,-438,0,0,0,0,-440,0, - 0,-458,-534,0,-146,0,-459,-464,0,0, - 0,0,0,0,0,-548,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -547,0,0,0,0,0,-432,-86,0,0, + 0,0,-581,-597,-598,-614,-616,-618,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,0,0,-480, - 0,0,-482,0,-497,0,0,0,-87,0, - 0,0,-503,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-263, + 0,0,0,0,0,0,-143,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -573,-549,-505,0,0,0,0,0,0,-471, - -511,0,0,0,0,-553,0,-555,-525,0, - -557,0,0,0,0,0,-88,0,0,0, + 0,0,0,0,0,0,0,0,0,-123, + 0,0,0,-122,0,-237,0,-146,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-558,0,0,0,-89,0,0, - 0,-583,0,0,0,0,0,0,0,0, + -586,0,0,0,0,0,0,0,0,0, + 0,-293,0,0,-14,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -526,-527,-537,0,0,0,0,0,-90,0, + 0,0,0,0,0,0,0,-297,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -538,-559,0,0,0,0,0,0,0,-91, - 0,0,0,-556,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-132,-237,-543,-554,0,0,0,0,0, - -494,0,0,0,-567,0,0,0,0,0, - 0,0,0,0,0,0,0,-321,0,0, - -568,-569,0,0,0,0,-579,-293,0,-591, - 0,0,-595,0,-596,0,0,0,-585,-594, - 0,0,0,0,-502,-612,0,0,0,0, - 0,0,0,-297,0,-602,-614,0,-616,0, - -133,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,-609,0,-456,0, - 0,0,0,0,0,-530,0,0,0,0, - 0,0,0,0,0,0,-520,0,0,0, - 0,0,0,0,-300,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,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-300, + 0,0,0,0,0,0,-144,0,0,0, 0,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, - 0,0,-144,0,0,0,0,0,0,0, + 0,0,0,0,0,-456,0,0,0,0, + 0,0,0,0,0,0,0,-46,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-264,0, + 0,-369,0,0,0,0,0,0,-365,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-46,0,0,0,0,0,-584,0, - 0,0,0,0,0,0,-371,0,0,0, - 0,0,0,-320,0,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,0,0,0,0,0, - 0,0,0,-47,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-439,0,0, - 0,0,0,0,-365,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-47, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-371,0,0,0,0,0,0, + -383,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -444,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-48,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-441,0, - 0,0,0,0,0,-383,0,0,0,0, 0,0,0,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,0, + 0,0,0,0,0,-439,-133,0,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,-249,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-445, - 0,0,0,0,0,0,-136,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-535,0,0,0,0, - -572,0,0,0,0,0,0,0,0,0, - -546,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-441,-136,-303, + 0,0,0,0,0,0,0,0,0,-531, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-345,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-366,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-581,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, + 0,0,0,0,0,0,0,0,0,-445, + -454,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-602,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-340,0,0,0,0,0,0,0,0, + 0,-548,0,-264,-401,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-588,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,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,0, - 0,0,0,-93,0,0,0,0,0,0, + 0,0,0,-583,-198,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,0,0, - 0,0,0,0,0,0,0,0,0,-143, 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,0,0,0,0,0,0,-337,0,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,0,0,0,0,0,-590, 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,-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,-82,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,-137,0,0, 0,0,0,0,0,0,0,0,0,0, + -135,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,-137,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-605,0,0,0,0,0,0, - -500,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-455, - 0,0,0,0,0,0,0,0,-373,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-337,0,0,0,0, + 0,-270,-153,0,0,0,-483,0,0,0, + -386,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 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,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-243,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -83,0,0,0,0,0,0,0,0,0, + 0,-536,0,0,0,0,0,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,-84,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-85,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,0,0,-23,0,0,0, 0,0,0,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,0,0, + 0,-83,0,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,-84,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,-85,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,0, - 0,0,0,0,0,0,-28,0,0,0, + 0,0,0,0,0,-387,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,-163,0,0,0,0,-408,0,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,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,-79,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-80,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-248,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-523,0, - 0,0,0,-19,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,0,0,0,0,0,-135,0,0,0, - 0,0,0,-562,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,0,0,0,0,-25,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-153,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,0,0,0,0,0,0, - 0,0,0,0,0,0,-603,0,0,0, + 0,0,-27,0,0,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,-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,-402,0,0,0,0,0,0,0, 0,0,0,0,0,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,-79,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,-80,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -248,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,0,0,0,0,0,0,0, - 0,0,0,0,-138,0,0,0,0,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,-154,0,0,0,-270, + 0,0,0,0,0,0,0,-154,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-476,0,0,0, + 0,0,0,0,0,0,0,0,0,-524, + -347,0,0,0,0,-373,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -574,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-564,-606,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -303,0,0,0,0,0,0,0,0,0, - -604,-528,0,0,0,0,0,-347,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-605,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-561,-408,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-301,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,0,0,-563,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -564,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-345,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-565,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-529,0,0,0, + 0,0,0,0,-530,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-590,0,0, + 0,-563,0,0,0,0,0,-417,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-301,0,0,0,0,0,0,0, - 0,0,-593,0,0,0,0,0,-529,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-565,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-517, + 0,0,0,0,0,0,0,0,0,-566, + -444,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,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,-567,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -435,0,0,0,0,0,0,-275,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-592,0,0, + 0,0,0,0,0,-320,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -595,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-275, 0,0,0,0,0,0,0,0,0,0, - 0,0,-219,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-249,-223,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,0,0,0,0,-163,0,0,0, - -215,0,0,0,0,0,0,0,-606,0, - 0,0,0,0,0,0,0,-280,0,0, - 0,0,0,0,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,0, - 0,0,0,0,0,-311,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-375,0,0,0,0,0,0, - 0,0,0,0,0,0,-388,0,0,0, - -395,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-613,0,0,0,0,0, - -396,0,0,0,0,0,0,0,-460,0, + 0,0,0,0,0,0,0,-435,0,0, + 0,0,0,0,0,0,-402,0,0,0, + -375,0,-72,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-504,0,0,0,0,0,0, - 0,0,0,0,0,-541,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-575,0,0,0,0,0,0, - 0,0,-302,-305,0,0,0,0,0,-600, - 0,0,0,0,0,0,0,0,-598,0, - 0,0,-599,0,0,0,0,0,0,0, + 0,0,0,0,-215,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-280,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-283,0,0,0,0,0,0,0,0, + 0,0,0,-311,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-388,0, 0,0,0,0,0,0,0,0,0,0, + -395,0,0,0,0,0,-396,0,0,0, + 0,-302,0,0,0,0,0,0,0,0, + 0,-460,0,0,0,0,0,0,0,0, + 0,0,0,-505,0,0,0,0,0,0, + 0,0,0,0,-542,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,0,0,0,0,0,-577,0,0, + 0,-600,0,0,0,0,0,0,0,0, + 0,0,-601,0,0,0,0,0,0,-594, 0,0,0,0,0,0,0,0,0,0, + -607,-608,-615,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -680,7 +680,7 @@ public class GPPSizeofExpressionParserprs 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 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -690,734 +690,734 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 188,4,123,90,90,31,31,85,85,45, - 45,43,43,220,1,1,15,15,15,15, - 15,15,15,16,16,16,14,11,11,6, - 6,6,6,6,6,2,77,77,5,5, - 12,12,52,52,148,148,149,68,68,51, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,150, - 150,150,125,125,18,18,18,18,18,18, - 18,18,18,18,18,18,19,19,189,189, - 190,190,191,153,153,154,154,151,151,155, - 152,152,20,20,21,21,26,26,26,28, - 28,28,28,29,29,29,30,30,30,32, - 32,32,32,32,33,33,33,34,34,35, - 35,37,37,38,38,40,40,41,41,47, - 47,46,46,46,46,46,46,46,46,46, - 46,46,46,46,44,36,156,156,101,101, - 192,192,94,221,221,78,78,78,78,78, - 78,78,78,78,79,79,79,72,72,60, - 60,193,193,80,80,80,109,109,194,194, - 81,81,81,195,195,82,82,82,82,82, - 83,83,86,86,86,86,86,86,86,86, - 54,54,54,54,54,126,126,124,124,55, - 196,27,27,27,27,27,50,50,91,91, - 91,91,91,163,163,158,158,158,158,158, - 159,159,159,160,160,160,161,161,161,162, - 162,162,92,92,92,92,92,93,93,93, - 13,13,13,13,13,13,13,13,13,13, - 13,102,130,130,130,130,130,130,128,128, - 128,164,129,129,197,166,166,165,165,132, - 132,110,75,75,133,57,49,167,167,58, - 88,88,168,168,157,157,134,135,135,136, - 71,71,169,169,65,65,65,62,62,61, - 66,66,89,89,69,69,69,64,95,95, - 104,103,103,70,70,63,63,67,67,53, - 107,107,107,97,97,97,98,98,99,99, - 99,100,100,111,111,111,113,113,112,112, - 222,222,96,96,199,199,199,199,199,138, - 48,48,171,198,198,139,139,105,105,105, - 106,173,200,200,42,42,127,140,140,140, - 140,202,115,114,114,131,131,131,174,175, - 175,175,175,175,175,175,175,175,175,175, - 204,204,201,201,203,203,117,118,118,118, - 118,119,205,120,116,116,206,206,176,176, - 176,176,108,108,108,207,207,8,8,9, - 208,208,209,177,170,170,178,178,179,180, - 180,7,7,10,210,210,210,210,210,210, - 210,210,210,210,210,210,210,210,210,210, - 210,210,210,210,210,210,210,210,210,210, - 210,210,210,210,210,210,210,210,210,210, - 210,210,210,210,210,210,73,76,76,181, - 181,142,142,143,143,143,143,143,143,3, - 144,144,141,141,121,121,87,74,84,172, - 172,122,122,211,211,211,145,145,137,137, - 212,212,22,22,22,39,39,23,23,213, - 213,182,182,182,183,183,214,214,184,184, - 24,24,215,215,185,185,185,185,25,59, - 216,216,217,217,186,186,186,146,146,146, - 18,18,32,32,41,16,79,218,187,187, - 187,147,147,27,56,91,136,136,136,117, - 117,117,197,202,115,64,71,164,133,13, - 13,70,87,87,87,17,188,188,1563,35, - 2236,2209,3672,5352,27,30,31,1315,1354,26, - 28,2202,25,23,50,1372,104,75,76,106, - 585,532,533,534,1412,46,1442,1436,1629,656, - 1627,1710,1662,1762,2920,1735,1770,2660,1783,141, - 271,727,35,3259,156,142,2960,35,1258,32, - 2783,3173,27,30,31,1315,1354,26,28,1122, - 25,23,50,1372,104,75,76,106,230,2655, - 35,275,1412,339,1442,1436,1629,909,1627,1710, - 1662,1762,177,1735,1770,232,1783,141,2999,233, - 228,229,514,142,2622,1368,35,1258,32,2840, - 272,41,30,31,1315,1354,3223,2399,2660,2039, - 35,1258,32,515,6117,27,30,31,1315,1354, - 335,28,1854,35,393,240,243,246,249,3396, - 450,535,532,533,534,3177,1789,3575,1863,352, - 3221,727,1879,2137,34,578,1897,528,1090,1854, - 263,35,277,196,796,3506,2824,3035,3494,3588, - 4011,4838,535,532,533,534,2204,510,494,2204, - 315,1194,317,2924,313,901,1319,349,329,2573, - 2949,35,1871,385,3729,4377,1290,2845,5808,352, - 2864,2960,35,1258,32,2783,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,106,968,2298,3431,2298,1412,339,1442, - 1436,1629,271,1627,1710,1662,1762,3980,1735,1770, - 544,1783,141,3696,2783,1707,3983,514,142,4072, - 1515,35,1258,32,2840,6027,27,30,31,1315, - 1354,57,28,995,73,2852,495,339,515,457, - 2960,35,1258,32,2783,3173,27,30,31,1315, - 1354,26,28,1122,25,23,50,1372,104,75, - 76,106,3493,3912,42,3168,1412,339,1442,1436, - 1629,3337,1627,1710,1662,1762,3220,1735,1770,1921, - 1783,141,3575,3547,350,71,514,142,727,35, - 2137,3231,510,2840,2382,35,1258,32,379,4627, - 27,30,31,1315,1354,26,28,515,508,263, - 35,450,2922,575,6164,2864,3188,35,1258,32, - 2783,3173,27,30,31,1315,1354,26,28,1122, - 25,23,50,1372,104,75,76,106,727,35, - 1871,385,1412,339,1442,1436,1629,2389,1627,1710, - 1662,1762,1675,1735,1770,4132,1783,141,3372,2783, - 320,510,514,142,180,2694,35,1258,32,2840, - 61,40,30,31,1315,1354,540,3505,539,3505, - 49,3043,339,515,2864,3263,35,1258,32,46, - 3173,27,30,31,1315,1354,26,28,1122,25, - 23,50,1372,104,75,76,106,4078,845,3103, - 256,1412,6176,1442,1436,1629,3948,1627,1710,1662, - 1762,3854,1735,1770,440,1783,141,1954,1366,918, - 3609,375,142,3039,35,1258,32,511,3173,27, - 30,31,1315,1354,26,28,1122,25,23,50, - 1372,104,75,76,106,727,35,1871,385,1412, - 2185,1442,1436,1629,628,1627,1710,1662,1762,1693, - 1735,1770,4078,1783,141,651,1366,6176,721,375, - 142,814,536,532,533,534,1922,443,3783,3803, - 376,2055,163,3918,35,1258,32,449,3173,27, - 30,31,1315,1354,26,28,1122,25,23,50, - 1372,104,75,76,106,3218,46,551,2690,1412, - 801,1442,1436,1629,382,1627,1710,1662,1762,3696, - 1735,2764,263,35,277,3575,46,3566,376,2055, - 870,3402,35,1258,32,308,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,106,439,3699,453,4680,1412,3361,1442, - 1436,1629,383,1627,1710,1662,1762,435,1735,1770, - 3218,1783,141,426,1366,2799,2754,375,142,3327, - 35,1258,32,444,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 106,1366,46,3911,386,1412,5928,1442,1436,1629, - 2661,1627,1710,1662,1762,724,1735,1770,907,1783, - 141,2694,35,1258,32,548,142,3660,30,31, - 1315,1354,536,532,533,534,376,2055,427,3667, - 35,1258,32,321,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 106,552,1507,605,2055,1412,3361,1442,1436,1629, - 373,1627,1710,1662,1762,1000,1735,1770,4114,1783, - 141,727,35,1871,385,156,142,3667,35,1258, - 32,1529,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,106,727, - 35,5618,2896,1412,1093,1442,1436,1629,3143,1627, - 1710,1662,1762,428,1735,1770,46,1783,141,3143, - 843,2885,2876,369,142,1279,3667,35,1258,32, - 69,3173,27,30,31,1315,1354,26,28,1122, - 25,23,50,1372,104,75,76,106,727,35, - 2137,274,1412,546,1442,1436,1629,154,1627,1710, - 1662,1762,259,1735,1770,606,1783,141,2694,35, - 1258,32,369,142,3675,30,31,1315,1354,635, - 35,450,450,3437,6164,796,1373,6048,3667,35, - 1258,32,70,3173,27,30,31,1315,1354,26, - 28,1122,25,23,50,1372,104,75,76,106, - 1903,35,2137,274,1412,368,1442,1436,1629,2582, - 1627,1710,1662,1762,2204,1735,1770,46,1783,141, - 519,3978,46,2204,369,142,1279,3466,35,1258, - 32,519,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,106,727, - 3614,2137,73,1412,367,1442,1436,1629,154,1627, - 1710,1662,1762,418,1735,1770,2254,1783,141,1922, - 2990,2475,3074,548,142,4194,1279,3113,35,1258, - 32,3314,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,106,695, - 550,727,2443,1412,456,1442,1436,1629,158,1627, - 1710,1662,1762,5267,1735,1770,365,1783,141,727, - 35,1871,385,140,142,3667,35,1258,32,3950, - 3173,27,30,31,1315,1354,26,28,1122,25, - 23,50,1372,104,75,76,106,447,3783,3803, - 2279,1412,4136,1442,1436,1629,2783,1627,1710,1662, - 1762,431,1735,1770,3074,1783,141,1729,1279,77, - 2017,157,142,2302,1279,3667,35,1258,32,3632, - 3173,27,30,31,1315,1354,26,28,1122,25, - 23,50,1372,104,75,76,106,727,35,291, - 158,1412,1186,1442,1436,1629,154,1627,1710,1662, - 1762,547,1735,1770,2712,1783,141,727,35,1871, - 385,153,142,3667,35,1258,32,995,3173,27, - 30,31,1315,1354,26,28,1122,25,23,50, - 1372,104,75,76,106,727,35,280,502,1412, - 1348,1442,1436,1629,553,1627,1710,1662,1762,430, - 1735,1770,91,1783,141,2455,2992,35,275,152, - 142,3667,35,1258,32,1279,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,106,2692,500,501,2582,1412,2920,1442, - 1436,1629,1690,1627,1710,1662,1762,3571,1735,1770, - 1371,1783,141,727,35,1871,385,151,142,3667, - 35,1258,32,1728,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 106,909,46,1945,2611,1412,906,1442,1436,1629, - 2612,1627,1710,1662,1762,429,1735,1770,522,1783, - 141,1903,35,2137,3683,150,142,3667,35,1258, - 32,1522,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,106,651, - 3251,35,278,1412,46,1442,1436,1629,2761,1627, - 1710,1662,1762,2920,1735,1770,3074,1783,141,2204, - 1279,2699,2660,149,142,3667,35,1258,32,1303, - 3173,27,30,31,1315,1354,26,28,1122,25, - 23,50,1372,104,75,76,106,727,35,2137, - 276,1412,158,1442,1436,1629,1242,1627,1710,1662, - 1762,1433,1735,1770,3074,1783,141,195,1279,727, - 3463,148,142,3667,35,1258,32,1993,3173,27, - 30,31,1315,1354,26,28,1122,25,23,50, - 1372,104,75,76,106,727,35,2137,3704,1412, - 158,1442,1436,1629,3884,1627,1710,1662,1762,51, - 1735,1770,3074,1783,141,3696,1279,3313,2793,147, - 142,3667,35,1258,32,2800,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,106,727,35,2137,279,1412,158,1442, - 1436,1629,450,1627,1710,1662,1762,6059,1735,1770, - 3074,1783,141,2091,1279,3326,3217,146,142,3667, - 35,1258,32,3254,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 106,727,35,291,3464,1412,158,1442,1436,1629, - 282,1627,1710,1662,1762,2920,1735,1770,46,1783, - 141,3575,1279,3661,2204,145,142,3667,35,1258, - 32,3948,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,106,631, - 2561,730,24,1412,2593,1442,1436,1629,2142,1627, - 1710,1662,1762,3949,1735,1770,86,1783,141,100, - 823,3862,4011,144,142,3667,35,1258,32,3672, - 3173,27,30,31,1315,1354,26,28,1122,25, - 23,50,1372,104,75,76,106,2860,1854,35, - 393,1412,46,1442,1436,1629,1015,1627,1710,1662, - 1762,3924,1735,1770,322,1783,141,727,35,1871, - 385,143,142,3605,35,1258,32,995,3173,27, - 30,31,1315,1354,26,28,1122,25,23,50, - 1372,104,75,76,106,727,35,1871,385,1412, - 3717,1442,1436,1629,3672,1627,1710,1662,1762,271, - 1735,1770,916,3052,162,3918,35,1258,32,4452, - 3173,27,30,31,1315,1354,26,28,1122,25, - 23,50,1372,104,75,76,106,271,387,3444, - 563,1412,424,1442,1436,1629,4404,1627,1710,1662, - 1762,3995,1735,1770,349,3052,162,46,444,727, - 3691,1279,3985,323,3575,87,351,2064,100,273, - 3667,35,1258,32,528,3173,27,30,31,1315, - 1354,26,28,1122,25,23,50,1372,104,75, - 76,106,442,154,910,68,1412,336,1442,1436, - 1629,1869,1627,1710,1662,1762,1003,1735,1770,3424, - 1783,141,3575,1854,35,393,574,142,3667,35, - 1258,32,1096,3173,27,30,31,1315,1354,26, - 28,1122,25,23,50,1372,104,75,76,106, - 4011,319,1192,53,1412,2920,1442,1436,1629,528, - 1627,1710,1662,1762,1918,1735,1770,46,1783,141, - 2016,1279,2092,2137,138,142,3667,35,1258,32, - 79,3173,27,30,31,1315,1354,26,28,1122, - 25,23,50,1372,104,75,76,106,909,2228, - 3946,286,1412,3589,1442,1436,1629,3575,1627,1710, - 1662,1762,1503,1735,1770,521,1783,141,3697,2920, - 2954,2920,187,142,2006,35,1258,32,3362,4627, - 27,30,31,1315,1354,59,28,4009,1198,3918, - 35,1258,32,3423,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 106,1366,3009,2660,3441,1412,388,1442,1436,1629, - 424,1627,1710,1662,1762,3575,1735,1770,4011,3052, - 162,3918,35,1258,32,1716,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,106,1946,2967,995,52,1412,199,1442, - 1436,1629,450,1627,1710,1662,1762,6121,1735,1770, - 3075,3052,162,605,2055,536,532,533,534,3918, - 35,1258,32,577,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 106,2103,2965,378,3609,1412,1046,1442,1436,1629, - 2204,1627,1710,1662,1762,2914,1735,1770,2883,3052, - 162,3918,35,1258,32,2575,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,106,3250,390,2204,538,1412,424,1442, - 1436,1629,450,1627,1710,1662,1762,6141,1735,1770, - 3575,3052,162,3575,1999,536,532,533,534,3918, - 35,1258,32,420,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 106,346,46,2660,88,1412,1358,1442,1436,1629, - 95,1627,1710,1662,1762,3575,1735,1770,3259,3052, - 162,4104,35,1258,32,290,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,106,2766,3389,96,558,1412,197,1442, - 1436,1629,450,1627,1710,1662,1762,6149,1735,1770, - 3497,3052,162,401,3575,2757,536,532,533,534, - 79,2920,2213,419,1680,35,1258,32,4316,6117, - 27,30,31,1315,1354,335,28,535,532,533, - 534,3464,2970,1319,3293,2398,535,532,533,534, - 2873,35,1258,32,2573,6027,27,30,31,1315, - 1354,56,28,3662,3561,422,535,532,533,534, - 2787,35,1258,32,2694,6086,27,30,31,1315, - 1354,335,28,3599,2920,315,1194,317,2924,310, - 901,2106,3691,328,1842,2714,1099,3575,2106,3691, - 1933,35,3773,32,4316,6117,27,30,31,1315, - 1354,335,28,4258,35,1871,385,46,5317,719, - 1418,3327,535,532,533,534,235,909,3097,2844, - 2932,312,3442,317,1282,585,532,533,534,3284, - 2006,35,1258,32,372,4627,27,30,31,1315, - 1354,58,28,1,4363,271,565,608,302,306, - 977,315,1194,317,2924,310,901,237,3575,328, - 2995,1318,1837,2230,4133,3398,585,532,533,534, - 226,2886,46,230,2956,4011,2112,3717,1279,154, - 3575,3575,3600,377,1629,719,909,647,178,3160, - 60,201,213,2740,233,228,229,200,210,211, - 212,214,584,167,2360,272,2660,3555,416,3770, - 154,67,66,285,230,166,3221,562,2623,198, - 285,182,165,168,169,170,171,172,179,2532, - 240,243,246,249,3396,238,228,229,535,532, - 533,534,3532,1863,535,370,1965,3696,3433,348, - 578,219,46,2952,3696,2573,2330,340,825,698, - 345,2824,3035,3494,3588,4011,4838,338,3918,35, - 1258,32,3696,3173,27,30,31,1315,1354,26, - 28,1122,25,23,50,1372,104,75,76,106, - 4377,389,1817,3298,1412,424,1442,1436,1629,3575, - 1627,1710,1662,1762,2329,2663,3918,35,1258,32, - 3611,3173,27,30,31,1315,1354,26,28,1122, - 25,23,50,1372,104,75,76,106,2660,46, - 65,3208,1412,2768,1442,1436,1629,3433,1627,1710, - 1662,2548,2121,35,1258,32,3360,6117,27,30, - 31,1315,1354,335,28,1323,724,283,3575,535, - 532,533,534,3634,535,532,533,534,535,532, - 533,534,3193,3312,4500,3118,3677,585,532,533, - 534,3951,46,2845,46,2664,2783,608,1279,64, - 1386,35,1258,32,4316,6086,27,30,31,1315, - 1354,335,28,315,1194,317,2924,311,901,339, - 339,329,535,532,533,534,3498,46,46,154, - 154,3747,3070,2597,94,230,909,2061,2860,4881, - 46,348,520,46,2071,2840,2840,4039,3195,342, - 825,698,345,912,3355,3356,242,228,229,1968, - 1165,315,1194,317,3328,310,901,3918,35,1258, - 32,2714,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,106,2691, - 46,70,3700,1412,2380,1442,1436,1629,1717,1627, - 1710,2594,3141,1630,35,1871,385,727,35,1871, - 385,3918,35,1258,32,3696,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,106,555,302,306,977,1412,46,1442, - 1436,1629,2458,1627,2465,49,46,46,3673,49, - 1279,2855,3575,6194,1831,786,46,3417,1831,982, - 4028,3762,2134,35,291,3575,3575,3575,3600,2096, - 35,1258,32,4316,6086,27,30,31,1315,1354, - 335,28,154,3226,535,532,533,534,2290,3763, - 2861,535,532,533,534,46,4248,4309,4370,4057, - 293,2664,3575,727,35,1871,385,3822,4881,3696, - 535,532,533,534,2215,35,3773,32,4316,6086, - 27,30,31,1315,1354,335,28,1090,3102,3442, - 315,1194,317,318,310,901,3883,532,533,534, - 2714,78,3701,3575,3674,49,1279,2592,1854,35, - 3299,2685,3495,3404,1831,3258,3575,1288,3575,1733, - 35,3773,32,4316,6086,27,30,31,1315,1354, - 335,28,3026,399,55,315,1194,317,154,310, - 901,535,532,533,534,1318,160,54,450,537, - 49,450,3575,6219,292,2401,6223,3575,3404,1831, - 1349,187,1006,303,306,977,2783,2284,35,1258, - 32,2770,6086,27,30,31,1315,1354,335,28, - 315,1194,317,557,310,901,1320,3810,556,339, - 1318,4416,416,3770,2777,35,3773,32,4316,6086, - 27,30,31,1315,1354,335,28,2660,535,532, - 533,534,400,3510,2767,1531,3883,532,533,534, - 324,331,750,3494,1525,1250,520,3496,312,3442, - 317,46,3824,3404,3828,5289,4421,416,3770,2848, - 35,1258,32,4316,6086,27,30,31,1315,1354, - 335,28,220,2388,3528,315,1194,317,542,310, - 901,3918,35,1258,32,1318,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,106,2138,1453,3291,3696,1412,46,1442, - 1436,1629,4046,2484,3741,3830,727,35,1871,385, - 315,1194,317,3886,310,901,585,532,533,534, - 3272,4416,416,3770,3918,35,1258,32,2660,3173, - 27,30,31,1315,1354,26,28,1122,25,23, - 50,1372,104,75,76,106,2532,280,49,3083, - 1412,608,1442,1436,1629,3495,2500,1831,679,46, - 1432,46,1802,612,230,5324,727,35,1871,385, - 3604,2660,46,559,226,3180,2119,535,532,533, - 534,300,3391,154,3575,245,228,229,1998,3575, - 909,647,178,3863,3713,201,213,2740,3318,3430, - 4009,200,210,211,212,214,584,167,49,3531, - 585,532,533,534,3698,3726,299,1831,1726,166, - 374,536,532,533,534,181,165,168,169,170, - 171,172,1722,35,1258,32,4255,6086,27,30, - 31,1315,1354,335,28,1446,35,1258,32,5921, - 6086,27,30,31,1315,1354,335,28,230,3575, - 2660,3575,1908,35,1258,32,4316,6086,27,30, - 31,1315,1354,335,28,2660,347,3528,46,248, - 228,229,1279,2671,536,532,533,534,3947,3730, - 3816,3928,99,315,1194,317,4110,310,901,536, - 532,533,534,3582,3885,296,315,1194,317,3990, - 310,901,3889,3572,154,3147,3272,4111,3890,5885, - 403,348,2979,315,1194,317,2660,310,901,340, - 825,698,345,3017,348,536,532,533,534,3575, - 2823,3575,340,825,698,345,347,2862,3918,35, - 1258,32,2590,3173,27,30,31,1315,1354,26, - 28,1122,25,23,50,1372,104,75,76,106, - 4137,191,4492,2953,1412,1344,1442,1436,2332,3918, - 35,1258,32,4134,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 106,3101,46,3891,348,1412,1369,1442,1436,2344, - 1288,1694,340,825,698,345,46,3810,3575,4139, - 4179,3575,2590,536,532,533,534,3918,35,1258, - 32,362,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,106,568, - 3559,331,1758,1412,3575,1442,1436,2350,3918,35, - 1258,32,3575,3173,27,30,31,1315,1354,26, - 28,1122,25,23,50,1372,104,75,76,106, - 3810,4169,3078,2309,1412,2335,1442,1436,2352,3918, - 35,1258,32,448,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 106,4170,4166,330,331,1412,4577,1442,1436,2353, - 3918,35,1258,32,2660,3173,27,30,31,1315, - 1354,26,28,1122,25,23,50,1372,104,75, - 76,106,1494,373,4138,1011,1412,608,1442,1436, - 2379,2194,35,1258,32,4142,6086,27,30,31, - 1315,1354,335,28,535,532,533,534,3103,295, - 226,3761,3826,536,532,533,534,3951,3297,154, - 46,2483,2783,4220,5387,4221,909,647,178,3575, - 46,201,213,2740,5611,2920,3823,200,210,211, - 212,214,584,167,466,3632,46,2325,608,4223, - 2194,2373,315,1194,317,166,596,901,7275,7275, - 569,3434,165,168,169,170,171,172,2862,7275, - 7275,226,7275,585,532,533,534,3695,909,3297, - 154,7275,7275,2783,7275,968,4136,909,647,178, - 2783,7275,201,213,2740,372,7275,1288,200,210, - 211,212,214,584,167,559,3632,7275,526,608, - 7275,7275,2598,3632,356,7275,166,3273,7275,7275, - 7275,230,176,165,168,169,170,171,172,3222, - 3311,3317,226,7275,535,532,533,534,3810,7275, - 7275,154,251,228,229,7275,2002,7275,909,647, - 178,1090,7275,201,213,2740,44,3168,7275,200, - 210,211,212,214,584,167,652,3810,7275,7275, - 608,3572,331,2598,7275,356,2924,166,3273,716, - 7275,328,502,174,165,168,169,170,171,172, - 3659,3311,3317,226,7275,535,532,533,534,46, - 326,331,154,1279,7275,7275,3802,4499,7275,909, - 647,178,1090,46,201,213,2740,2783,7275,2862, - 200,210,211,212,214,584,167,745,499,501, - 7275,608,7275,7275,2598,154,7275,2924,166,3273, - 339,7275,328,3038,576,165,168,169,170,171, - 172,7275,7275,7275,226,7275,535,532,533,534, - 46,7275,7275,154,1279,7275,2840,3971,5983,7275, - 909,647,178,1090,46,201,213,2740,2783,7275, - 1975,200,210,211,212,214,584,167,838,3810, - 7275,7275,608,7275,7275,2598,154,7275,2924,166, - 3273,339,7275,5433,2540,175,165,168,169,170, - 171,172,7275,7275,7275,226,7275,535,532,533, - 534,46,4006,331,154,1279,7275,2840,7275,7275, - 7275,909,647,178,1090,46,201,213,2740,2783, - 7275,2016,200,210,211,212,214,584,167,931, - 7275,7275,7275,608,7275,7275,2598,154,7275,2924, - 166,3273,339,7275,328,3584,185,165,168,169, - 170,171,172,7275,7275,7275,226,7275,535,532, - 533,534,7275,7275,7275,154,7275,92,2840,7275, - 3022,7275,909,647,178,1090,46,201,213,2740, - 2783,7275,2023,200,210,211,212,214,584,167, - 1024,7275,7275,7275,608,7275,7275,2467,7275,7275, - 2924,166,7275,339,7275,328,7275,3775,165,168, - 169,170,171,172,7275,7275,7275,226,7275,585, - 532,533,534,7275,7275,7275,154,7275,7275,2840, - 7275,4702,7275,909,647,178,3633,7275,201,213, - 2740,3636,7275,2838,200,210,211,212,214,584, - 167,1117,7275,7275,7275,608,7275,7275,535,532, - 533,534,166,535,532,533,534,230,190,165, - 168,169,170,171,172,3801,7275,1748,226,7275, - 3713,2783,4718,7275,7275,7275,7275,154,580,228, - 229,7275,7275,262,909,647,178,2783,7275,201, - 213,2740,7275,7275,226,200,210,211,212,214, - 584,167,1210,7275,7275,7275,608,7275,7275,1821, - 3632,7275,7275,166,3273,2638,404,3377,7275,184, - 165,168,169,170,171,172,7275,7275,7275,226, - 7275,535,532,533,534,7275,7275,7275,154,7275, - 405,406,407,3570,7275,909,647,178,1090,7275, - 201,213,2740,7275,7275,7275,200,210,211,212, - 214,584,167,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,2924,166,3513,7275,7275,329,357, - 192,165,168,169,170,171,172,2508,35,1258, - 32,4255,6086,27,30,31,1315,1354,335,28, - 3918,35,1258,32,7275,3173,27,30,31,1315, - 1354,26,28,1122,25,23,50,1372,104,75, - 76,106,7275,7275,7275,7275,1412,7275,1442,2392, - 7275,7275,7275,7275,7275,7275,7275,727,35,1871, - 385,408,411,7275,7275,7275,7275,7275,315,1194, - 317,7275,310,901,3918,35,1258,32,523,3173, - 27,30,31,1315,1354,26,28,1122,25,23, - 50,1372,104,75,76,106,348,7275,7275,49, - 1412,7275,1442,2400,340,825,698,345,1831,786, - 3541,35,1258,32,524,3173,27,30,31,1315, - 1354,26,28,1122,25,23,50,1372,104,75, - 76,105,2039,35,1258,32,7275,6117,27,30, - 31,1315,1354,335,28,7275,7275,7275,727,35, - 1871,385,7275,1366,535,532,533,534,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,3918,35,1258, - 32,3951,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,84,7275, - 49,7275,7275,315,1194,317,2924,311,901,1831, - 2713,329,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,605,2055,3918,35,1258, - 32,7275,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,106,7275, - 7275,7275,7275,1412,7275,2244,3918,35,1258,32, - 7275,3173,27,30,31,1315,1354,26,28,1122, - 25,23,50,1372,104,75,76,106,4311,35, - 1871,385,1412,5317,2282,7275,7275,7275,7275,7275, - 7275,236,7275,7275,7275,7275,7275,7275,7275,7275, - 585,532,533,534,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,46,7275,7275,7275,2783,7275, - 271,2414,35,1258,32,4316,6086,27,30,31, - 1315,1354,335,28,7275,7275,7275,7275,7275,7275, - 2749,339,7275,536,532,533,534,7275,230,3023, - 35,1258,32,4316,6086,27,30,31,1315,1354, - 335,28,535,532,533,534,7275,2840,7275,234, - 228,229,7275,7275,7275,7275,7275,7275,7275,1090, - 272,506,315,1194,317,7275,310,901,7275,7275, - 7275,7275,3017,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,3495,241,244,247,250,3396, - 315,1194,317,7275,310,901,7275,995,1863,7275, - 3709,3918,35,1258,32,579,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,106,3918,35,1258,32,2284,3173,27, - 30,31,1315,1354,26,28,1122,25,23,50, - 1372,104,75,76,106,3918,35,1258,32,2296, - 3173,27,30,31,1315,1354,26,28,1122,25, - 23,50,1372,104,75,76,106,3918,1879,1258, - 1911,2312,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,83,3918, - 35,1258,32,7275,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 82,3918,35,1258,32,7275,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,81,3918,35,1258,32,7275,3173,27, - 30,31,1315,1354,26,28,1122,25,23,50, - 1372,104,75,76,80,3918,35,1258,32,7275, - 3173,27,30,31,1315,1354,26,28,1122,25, - 23,50,1372,104,75,76,79,3918,35,1258, - 32,7275,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,78,3918, - 35,1258,32,7275,3173,27,30,31,1315,1354, - 26,28,1122,25,23,50,1372,104,75,76, - 77,3732,35,1258,32,7275,3173,27,30,31, - 1315,1354,26,28,1122,25,23,50,1372,104, - 75,76,102,3918,35,1258,32,7275,3173,27, - 30,31,1315,1354,26,28,1122,25,23,50, - 1372,104,75,76,108,3918,35,1258,32,7275, - 3173,27,30,31,1315,1354,26,28,1122,25, - 23,50,1372,104,75,76,107,3918,35,1258, - 32,7275,3173,27,30,31,1315,1354,26,28, - 1122,25,23,50,1372,104,75,76,103,1862, - 7275,7275,7275,2783,3794,35,1258,32,7275,3173, - 27,30,31,1315,1354,26,28,1122,25,23, - 50,1372,571,75,76,7275,226,820,35,1871, - 385,7275,7275,7275,2144,7275,7275,7275,2783,7275, - 7275,7275,7275,7275,7275,7275,7275,203,213,2740, - 7275,7275,7275,202,210,211,212,214,584,7275, - 7275,226,2234,35,1871,385,7275,7275,7275,49, - 7275,7275,204,206,208,3570,7275,7275,1831,2984, - 7275,7275,203,213,2740,215,205,207,202,210, - 211,212,214,584,7275,2157,7275,2238,7275,7275, - 7275,2783,7275,7275,49,7275,7275,204,206,208, - 3570,2478,7275,1831,1610,7275,7275,7275,7275,7275, - 215,205,207,3185,226,5654,7275,7275,7275,7275, - 2157,7275,7275,535,532,533,534,7275,7275,7275, - 7275,7275,7275,2566,7275,203,213,2740,3273,7275, - 1090,202,210,211,212,214,584,7275,3279,7275, - 5654,7275,7275,7275,7275,535,532,533,534,7275, - 204,206,208,3570,7275,325,7275,7275,7275,7275, - 7275,7275,1090,215,205,207,3794,35,1258,32, - 7275,3173,27,30,31,1315,1354,26,28,1122, - 25,23,50,1372,570,75,76,2924,7275,7275, - 7275,7275,5433,7275,7275,7275,7275,7275,7275,7275, - 7275,3496,7275,5654,3856,35,1258,32,7275,3173, - 27,30,31,1315,1354,26,28,1122,25,23, - 50,1372,85,75,76,3980,35,1258,32,7275, - 3173,27,30,31,1315,1354,26,28,1122,25, - 23,50,1372,581,75,76,4042,35,1258,32, - 2478,3173,27,30,31,1315,1354,26,28,1122, - 25,23,50,1372,3054,75,76,2332,7275,7275, - 7275,2783,535,532,533,534,94,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,1090, - 7275,2956,7275,7275,226,608,7275,7275,7275,7275, - 7275,4183,1956,7275,7275,2783,2783,7275,2792,7275, - 7275,7275,7275,7275,2787,203,213,2740,3098,7275, - 7275,202,210,211,212,214,584,154,3632,226, - 535,532,533,534,7275,647,178,7275,7275,7275, - 204,206,208,3570,2050,2478,7275,2573,2783,7275, - 203,213,2740,517,205,207,202,210,211,212, - 214,584,7275,193,7275,7275,7275,535,532,533, - 534,226,7275,7275,7275,204,206,208,3570,2426, - 7275,7275,7275,2783,1090,7275,7275,7275,516,205, - 207,7275,203,213,2740,7275,7275,502,202,210, - 211,212,214,584,7275,7275,226,7275,7275,3265, - 7275,7275,7275,7275,7275,7275,7275,204,206,208, - 3570,2520,7275,3217,7275,2783,7275,203,213,2740, - 216,205,207,202,210,211,212,214,584,7275, - 7275,7275,7275,499,501,7275,7275,7275,226,7275, - 7275,7275,204,206,208,3570,2614,7275,7275,7275, - 2783,7275,7275,7275,7275,604,205,207,7275,203, - 213,2740,7275,7275,7275,202,210,211,212,214, - 584,7275,3996,226,7275,7275,6104,194,7275,7275, - 7275,7275,7275,7275,204,206,208,3570,2708,7275, - 7275,7275,2783,7275,203,213,2740,603,205,207, - 202,210,211,212,214,584,7275,7275,7275,7275, - 7275,7275,7275,46,7275,226,7275,608,7275,204, - 206,208,3570,2802,7275,7275,7275,2783,7275,2134, - 3955,291,602,205,207,7275,203,213,2740,7275, - 339,7275,202,210,211,212,214,584,7275,154, - 226,535,532,533,534,7275,7275,186,7275,7275, - 7275,204,206,208,3570,2589,4909,7275,2664,2783, - 3273,203,213,2740,301,205,207,202,210,211, - 212,214,584,7275,7275,7275,7275,535,532,533, - 534,7275,3632,7275,7275,7275,204,206,208,3570, - 7275,2589,7275,7275,1090,2783,3273,7275,1634,496, - 205,207,2783,4718,7275,7275,7275,7275,7275,7275, - 7275,7275,3235,535,532,533,534,7275,3632,2924, - 7275,7275,7275,7275,328,226,7275,7275,7275,3026, - 1090,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,2638,404,3377,7275, - 5983,356,2401,2686,7275,2924,7275,7275,3273,7275, - 328,7275,7275,7275,7275,7275,2767,3311,3317,7275, - 7275,405,406,407,3570,535,532,533,534,7275, - 2845,7275,7275,7275,608,7275,3022,356,7275,7275, - 7275,7275,1090,7275,7275,7275,7275,913,35,1871, - 385,2845,2767,3311,3317,608,3513,339,7275,46, - 7275,7275,7275,2783,7275,7275,154,2924,913,35, - 1871,385,329,909,2061,7275,7275,7275,339,820, - 35,1871,385,2840,7275,7275,339,154,7275,49, - 912,7275,348,7275,909,2061,7275,2387,1831,2090, - 342,825,698,345,2840,7275,820,35,1871,385, - 49,912,2840,7275,7275,790,7275,7275,2684,1831, - 47,49,408,410,3537,7275,504,7275,608,7275, - 1831,47,7275,7275,7275,7275,1850,820,35,1871, - 385,2513,35,1871,385,7275,7275,1705,49,1159, - 7275,339,4457,7275,7275,46,7275,1831,2408,2783, - 154,913,35,1871,385,7275,7275,7275,186,2574, - 35,1871,385,7275,2185,7275,7275,4909,7275,49, - 7275,7275,339,49,820,35,1871,385,1831,4900, - 7275,7275,1831,47,7275,7275,820,35,1871,385, - 7275,7275,7275,49,7275,2185,7275,7275,2840,1657, - 7275,49,1831,47,820,35,1871,385,7275,7275, - 1831,47,531,46,46,7275,49,608,608,1261, - 4167,7275,7275,188,2783,1831,47,2041,49,820, - 35,1871,385,820,35,1871,385,1831,47,7275, - 339,339,1085,7275,7275,7275,49,339,7275,154, - 154,527,7275,7275,1321,1831,47,186,186,7275, - 7275,7275,7275,7275,7275,7275,4909,4909,7275,7275, - 7275,49,1579,2840,7275,49,7275,7275,7275,7275, - 1831,47,7275,7275,1831,47,7275,530,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,1677,7275,7275, - 7275,1773,7275,7275,7275,7275,7275,7275,3008,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,3236,3237,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,4037,7275,0,39,7290,0,39,7289, - 0,635,29,0,437,1146,0,451,1166,0, - 38,751,0,38,7290,0,38,7289,0,7338, - 74,0,7337,74,0,850,74,0,2720,74, - 0,1624,74,0,2247,74,0,3889,124,0, - 1,441,0,455,779,0,454,1474,0,7283, - 1,0,2058,89,0,635,384,0,35,33, - 0,32,34,0,39,751,0,1,740,0, - 1,7875,0,1,7874,0,1,7545,0,1, - 7544,0,1,7543,0,1,7542,0,1,7541, - 0,1,7540,0,1,7539,0,1,7538,0, - 1,7537,0,1,7536,0,1,7535,0,39, - 1,7290,0,39,1,7289,0,705,1,0, - 1,5294,0,7507,221,0,7506,221,0,2089, - 221,0,2091,221,0,2110,221,0,7876,221, - 0,7609,221,0,7608,221,0,7534,221,0, - 7533,221,0,7532,221,0,7531,221,0,7530, - 221,0,7529,221,0,7528,221,0,7527,221, - 0,7507,222,0,7506,222,0,2089,222,0, - 2091,222,0,2110,222,0,7876,222,0,7609, - 222,0,7608,222,0,7534,222,0,7533,222, - 0,7532,222,0,7531,222,0,7530,222,0, - 7529,222,0,7528,222,0,7527,222,0,7507, - 223,0,7506,223,0,2089,223,0,2091,223, - 0,2110,223,0,7876,223,0,7609,223,0, - 7608,223,0,7534,223,0,7533,223,0,7532, - 223,0,7531,223,0,7530,223,0,7529,223, - 0,7528,223,0,7527,223,0,2110,391,0, - 2091,391,0,2089,391,0,281,391,0,7507, - 224,0,7506,224,0,2089,224,0,2091,224, - 0,2110,224,0,7876,224,0,7609,224,0, - 7608,224,0,7534,224,0,7533,224,0,7532, - 224,0,7531,224,0,7530,224,0,7529,224, - 0,7528,224,0,7527,224,0,281,284,0, - 7507,225,0,7506,225,0,2089,225,0,2091, - 225,0,2110,225,0,7876,225,0,7609,225, - 0,7608,225,0,7534,225,0,7533,225,0, - 7532,225,0,7531,225,0,7530,225,0,7529, - 225,0,7528,225,0,7527,225,0,7290,48, - 0,7289,48,0,7507,583,0,7506,583,0, - 2089,583,0,2091,583,0,2110,583,0,7876, - 583,0,7609,583,0,7608,583,0,7534,583, - 0,7533,583,0,7532,583,0,7531,583,0, - 7530,583,0,7529,583,0,7528,583,0,7527, - 583,0,7507,239,0,7506,239,0,2089,239, - 0,2091,239,0,2110,239,0,7876,239,0, - 7609,239,0,7608,239,0,7534,239,0,7533, - 239,0,7532,239,0,7531,239,0,7530,239, - 0,7529,239,0,7528,239,0,7527,239,0, - 7875,239,0,7874,239,0,7545,239,0,7544, - 239,0,7543,239,0,7542,239,0,7541,239, - 0,7540,239,0,7539,239,0,7538,239,0, - 7537,239,0,7536,239,0,7535,239,0,39, - 7290,239,0,39,7289,239,0,7313,239,0, - 7287,380,0,7286,380,0,7281,1,0,7280, - 1,0,1532,235,0,32,385,0,29,384, - 0,1,227,3096,0,7284,227,0,3104,227, - 0,1,227,2013,0,1,227,0,43,7311, - 0,43,37,0,3889,126,0,3889,125,0, - 2110,442,0,2091,442,0,2089,442,0,7313, - 442,0,327,442,0,39,442,0,2110,595, - 0,2091,595,0,2089,595,0,2110,593,0, - 2091,593,0,2089,593,0,597,593,0,597, - 592,0,1,2110,0,1,2091,0,1,2089, - 0,7313,1,0,39,1,0,47,37,0, - 571,581,0,3371,227,0,10,12,0,1, - 3449,0,1,985,0,1,751,0,1,90, - 0,2110,327,0,2091,327,0,2089,327,0, - 498,3549,0,7313,1,227,0,39,1,227, - 0,227,413,0,7290,37,0,7289,37,0, - 7290,2,37,0,7289,2,37,0,7290,36, - 0,7289,36,0,8,10,12,0,1,327, - 0,4220,98,0,7311,45,0,37,45,0, - 7285,402,0,7284,402,0,227,412,0,7287, - 582,380,0,7286,582,380,0,3113,314,0, - 1,595,0,1962,101,0,2461,97,0,2110, - 93,0,2091,93,0,2089,93,0,7313,93, - 0,327,93,0,39,93,0,35,72,0, - 7876,332,0,7609,332,0,7608,332,0,1866, - 276,0,498,5612,0,3944,380,0,183,4431, - 0,227,218,0,1,732,0,1,2138,0, - 2110,590,0,2091,590,0,2089,590,0,2110, - 589,0,2091,589,0,2089,589,0,535,536, - 0,8,12,0,227,217,0,7287,1,0, - 2110,590,591,0,2091,590,591,0,2089,590, - 591,0,590,591,0 + 190,4,124,91,91,32,32,86,86,46, + 46,44,44,222,1,1,16,16,16,16, + 16,16,16,17,17,17,15,11,11,6, + 6,6,6,6,6,2,78,78,5,5, + 12,12,53,53,149,149,150,69,69,52, + 18,18,18,18,18,18,18,18,18,18, + 18,18,18,18,18,18,18,18,18,151, + 151,151,126,126,19,19,19,19,19,19, + 19,19,19,19,19,19,20,20,191,191, + 192,192,193,154,154,155,155,152,152,156, + 153,153,21,21,22,22,27,27,27,29, + 29,29,29,30,30,30,31,31,31,33, + 33,33,33,33,34,34,34,35,35,36, + 36,38,38,39,39,41,41,42,42,48, + 48,47,47,47,47,47,47,47,47,47, + 47,47,47,47,45,37,157,157,102,102, + 194,194,95,223,223,79,79,79,79,79, + 79,79,79,79,80,80,80,73,73,61, + 61,195,195,81,81,81,110,110,196,196, + 82,82,82,82,197,197,83,83,83,83, + 83,84,84,87,87,87,87,87,87,87, + 87,55,55,55,55,55,127,127,125,125, + 56,198,28,28,28,28,28,51,51,92, + 92,92,92,92,164,164,159,159,159,159, + 159,160,160,160,161,161,161,162,162,162, + 163,163,163,93,93,93,93,93,94,94, + 94,13,14,14,14,14,14,14,14,14, + 14,14,14,103,131,131,131,131,131,131, + 129,129,129,165,166,166,130,130,199,168, + 168,167,167,133,133,111,76,76,134,58, + 50,169,169,59,89,89,170,170,158,158, + 135,136,136,137,72,72,171,171,66,66, + 66,63,63,62,67,67,90,90,70,70, + 70,65,96,96,105,104,104,71,71,64, + 64,68,68,54,108,108,108,98,98,98, + 99,99,100,100,100,101,101,112,112,112, + 114,114,113,113,224,224,97,97,201,201, + 201,201,201,139,49,49,173,200,200,140, + 140,106,106,106,107,175,202,202,43,43, + 128,141,141,141,141,204,116,115,115,132, + 132,132,176,177,177,177,177,177,177,177, + 177,177,177,177,206,206,203,203,205,205, + 118,119,119,119,119,120,207,121,117,117, + 208,208,178,178,178,178,109,109,109,209, + 209,8,8,9,210,210,211,179,172,172, + 180,180,181,182,182,7,7,10,212,212, + 212,212,212,212,212,212,212,212,212,212, + 212,212,212,212,212,212,212,212,212,212, + 212,212,212,212,212,212,212,212,212,212, + 212,212,212,212,212,212,212,212,212,212, + 74,77,77,183,183,143,143,144,144,144, + 144,144,144,3,145,145,142,142,122,122, + 88,75,85,85,174,174,123,123,213,213, + 213,146,146,138,138,214,214,23,23,23, + 40,40,24,24,215,215,184,184,184,185, + 185,216,216,186,186,25,25,217,217,187, + 187,187,187,26,60,218,218,219,219,188, + 188,188,147,147,147,19,19,33,33,42, + 17,80,220,189,189,189,148,148,28,57, + 92,137,137,137,118,118,118,199,204,116, + 65,72,165,134,13,13,71,88,88,88, + 18,190,190,1563,35,2519,2486,232,4863,27, + 30,31,1220,1232,26,28,2458,261,25,23, + 50,1265,104,75,76,106,590,537,538,539, + 1336,2324,1377,1344,1464,450,1393,1494,1478,1589, + 2822,1504,1603,3076,1790,141,273,1340,1790,2332, + 156,142,3831,2197,540,537,538,539,2311,35, + 1117,32,1832,6169,27,30,31,1220,1232,339, + 28,957,3224,2372,231,1629,540,537,538,539, + 158,540,537,538,539,541,537,538,539,727, + 1926,2421,34,672,1924,234,229,230,3813,727, + 35,3387,2792,35,1117,32,274,3829,27,30, + 31,1220,1232,26,28,1364,2563,512,3573,3488, + 319,2277,321,3114,315,2241,556,1320,333,3299, + 3894,241,244,247,250,4373,727,3834,540,537, + 538,539,46,73,759,1890,778,2813,352,2845, + 1822,583,328,335,4054,893,346,1702,1166,349, + 685,498,4050,2931,3356,3360,4367,4827,2962,35, + 1117,32,2805,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,104,75,76, + 106,1367,4429,1676,256,1336,343,1377,1344,1464, + 628,1393,1494,1478,1589,86,1504,1603,100,1790, + 141,1498,35,1117,32,518,142,41,30,31, + 1220,1232,2938,2992,35,1117,32,721,5132,27, + 30,31,1220,1232,57,28,519,2962,35,1117, + 32,2805,1172,27,30,31,1220,1232,26,28, + 887,261,25,23,50,1265,104,75,76,106, + 727,35,282,2757,1336,343,1377,1344,1464,290, + 1393,1494,1478,1589,814,1504,1603,163,1790,141, + 1182,557,499,1707,518,142,541,537,538,539, + 514,2938,3105,35,1117,32,2584,5132,27,30, + 31,1220,1232,56,28,519,541,537,538,539, + 3077,2133,3434,3106,682,2962,35,1117,32,2805, + 1172,27,30,31,1220,1232,26,28,887,261, + 25,23,50,1265,104,75,76,106,727,35, + 1898,389,1336,343,1377,1344,1464,2480,1393,1494, + 1478,1589,3357,1504,1603,450,1790,141,177,514, + 6124,444,518,142,727,35,1898,389,3833,2938, + 541,537,538,539,61,541,537,538,539,3107, + 2846,453,3106,519,3190,35,1117,32,2805,1172, + 27,30,31,1220,1232,26,28,887,261,25, + 23,50,1265,104,75,76,106,49,352,3957, + 1367,1336,343,1377,1344,1464,46,1393,1494,1478, + 1589,3299,1504,1603,1971,1790,141,1693,35,397, + 46,518,142,724,2805,724,1905,514,2938,1385, + 35,1117,32,60,3829,27,30,31,1220,1232, + 59,28,519,580,263,35,279,3183,343,3273, + 3106,3265,35,1117,32,1923,1172,27,30,31, + 1220,1232,26,28,887,261,25,23,50,1265, + 104,75,76,106,2938,391,610,1980,1336,428, + 1377,1344,1464,2281,1393,1494,1478,1589,2086,1504, + 1603,461,1790,141,3434,1971,515,907,379,142, + 3041,35,1117,32,1300,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,106,263,35,279,3488,1336,3441,1377, + 1344,1464,3984,1393,1494,1478,1589,356,1504,1603, + 197,1790,141,1367,1971,533,2956,379,142,69, + 709,70,1630,35,1898,389,3299,380,1980,3399, + 335,974,450,3926,35,1117,32,6142,1172,27, + 30,31,1220,1232,26,28,887,261,25,23, + 50,1265,104,75,76,106,2437,2845,4027,3026, + 1336,386,1377,1344,1464,49,1393,1494,1478,1589, + 1000,1504,3050,1367,1888,659,380,1980,3404,35, + 1117,32,1093,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,104,75,76, + 106,2179,42,3357,460,1336,353,1377,1344,1464, + 387,1393,1494,1478,1589,3031,1504,1603,376,1790, + 141,3434,1971,2479,2949,379,142,3329,35,1117, + 32,1367,1172,27,30,31,1220,1232,26,28, + 887,261,25,23,50,1265,104,75,76,106, + 727,35,2421,3358,1336,2477,1377,1344,1464,5906, + 1393,1494,1478,1589,5441,1504,1603,196,1790,141, + 2950,35,1117,32,553,142,40,30,31,1220, + 1232,727,35,295,380,1980,259,3177,35,277, + 3669,35,1117,32,1279,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,106,727,35,5531,3446,1336,377,1377, + 1344,1464,51,1393,1494,1478,1589,70,1504,1603, + 374,1790,141,727,35,1898,389,156,142,3669, + 35,1117,32,3152,1172,27,30,31,1220,1232, + 26,28,887,261,25,23,50,1265,104,75, + 76,106,263,35,454,1868,1336,6214,1377,1344, + 1464,3858,1393,1494,1478,1589,432,1504,1603,3998, + 1790,141,727,35,1898,389,373,142,3669,35, + 1117,32,3134,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,104,75,76, + 106,709,568,551,77,1336,46,1377,1344,1464, + 847,1393,1494,1478,1589,435,1504,1603,1186,1790, + 141,2950,35,1117,32,373,142,3364,30,31, + 1220,1232,46,3625,1344,2887,925,685,91,1340, + 3669,35,1117,32,1290,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,106,727,35,2421,276,1336,372,1377, + 1344,1464,154,1393,1494,1478,1589,2845,1504,1603, + 611,1790,141,727,35,1898,389,373,142,3468, + 35,1117,32,2657,1172,27,30,31,1220,1232, + 26,28,887,261,25,23,50,1265,104,75, + 76,106,1858,35,2421,276,1336,371,1377,1344, + 1464,2179,1393,1494,1478,1589,434,1504,1603,1285, + 1790,141,447,3912,3913,3299,553,142,2761,3115, + 35,1117,32,1288,1172,27,30,31,1220,1232, + 26,28,887,261,25,23,50,1265,104,75, + 76,106,727,3817,2421,73,1336,24,1377,1344, + 1464,1320,1393,1494,1478,1589,422,1504,1603,369, + 1790,141,3434,3025,35,277,140,142,3669,35, + 1117,32,3639,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,104,75,76, + 106,1858,35,2421,3826,1336,46,1377,1344,1464, + 5960,1393,1494,1478,1589,617,1504,1603,200,1790, + 141,1446,3182,46,3299,157,142,1340,3669,35, + 1117,32,2860,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,104,75,76, + 106,1819,3255,35,280,1336,68,1377,1344,1464, + 154,1393,1494,1478,1589,552,1504,1603,1694,1790, + 141,727,35,1898,389,153,142,3669,35,1117, + 32,1496,1172,27,30,31,1220,1232,26,28, + 887,261,25,23,50,1265,104,75,76,106, + 974,727,35,295,1336,525,1377,1344,1464,3147, + 1393,1494,1478,1589,433,1504,1603,3076,1790,141, + 1728,1340,354,3434,152,142,3669,35,1117,32, + 1917,1172,27,30,31,1220,1232,26,28,887, + 261,25,23,50,1265,104,75,76,106,727, + 35,2421,278,1336,158,1377,1344,1464,1743,1393, + 1494,1478,1589,3110,1504,1603,3076,1790,141,198, + 1340,44,3357,151,142,3669,35,1117,32,1255, + 1172,27,30,31,1220,1232,26,28,887,261, + 25,23,50,1265,104,75,76,106,727,35, + 2421,3846,1336,158,1377,1344,1464,1971,1393,1494, + 1478,1589,3525,1504,1603,2707,1790,141,1474,2035, + 3299,312,150,142,3669,35,1117,32,1348,1172, + 27,30,31,1220,1232,26,28,887,261,25, + 23,50,1265,104,75,76,106,727,35,2421, + 281,1336,53,1377,1344,1464,1303,1393,1494,1478, + 1589,662,1504,1603,3804,1790,141,439,3408,610, + 1980,149,142,3669,35,1117,32,1433,1172,27, + 30,31,1220,1232,26,28,887,261,25,23, + 50,1265,104,75,76,106,1693,35,397,3553, + 1336,46,1377,1344,1464,2078,1393,1494,1478,1589, + 2845,1504,1603,3076,1790,141,3299,1340,2187,3957, + 148,142,3669,35,1117,32,1367,1172,27,30, + 31,1220,1232,26,28,887,261,25,23,50, + 1265,104,75,76,106,1693,35,397,990,1336, + 158,1377,1344,1464,2658,1393,1494,1478,1589,1921, + 1504,1603,3076,1790,141,3299,1340,3492,3957,147, + 142,3669,35,1117,32,3894,1172,27,30,31, + 1220,1232,26,28,887,261,25,23,50,1265, + 104,75,76,106,727,1642,1320,52,1336,158, + 1377,1344,1464,3775,1393,1494,1478,1589,3698,1504, + 1603,3985,1790,141,3069,3455,2877,326,146,142, + 3669,35,1117,32,79,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,106,727,3554,3638,543,1336,3768,1377, + 1344,1464,5898,1393,1494,1478,1589,355,1504,1603, + 3988,1790,141,1924,3681,533,3703,145,142,3669, + 35,1117,32,3500,1172,27,30,31,1220,1232, + 26,28,887,261,25,23,50,1265,104,75, + 76,106,3634,46,383,555,1336,4092,1377,1344, + 1464,2894,1393,1494,1478,1589,323,1504,1603,3359, + 1790,141,405,2845,533,3533,144,142,3669,35, + 1117,32,3954,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,104,75,76, + 106,2821,3833,545,3590,1336,46,1377,1344,1464, + 1779,1393,1494,1478,1589,2380,1504,1603,3804,1790, + 141,727,35,1898,389,143,142,3607,35,1117, + 32,3180,1172,27,30,31,1220,1232,26,28, + 887,261,25,23,50,1265,104,75,76,106, + 727,35,1898,389,1336,180,1377,1344,1464,382, + 1393,1494,1478,1589,273,1504,1603,3071,3185,162, + 3926,35,1117,32,2465,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,106,273,3533,2995,2997,1336,524,1377, + 1344,1464,2465,1393,1494,1478,1589,2845,1504,1603, + 558,3185,162,46,3698,450,3299,1340,327,392, + 6181,324,1996,428,275,3669,35,1117,32,570, + 1172,27,30,31,1220,1232,26,28,887,261, + 25,23,50,1265,104,75,76,106,350,1652, + 2579,2179,1336,340,1377,1344,1464,325,1393,1494, + 1478,1589,2845,1504,1603,3498,1790,141,527,3391, + 3899,2332,579,142,3669,35,1117,32,631,1172, + 27,30,31,1220,1232,26,28,887,261,25, + 23,50,1265,104,75,76,106,3833,730,823, + 390,1336,2845,1377,1344,1464,3043,1393,1494,1478, + 1589,1675,1504,1603,46,1790,141,524,1340,1367, + 3434,138,142,3669,35,1117,32,79,1172,27, + 30,31,1220,1232,26,28,887,261,25,23, + 50,1265,104,75,76,106,2179,1320,916,2877, + 1336,3646,1377,1344,1464,450,1393,1494,1478,1589, + 6187,1504,1603,376,1790,141,220,2845,2746,2921, + 187,142,1385,35,1117,32,4461,3829,27,30, + 31,1220,1232,58,28,3700,3926,35,1117,32, + 3491,1172,27,30,31,1220,1232,26,28,887, + 261,25,23,50,1265,104,75,76,106,4413, + 95,3314,1367,1336,394,1377,1344,1464,428,1393, + 1494,1478,1589,87,1504,1603,100,3185,162,3926, + 35,1117,32,349,1172,27,30,31,1220,1232, + 26,28,887,261,25,23,50,1265,104,75, + 76,106,442,46,3434,2094,1336,3055,1377,1344, + 1464,450,1393,1494,1478,1589,6202,1504,1603,3299, + 3185,162,2677,3299,3698,3566,1340,3926,35,1117, + 32,582,1172,27,30,31,1220,1232,26,28, + 887,261,25,23,50,1265,104,75,76,106, + 2673,88,381,96,1336,563,1377,1344,1464,154, + 1393,1494,1478,1589,3299,1504,1603,3042,3185,162, + 3926,35,1117,32,2522,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,106,910,3700,1003,1833,1336,46,1377, + 1344,1464,1071,1393,1494,1478,1589,1207,1504,1603, + 286,3185,162,3572,448,1096,1192,1340,3926,35, + 1117,32,424,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,104,75,76, + 106,2573,35,1898,389,1336,3029,1377,1344,1464, + 154,1393,1494,1478,1589,3299,1504,1603,160,3185, + 162,4112,35,1117,32,294,1172,27,30,31, + 1220,1232,26,28,887,261,25,23,50,1265, + 104,75,76,106,273,2780,3908,3044,1336,2495, + 1377,1344,1464,2295,1393,1494,1478,1589,2845,1504, + 1603,3038,3185,162,3360,2185,3539,2300,46,2873, + 1340,2845,658,423,1680,35,1117,32,4311,6169, + 27,30,31,1220,1232,339,28,541,537,538, + 539,2327,540,537,538,539,3496,540,537,538, + 539,2376,3405,154,3563,4267,35,1898,389,672, + 4791,1793,199,46,5116,2179,426,978,236,261, + 3434,3698,727,35,1898,389,2412,71,590,537, + 538,539,526,448,3573,3434,319,2277,321,3114, + 314,2241,403,2579,332,280,3524,1320,273,613, + 2121,35,1117,32,4249,6154,27,30,31,1220, + 1232,339,28,1373,262,49,221,3689,2805,525, + 4871,1503,1573,227,1888,1046,231,2950,35,1117, + 32,564,154,3401,30,31,1220,1232,3299,2179, + 922,178,2850,3636,202,214,4942,234,229,230, + 201,211,212,213,215,589,167,287,274,306, + 310,1691,319,2277,321,46,314,2241,166,1340, + 3193,3698,3648,4122,181,165,168,169,170,171, + 172,1323,2430,241,244,247,250,4373,2847,1921, + 352,3833,4187,46,3710,1392,759,2212,344,1702, + 1166,349,154,583,590,537,538,539,3642,3076, + 1281,361,1831,1340,4050,2931,3356,3360,4367,4827, + 3926,35,1117,32,1501,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,106,2767,4429,3299,158,1336,6258,1377, + 1344,1464,231,1393,1494,1478,1589,297,2974,1729, + 35,3874,32,4311,6169,27,30,31,1220,1232, + 339,28,3698,243,229,230,1006,67,352,2892, + 2805,3299,540,537,538,539,344,1702,1166,349, + 3805,46,2915,46,46,1340,342,3393,1075,3411, + 2194,366,1099,46,343,2093,3834,3166,393,1544, + 46,3753,428,66,2654,1739,2001,1693,35,3400, + 3184,319,2277,321,3114,314,2241,3007,154,332, + 1305,1429,3926,35,1117,32,2995,1172,27,30, + 31,1220,1232,26,28,887,261,25,23,50, + 1265,104,75,76,106,4871,3195,3030,296,1336, + 49,1377,1344,1464,535,1393,1494,1478,2945,1888, + 1363,3299,46,544,3590,2563,4216,4867,420,3873, + 3926,35,1117,32,3434,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,106,65,3179,3299,2520,1336,2601,1377, + 1344,1464,613,1393,1494,2962,1910,35,1117,32, + 4311,6154,27,30,31,1220,1232,339,28,2693, + 303,2852,641,3145,2012,1840,343,64,289,540, + 537,538,539,46,46,154,46,2073,2407,3299, + 2941,46,2179,1595,4509,3637,5143,540,537,538, + 539,3489,2938,560,2796,635,35,454,2216,1031, + 6214,46,740,3835,957,1340,1176,3299,319,2277, + 321,3201,314,2241,3926,35,1117,32,3524,1172, + 27,30,31,1220,1232,26,28,887,261,25, + 23,50,1265,104,75,76,106,2949,154,4366, + 3121,1336,3220,1377,1344,1464,3031,1393,2872,727, + 35,1898,389,727,35,1898,389,3926,35,1117, + 32,3299,1172,27,30,31,1220,1232,26,28, + 887,261,25,23,50,1265,104,75,76,106, + 2943,306,310,1691,1336,3530,1377,1344,1464,94, + 2893,46,49,4428,46,3840,49,2325,5530,2423, + 2580,1888,663,3299,2820,1888,1643,3395,541,537, + 538,539,3926,35,1117,32,3710,1172,27,30, + 31,1220,1232,26,28,887,261,25,23,50, + 1265,104,75,76,106,4490,1453,2752,3498,1336, + 2000,1377,1344,1464,3434,2923,2041,35,1117,32, + 4311,6154,27,30,31,1220,1232,339,28,590, + 537,538,539,590,537,538,539,3531,3643,540, + 537,538,539,2093,3834,451,3912,3913,46,46, + 2795,3434,4440,1019,3858,46,5143,3299,3299,5565, + 300,1935,35,3874,32,4311,6154,27,30,31, + 1220,1232,339,28,78,3396,187,231,319,2277, + 321,231,314,2241,3919,537,538,539,3524,322, + 55,727,35,1898,389,567,2324,407,246,229, + 230,3532,249,229,230,3299,1716,35,3874,32, + 4311,6154,27,30,31,1220,1232,339,28,540, + 537,538,539,319,2277,321,3591,314,2241,540, + 537,538,539,1429,49,450,957,54,1790,3299, + 6262,3373,450,1888,1337,3299,3532,6273,1745,3434, + 46,307,310,1691,1989,2568,35,1117,32,3009, + 6154,27,30,31,1220,1232,339,28,319,2277, + 321,542,314,2241,3148,3434,289,562,1429,4962, + 420,3873,2782,35,3874,32,4311,6154,27,30, + 31,1220,1232,339,28,191,1608,540,537,538, + 539,404,3676,3732,3080,3919,537,538,539,3488, + 2045,3835,3194,3196,2764,3299,46,316,3552,321, + 2304,299,3532,3259,5551,420,3873,2416,35,1117, + 32,4311,6154,27,30,31,1220,1232,339,28, + 3733,3218,334,335,319,2277,321,561,314,2241, + 3926,35,1117,32,1429,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,106,2835,46,3358,3499,1336,4081,1377, + 1344,2676,4174,3605,46,3505,4700,1923,5609,319, + 2277,321,3361,314,2241,3299,3299,3299,3507,3407, + 4962,420,3873,3926,35,1117,32,547,1172,27, + 30,31,1220,1232,26,28,887,261,25,23, + 50,1265,104,75,76,106,2745,3499,378,3624, + 1336,3299,1377,1344,2753,3926,35,1117,32,3299, + 1172,27,30,31,1220,1232,26,28,887,261, + 25,23,50,1265,104,75,76,106,3488,3770, + 3731,3299,1336,99,1377,1344,2767,3926,35,1117, + 32,4614,1172,27,30,31,1220,1232,26,28, + 887,261,25,23,50,1265,104,75,76,106, + 3299,3500,335,573,1336,3299,1377,1344,2791,3926, + 35,1117,32,3299,1172,27,30,31,1220,1232, + 26,28,887,261,25,23,50,1265,104,75, + 76,106,2317,3698,3299,3697,1336,2771,1377,1344, + 2801,3926,35,1117,32,452,1172,27,30,31, + 1220,1232,26,28,887,261,25,23,50,1265, + 104,75,76,106,3769,1,574,531,1336,613, + 1377,1344,2843,2098,35,1117,32,3606,6154,27, + 30,31,1220,1232,339,28,3832,3892,3777,727, + 35,1898,389,227,3532,3955,541,537,538,539, + 1790,46,154,3297,3571,5566,3835,3936,6225,2179, + 922,178,3893,46,202,214,4942,2038,3956,304, + 201,211,212,213,215,589,167,541,537,538, + 539,3895,49,4018,3258,319,2277,321,166,601, + 2241,1888,659,2876,182,165,168,169,170,171, + 172,179,1316,35,1117,32,6038,6154,27,30, + 31,1220,1232,339,28,1705,541,537,538,539, + 3297,3488,4079,3897,2215,6225,4145,4147,2663,2591, + 3926,35,1117,32,351,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,106,4117,330,335,3699,1336,1011,1377, + 2863,4118,2993,2688,319,2277,321,3959,314,2241, + 3802,35,1117,32,3407,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,576, + 75,76,352,3901,4119,4142,2969,3807,4146,7280, + 344,1702,1166,349,7280,7280,3926,35,1117,32, + 2326,1172,27,30,31,1220,1232,26,28,887, + 261,25,23,50,1265,104,75,76,106,2993, + 46,430,7280,1336,1340,1377,2871,3543,35,1117, + 32,7280,1172,27,30,31,1220,1232,26,28, + 887,261,25,23,50,1265,104,75,76,105, + 4372,3943,7280,7280,2694,7280,373,154,2851,3269, + 613,7280,5979,238,261,3121,7280,7280,7280,7280, + 7280,1971,7280,590,537,538,539,540,537,538, + 539,1923,7280,7280,227,7280,7280,7280,431,7280, + 351,7280,3029,154,672,4140,2805,7280,7280,2805, + 2179,922,178,7280,7280,202,214,4942,7280,7280, + 7280,201,211,212,213,215,589,167,466,3114, + 2850,231,613,343,332,7280,7280,7280,7280,166, + 7280,7280,7280,610,1980,3546,165,168,169,170, + 171,172,239,229,230,7280,227,7280,352,760, + 4615,7280,3488,7280,7280,154,344,1702,1166,349, + 7280,7280,2179,922,178,7280,2326,202,214,4942, + 7280,7280,7280,201,211,212,213,215,589,167, + 559,7280,7280,7280,613,3853,335,2694,7280,360, + 7280,166,3269,7280,7280,7280,7280,176,165,168, + 169,170,171,172,3199,3424,3425,7280,227,7280, + 540,537,538,539,7280,7280,3029,154,7280,7280, + 2805,7280,7280,7280,2179,922,178,672,46,202, + 214,4942,2805,7280,7280,201,211,212,213,215, + 589,167,652,7280,2850,7280,613,7280,7280,2694, + 7280,7280,3114,166,3269,7280,343,332,7280,174, + 165,168,169,170,171,172,7280,7280,7280,7280, + 227,7280,540,537,538,539,7280,7280,7280,154, + 7280,7280,2938,4900,7280,7280,2179,922,178,672, + 46,202,214,4942,2805,7280,2171,201,211,212, + 213,215,589,167,745,443,7280,457,613,7280, + 7280,2694,7280,360,3114,166,3269,7280,343,332, + 7280,581,165,168,169,170,171,172,3647,3424, + 3425,7280,227,7280,540,537,538,539,7280,7280, + 7280,154,7280,7280,2938,668,7280,7280,2179,922, + 178,672,46,202,214,4942,2805,7280,2305,201, + 211,212,213,215,589,167,838,2375,7280,7280, + 613,7280,7280,1450,7280,7280,3114,166,7280,7280, + 343,332,7280,175,165,168,169,170,171,172, + 590,537,538,539,227,7280,540,537,538,539, + 7280,7280,7280,154,7280,7280,2938,4971,7280,7280, + 2179,922,178,873,7280,202,214,4942,7280,7280, + 2306,201,211,212,213,215,589,167,931,2469, + 3539,7280,613,7280,613,7280,7280,7280,231,166, + 4144,7280,7280,7280,2805,185,165,168,169,170, + 171,172,590,537,538,539,227,7280,3053,252, + 229,230,7280,7280,7280,154,7280,154,2850,7280, + 7280,7280,2179,922,178,922,178,202,214,4942, + 7280,7280,7280,201,211,212,213,215,589,167, + 1024,3432,7280,7280,613,7280,7280,7280,7280,7280, + 231,166,7280,194,7280,7280,7280,3905,165,168, + 169,170,171,172,540,537,538,539,227,7280, + 7280,585,229,230,7280,4175,7280,154,7280,2805, + 7280,3305,7280,7280,2179,922,178,506,965,202, + 214,4942,2008,35,295,201,211,212,213,215, + 589,167,1117,343,46,46,613,532,1340,1340, + 7280,7280,7280,166,7280,540,537,538,539,190, + 165,168,169,170,171,172,7280,3067,7280,2938, + 227,7280,962,503,505,7280,7280,7280,7280,154, + 7280,154,154,535,7280,7280,2179,922,178,3155, + 2429,202,214,4942,7280,7280,7280,201,211,212, + 213,215,589,167,1210,2287,7280,7280,613,7280, + 3269,2200,7280,3953,7280,166,7280,6051,195,7280, + 7280,184,165,168,169,170,171,172,540,537, + 538,539,227,7280,540,537,538,539,7280,7280, + 7280,154,7280,5748,7280,672,7280,7280,2179,922, + 178,672,7280,202,214,4942,7280,7280,7280,201, + 211,212,213,215,589,167,2477,7280,7280,7280, + 3114,7280,7280,7280,7280,333,329,166,7280,7280, + 7280,7280,7280,193,165,168,169,170,171,172, + 2510,35,1117,32,4249,6154,27,30,31,1220, + 1232,339,28,3926,35,1117,32,7280,1172,27, + 30,31,1220,1232,26,28,887,261,25,23, + 50,1265,104,75,76,106,7280,7280,7280,3775, + 1336,7280,2543,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,319,2277,321,7280,314,2241,3802,35, + 1117,32,528,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,575,75,76, + 352,820,35,1898,389,7280,7280,7280,344,1702, + 1166,349,7280,7280,3926,35,1117,32,529,1172, + 27,30,31,1220,1232,26,28,887,261,25, + 23,50,1265,104,75,76,106,4320,35,1898, + 389,1336,4791,2562,49,7280,7280,7280,7280,7280, + 237,261,7280,1888,3156,7280,7280,7280,7280,7280, + 590,537,538,539,7280,7280,727,35,1898,389, + 2231,7280,2200,2236,35,1898,389,3497,7280,7280, + 273,1515,35,1117,32,7280,6169,27,30,31, + 1220,1232,339,28,7280,540,537,538,539,7280, + 540,537,538,539,540,537,538,539,231,49, + 2218,7280,672,7280,7280,3269,49,3844,1888,2381, + 7280,672,7280,7280,7280,1888,1553,7280,7280,235, + 229,230,7280,540,537,538,539,2768,7280,7280, + 274,7280,2231,319,2277,321,3114,317,2241,7280, + 672,333,2384,35,1117,32,2774,6154,27,30, + 31,1220,1232,339,28,242,245,248,251,4373, + 7280,7280,3574,7280,7280,3114,7280,7280,759,7280, + 333,1515,35,1117,32,584,6169,27,30,31, + 1220,1232,339,28,7280,540,537,538,539,7280, + 352,7280,7280,7280,540,537,538,539,346,1702, + 1166,349,3883,7280,316,3552,321,3926,35,1117, + 32,3813,1172,27,30,31,1220,1232,26,28, + 887,261,25,23,50,1265,104,75,76,84, + 7280,7280,7280,319,2277,321,3114,315,2241,7280, + 7280,333,3926,35,1117,32,7280,1172,27,30, + 31,1220,1232,26,28,887,261,25,23,50, + 1265,104,75,76,106,3926,35,1117,32,2653, + 1172,27,30,31,1220,1232,26,28,887,261, + 25,23,50,1265,104,75,76,106,3926,35, + 1117,32,2655,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,104,75,76, + 106,7280,7280,2745,7280,2675,1795,35,1117,32, + 4311,6154,27,30,31,1220,1232,339,28,7280, + 7280,7280,913,35,1898,389,7280,2200,7280,541, + 537,538,539,2134,35,1117,32,4311,6154,27, + 30,31,1220,1232,339,28,7280,7280,7280,7280, + 540,537,538,539,7280,7280,541,537,538,539, + 7280,7280,7280,7280,7280,49,7280,672,319,2277, + 321,7280,314,2241,1888,1988,7280,7280,4491,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,2701,3311,7280,7280,319,2277,321,7280,314, + 2241,3926,1926,1117,1947,4491,1172,27,30,31, + 1220,1232,26,28,887,261,25,23,50,1265, + 104,75,76,83,3926,35,1117,32,7280,1172, + 27,30,31,1220,1232,26,28,887,261,25, + 23,50,1265,104,75,76,82,3926,35,1117, + 32,7280,1172,27,30,31,1220,1232,26,28, + 887,261,25,23,50,1265,104,75,76,81, + 3926,35,1117,32,7280,1172,27,30,31,1220, + 1232,26,28,887,261,25,23,50,1265,104, + 75,76,80,3926,35,1117,32,7280,1172,27, + 30,31,1220,1232,26,28,887,261,25,23, + 50,1265,104,75,76,79,3926,35,1117,32, + 7280,1172,27,30,31,1220,1232,26,28,887, + 261,25,23,50,1265,104,75,76,78,3926, + 35,1117,32,7280,1172,27,30,31,1220,1232, + 26,28,887,261,25,23,50,1265,104,75, + 76,77,3740,35,1117,32,7280,1172,27,30, + 31,1220,1232,26,28,887,261,25,23,50, + 1265,104,75,76,102,3926,35,1117,32,7280, + 1172,27,30,31,1220,1232,26,28,887,261, + 25,23,50,1265,104,75,76,108,3926,35, + 1117,32,7280,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,104,75,76, + 107,3926,35,1117,32,7280,1172,27,30,31, + 1220,1232,26,28,887,261,25,23,50,1265, + 104,75,76,103,3864,35,1117,32,7280,1172, + 27,30,31,1220,1232,26,28,887,261,25, + 23,50,1265,85,75,76,3988,35,1117,32, + 7280,1172,27,30,31,1220,1232,26,28,887, + 261,25,23,50,1265,586,75,76,4050,35, + 1117,32,7280,1172,27,30,31,1220,1232,26, + 28,887,261,25,23,50,1265,3204,75,76, + 1864,2228,7280,7280,2805,7280,2605,35,1117,32, + 4311,6154,27,30,31,1220,1232,339,28,7280, + 7280,3635,7280,7280,540,537,538,539,227,7280, + 7280,7280,7280,7280,7280,2146,4208,7280,7280,2805, + 2805,957,7280,7280,540,537,538,539,7280,204, + 214,4942,7280,7280,7280,203,211,212,213,215, + 589,3844,7280,227,2850,7280,7280,7280,319,2277, + 321,7280,314,2241,205,207,209,3635,3847,2240, + 7280,7280,7280,2805,204,214,4942,216,206,208, + 203,211,212,213,215,589,7280,7280,7280,7280, + 7280,7280,7280,7280,46,7280,7280,227,613,205, + 207,209,3635,7280,2334,7280,7280,3196,2805,7280, + 7280,7280,216,206,208,2921,7280,5742,204,214, + 4942,7280,343,506,203,211,212,213,215,589, + 7280,154,227,7280,7280,7280,7280,1749,7280,186, + 7280,2805,4856,205,207,209,3635,7280,5536,7280, + 3022,7280,5742,204,214,4942,216,206,208,203, + 211,212,213,215,589,227,7280,1958,7280,503, + 505,2805,7280,7280,7280,2008,3951,295,205,207, + 209,3635,7280,7280,7280,7280,2136,408,3505,7280, + 7280,521,206,208,3773,227,5742,7280,540,537, + 538,539,2052,7280,3227,7280,2805,7280,3298,3986, + 7280,409,410,411,3635,962,204,214,4942,7280, + 7280,7280,203,211,212,213,215,589,7280,7280, + 227,540,537,538,539,7280,7280,7280,7280,7280, + 7280,205,207,209,3635,2428,3626,7280,962,2805, + 7280,204,214,4942,520,206,208,203,211,212, + 213,215,589,7280,7280,7280,7280,7280,7280,7280, + 544,7280,7280,227,2805,7280,205,207,209,3635, + 2522,46,7280,7280,2805,1340,5748,7280,7280,217, + 206,208,7280,7280,204,214,4942,7280,343,7280, + 203,211,212,213,215,589,7280,7280,227,2477, + 7280,7280,7280,412,415,7280,7280,7280,154,205, + 207,209,3635,2616,3632,7280,3645,2805,7280,204, + 214,4942,609,206,208,203,211,212,213,215, + 589,7280,2758,7280,7280,7280,7280,7280,7280,7280, + 7280,227,7280,7280,205,207,209,3635,2710,7280, + 7280,7280,2805,7280,7280,7280,2694,608,206,208, + 7280,3269,204,214,4942,7280,7280,7280,203,211, + 212,213,215,589,7280,7280,227,7280,7280,540, + 537,538,539,7280,7280,7280,7280,205,207,209, + 3635,2804,7280,7280,7280,2805,672,204,214,4942, + 607,206,208,203,211,212,213,215,589,7280, + 1634,7280,7280,7280,2805,4856,7280,7280,7280,227, + 7280,3114,205,207,209,3635,6047,7280,46,2685, + 7280,7280,2805,2805,3269,305,206,208,227,7280, + 204,214,4942,7280,7280,7280,203,211,212,213, + 215,589,540,537,538,539,343,2850,7280,2136, + 408,3505,7280,7280,7280,205,207,209,3635,672, + 7280,7280,7280,3745,7280,7280,7280,7280,500,206, + 208,7280,2938,7280,409,410,411,3635,2685,7280, + 7280,7280,2805,3269,3114,7280,2888,2664,7280,332, + 7280,3830,3269,2601,7280,613,7280,613,7280,7280, + 92,540,537,538,539,7280,2850,7280,7280,3626, + 540,537,538,539,7280,4900,360,7280,672,343, + 7280,343,7280,7280,7280,2601,7280,672,154,613, + 154,2715,3424,3425,7280,7280,186,2179,1595,7280, + 7280,7280,7280,3114,7280,5536,7280,2938,332,7280, + 7280,7280,3114,343,1031,7280,7280,6047,7280,7280, + 7280,1986,154,7280,913,35,1898,389,7280,2179, + 1595,7280,7280,7280,668,360,412,414,7280,2938, + 7280,7280,820,35,1898,389,1031,7280,7280,7280, + 2715,3424,3425,2624,820,35,1898,389,7280,7280, + 7280,188,7280,2324,7280,7280,5677,49,7280,820, + 35,1898,389,7280,7280,7280,1888,47,7280,7280, + 7280,2108,35,1898,389,49,7280,913,35,1898, + 389,7280,46,1722,1888,47,613,49,7280,7280, + 7280,94,2111,35,1898,389,1888,2379,7280,7280, + 7280,870,49,7280,820,35,1898,389,7280,7280, + 343,1888,2769,2260,49,820,35,1898,389,154, + 49,7280,7280,1888,47,7280,7280,186,2260,1888, + 47,7280,7280,7280,46,49,5536,2564,613,7280, + 1331,7280,7280,7280,1888,47,1481,49,820,35, + 1898,389,820,35,1898,389,1888,47,49,7280, + 7280,1771,343,820,35,1898,389,1888,47,7280, + 4144,154,7280,948,2805,7280,7280,7280,7280,186, + 7280,46,46,46,1383,2805,2805,2805,5536,7280, + 7280,49,3281,7280,7280,49,7280,7280,2850,7280, + 1888,47,7280,7280,1888,47,49,7280,7280,343, + 343,343,7280,7280,7280,1888,47,1432,7280,7280, + 7280,1543,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,1741,7280,7280,2938,2938,2938,7280,7280, + 7280,7280,7280,7280,3323,7280,7280,7280,7280,510, + 508,536,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,506,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,504,505,7280,0,39,7295,0, + 39,7294,0,752,29,0,441,1466,0,455, + 1492,0,38,699,0,38,7295,0,38,7294, + 0,7343,74,0,7342,74,0,833,74,0, + 902,74,0,1787,74,0,2915,74,0,3749, + 124,0,1,445,0,459,1020,0,458,1163, + 0,7288,1,0,2323,89,0,752,388,0, + 35,33,0,32,34,0,39,699,0,1, + 645,0,1,7552,0,1,7551,0,1,7550, + 0,1,7549,0,1,7548,0,1,7547,0, + 1,7546,0,1,7545,0,1,7544,0,1, + 7543,0,1,7542,0,1,7885,0,1,7884, + 0,39,1,7295,0,39,1,7294,0,821, + 1,0,1,3960,0,7513,222,0,7512,222, + 0,2388,222,0,2408,222,0,2409,222,0, + 7886,222,0,7618,222,0,7617,222,0,7540, + 222,0,7539,222,0,7538,222,0,7537,222, + 0,7536,222,0,7535,222,0,7534,222,0, + 7533,222,0,7513,223,0,7512,223,0,2388, + 223,0,2408,223,0,2409,223,0,7886,223, + 0,7618,223,0,7617,223,0,7540,223,0, + 7539,223,0,7538,223,0,7537,223,0,7536, + 223,0,7535,223,0,7534,223,0,7533,223, + 0,7513,224,0,7512,224,0,2388,224,0, + 2408,224,0,2409,224,0,7886,224,0,7618, + 224,0,7617,224,0,7540,224,0,7539,224, + 0,7538,224,0,7537,224,0,7536,224,0, + 7535,224,0,7534,224,0,7533,224,0,2409, + 395,0,2408,395,0,2388,395,0,283,395, + 0,7513,225,0,7512,225,0,2388,225,0, + 2408,225,0,2409,225,0,7886,225,0,7618, + 225,0,7617,225,0,7540,225,0,7539,225, + 0,7538,225,0,7537,225,0,7536,225,0, + 7535,225,0,7534,225,0,7533,225,0,283, + 288,0,7513,226,0,7512,226,0,2388,226, + 0,2408,226,0,2409,226,0,7886,226,0, + 7618,226,0,7617,226,0,7540,226,0,7539, + 226,0,7538,226,0,7537,226,0,7536,226, + 0,7535,226,0,7534,226,0,7533,226,0, + 7295,48,0,7294,48,0,7513,588,0,7512, + 588,0,2388,588,0,2408,588,0,2409,588, + 0,7886,588,0,7618,588,0,7617,588,0, + 7540,588,0,7539,588,0,7538,588,0,7537, + 588,0,7536,588,0,7535,588,0,7534,588, + 0,7533,588,0,7513,240,0,7512,240,0, + 2388,240,0,2408,240,0,2409,240,0,7886, + 240,0,7618,240,0,7617,240,0,7540,240, + 0,7539,240,0,7538,240,0,7537,240,0, + 7536,240,0,7535,240,0,7534,240,0,7533, + 240,0,7552,240,0,7551,240,0,7550,240, + 0,7549,240,0,7548,240,0,7547,240,0, + 7546,240,0,7545,240,0,7544,240,0,7543, + 240,0,7542,240,0,7885,240,0,7884,240, + 0,39,7295,240,0,39,7294,240,0,7318, + 240,0,7292,384,0,7291,384,0,7286,1, + 0,7285,1,0,653,236,0,32,389,0, + 29,388,0,1,228,3262,0,7289,228,0, + 3309,228,0,1,228,1751,0,1,228,0, + 43,7316,0,43,37,0,3749,126,0,3749, + 125,0,2409,446,0,2408,446,0,2388,446, + 0,7318,446,0,331,446,0,39,446,0, + 2409,600,0,2408,600,0,2388,600,0,2409, + 598,0,2408,598,0,2388,598,0,602,598, + 0,602,597,0,1,2409,0,1,2408,0, + 1,2388,0,7318,1,0,39,1,0,47, + 37,0,576,586,0,3426,228,0,10,12, + 0,1,3577,0,1,4095,0,1,699,0, + 1,90,0,2409,331,0,2408,331,0,2388, + 331,0,502,3633,0,7318,1,228,0,39, + 1,228,0,228,417,0,7295,37,0,7294, + 37,0,7295,2,37,0,7294,2,37,0, + 7295,36,0,7294,36,0,8,10,12,0, + 3709,192,0,1,331,0,4555,98,0,7316, + 45,0,37,45,0,7290,406,0,7289,406, + 0,228,416,0,7292,587,384,0,7291,587, + 384,0,3122,318,0,1,600,0,2032,101, + 0,2539,97,0,2409,93,0,2408,93,0, + 2388,93,0,7318,93,0,331,93,0,39, + 93,0,35,72,0,7886,336,0,7618,336, + 0,7617,336,0,1836,278,0,502,5707,0, + 3946,384,0,183,4552,0,228,219,0,1, + 1037,0,1,1966,0,2409,595,0,2408,595, + 0,2388,595,0,2409,594,0,2408,594,0, + 2388,594,0,540,541,0,8,12,0,228, + 218,0,7292,1,0,2409,595,596,0,2408, + 595,596,0,2388,595,596,0,595,596,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -1555,342 +1555,342 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 41,42,43,44,0,46,47,48,49,50, 51,52,53,54,55,56,57,58,59,60, 61,62,63,64,65,66,67,68,0,70, - 71,0,73,74,3,94,95,0,79,0, + 71,0,73,74,0,94,95,0,79,0, 0,82,83,84,85,86,87,88,89,90, 91,92,0,1,2,3,4,5,6,7, - 8,9,10,11,12,28,29,30,0,0, - 1,2,0,4,5,6,7,5,6,7, + 8,9,10,11,12,0,1,2,3,4, + 42,43,0,8,9,10,72,5,6,7, 28,29,30,31,32,33,34,35,36,37, 38,39,40,0,42,43,44,0,46,47, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,45,45,0,77,0,1,2, - 0,69,0,71,72,8,9,75,76,77, - 78,79,80,81,106,0,1,2,3,4, - 5,6,7,8,9,10,94,95,96,97, + 38,39,40,0,1,2,0,4,5,6, + 7,69,0,71,72,0,10,75,76,77, + 78,79,80,81,0,1,2,72,4,105, + 75,0,8,9,107,106,94,95,96,97, 98,99,100,101,102,103,104,105,106,107, - 108,109,110,0,42,43,114,115,116,117, - 118,119,120,121,122,123,124,125,126,44, + 108,109,110,0,42,43,69,115,116,117, + 118,119,120,121,122,123,124,125,126,127, 128,129,0,1,2,3,4,5,6,7, - 8,9,10,11,12,0,1,2,3,4, - 103,104,0,8,9,10,0,5,6,7, + 8,9,10,11,12,0,103,104,3,0, + 1,2,0,4,5,6,7,5,6,7, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,130,42,43,44,107,46,47, + 38,39,40,0,42,43,44,4,46,47, 28,29,30,31,32,33,34,35,36,37, - 38,39,40,0,1,2,0,4,5,6, - 7,69,0,71,72,0,0,75,76,77, - 78,79,80,81,0,1,2,72,4,13, - 75,0,8,9,0,4,94,95,96,97, + 38,39,40,127,45,0,105,0,1,2, + 0,69,0,71,72,8,9,75,76,77, + 78,79,80,81,0,1,2,3,4,5, + 6,7,8,9,29,80,94,95,96,97, 98,99,100,101,102,103,104,105,106,107, - 108,109,110,0,42,43,114,115,116,117, - 118,119,120,121,122,123,124,125,126,45, + 108,109,110,0,42,43,3,115,116,117, + 118,119,120,121,122,123,124,125,126,127, 128,129,0,1,2,3,4,5,6,7, - 8,9,66,11,12,13,14,15,16,17, + 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,82,0,46,47, + 38,39,40,41,42,43,106,0,46,47, 48,49,50,51,52,53,54,55,56,57, 58,59,60,61,62,63,64,65,0,0, 1,2,70,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,103,104,44,45,0, + 1,2,3,4,5,6,7,8,9,82, + 11,12,0,1,2,62,63,64,65,66, + 67,68,73,74,0,77,0,1,2,76, + 4,5,6,7,81,0,1,2,3,4, + 5,6,7,8,9,0,93,0,0,1, + 2,3,4,5,6,7,8,9,0,11, + 12,3,0,69,0,112,113,114,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, + 0,76,44,45,0,1,2,3,4,5, + 6,7,8,9,76,11,12,80,0,0, + 62,63,64,65,66,67,68,28,29,30, + 76,0,1,2,76,4,5,6,7,81, + 0,0,11,12,130,108,5,6,7,0, + 96,93,12,116,117,118,119,120,121,122, + 123,124,125,126,112,113,114,0,1,2, + 112,113,114,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,44,45,0, - 1,2,3,4,5,6,7,8,9,0, - 11,12,0,0,1,62,63,64,65,66, - 67,68,73,74,11,77,0,1,2,76, - 4,5,6,7,81,0,0,11,12,45, - 4,0,1,2,3,4,93,0,0,8, - 9,10,0,1,2,3,4,5,6,7, - 8,9,0,0,111,112,113,0,1,2, + 1,2,3,4,5,6,7,8,9,10, + 0,1,0,0,1,62,63,64,65,66, + 67,68,0,10,0,1,2,3,4,5, + 6,7,8,9,81,11,12,108,28,45, + 28,29,30,44,0,116,93,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,44,45,72,105,0,75,69,77,78, - 0,80,0,111,112,113,78,80,76,62, - 63,64,65,66,67,68,0,96,103,104, - 0,1,2,76,4,5,6,7,81,101, - 102,11,12,45,0,108,0,109,110,3, - 93,0,115,116,117,118,119,120,121,122, - 123,124,125,0,1,2,0,41,111,112, - 113,0,1,2,3,4,5,6,7,8, + 33,34,35,36,37,38,39,40,75,0, + 0,44,45,3,5,6,7,0,1,2, + 76,0,5,6,7,4,5,6,7,62, + 63,64,65,66,67,68,69,28,29,30, + 31,32,33,34,35,36,37,38,39,40, + 0,1,2,3,4,5,6,7,8,9, + 93,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,44,45,0,1,2, - 3,4,5,6,7,8,9,0,11,12, - 0,0,1,62,63,64,65,66,67,68, - 10,10,0,1,2,3,4,5,6,7, - 8,9,81,11,12,0,1,2,107,4, - 5,6,7,0,93,0,1,2,3,4, + 3,4,5,6,7,8,9,0,1,2, + 0,1,2,62,63,64,65,66,67,68, + 0,1,2,3,4,0,1,2,8,9, + 10,0,81,0,1,2,3,4,5,6, + 7,8,9,0,93,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,75,0,0,44, - 45,81,5,6,7,0,1,2,76,4, - 12,94,95,8,9,0,0,62,63,64, - 65,66,67,68,69,28,29,30,31,32, - 33,34,35,36,37,38,39,40,0,1, - 2,3,4,5,6,7,8,9,93,0, + 35,36,37,38,39,40,0,1,2,44, + 45,0,72,0,8,75,0,77,78,0, + 80,5,6,7,5,6,7,62,63,64, + 65,66,67,68,0,1,96,0,1,2, + 3,4,5,6,7,11,81,0,11,12, + 0,45,5,6,7,0,1,2,93,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,0,76,44,45,0,1,2,3,4, - 5,6,7,8,9,0,1,2,0,94, - 95,62,63,64,65,66,67,68,0,29, + 0,1,2,44,45,0,0,1,2,72, + 4,5,6,7,0,0,69,11,12,0, + 107,62,63,64,65,66,67,68,73,74, 0,1,2,3,4,5,6,7,8,9, - 81,11,12,0,1,2,0,0,5,6, - 7,4,93,0,1,2,3,4,5,6, + 81,11,12,0,0,45,0,3,5,6, + 7,0,93,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,94,95,44,45,5, - 6,7,72,0,1,2,3,4,5,6, - 7,8,9,0,0,62,63,64,65,66, - 67,68,0,10,0,1,2,3,4,5, - 6,7,8,9,81,11,12,0,0,0, - 94,95,3,0,1,2,93,0,1,2, + 37,38,39,40,0,0,45,44,45,5, + 6,7,72,0,1,2,3,4,94,95, + 0,8,9,94,95,62,63,64,65,66, + 67,68,28,29,30,31,32,33,34,35, + 36,37,38,39,40,0,1,2,3,4, + 94,95,0,8,9,3,93,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,44,45,0,1,2,3,4,76,0, - 76,8,9,10,5,6,7,0,1,62, - 63,64,65,66,67,68,73,74,0,1, - 2,3,4,5,6,7,8,9,81,11, - 12,94,95,45,0,28,0,44,0,126, + 33,34,35,36,37,38,39,40,0,94, + 95,44,45,5,6,7,0,1,2,0, + 4,5,6,7,5,6,7,11,12,62, + 63,64,65,66,67,68,28,29,30,31, + 32,33,34,35,36,37,38,39,40,0, + 1,2,3,4,0,0,0,8,9,0, 93,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,45,0,44,45,5,6,7, - 0,0,1,2,76,4,62,0,0,8, - 9,3,0,62,63,64,65,66,67,68, - 28,29,30,31,32,33,34,35,36,37, - 38,39,40,0,1,2,3,4,5,6, - 7,8,9,0,93,0,1,2,3,4, + 39,40,0,0,45,44,45,0,1,2, + 3,4,0,1,2,8,9,10,0,0, + 8,72,3,62,63,64,65,66,67,68, + 0,1,2,3,4,5,6,7,8,9, + 0,11,12,41,0,1,2,3,4,0, + 10,44,8,9,93,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,80,80,44, - 45,5,6,7,0,1,2,0,4,5, - 6,7,5,6,7,11,12,62,63,64, - 65,66,67,68,28,29,30,31,32,33, - 34,35,36,37,38,39,40,0,1,2, - 3,4,0,1,2,8,9,0,93,0, + 35,36,37,38,39,40,0,1,2,44, + 45,0,0,0,1,2,76,4,5,6, + 7,71,94,95,11,12,0,62,63,64, + 65,66,67,68,0,1,2,0,4,5, + 6,7,0,0,10,11,12,4,5,6, + 7,45,10,41,11,12,0,45,93,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,44,45,0,1,2,8,4, - 5,6,7,0,1,2,11,12,0,72, - 0,62,63,64,65,66,67,68,0,1, - 2,0,4,5,6,7,0,0,10,11, - 12,4,5,6,7,45,10,0,11,12, - 0,0,93,0,1,2,3,4,5,6, + 0,0,76,44,45,4,0,1,2,75, + 4,5,6,7,77,78,0,75,0,77, + 4,62,63,64,65,66,67,68,72,0, + 96,0,1,2,3,4,5,6,7,8, + 9,0,1,2,0,4,0,31,4,8, + 9,45,93,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,44,45,0, - 0,1,2,75,4,5,6,7,77,10, - 0,75,0,77,4,62,63,64,65,66, - 67,68,72,72,96,0,1,2,3,4, - 5,6,7,0,1,2,11,12,0,45, - 0,8,9,44,0,45,93,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,44,45,5,6,7,0,72,0,11, - 4,5,6,7,0,0,0,69,0,62, - 63,64,65,66,67,68,0,1,2,3, - 4,5,6,7,8,9,0,1,2,3, - 4,0,0,45,8,9,5,6,7,0, - 93,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,76,0,0,44,45,0,1,2, - 3,4,76,10,10,8,9,0,0,0, - 69,0,96,62,63,64,65,66,67,68, - 78,106,0,1,2,0,4,78,3,0, - 8,9,0,0,0,1,2,3,4,28, - 29,30,8,9,93,11,12,13,14,15, + 37,38,39,40,0,0,0,44,45,3, + 0,0,1,3,10,10,10,76,79,0, + 10,10,3,69,0,62,63,64,65,66, + 67,68,0,1,2,0,0,5,6,7, + 5,6,7,11,0,10,0,1,2,3, + 4,0,41,0,8,9,93,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,25,26,27,0,71,71,45,72,44, + 0,75,72,77,78,75,75,41,42,43, + 10,72,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,60,61,0,0, + 1,2,77,67,78,0,70,8,9,73, + 74,0,1,2,3,4,0,76,0,8, + 9,78,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,25,26,27,41, + 76,0,1,2,0,4,0,77,0,8, + 9,81,41,42,43,0,0,46,47,48, + 49,50,51,52,53,54,55,56,57,58, + 59,60,61,0,0,1,2,72,0,0, + 0,70,0,3,73,74,45,0,10,78, + 0,1,2,3,4,77,78,0,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,0,45, + 0,3,78,3,78,0,46,47,10,0, + 0,41,42,43,78,10,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,72,75,0,1,2,78,4,0, + 70,71,8,9,0,1,2,3,4,10, + 0,81,8,9,96,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25, - 26,27,0,0,0,71,3,45,0,0, - 77,46,47,10,81,41,42,43,69,10, + 26,27,72,75,0,115,0,0,111,45, + 75,0,5,6,7,41,42,43,128,80, 46,47,48,49,50,51,52,53,54,55, - 56,57,58,59,60,61,0,72,0,1, - 2,67,0,0,70,0,8,73,74,0, - 1,2,3,4,0,10,0,8,9,0, + 56,57,58,59,60,61,0,1,2,0, + 71,0,1,2,70,0,0,73,74,0, + 1,2,3,4,0,0,76,8,9,4, 11,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,105,75,114, - 71,0,1,2,0,42,43,3,0,44, - 41,42,43,128,10,46,47,48,49,50, + 21,22,23,24,25,26,27,0,72,0, + 69,45,78,0,1,2,45,10,0,78, + 41,42,43,10,0,46,47,48,49,50, 51,52,53,54,55,56,57,58,59,60, - 61,69,0,1,2,3,4,0,76,70, - 8,9,73,74,0,69,45,78,0,1, - 2,3,4,79,78,76,8,9,10,11, + 61,72,101,102,0,1,2,0,0,70, + 109,110,73,74,0,1,2,3,4,11, + 0,77,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,24,25, + 26,27,75,76,71,76,0,0,0,45, + 4,0,5,6,7,41,42,43,10,0, + 46,47,48,49,50,51,52,53,54,55, + 56,57,58,59,60,61,69,31,0,1, + 2,3,4,76,70,71,8,9,0,11, 12,13,14,15,16,17,18,19,20,21, - 22,23,24,25,26,27,72,101,102,75, - 72,77,78,0,0,109,110,0,0,41, - 42,43,0,10,46,47,48,49,50,51, + 22,23,24,25,26,27,0,0,0,0, + 0,5,6,7,5,6,7,10,10,41, + 42,43,0,75,46,47,48,49,50,51, 52,53,54,55,56,57,58,59,60,61, - 0,0,0,1,2,5,6,7,70,71, - 10,10,0,1,2,3,4,0,41,81, - 8,9,45,11,12,13,14,15,16,17, - 18,19,20,21,22,23,24,25,26,27, - 0,1,0,69,44,44,0,45,75,3, - 10,69,78,41,42,43,10,0,46,47, - 48,49,50,51,52,53,54,55,56,57, - 58,59,60,61,0,101,102,77,77,0, - 0,41,70,109,110,73,74,0,1,2, - 3,4,0,76,0,8,9,3,11,12, + 0,1,2,0,0,0,0,3,70,0, + 4,73,74,0,1,2,3,4,112,113, + 114,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,24,25,26, + 27,0,75,0,77,45,5,6,7,81, + 80,0,0,10,41,42,43,0,76,46, + 47,48,49,50,51,52,53,54,55,56, + 57,58,59,60,61,69,0,0,1,2, + 3,4,77,70,71,8,9,44,11,12, 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,75,0,0,72,0, - 0,75,0,1,2,5,6,7,41,42, - 43,0,10,46,47,48,49,50,51,52, + 23,24,25,26,27,0,0,0,0,0, + 3,5,6,7,0,10,0,41,41,42, + 43,45,13,46,47,48,49,50,51,52, 53,54,55,56,57,58,59,60,61,0, - 0,1,2,0,5,6,7,70,0,80, - 73,74,0,1,2,3,4,0,10,127, + 0,0,0,3,5,6,7,70,0,44, + 73,74,0,1,2,3,4,0,10,45, 8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27, - 0,72,0,71,78,45,0,5,6,7, - 108,11,44,41,42,43,10,115,46,47, + 0,0,77,0,76,5,6,7,5,6, + 7,10,44,41,42,43,80,0,46,47, 48,49,50,51,52,53,54,55,56,57, 58,59,60,61,0,0,0,1,2,3, - 4,78,70,71,8,9,0,11,12,13, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,0,0,0,3,3,0, - 0,0,1,2,5,6,7,41,42,43, - 10,75,46,47,48,49,50,51,52,53, - 54,55,56,57,58,59,60,61,0,0, - 0,0,96,5,6,7,70,0,0,73, - 74,0,1,2,3,4,45,0,72,8, - 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,0, - 0,71,0,3,5,6,7,5,6,7, - 0,0,41,42,43,4,0,46,47,48, - 49,50,51,52,53,54,55,56,57,58, - 59,60,61,0,0,0,1,2,3,4, - 80,70,71,8,9,78,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 25,26,27,0,0,0,0,0,0,5, - 6,7,72,10,41,10,41,42,43,0, - 69,46,47,48,49,50,51,52,53,54, - 55,56,57,58,59,60,61,0,0,0, - 0,0,5,6,7,70,0,41,73,74, - 0,1,2,3,4,0,10,0,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,75,76, - 75,0,77,76,0,0,5,6,7,4, - 44,41,42,43,10,76,46,47,48,49, - 50,51,52,53,54,55,56,57,58,59, - 60,61,72,0,0,1,2,3,4,78, - 0,71,8,9,10,11,12,13,14,15, - 16,17,18,19,20,21,22,23,24,25, - 26,27,0,0,0,0,0,5,6,7, - 5,6,7,0,69,41,42,43,45,75, - 46,47,48,49,50,51,52,53,54,55, - 56,57,58,59,60,61,0,1,2,3, - 4,0,0,0,8,9,4,11,12,13, + 4,80,0,71,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,0,0,0,0,0,0, - 0,3,3,31,10,10,10,41,42,43, - 10,78,46,47,48,49,50,51,52,53, - 54,55,56,57,58,59,60,61,0,0, - 126,0,1,2,3,4,70,127,10,8, - 9,70,11,12,13,14,15,16,17,18, + 24,25,26,27,0,0,0,0,0,5, + 6,7,0,111,0,3,75,41,42,43, + 13,0,46,47,48,49,50,51,52,53, + 54,55,56,57,58,59,60,61,0,1, + 2,3,4,69,69,0,8,9,3,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,0,0,0,0, + 0,0,0,66,69,4,10,10,10,41, + 42,43,10,78,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 0,0,0,127,3,3,101,102,70,0, + 1,2,3,4,109,110,44,8,9,111, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,25,26,27,0,0,0, + 69,75,3,77,0,76,0,10,81,81, + 41,42,43,0,0,46,47,48,49,50, + 51,52,53,54,55,56,57,58,59,60, + 61,0,1,2,3,4,0,77,0,8, + 9,72,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,0, - 0,0,0,4,3,3,69,71,0,75, - 72,77,41,42,43,75,81,46,47,48, + 0,0,0,3,0,4,0,3,71,10, + 72,0,41,42,43,69,72,46,47,48, 49,50,51,52,53,54,55,56,57,58, - 59,60,61,0,1,2,3,4,69,71, - 127,8,9,72,11,12,13,14,15,16, + 59,60,61,0,1,2,3,4,62,0, + 0,8,9,44,11,12,13,14,15,16, 17,18,19,20,21,22,23,24,25,26, - 27,0,0,0,3,0,3,0,69,0, - 3,0,3,0,41,42,43,77,78,46, + 27,0,0,0,0,3,0,3,0,3, + 0,3,0,3,41,42,43,0,76,46, 47,48,49,50,51,52,53,54,55,56, 57,58,59,60,61,0,1,2,3,4, - 0,0,0,8,9,3,11,12,13,14, + 0,0,0,8,9,0,11,12,13,14, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,0,0,0,3,3,0,0, - 0,3,3,3,69,0,41,42,43,77, - 78,46,47,48,49,50,51,52,53,54, + 25,26,27,0,0,0,0,0,0,0, + 0,0,0,0,0,0,41,42,43,78, + 77,46,47,48,49,50,51,52,53,54, 55,56,57,58,59,60,61,0,1,2, - 3,4,0,0,0,8,9,0,11,12, + 3,4,0,0,41,8,9,0,11,12, 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,0,0,0,0,0, - 0,3,0,3,0,0,0,0,41,42, - 43,76,13,46,47,48,49,50,51,52, + 23,24,25,26,27,80,0,0,111,0, + 0,0,0,0,0,0,70,69,41,42, + 43,77,77,46,47,48,49,50,51,52, 53,54,55,56,57,58,59,60,61,0, 1,2,3,4,0,0,0,8,9,0, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,80,0,0, - 0,0,0,0,0,0,0,72,0,0, - 41,42,43,76,78,46,47,48,49,50, + 0,0,0,0,0,69,0,0,0,0, + 41,42,43,76,0,46,47,48,49,50, 51,52,53,54,55,56,57,58,59,60, 61,0,1,2,3,4,0,0,0,8, 9,0,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,25,26,27,80, - 0,0,0,0,0,0,0,0,69,0, - 0,4,41,42,43,77,76,46,47,48, + 19,20,21,22,23,24,25,26,27,0, + 0,0,3,0,0,0,0,8,0,0, + 11,12,41,42,43,77,13,46,47,48, 49,50,51,52,53,54,55,56,57,58, - 59,60,61,0,1,2,3,4,31,0, - 0,8,9,0,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,0,0,0,3,0,0,0,0,8, - 0,0,11,12,41,42,43,10,13,46, - 47,48,49,50,51,52,53,54,55,56, - 57,58,59,60,61,0,0,0,0,0, - 0,0,0,42,43,10,10,46,47,48, - 45,41,0,45,0,45,77,77,111,112, - 113,0,0,80,0,13,0,62,0,0, - 69,0,0,72,73,74,0,0,77,78, - 77,80,76,45,0,45,45,0,81,0, - 0,80,0,0,0,94,95,45,97,0, - 99,100,101,102,103,104,105,106,107,108, - 75,75,0,0,62,114,77,116,117,118, - 119,120,121,122,123,124,125,0,1,2, - 0,4,5,6,7,0,0,0,0,0, - 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,80, - 80,0,80,0,0,0,0,0,0,0, - 0,1,2,0,4,5,6,7,0,62, - 63,64,65,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,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,5,6,7, - 0,0,62,63,64,65,14,15,16,17, - 18,19,20,21,22,23,24,25,26,0, - 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,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,28,29,30,31,32,33,34,35,36, - 37,38,39,40,0,0,0,44,0,0, - 0,0,1,2,3,4,5,6,7,8, - 9,10,11,12,0,0,0,0,0,0, - 0,0,69,0,0,72,0,0,75,28, - 29,30,31,32,33,34,35,36,37,38, - 39,40,0,0,0,44,0,0,0,0, - 1,2,3,4,5,6,7,8,9,10, - 11,12,0,0,0,0,0,0,0,0, - 0,0,0,72,0,0,75,28,29,30, + 59,60,61,0,0,0,0,0,0,0, + 0,42,43,10,10,46,47,48,45,45, + 69,45,0,77,45,0,0,80,80,78, + 0,0,0,0,0,62,0,0,69,0, + 0,72,73,74,0,0,77,78,0,80, + 13,80,101,102,45,80,0,0,0,0, + 109,110,0,94,95,0,97,0,99,100, + 101,102,103,104,105,106,107,108,75,75, + 0,0,45,0,115,0,117,118,119,120, + 121,122,123,124,125,126,0,1,2,62, + 4,5,6,7,0,0,0,0,0,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,0, + 0,0,0,0,0,0,0,0,0,0, + 1,2,0,4,5,6,7,0,62,63, + 64,65,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,0,44,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,5,6,7,0, + 0,62,63,64,65,14,15,16,17,18, + 19,20,21,22,23,24,25,26,0,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,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 28,29,30,31,32,33,34,35,36,37, + 38,39,40,0,0,0,44,0,0,0, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,0,0,0,0,0,0,0, + 0,69,0,0,72,0,0,75,28,29, + 30,31,32,33,34,35,36,37,38,39, + 40,0,0,0,44,0,0,0,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,0,0,0,0,0,0,0,0,0, + 0,0,72,0,0,75,28,29,30,31, + 32,33,34,35,36,37,38,39,40,0, + 0,0,44,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,72,0,0,75,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 72,0,0,75,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,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 char termCheck[] = TermCheck.termCheck; @@ -1898,464 +1898,465 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 7275,6981,6995,6995,6995,6991,6995,6995,6995,6995, - 7073,6995,6995,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,6985,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1919,7448,1302,113, - 1,7286,7275,1,1,1482,119,354,381,644, - 5025,7282,3162,1872,2205,718,3055,3943,3125,1561, - 3124,2854,3118,10,7076,7076,7076,7076,7076,7076, - 7076,7076,7076,7076,7076,7076,7076,7076,7076,7076, - 7076,7076,7076,7076,7076,7076,7076,7076,7076,7076, - 7076,7076,7076,7076,7076,7076,7076,7076,7076,7076, - 7076,7076,7076,7076,7076,7076,7076,7076,7275,7076, - 7076,7076,7076,7076,7076,7076,7076,7076,7076,7076, - 7076,7076,7076,7076,7076,7076,7076,7076,7076,7076, - 7076,7076,7275,7076,7076,1532,7076,7076,5003,4981, - 4590,4644,7076,7628,7076,7076,7076,7076,7076,7076, - 7076,7076,7076,7076,7076,7076,8,7134,7134,7134, - 7134,7134,7134,7134,7134,7134,7134,7134,7134,7134, - 7134,7134,7134,7134,7134,7134,7134,7134,7134,7134, - 7134,7134,7134,7134,7134,7134,7134,7134,7134,7134, - 7134,7134,7134,7134,7134,7134,7134,7134,7134,7134, - 7134,7275,7134,7134,7134,7134,7134,7134,7134,7134, - 7134,7134,7134,7134,7134,7134,7134,7134,7134,7134, - 7134,7134,7134,7134,7134,7275,7134,7134,109,7134, - 7134,1,7275,6428,6425,7134,7313,7134,7134,7134, - 7134,7134,7134,7134,7134,7134,7134,7134,7134,7275, - 6981,6995,6995,6995,6991,6995,6995,6995,6995,6988, - 6995,6995,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,6985,3062,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1919,7448,1302,115,1, - 7286,89,1,1,6482,5223,5245,7630,644,5025, - 6424,3162,1872,2205,718,3055,3943,3125,1561,3124, - 2854,3118,7275,6981,6995,6995,6995,6991,6995,6995, - 6995,6995,6988,6995,6995,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,6985,7275,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1919,7448, - 1302,114,1,7286,7275,1,1,5003,4981,39, - 7275,644,5025,7313,3162,1872,2205,718,3055,3943, - 3125,1561,3124,2854,3118,7275,6981,6995,6995,6995, - 6991,6995,6995,6995,6995,6988,6995,6995,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,6985, - 7275,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1919,7448,1302,7275,1,7286,7275,1,1, - 5003,4981,7275,1,644,5560,5401,3162,1872,2205, - 718,3055,3943,3125,1561,3124,2854,3118,7275,6981, - 6995,6995,6995,6991,6995,6995,6995,6995,6988,6995, - 6995,1,1,1,1,1,1,1,1,1, + 7280,6983,6997,6997,6997,6993,6997,6997,6997,6997, + 7075,6997,6997,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,6985,7275,1,1,1,1,1,1, + 1,1,1,1,6987,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1919,7448,1302,7275,1,7286, - 7275,1,1,2545,7275,6428,6425,644,7313,3821, - 3162,1872,2205,718,3055,3943,3125,1561,3124,2854, - 3118,7275,6981,6995,6995,6995,6991,6995,6995,6995, - 6995,6988,6995,6995,1,1,1,1,1,1, + 1,1,1,1,1,1,2113,7453,2115,113, + 1,7291,7280,1,1,1693,119,358,385,1537, + 5088,7287,3327,1271,2280,1114,3260,4056,3320,2064, + 3319,2766,3317,10,7078,7078,7078,7078,7078,7078, + 7078,7078,7078,7078,7078,7078,7078,7078,7078,7078, + 7078,7078,7078,7078,7078,7078,7078,7078,7078,7078, + 7078,7078,7078,7078,7078,7078,7078,7078,7078,7078, + 7078,7078,7078,7078,7078,7078,7078,7078,7280,7078, + 7078,7078,7078,7078,7078,7078,7078,7078,7078,7078, + 7078,7078,7078,7078,7078,7078,7078,7078,7078,7078, + 7078,7078,7280,7078,7078,653,7078,7078,5065,5042, + 3920,3996,7078,7637,7078,7078,7078,7078,7078,7078, + 7078,7078,7078,7078,7078,7078,8,7136,7136,7136, + 7136,7136,7136,7136,7136,7136,7136,7136,7136,7136, + 7136,7136,7136,7136,7136,7136,7136,7136,7136,7136, + 7136,7136,7136,7136,7136,7136,7136,7136,7136,7136, + 7136,7136,7136,7136,7136,7136,7136,7136,7136,7136, + 7136,7280,7136,7136,7136,7136,7136,7136,7136,7136, + 7136,7136,7136,7136,7136,7136,7136,7136,7136,7136, + 7136,7136,7136,7136,7136,7280,7136,7136,109,7136, + 7136,1,7280,6430,6427,7136,7318,7136,7136,7136, + 7136,7136,7136,7136,7136,7136,7136,7136,7136,7280, + 6983,6997,6997,6997,6993,6997,6997,6997,6997,6990, + 6997,6997,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,6985,4173,1,1,1, + 1,1,1,6987,1040,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1919,7448,1302, - 7275,1,7286,7275,1,1,7275,7289,7290,7275, - 644,1509,1116,3162,1872,2205,718,3055,3943,3125, - 1561,3124,2854,3118,7275,6981,6995,6995,6995,6991, - 6995,6995,6995,6995,6988,6995,6995,1,1,1, + 1,1,1,1,1,2113,7453,2115,115,1, + 7291,89,1,1,6484,5395,5418,7639,1537,5088, + 6426,3327,1271,2280,1114,3260,4056,3320,2064,3319, + 2766,3317,7280,6983,6997,6997,6997,6993,6997,6997, + 6997,6997,6990,6997,6997,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,6985,4234, + 1,1,1,1,1,1,6987,7280,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2113,7453, + 2115,114,1,7291,7280,1,1,5065,5042,39, + 7280,1537,5088,7318,3327,1271,2280,1114,3260,4056, + 3320,2064,3319,2766,3317,7280,6983,6997,6997,6997, + 6993,6997,6997,6997,6997,6990,6997,6997,1,1, 1,1,1,1,1,1,1,1,1,1, - 1919,7448,1302,7275,1,7286,7275,1,1,7275, - 6811,6808,7275,644,7275,2972,3162,1872,2205,718, - 3055,3943,3125,1561,3124,2854,3118,7275,6981,6995, - 6995,6995,6991,6995,6995,6995,6995,6988,6995,6995, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,6987, + 7280,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,2113,7453,2115,7280,1,7291,7280,1,1, + 5065,5042,7280,1,1537,4862,4621,3327,1271,2280, + 1114,3260,4056,3320,2064,3319,2766,3317,7280,6983, + 6997,6997,6997,6993,6997,6997,6997,6997,6990,6997, + 6997,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,6985,4295,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1919,7448,1302,29,1,7286,112, - 1,1,48,6811,6808,235,644,7275,6972,3162, - 1872,2205,718,3055,3943,3125,1561,3124,2854,3118, - 7275,6981,6995,6995,6995,6991,6995,6995,6995,6995, - 6988,6995,6995,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,6985,6431,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1919,7448,1302,437, - 1,7286,111,1,1,1,5223,5245,4356,644, - 7275,3989,3162,1872,2205,718,3055,3943,3125,1561, - 3124,2854,3118,7275,6981,6995,6995,6995,6991,6995, - 6995,6995,6995,6988,6995,6995,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,6985,6434,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1919, - 7448,1302,451,1,7286,110,1,1,7275,5223, - 5245,3064,644,7275,7275,3162,1872,2205,718,3055, - 3943,3125,1561,3124,2854,3118,7275,6981,6995,6995, - 6995,6991,6995,6995,6995,6995,6988,6995,6995,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 6985,6437,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1919,7448,1302,129,1,7286,7275,1, - 1,573,5223,5245,7275,644,7275,3181,3162,1872, - 2205,718,3055,3943,3125,1561,3124,2854,3118,7275, - 6981,6995,6995,6995,6991,6995,6995,6995,6995,6988, - 6995,6995,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,6985,7275,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1919,7448,1302,133,1, - 7286,7275,1,1,3216,4590,4644,332,644,155, - 7275,3162,1872,2205,718,3055,3943,3125,1561,3124, - 2854,3118,7275,6488,6488,6488,6488,6488,6488,6488, - 6488,6488,6488,6488,6488,7206,7203,7200,37,391, - 6706,6706,222,281,6697,6703,6700,6613,6607,6610, - 6488,6488,6488,6488,6488,6488,6488,6488,6488,6488, - 6488,6488,6488,183,6488,6488,6488,127,6488,6488, - 6622,6619,6616,6628,6646,6625,6637,6604,6631,6634, - 6643,6640,6601,7311,281,7275,1585,38,6446,6443, - 135,6488,116,6488,6488,6440,985,6488,6488,6488, - 6488,6488,6488,6488,2986,1,6543,6539,3449,6547, - 7052,7058,7055,751,985,305,6488,6488,6488,6488, - 6488,6488,6488,6488,6488,6488,6488,6488,6488,6488, - 6488,6488,6488,7275,4816,4787,6488,6488,6488,6488, - 6488,6488,6488,6488,6488,6488,6488,6488,6488,305, - 6488,6488,7275,6491,6491,6491,6491,6491,6491,6491, - 6491,6491,6491,6491,6491,1,6543,6539,3645,6547, - 3524,3471,223,751,985,6966,7275,6661,6655,6658, - 6491,6491,6491,6491,6491,6491,6491,6491,6491,6491, - 6491,6491,6491,7218,6491,6491,6491,2948,6491,6491, - 6670,6667,6664,6676,6694,6673,6685,6652,6679,6682, - 6691,6688,6649,284,6757,6757,7275,281,2110,2089, - 2091,6491,118,6491,6491,7275,298,6491,6491,6491, - 6491,6491,6491,6491,7275,6428,6425,2163,705,7572, - 6969,7275,6494,985,7275,746,6491,6491,6491,6491, - 6491,6491,6491,6491,6491,6491,6491,6491,6491,6491, - 6491,6491,6491,7275,4816,4787,6491,6491,6491,6491, - 6491,6491,6491,6491,6491,6491,6491,6491,6491,2404, - 6491,6491,39,6428,6425,3063,705,2110,2089,2091, - 5047,985,2492,5113,5135,1162,7874,7875,7537,7535, - 7544,7543,7539,7540,7538,7541,7542,7545,7536,5556, - 7608,7609,7876,7533,7527,7534,7530,7506,7532,7531, - 7528,7529,7507,7294,5091,5069,3593,7275,5179,5157, - 4737,1040,1111,7296,1094,5514,1108,7297,7295,864, - 7291,7292,7293,5476,7670,3942,7671,7672,512,7275, - 7289,7290,1537,7275,7107,7107,227,7103,6995,6995, - 6995,227,227,7111,227,227,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,7275,11892,11892,227,7100,305, - 6543,6539,3449,6547,7052,7058,7055,751,985,131, - 7138,7138,436,7275,3818,1,1,1,1,3232, - 7684,1589,5201,799,3945,946,441,6470,6470,227, - 6470,6470,6470,6470,413,128,7275,6470,6470,7311, - 3968,1,6543,6539,3645,6547,7772,137,124,751, - 985,363,1,6543,6539,3449,6547,7052,7058,7055, - 751,985,7275,7275,7707,7708,7709,7275,7107,7107, - 227,7103,6995,6995,6995,227,227,7156,227,227, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,43,7001, - 7001,227,7100,2163,3137,7275,363,3920,363,363, - 7275,1327,7275,7707,7708,7709,6467,2115,2509,1, - 1,1,1,3232,7684,1589,7275,363,3524,3471, - 442,7025,7025,227,7019,7010,7016,7013,412,3858, - 3827,7022,7022,6998,7275,1123,7275,3779,3748,3678, - 7772,136,1630,2067,2019,1971,1923,1875,1827,1779, - 1731,1683,1635,394,7289,7290,7275,2635,7707,7708, - 7709,7275,6995,6995,227,6995,6991,6995,6995,227, - 227,7221,227,227,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,12023,1,12053,1,1, - 12054,1,36,7131,7128,227,7212,7275,6543,6539, - 3449,6547,7052,7058,7055,751,985,572,7170,7170, - 1,7275,3277,1,1,1,1,5849,7484,1302, - 6479,7281,7275,6543,6539,3449,6547,7052,7058,7055, - 751,985,218,7138,7138,592,7049,7049,2948,597, - 2110,2089,2091,7275,7772,7275,6995,6995,227,6995, - 6991,6995,6995,227,227,227,227,227,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,12023, - 1,12053,1,1,12054,1,7280,224,130,227, - 7212,7282,6721,6715,6718,7275,6428,6425,2509,705, - 3181,4590,4644,751,985,123,1,1,1,1, - 1,5849,7484,1302,3688,6730,6727,6724,6736,6754, - 6733,6745,6712,6739,6742,6751,6748,6709,327,6428, - 6425,3449,705,2110,2089,2091,751,985,7772,7275, - 6995,6995,227,6995,6991,6995,6995,227,227,7254, - 227,227,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,12023,1,12053,1,1,12054,1, - 561,122,2,227,7212,1,6543,6539,3449,6547, - 7052,7058,7055,751,985,288,7289,7290,7275,4590, - 4644,1,1,1,1,5849,7484,1302,7275,7835, - 341,6428,6425,3645,705,2110,2089,2091,751,985, - 217,327,327,294,7289,7290,121,7275,2110,2089, - 2091,1255,7772,7275,6995,6995,227,6995,6991,6995, - 6995,227,227,7221,227,227,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,12023,1,12053, - 1,1,12054,1,595,4590,4644,227,7212,7028, - 7034,7031,2163,595,6428,6425,3449,705,2110,2089, - 2091,751,985,7275,7275,1,1,1,1,5849, - 7484,1302,7275,7279,7275,6543,6539,3449,6547,7052, - 7058,7055,751,985,218,7170,7170,120,7275,7275, - 4590,4644,4159,7275,6811,6808,7772,7275,6995,6995, - 227,6995,6991,6995,6995,227,227,7221,227,227, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,12023,1,12053,1,1,12054,1,37,7067, - 7067,227,7212,1,6543,6539,7079,6547,2260,327, - 2509,7085,7082,7285,2110,2089,2091,543,7819,1, - 1,1,1,5849,7484,1302,5201,799,7275,7248, - 7248,7248,7248,7248,7248,7248,7248,7248,218,7248, - 7248,4590,4644,1460,7275,7820,7275,7284,47,7278, - 7772,7275,6995,6995,227,6995,6991,6995,6995,227, - 227,227,227,227,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,12023,1,12053,1,1, - 12054,1,225,1398,7275,227,7212,6772,6766,6769, - 7275,7275,7289,7290,7248,705,2303,7275,307,751, - 985,2347,7275,1,1,1,1,5849,7484,1302, - 6781,6778,6775,6787,6805,6784,6796,6763,6790,6793, - 6802,6799,6760,1,6543,6539,3449,6547,7052,7058, - 7055,751,985,7275,7772,7275,6995,6995,227,6995, - 6991,6995,6995,227,227,227,227,227,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,12023, - 1,12053,1,1,12054,1,583,2672,1171,227, - 7212,6826,6820,6823,90,7088,7088,327,7088,7088, - 7088,7088,7091,7097,7094,7088,7088,1,1,1, - 1,5849,7484,1302,6835,6832,6829,6841,6859,6838, - 6850,6817,6844,6847,6856,6853,6814,1,6543,6539, - 3645,6547,7275,11642,11458,751,985,7275,7772,7275, - 6995,6995,227,6995,6991,6995,6995,227,227,227, - 227,227,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,12023,1,12053,1,1,12054,1, - 37,7067,7067,227,7212,93,7194,7194,7067,7188, - 7179,7185,7182,7275,11642,11458,7191,7191,7275,2163, - 7275,1,1,1,1,5849,7484,1302,1,7064, - 7064,358,7061,7052,7058,7055,7275,39,359,327, - 327,7313,2110,2089,2091,1821,7281,7275,327,327, - 455,454,7772,7275,6995,6995,227,6995,6991,6995, - 6995,227,227,227,227,227,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,12023,1,12053, - 1,1,12054,1,7275,7117,7114,227,7212,7275, - 593,7046,7046,359,597,7037,7043,7040,4473,7285, - 7275,7280,7275,824,3036,1,1,1,1,5849, - 7484,1302,6473,6476,359,341,39,39,3715,7313, - 2110,2089,2091,7275,7289,7290,327,327,384,7311, - 7275,751,985,7284,7275,597,7772,7275,6995,6995, - 227,6995,6991,6995,6995,227,227,227,227,227, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,12023,1,12053,1,1,12054,1,37,7067, - 7067,227,7212,2110,2089,2091,392,2163,7275,327, - 385,2110,2089,2091,7275,134,7275,6485,7275,1, - 1,1,1,5849,7484,1302,1,6543,6539,3449, - 6547,7052,7058,7055,751,985,1,6543,6539,7079, - 6547,392,7275,7311,7085,7082,2110,2089,2091,7275, - 7772,7275,6995,6995,227,6995,6991,6995,6995,227, - 227,227,227,227,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,12023,1,12053,1,1, - 12054,1,4187,7275,1,227,7212,1,6543,6539, - 3449,6547,2509,7283,7287,751,985,7275,7275,7275, - 635,332,2419,1,1,1,1,5849,7484,1302, - 2766,2986,7275,6428,6425,74,705,2804,6461,7275, - 6494,985,132,7275,7275,1,1,1,1,7608, - 7609,7876,1,1,7772,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,7275,7275,7275,7286,826,2810,7275,7275, - 1063,6452,6449,7281,7282,1,1,1,635,7287, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,7275,6464,7275,7289, - 7290,7882,29,117,1,1,1509,1,1,1, - 6543,6539,3063,6547,1,7285,126,5047,985,7275, - 5113,5135,6497,6503,6500,6530,6536,6509,6512,6524, - 6521,6527,6518,6515,6506,6533,6550,3137,7280,6455, - 7286,7275,7124,7120,1,4816,4787,3715,344,7284, - 7294,5091,5069,6458,337,5179,5157,4737,1040,1111, - 7296,1094,5514,1108,7297,7295,864,7291,7292,7293, - 5476,635,1,6543,6539,3449,6547,7275,421,1537, - 751,985,39,39,7275,3920,7311,513,39,6428, - 6425,3063,705,3110,7004,2308,5047,985,7215,5113, - 5135,740,7874,7875,7537,7535,7544,7543,7539,7540, - 7538,7541,7542,7545,7536,5294,2163,3858,3827,337, - 2163,337,337,1,125,3779,3748,7275,7275,7294, - 5091,5069,7275,159,5179,5157,4737,1040,1111,7296, - 1094,5514,1108,7297,7295,864,7291,7292,7293,5476, - 7275,7275,45,7147,7147,7260,7268,7264,1537,6963, - 7272,7285,139,6428,6425,3063,705,7275,794,7282, - 5047,985,5766,5113,5135,740,7874,7875,7537,7535, - 7544,7543,7539,7540,7538,7541,7542,7545,7536,5294, - 7275,3367,7275,3920,7272,7284,1,7144,159,3715, - 7281,3688,7007,7294,5091,5069,6966,7275,5179,5157, - 4737,1040,1111,7296,1094,5514,1108,7297,7295,864, - 7291,7292,7293,5476,7275,3858,3827,7272,3329,366, - 7275,3362,1537,3779,3748,39,39,1,6543,6539, - 3063,6547,137,4004,7275,5047,985,5833,5113,5135, - 6497,6503,6500,6530,6536,6509,6512,6524,6521,6527, - 6518,6515,6506,6533,6550,7280,7275,7275,2163,98, - 392,6969,7275,7289,7290,2110,2089,2091,7294,5091, - 5069,7275,7287,5179,5157,4737,1040,1111,7296,1094, - 5514,1108,7297,7295,864,7291,7292,7293,5476,594, - 7275,7117,7114,7275,2110,2089,2091,1537,402,1376, - 39,39,39,6428,6425,3063,705,7275,7150,3718, - 5047,985,6960,5113,5135,740,7874,7875,7537,7535, - 7544,7543,7539,7540,7538,7541,7542,7545,7536,5294, - 7275,7141,309,7286,2842,7311,1,2110,2089,2091, - 1123,5655,7153,7294,5091,5069,359,1630,5179,5157, - 4737,1040,1111,7296,1094,5514,1108,7297,7295,864, - 7291,7292,7293,5476,7275,7275,549,6428,6425,3063, - 705,2843,1537,6963,5047,985,316,5113,5135,740, - 7874,7875,7537,7535,7544,7543,7539,7540,7538,7541, - 7542,7545,7536,5294,7275,7275,7275,6203,5601,294, - 7275,37,7067,7067,2110,2089,2091,7294,5091,5069, - 6960,359,5179,5157,4737,1040,1111,7296,1094,5514, - 1108,7297,7295,864,7291,7292,7293,5476,598,7275, - 364,7275,359,2110,2089,2091,1537,7275,7275,39, - 39,39,6428,6425,3063,705,7311,7275,2163,5047, - 985,6960,5113,5135,740,7874,7875,7537,7535,7544, - 7543,7539,7540,7538,7541,7542,7545,7536,5294,587, - 343,6963,586,1477,2110,2089,2091,2110,2089,2091, - 7275,393,7294,5091,5069,384,7275,5179,5157,4737, - 1040,1111,7296,1094,5514,1108,7297,7295,864,7291, - 7292,7293,5476,566,7275,549,6428,6425,3063,705, - 1438,1537,6963,5047,985,7784,5113,5135,740,7874, - 7875,7537,7535,7544,7543,7539,7540,7538,7541,7542, - 7545,7536,5294,7275,414,7275,7275,7275,7275,2110, - 2089,2091,2163,7281,3712,7281,7294,5091,5069,7275, - 635,5179,5157,4737,1040,1111,7296,1094,5514,1108, - 7297,7295,864,7291,7292,7293,5476,588,7275,7275, - 97,7275,2110,2089,2091,1537,1,3712,39,39, - 39,6428,6425,3063,705,7275,189,7275,5047,985, - 6960,5113,5135,740,7874,7875,7537,7535,7544,7543, - 7539,7540,7538,7541,7542,7545,7536,5294,7280,2044, - 7280,590,1487,4065,7275,48,7230,7236,7233,7290, - 189,7294,5091,5069,7281,4126,5179,5157,4737,1040, - 1111,7296,1094,5514,1108,7297,7295,864,7291,7292, - 7293,5476,7176,7275,39,6428,6425,3063,705,7713, - 518,6963,5047,985,7279,5113,5135,740,7874,7875, - 7537,7535,7544,7543,7539,7540,7538,7541,7542,7545, - 7536,5294,589,7275,7275,415,7275,7239,7245,7242, - 2110,2089,2091,7275,7290,7294,5091,5069,3689,7280, - 5179,5157,4737,1040,1111,7296,1094,5514,1108,7297, - 7295,864,7291,7292,7293,5476,39,6428,6425,3063, - 705,529,39,371,5047,985,7313,5113,5135,740, - 7874,7875,7537,7535,7544,7543,7539,7540,7538,7541, - 7542,7545,7536,5294,7275,7275,582,72,314,7275, - 1,7167,6204,3358,7281,7283,7159,7294,5091,5069, - 161,7727,5179,5157,4737,1040,1111,7296,1094,5514, - 1108,7297,7295,864,7291,7292,7293,5476,1,7275, - 7278,39,6428,6425,3063,705,1537,3718,7257,5047, - 985,3977,5113,5135,740,7874,7875,7537,7535,7544, - 7543,7539,7540,7538,7541,7542,7545,7536,5294,48, - 7275,7275,7275,7289,1866,1914,7197,7163,7275,7280, - 2163,6135,7294,5091,5069,161,7282,5179,5157,4737, - 1040,1111,7296,1094,5514,1108,7297,7295,864,7291, - 7292,7293,5476,39,6428,6425,6010,705,3498,7286, - 3718,5047,985,1483,5113,5135,740,7874,7875,7537, - 7535,7544,7543,7539,7540,7538,7541,7542,7545,7536, - 5294,554,7275,7275,3172,7275,3113,7275,7289,541, - 2711,7275,1219,7275,7294,5091,5069,1612,5843,5179, - 5157,4737,1040,1111,7296,1094,5514,1108,7297,7295, - 864,7291,7292,7293,5476,39,6428,6425,6010,705, - 7275,7275,7275,5047,985,4281,5113,5135,740,7874, - 7875,7537,7535,7544,7543,7539,7540,7538,7541,7542, - 7545,7536,5294,101,276,7275,7173,7209,567,7275, - 7275,3811,840,2010,3990,7275,7294,5091,5069,1612, - 4007,5179,5157,4737,1040,1111,7296,1094,5514,1108, - 7297,7295,864,7291,7292,7293,5476,39,6428,6425, - 3063,705,7275,7275,7275,5047,985,289,5113,5135, - 740,7874,7875,7537,7535,7544,7543,7539,7540,7538, - 7541,7542,7545,7536,5294,98,7275,445,101,298, - 7275,7173,7275,6210,7275,7275,7275,7275,7294,5091, - 5069,7673,7572,5179,5157,4737,1040,1111,7296,1094, - 5514,1108,7297,7295,864,7291,7292,7293,5476,39, - 6428,6425,6031,705,7275,7275,7275,5047,985,7275, - 5113,5135,740,7874,7875,7537,7535,7544,7543,7539, - 7540,7538,7541,7542,7545,7536,5294,2551,304,2, - 425,7275,7275,7275,7275,7275,7275,7141,7275,7275, - 7294,5091,5069,939,5577,5179,5157,4737,1040,1111, - 7296,1094,5514,1108,7297,7295,864,7291,7292,7293, - 5476,39,6428,6425,6031,705,7275,7275,7275,5047, - 985,7275,5113,5135,740,7874,7875,7537,7535,7544, - 7543,7539,7540,7538,7541,7542,7545,7536,5294,2356, - 7275,7275,7275,7275,7275,7275,7275,39,37,7275, - 7275,7313,7294,5091,5069,3239,1037,5179,5157,4737, - 1040,1111,7296,1094,5514,1108,7297,7295,864,7291, - 7292,7293,5476,39,6428,6425,3063,705,1099,287, - 564,5047,985,417,5113,5135,740,7874,7875,7537, - 7535,7544,7543,7539,7540,7538,7541,7542,7545,7536, - 5294,1,7275,446,747,1,7275,8,7275,7741, - 1,35,7735,7739,7294,5091,5069,7251,7224,5179, - 5157,4737,1040,1111,7296,1094,5514,1108,7297,7295, - 864,7291,7292,7293,5476,1,1,7275,7275,423, - 1,1,7275,7733,7734,525,7281,7764,7765,7742, - 3972,3882,1,5689,7275,3882,2249,2680,7707,7708, - 7709,7275,7275,2641,7275,7224,7275,7227,7275,7275, - 7744,7275,7275,776,1804,1810,7275,7275,7766,7745, - 1429,7743,2599,5731,7275,3819,3881,7275,7251,505, - 503,2672,507,7275,7275,7755,7754,3972,7767,7275, - 7736,7737,7760,7761,7758,7759,7738,7740,7762,7763, - 525,7280,7275,7275,7227,7768,1102,7748,7749,7750, - 7746,7747,7756,7757,7752,7751,7753,7275,6428,6425, - 7275,7313,2110,2089,2091,7275,7275,7275,7275,7275, - 760,7874,7875,7537,7535,7544,7543,7539,7540,7538, - 7541,7542,7545,7536,5535,7608,7609,7876,7533,7527, - 7534,7530,7506,7532,7531,7528,7529,7507,7275,4874, - 6039,7275,924,7275,7275,7275,7275,7275,7275,7275, - 239,6953,6949,7275,6957,6874,6868,6871,7275,7670, - 3942,7671,7672,760,6913,6910,6940,6946,6919,6922, - 6934,6931,6937,6928,6925,6916,6943,5535,6883,6880, - 6877,6889,6907,6886,6898,6865,6892,6895,6904,6901, - 6862,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,221,7275,7275,7275,7275,6565,6559,6562, - 7275,7275,7670,3942,7671,7672,7874,7875,7537,7535, - 7544,7543,7539,7540,7538,7541,7542,7545,7536,7275, - 6574,6571,6568,6580,6598,6577,6589,6556,6583,6586, - 6595,6592,6553,29,384,384,6978,384,384,384, - 384,384,384,6978,6978,6978,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,384,384,384,384,384,384,384,384,384, - 384,384,384,384,7275,7275,7275,6978,7275,7275, - 7275,32,385,385,6975,385,385,385,385,385, - 385,6975,6975,6975,7275,7275,7275,7275,7275,7275, - 7275,7275,6431,7275,7275,6978,7275,7275,6978,385, - 385,385,385,385,385,385,385,385,385,385, - 385,385,7275,7275,7275,6975,7275,7275,7275,571, - 581,581,581,581,581,581,581,581,581,7070, - 7070,7070,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,6975,7275,7275,6975,581,581,581, - 581,581,581,581,581,581,581,581,581,581, - 7275,7275,7275,7070,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,7275,7275,7275,7275,7275,7275,7275,7275,7275, - 7275,581,7275,7275,7070 + 1,1,1,1,1,1,1,1,1,1, + 1,1,6987,7280,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,2113,7453,2115,7280,1,7291, + 7280,1,1,2084,7280,6430,6427,1537,7318,3740, + 3327,1271,2280,1114,3260,4056,3320,2064,3319,2766, + 3317,7280,6983,6997,6997,6997,6993,6997,6997,6997, + 6997,6990,6997,6997,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,6987,4228,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2113,7453,2115, + 7280,1,7291,7280,1,1,7280,7294,7295,7280, + 1537,1622,704,3327,1271,2280,1114,3260,4056,3320, + 2064,3319,2766,3317,7280,6983,6997,6997,6997,6993, + 6997,6997,6997,6997,6990,6997,6997,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,6987,4290, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 2113,7453,2115,7280,1,7291,7280,1,1,7280, + 6813,6810,7280,1537,7280,3125,3327,1271,2280,1114, + 3260,4056,3320,2064,3319,2766,3317,7280,6983,6997, + 6997,6997,6993,6997,6997,6997,6997,6990,6997,6997, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,6987,4352,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,2113,7453,2115,29,1,7291,112, + 1,1,48,6813,6810,236,1537,7280,6974,3327, + 1271,2280,1114,3260,4056,3320,2064,3319,2766,3317, + 7280,6983,6997,6997,6997,6993,6997,6997,6997,6997, + 6990,6997,6997,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,6987,6433,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2113,7453,2115,441, + 1,7291,111,1,1,1,5395,5418,5978,1537, + 7280,3774,3327,1271,2280,1114,3260,4056,3320,2064, + 3319,2766,3317,7280,6983,6997,6997,6997,6993,6997, + 6997,6997,6997,6990,6997,6997,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,6987,6436,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2113, + 7453,2115,455,1,7291,110,1,1,7280,5395, + 5418,3041,1537,7280,7280,3327,1271,2280,1114,3260, + 4056,3320,2064,3319,2766,3317,7280,6983,6997,6997, + 6997,6993,6997,6997,6997,6997,6990,6997,6997,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 6987,6439,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,2113,7453,2115,129,1,7291,7280,1, + 1,578,5395,5418,7280,1537,7280,3234,3327,1271, + 2280,1114,3260,4056,3320,2064,3319,2766,3317,7280, + 6983,6997,6997,6997,6993,6997,6997,6997,6997,6990, + 6997,6997,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,6987,459,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2113,7453,2115,116,1, + 7291,7280,1,1,131,3920,3996,135,1537,133, + 7280,3327,1271,2280,1114,3260,4056,3320,2064,3319, + 2766,3317,7280,6490,6490,6490,6490,6490,6490,6490, + 6490,6490,6490,6490,6490,1,6545,6541,3892,6549, + 4804,4713,223,699,4095,6968,6475,6615,6609,6612, + 6490,6490,6490,6490,6490,6490,6490,6490,6490,6490, + 6490,6490,6490,127,6490,6490,6490,388,6490,6490, + 6624,6621,6618,6630,6648,6627,6639,6606,6633,6636, + 6645,6642,6603,288,6759,6759,7280,283,2409,2388, + 2408,6490,118,6490,6490,7280,7284,6490,6490,6490, + 6490,6490,6490,6490,7280,6430,6427,2237,821,3130, + 6971,132,699,4095,2970,3082,6490,6490,6490,6490, + 6490,6490,6490,6490,6490,6490,6490,6490,6490,6490, + 6490,6490,6490,7280,4804,4713,6487,6490,6490,6490, + 6490,6490,6490,6490,6490,6490,6490,6490,6490,6490, + 6490,6490,7280,6493,6493,6493,6493,6493,6493,6493, + 6493,6493,6493,6493,6493,311,3332,3277,2424,395, + 6708,6708,224,283,6699,6705,6702,6663,6657,6660, + 6493,6493,6493,6493,6493,6493,6493,6493,6493,6493, + 6493,6493,6493,7280,6493,6493,6493,1103,6493,6493, + 6672,6669,6666,6678,6696,6675,6687,6654,6681,6684, + 6693,6690,6651,7283,283,566,3130,38,6448,6445, + 134,6493,117,6493,6493,6442,4095,6493,6493,6493, + 6493,6493,6493,6493,331,6430,6427,3577,821,2409, + 2388,2408,699,4095,7845,1228,6493,6493,6493,6493, + 6493,6493,6493,6493,6493,6493,6493,6493,6493,6493, + 6493,6493,6493,7280,4804,4713,3221,6493,6493,6493, + 6493,6493,6493,6493,6493,6493,6493,6493,6493,6493, + 6493,6493,39,6430,6427,3158,821,2409,2388,2408, + 5211,4095,128,5280,5303,1143,7884,7885,7544,7542, + 7551,7550,7546,7547,7545,7548,7549,7552,7543,5508, + 7617,7618,7886,7539,7533,7540,7536,7512,7538,7537, + 7534,7535,7513,7299,5257,5234,3082,192,5349,5326, + 5007,804,884,7301,810,5464,837,7302,7300,753, + 7296,7297,7298,4768,7679,725,7680,7681,155,7280, + 7294,7295,1599,7280,7109,7109,228,7105,6997,6997, + 6997,228,228,7113,228,228,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,7280,3332,3277,228,7102,309, + 6545,6541,3577,6549,7054,7060,7057,699,4095,7140, + 7143,7143,398,7294,7295,1,1,1,1,4542, + 7693,2143,5372,1018,183,1648,597,7051,7051,228, + 602,2409,2388,2408,417,1,6545,6541,3577,6549, + 7054,7060,7057,699,4095,7280,7781,137,7280,6545, + 6541,3577,6549,7054,7060,7057,699,4095,7280,7143, + 7143,4020,440,752,7280,7716,7717,7718,7280,7109, + 7109,228,7105,6997,6997,6997,228,228,7161,228, + 228,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,336, + 7280,2587,228,7102,7280,6545,6541,3577,6549,7054, + 7060,7057,699,4095,2587,7175,7175,2188,7280,7280, + 1,1,1,1,4542,7693,2143,7211,7208,7205, + 4304,445,6472,6472,228,6472,6472,6472,6472,416, + 130,600,6472,6472,7223,1183,7030,7036,7033,137, + 2496,7781,3234,2582,2139,2090,2041,1992,1943,1894, + 1845,1796,1747,1698,7716,7717,7718,36,7133,7130, + 7716,7717,7718,7280,6997,6997,228,6997,6993,6997, + 6997,228,228,7226,228,228,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,11359,1,12042, + 1,1,12072,1,7280,11909,11909,228,7217,1, + 6545,6541,3577,6549,7054,7060,7057,699,4095,309, + 548,7829,336,7280,3388,1,1,1,1,5715, + 7490,2115,7280,7286,7280,6545,6541,3577,6549,7054, + 7060,7057,699,4095,219,7175,7175,1183,7830,7316, + 7617,7618,7886,309,7280,2582,7781,7280,6997,6997, + 228,6997,6993,6997,6997,228,228,228,228,228, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,11359,1,12042,1,1,12072,1,7285,225, + 7280,228,7217,4554,6723,6717,6720,298,7294,7295, + 2587,396,2409,2388,2408,389,2409,2388,2408,1, + 1,1,1,5715,7490,2115,3827,6732,6729,6726, + 6738,6756,6735,6747,6714,6741,6744,6753,6750,6711, + 1,6545,6541,3577,6549,7054,7060,7057,699,4095, + 7781,7280,6997,6997,228,6997,6993,6997,6997,228, + 228,7259,228,228,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,11359,1,12042,1,1, + 12072,1,292,7294,7295,228,7217,600,6430,6427, + 3577,821,2409,2388,2408,699,4095,7280,11594,11289, + 7280,11594,11289,1,1,1,1,5715,7490,2115, + 1,6545,6541,3892,6549,291,746,746,699,4095, + 367,7280,218,1,6545,6541,3577,6549,7054,7060, + 7057,699,4095,7280,7781,7280,6997,6997,228,6997, + 6993,6997,6997,228,228,7226,228,228,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,11359, + 1,12042,1,1,12072,1,37,7069,7069,228, + 7217,7280,2237,136,7069,367,331,367,367,331, + 1389,2409,2388,2408,7093,7099,7096,1,1,1, + 1,5715,7490,2115,7280,3711,367,345,39,39, + 4058,7318,2409,2388,2408,3948,219,396,331,331, + 7280,1671,2409,2388,2408,7280,6813,6810,7781,7280, + 6997,6997,228,6997,6993,6997,6997,228,228,7226, + 228,228,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,11359,1,12042,1,1,12072,1, + 43,7003,7003,228,7217,7280,446,7027,7027,2237, + 7021,7012,7018,7015,577,7280,752,7024,7024,123, + 2970,1,1,1,1,5715,7490,2115,5372,1018, + 345,6430,6427,3892,821,2409,2388,2408,699,4095, + 219,331,331,396,7280,7000,122,5634,2409,2388, + 2408,37,7781,7280,6997,6997,228,6997,6993,6997, + 6997,228,228,228,228,228,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,11359,1,12042, + 1,1,12072,1,226,121,7316,228,7217,6774, + 6768,6771,2237,1,6545,6541,7081,6549,3920,3996, + 7280,7087,7084,3920,3996,1,1,1,1,5715, + 7490,2115,6783,6780,6777,6789,6807,6786,6798,6765, + 6792,6795,6804,6801,6762,1,6545,6541,3577,6549, + 3920,3996,7280,699,4095,6192,7781,7280,6997,6997, + 228,6997,6993,6997,6997,228,228,228,228,228, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,11359,1,12042,1,1,12072,1,588,3920, + 3996,228,7217,6828,6822,6825,90,7090,7090,599, + 7090,7090,7090,7090,2409,2388,2408,7090,7090,1, + 1,1,1,5715,7490,2115,6837,6834,6831,6843, + 6861,6840,6852,6819,6846,6849,6858,6855,6816,1, + 6545,6541,3892,6549,7280,7280,7280,699,4095,47, + 7781,7280,6997,6997,228,6997,6993,6997,6997,228, + 228,228,228,228,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,11359,1,12042,1,1, + 12072,1,7280,7280,1523,228,7217,1,6545,6541, + 7081,6549,7280,7294,7295,7087,7084,7290,120,7280, + 1622,2237,4430,1,1,1,1,5715,7490,2115, + 7280,7253,7253,7253,7253,7253,7253,7253,7253,7253, + 1,7253,7253,2583,1,6545,6541,3577,6549,7280, + 7292,7289,699,4095,7781,7280,6997,6997,228,6997, + 6993,6997,6997,228,228,228,228,228,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,11359, + 1,12042,1,1,12072,1,37,7069,7069,228, + 7217,7280,7280,93,7199,7199,7253,7193,7184,7190, + 7187,7291,3920,3996,7196,7196,1,1,1,1, + 1,5715,7490,2115,1,7066,7066,7280,7063,7054, + 7060,7057,7280,39,363,331,331,7318,2409,2388, + 2408,1572,7286,2118,331,331,458,5863,7781,7280, + 6997,6997,228,6997,6993,6997,6997,228,228,228, + 228,228,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,11359,1,12042,1,1,12072,1, + 7280,7280,2,228,7217,1692,598,7048,7048,363, + 602,7039,7045,7042,6280,5941,39,7285,7280,2029, + 7318,1,1,1,1,5715,7490,2115,6478,1, + 363,1,6545,6541,3577,6549,7054,7060,7057,699, + 4095,7280,7294,7295,397,821,7280,3485,388,699, + 4095,602,7781,7280,6997,6997,228,6997,6993,6997, + 6997,228,228,228,228,228,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,11359,1,12042, + 1,1,12072,1,7280,7280,1,228,7217,4058, + 1,7280,3565,4058,7292,6962,341,2587,3060,347, + 6968,7286,2163,752,7280,1,1,1,1,5715, + 7490,2115,37,7069,7069,7280,7280,2409,2388,2408, + 7265,7273,7269,331,7280,7277,7280,1,1,1, + 1,7280,3495,7280,1,1,7781,1,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,7280,7291,6965,7316,2237,7277, + 7280,341,2237,341,341,6971,7285,1,1,1, + 7288,2237,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,571,7280, + 7294,7295,7277,7892,3052,348,1,699,4095,1, + 1,1,6545,6541,3158,6549,7280,2335,7280,5211, + 4095,3059,5280,5303,6499,6538,6535,6526,6532,6505, + 6508,6520,6517,6523,6514,6511,6502,6529,6552,3852, + 2384,7280,6430,6427,7280,821,7280,1120,7280,6496, + 4095,7287,7299,5257,5234,7280,7280,5349,5326,5007, + 804,884,7301,810,5464,837,7302,7300,753,7296, + 7297,7298,4768,7280,7280,7119,7116,2237,1,7280, + 74,1599,7280,6463,39,39,1049,523,363,517, + 39,6430,6427,3158,821,6280,3987,7280,5211,4095, + 7220,5280,5303,645,7884,7885,7544,7542,7551,7550, + 7546,7547,7545,7548,7549,7552,7543,3960,7280,7316, + 318,2939,3065,7172,3066,1,6454,6451,7286,7280, + 7280,7299,5257,5234,7793,159,5349,5326,5007,804, + 884,7301,810,5464,837,7302,7300,753,7296,7297, + 7298,4768,6466,363,7280,6430,6427,7722,821,587, + 1599,6965,6496,4095,139,6430,6427,3158,821,7164, + 7280,7287,5211,4095,363,5280,5303,645,7884,7885, + 7544,7542,7551,7550,7546,7547,7545,7548,7549,7552, + 7543,3960,2237,7285,7280,6457,98,313,1,2482, + 159,124,2409,2388,2408,7299,5257,5234,6460,2571, + 5349,5326,5007,804,884,7301,810,5464,837,7302, + 7300,753,7296,7297,7298,4768,7280,7126,7122,320, + 7168,45,7152,7152,1599,7280,7280,39,39,1, + 6545,6541,3158,6549,516,7280,4118,5211,4095,1043, + 5280,5303,6499,6538,6535,6526,6532,6505,6508,6520, + 6517,6523,6514,6511,6502,6529,6552,7280,7146,7280, + 3781,7316,7736,7280,7294,7295,7149,7286,7280,6469, + 7299,5257,5234,7292,7280,5349,5326,5007,804,884, + 7301,810,5464,837,7302,7300,753,7296,7297,7298, + 4768,2237,3717,3685,7280,7119,7116,29,7280,1599, + 3653,3600,39,39,39,6430,6427,3158,821,5137, + 7280,994,5211,4095,6962,5280,5303,645,7884,7885, + 7544,7542,7551,7550,7546,7547,7545,7548,7549,7552, + 7543,3960,7285,1274,7291,4180,39,298,7280,7316, + 7318,7280,2409,2388,2408,7299,5257,5234,7286,7280, + 5349,5326,5007,804,884,7301,810,5464,837,7302, + 7300,753,7296,7297,7298,4768,752,1828,554,6430, + 6427,3158,821,425,1599,6965,5211,4095,7280,5280, + 5303,645,7884,7885,7544,7542,7551,7550,7546,7547, + 7545,7548,7549,7552,7543,3960,603,7280,1,592, + 370,2409,2388,2408,2409,2388,2408,7286,6481,7299, + 5257,5234,7280,7285,5349,5326,5007,804,884,7301, + 810,5464,837,7302,7300,753,7296,7297,7298,4768, + 37,7069,7069,7280,7280,362,48,6244,1599,7280, + 7295,39,39,39,6430,6427,3158,821,7716,7717, + 7718,5211,4095,6962,5280,5303,645,7884,7885,7544, + 7542,7551,7550,7546,7547,7545,7548,7549,7552,7543, + 3960,591,7285,7280,1549,7316,2409,2388,2408,7287, + 1438,7280,7280,7290,7299,5257,5234,7280,4242,5349, + 5326,5007,804,884,7301,810,5464,837,7302,7300, + 753,7296,7297,7298,4768,7295,1,554,6430,6427, + 3158,821,2864,1599,6965,5211,4095,7289,5280,5303, + 645,7884,7885,7544,7542,7551,7550,7546,7547,7545, + 7548,7549,7552,7543,3960,7280,418,7280,7280,302, + 1836,2409,2388,2408,7280,7290,368,3918,7299,5257, + 5234,3918,7581,5349,5326,5007,804,884,7301,810, + 5464,837,7302,7300,753,7296,7297,7298,4768,593, + 7280,293,7280,1983,2409,2388,2408,1599,1,7289, + 39,39,39,6430,6427,3158,821,7280,7290,3828, + 5211,4095,6962,5280,5303,645,7884,7885,7544,7542, + 7551,7550,7546,7547,7545,7548,7549,7552,7543,3960, + 595,1,3456,594,7682,7235,7241,7238,7244,7250, + 7247,161,7289,7299,5257,5234,1500,7280,5349,5326, + 5007,804,884,7301,810,5464,837,7302,7300,753, + 7296,7297,7298,4768,7280,72,39,6430,6427,3158, + 821,2630,7280,6965,5211,4095,7284,5280,5303,645, + 7884,7885,7544,7542,7551,7550,7546,7547,7545,7548, + 7549,7552,7543,3960,419,126,7280,302,522,2409, + 2388,2408,559,3871,7280,3181,161,7299,5257,5234, + 7581,7280,5349,5326,5007,804,884,7301,810,5464, + 837,7302,7300,753,7296,7297,7298,4768,39,6430, + 6427,3158,821,3827,7202,7280,5211,4095,3122,5280, + 5303,645,7884,7885,7544,7542,7551,7550,7546,7547, + 7545,7548,7549,7552,7543,3960,7280,7280,8,449, + 7280,48,406,2325,3781,7294,7286,7288,7256,7299, + 5257,5234,7155,7006,5349,5326,5007,804,884,7301, + 810,5464,837,7302,7300,753,7296,7297,7298,4768, + 308,7280,546,7283,3257,1277,3717,3685,1599,39, + 6430,6427,3158,821,3653,3600,7158,5211,4095,3871, + 5280,5303,645,7884,7885,7544,7542,7551,7550,7546, + 7547,7545,7548,7549,7552,7543,3960,1,97,7280, + 7294,7285,5821,6293,98,1412,7280,7262,7287,7256, + 7299,5257,5234,7280,7280,5349,5326,5007,804,884, + 7301,810,5464,837,7302,7300,753,7296,7297,7298, + 4768,39,6430,6427,6053,821,7280,3366,7280,5211, + 4095,1223,5280,5303,645,7884,7885,7544,7542,7551, + 7550,7546,7547,7545,7548,7549,7552,7543,3960,1, + 101,7280,429,7178,278,1045,7280,7214,7291,189, + 7181,7280,7299,5257,5234,3398,7146,5349,5326,5007, + 804,884,7301,810,5464,837,7302,7300,753,7296, + 7297,7298,4768,39,6430,6427,6053,821,2015,7280, + 7280,5211,4095,189,5280,5303,645,7884,7885,7544, + 7542,7551,7550,7546,7547,7545,7548,7549,7552,7543, + 3960,7280,572,285,7280,3914,7280,5810,101,2959, + 7280,7178,7280,4525,7299,5257,5234,375,3843,5349, + 5326,5007,804,884,7301,810,5464,837,7302,7300, + 753,7296,7297,7298,4768,39,6430,6427,3158,821, + 7280,7280,7280,5211,4095,7280,5280,5303,645,7884, + 7885,7544,7542,7551,7550,7546,7547,7545,7548,7549, + 7552,7543,3960,7280,291,569,534,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7299,5257,5234,5644, + 7564,5349,5326,5007,804,884,7301,810,5464,837, + 7302,7300,753,7296,7297,7298,4768,39,6430,6427, + 6085,821,7280,7280,3852,5211,4095,421,5280,5303, + 645,7884,7885,7544,7542,7551,7550,7546,7547,7545, + 7548,7549,7552,7543,3960,2433,2,7280,3871,7280, + 7280,7280,7280,7280,7280,7280,3983,3841,7299,5257, + 5234,10018,2192,5349,5326,5007,804,884,7301,810, + 5464,837,7302,7300,753,7296,7297,7298,4768,39, + 6430,6427,6085,821,7280,7280,7280,5211,4095,7280, + 5280,5303,645,7884,7885,7544,7542,7551,7550,7546, + 7547,7545,7548,7549,7552,7543,3960,2721,450,7280, + 7280,7280,7280,7280,7280,37,7280,7280,7280,7280, + 7299,5257,5234,2678,7280,5349,5326,5007,804,884, + 7301,810,5464,837,7302,7300,753,7296,7297,7298, + 4768,39,6430,6427,3158,821,427,35,509,5211, + 4095,125,5280,5303,645,7884,7885,7544,7542,7551, + 7550,7546,7547,7545,7548,7549,7552,7543,3960,1, + 7280,507,739,1,7280,511,7280,7750,7280,1, + 7744,7748,7299,5257,5234,3215,7229,5349,5326,5007, + 804,884,7301,810,5464,837,7302,7300,753,7296, + 7297,7298,4768,1,1,7280,7280,7280,7280,1, + 7280,7742,7743,530,7286,7773,7774,7751,3957,5785, + 3781,5820,7280,3910,3916,7280,7280,2571,6291,7009, + 7280,7280,7280,7280,7280,7232,7280,1,7753,7280, + 7280,801,1849,1885,7280,7280,7775,7754,7280,7752, + 7229,6292,3717,3685,3917,712,7280,7280,7280,7280, + 3653,3600,7280,7764,7763,7280,7776,7280,7745,7746, + 7769,7770,7767,7768,7747,7749,7771,7772,530,7285, + 7280,7280,3957,7280,7777,7280,7757,7758,7759,7755, + 7756,7765,7766,7761,7760,7762,7280,6430,6427,7232, + 7318,2409,2388,2408,7280,7280,7280,7280,7280,1064, + 7884,7885,7544,7542,7551,7550,7546,7547,7545,7548, + 7549,7552,7543,5486,7617,7618,7886,7539,7533,7540, + 7536,7512,7538,7537,7534,7535,7513,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,240, + 6955,6951,7280,6959,6876,6870,6873,7280,7679,725, + 7680,7681,1064,6948,6945,6936,6942,6915,6918,6930, + 6927,6933,6924,6921,6912,6939,5486,6885,6882,6879, + 6891,6909,6888,6900,6867,6894,6897,6906,6903,6864, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,222,7280,7280,7280,7280,6567,6561,6564,7280, + 7280,7679,725,7680,7681,7884,7885,7544,7542,7551, + 7550,7546,7547,7545,7548,7549,7552,7543,7280,6576, + 6573,6570,6582,6600,6579,6591,6558,6585,6588,6597, + 6594,6555,29,388,388,6980,388,388,388,388, + 388,388,6980,6980,6980,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 388,388,388,388,388,388,388,388,388,388, + 388,388,388,7280,7280,7280,6980,7280,7280,7280, + 32,389,389,6977,389,389,389,389,389,389, + 6977,6977,6977,7280,7280,7280,7280,7280,7280,7280, + 7280,6433,7280,7280,6980,7280,7280,6980,389,389, + 389,389,389,389,389,389,389,389,389,389, + 389,7280,7280,7280,6977,7280,7280,7280,576,586, + 586,586,586,586,586,586,586,586,7072,7072, + 7072,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,6977,7280,7280,6977,586,586,586,586, + 586,586,586,586,586,586,586,586,586,7280, + 7280,7280,7072,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 7280,7280,7280,7280,7280,7280,7280,7280,7280,7280, + 586,7280,7280,7072 }; }; public final static char termAction[] = TermAction.termAction; @@ -2363,68 +2364,68 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 367,68,816,128,412,252,252,252,252,240, - 412,1158,1158,165,1158,741,680,743,817,817, - 817,817,817,817,817,817,817,817,817,1158, - 1014,1019,1016,1023,1021,1030,1028,1032,1031,1033, - 414,1034,816,816,205,205,205,205,859,425, - 1,1,1158,205,567,470,1158,1158,1,859, - 470,470,470,897,796,777,1231,204,1323,242, - 1158,680,1158,1158,142,142,425,816,817,817, - 817,817,817,817,817,817,817,817,817,817, - 817,817,817,817,817,817,817,817,817,816, - 816,816,816,816,816,816,816,816,816,816, - 473,817,470,757,757,757,757,355,470,1, - 1,1222,1145,412,412,412,1158,885,1158,877, - 1158,1083,1158,240,859,1158,1139,817,567,567, - 1,252,701,1222,523,914,157,156,570,1165, - 1165,240,743,817,778,567,204,816,857,1319, - 470,856,858,856,470,567,1016,1016,1014,1014, - 1014,1021,1021,1021,1021,1021,1021,1019,1019,1028, - 1023,1023,1031,1030,1032,518,518,1033,412,412, - 412,412,859,859,757,756,757,1158,1158,859, - 125,608,469,678,303,879,354,877,1087,240, - 1083,859,859,355,680,757,300,885,897,567, - 1048,470,916,918,859,1323,1169,777,518,817, - 518,1058,776,412,412,412,778,412,859,632, - 1058,1058,114,520,859,359,885,817,205,1158, - 1158,470,242,859,885,859,858,1323,816,816, - 816,816,816,816,412,412,796,1226,1158,1158, - 136,469,607,470,303,859,761,619,759,355, - 885,298,859,355,859,470,300,700,470,161, - 893,160,918,355,857,768,778,518,888,778, - 796,796,794,891,796,1058,1058,612,114,1219, - 859,412,412,1078,240,856,617,470,1158,1222, - 1319,242,859,857,470,470,470,470,425,425, - 1229,1158,908,907,468,300,859,303,518,880, - 252,357,855,862,303,761,760,764,761,764, - 355,298,298,859,859,1158,700,748,816,158, - 158,149,149,912,1222,1099,470,859,778,817, - 778,470,1219,470,794,114,412,470,764,764, - 1058,1071,1222,977,1057,1219,1219,859,470,859, - 1323,918,627,240,859,857,617,1158,1158,1158, - 816,1158,1327,1158,242,470,470,1158,1158,136, - 470,424,470,470,1323,885,882,882,757,252, - 864,764,764,764,764,859,298,300,960,961, - 961,748,816,816,916,893,748,1202,778,1078, - 778,1058,114,816,778,764,885,240,1071,1219, - 816,700,1219,1071,1319,918,132,965,131,859, - 859,857,775,412,1158,425,817,567,1327,1158, - 987,908,857,307,885,308,319,1057,817,518, - 1072,971,1054,864,764,764,244,300,817,859, - 1158,254,751,1219,748,816,776,425,1058,1219, - 470,885,983,859,412,470,1071,470,627,1058, - 65,678,859,1058,1058,1099,1158,470,567,1158, - 424,1058,307,307,357,357,1080,1277,880,319, - 864,817,817,1054,1054,864,864,983,239,245, - 859,1158,1158,751,751,778,470,1058,617,240, - 859,425,1061,860,470,1058,470,470,1216,300, - 307,307,308,308,308,76,1092,756,252,70, - 70,1054,1054,244,859,240,240,859,412,751, - 778,617,470,1061,470,885,885,1218,300,308, - 307,319,308,319,755,755,859,859,859,919, - 769,1064,307,319,205,205,859,859,908,1064, - 300,756,205,958,70,755,856 + 151,1,803,3,196,87,87,87,87,1128, + 196,1162,1162,1053,1162,726,665,728,804,804, + 804,804,804,804,804,804,804,804,804,1162, + 876,881,878,885,883,892,890,894,893,895, + 198,896,803,803,1093,1093,1093,1093,846,209, + 20,20,1162,1093,422,254,1162,1162,20,846, + 254,254,254,593,783,764,1235,1092,1327,1130, + 1162,665,1162,1162,89,89,209,803,804,804, + 804,804,804,804,804,804,804,804,804,804, + 804,804,804,804,804,804,804,804,804,803, + 803,803,803,803,803,803,803,803,803,803, + 489,804,254,663,663,663,663,309,254,20, + 20,1226,1149,196,196,196,1162,148,1162,1132, + 1162,11,1162,1128,846,1162,1143,804,422,422, + 20,87,686,1226,378,993,433,432,441,1169, + 1169,1128,728,804,765,422,1092,803,844,1323, + 254,843,845,843,254,422,878,878,876,876, + 876,883,883,883,883,883,883,881,881,890, + 885,885,893,892,894,534,534,895,196,196, + 196,196,846,846,663,662,663,1162,1162,846, + 373,479,253,587,257,1134,308,1132,146,1128, + 11,846,846,309,665,663,486,148,593,422, + 910,254,995,997,846,1327,1173,764,534,804, + 534,920,763,196,196,196,765,196,846,541, + 920,920,362,313,846,316,148,804,1093,1162, + 1162,254,1130,846,148,846,845,1327,803,803, + 803,803,803,803,196,196,783,1230,1162,1162, + 648,253,478,254,257,846,748,733,746,309, + 148,483,846,309,846,254,486,685,254,437, + 589,436,997,309,844,755,765,534,923,765, + 783,783,781,763,783,920,920,536,362,1223, + 846,196,196,958,1128,843,762,254,1162,1226, + 1323,1130,846,844,254,254,254,254,209,209, + 1233,1162,604,603,252,486,846,257,534,1135, + 87,311,842,926,257,748,747,751,748,751, + 309,483,483,846,846,1162,685,654,803,434, + 434,425,425,991,1226,608,254,846,765,804, + 765,254,1223,254,781,362,196,254,751,751, + 920,951,1226,985,919,1223,1223,846,254,846, + 1327,997,741,1128,846,844,376,1162,1162,1162, + 803,1162,1331,1162,1130,254,254,1162,1162,648, + 254,208,254,254,1327,148,1137,1137,663,87, + 928,751,751,751,751,846,483,485,960,485, + 485,654,803,803,995,589,654,1206,765,958, + 765,920,362,803,765,751,148,1128,951,1223, + 803,685,1223,951,1323,997,7,973,6,846, + 846,844,762,196,1162,209,804,422,1331,1162, + 849,604,844,261,148,262,273,919,804,534, + 952,979,916,928,751,751,965,485,486,804, + 846,1162,102,657,1223,654,803,763,209,920, + 1223,254,148,1039,846,196,254,951,254,741, + 920,84,587,846,920,920,608,1162,254,422, + 1162,208,920,261,261,311,311,1043,1281,1135, + 273,928,804,804,916,916,928,928,1039,1127, + 966,846,486,1162,1162,657,657,765,254,920, + 376,1128,846,209,941,847,254,920,254,254, + 1220,486,261,261,262,262,262,324,1046,662, + 87,96,96,916,916,965,846,1128,1128,846, + 196,657,765,376,254,941,254,148,148,1222, + 486,262,261,273,262,273,661,661,846,846, + 846,998,756,944,261,273,1093,1093,846,846, + 604,944,486,662,1093,1037,96,661,843 }; }; public final static char asb[] = Asb.asb; @@ -2432,139 +2433,140 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static char asr[] = {0, - 14,15,30,5,32,16,17,62,28,49, - 73,18,50,63,33,34,51,19,35,36, - 20,21,37,74,9,38,52,22,23,53, - 39,54,64,55,70,56,40,57,13,65, - 24,31,25,29,26,58,59,60,41,2, - 3,46,47,12,42,43,8,48,78,4, - 27,61,6,7,1,11,0,129,0,78, - 80,77,1,2,0,14,15,30,32,16, - 17,62,28,18,63,33,93,34,19,35, - 36,20,21,37,66,38,22,23,39,64, - 45,40,13,65,24,68,31,25,29,26, - 27,67,71,5,10,44,6,7,8,9, - 1,2,4,3,11,12,0,126,44,129, - 77,75,10,76,0,10,77,75,1,28, - 0,9,4,45,8,1,2,0,5,79, - 76,44,71,6,7,3,72,78,80,77, - 10,75,96,0,74,73,42,43,11,99, - 100,105,12,106,8,48,80,69,78,119, - 120,116,117,118,124,123,125,95,94,121, - 122,103,104,101,102,107,108,46,47,77, - 97,114,72,3,14,15,30,5,32,16, - 17,62,28,18,63,33,34,19,35,36, - 20,21,37,38,22,23,39,64,40,13, - 65,24,25,29,26,27,6,7,31,1, - 2,4,0,31,1,2,4,111,112,113, - 0,69,0,73,74,70,46,47,12,11, - 42,43,8,48,53,61,27,3,4,9, - 58,59,60,41,56,51,55,17,26,16, - 22,20,21,23,24,19,18,25,14,15, - 13,50,54,52,49,57,71,1,2,10, - 81,0,111,112,113,76,81,9,10,3, - 12,11,8,44,68,66,93,67,14,15, - 30,5,32,16,17,62,28,18,63,33, - 34,19,35,36,20,21,37,38,22,23, - 39,64,40,13,65,24,31,25,29,26, - 27,6,7,4,1,2,45,0,9,1, - 2,8,4,13,66,0,14,15,16,17, - 49,73,18,50,51,19,20,21,74,9, - 52,22,23,53,54,55,70,56,57,13, - 24,25,26,58,59,60,41,1,2,46, - 47,12,11,42,43,8,48,4,27,61, - 67,3,0,5,78,76,96,126,81,44, - 6,7,129,77,14,15,16,17,49,73, - 18,50,51,19,20,21,74,9,52,22, - 23,53,54,55,70,56,57,13,24,25, - 26,58,59,60,2,3,46,47,12,11, - 42,43,8,48,4,27,61,41,1,75, - 10,0,14,15,16,17,49,73,18,50, - 51,19,20,21,74,9,52,22,23,53, - 54,55,70,56,57,13,24,25,26,58, - 59,60,41,1,2,3,46,47,12,11, - 42,43,8,48,4,27,61,76,0,3, - 29,0,73,74,3,13,50,54,52,49, - 57,17,26,16,22,20,21,23,24,19, - 18,25,14,15,58,59,60,41,56,51, - 55,8,9,4,46,47,12,11,42,43, - 48,53,61,27,1,2,126,10,0,14, - 15,30,5,32,16,17,28,18,33,34, - 19,35,36,20,21,37,9,38,22,23, - 39,40,24,31,25,29,26,2,72,12, - 11,8,4,44,6,7,1,75,10,3, - 0,10,76,71,79,0,127,0,4,10, - 76,71,6,7,5,0,10,76,75,41, - 0,14,15,16,17,49,73,18,50,51, - 19,20,21,74,9,52,22,23,53,54, - 55,70,56,57,13,24,25,26,58,59, - 60,1,2,3,46,47,12,11,42,43, - 8,48,4,27,61,44,10,41,0,30, - 5,32,62,28,63,33,34,35,36,37, - 38,39,64,40,65,31,29,6,7,70, - 46,47,12,11,42,43,48,53,61,27, - 3,4,58,59,60,41,56,51,55,17, - 26,16,22,20,21,23,24,19,18,25, - 14,15,13,50,54,52,49,57,71,10, - 9,8,1,2,74,73,0,30,28,29, - 70,10,96,75,80,77,78,0,4,69, - 6,7,5,10,76,71,0,75,93,111, - 112,113,45,76,127,130,81,67,79,68, - 66,83,85,91,89,82,87,88,90,92, - 71,84,86,44,10,63,62,64,65,32, - 38,39,34,37,36,31,33,28,29,30, - 5,7,6,35,40,70,73,74,50,54, - 52,49,57,3,17,26,16,22,20,21, - 23,24,19,18,25,14,15,58,59,60, - 41,56,51,55,46,47,12,11,42,43, - 48,53,61,27,13,4,9,8,2,1, - 0,44,10,3,9,8,76,12,11,4, - 1,2,6,7,5,0,45,4,76,1, - 2,6,7,5,71,10,0,76,96,0, - 82,0,96,9,8,80,78,5,1,2, - 12,11,4,6,7,72,3,75,10,77, - 0,8,9,3,72,11,12,96,14,15, - 30,5,32,16,17,28,18,63,33,34, + 129,0,127,44,129,77,75,10,76,0, + 4,10,71,6,7,5,1,2,0,14, + 15,30,5,32,16,17,62,28,49,73, + 18,50,63,33,34,51,19,35,36,20, + 21,37,74,9,38,52,22,23,53,39, + 54,64,55,70,56,40,57,13,65,24, + 31,25,29,26,58,59,60,41,2,3, + 46,47,12,42,43,8,48,78,4,27, + 61,6,7,1,11,0,69,0,9,4, + 45,8,1,2,0,78,80,77,1,2, + 0,73,74,70,46,47,12,11,42,43, + 8,48,53,61,27,3,4,9,58,59, + 60,41,56,51,55,14,15,17,26,16, + 22,20,21,23,24,19,18,25,13,50, + 54,52,49,57,81,1,2,71,10,0, + 14,15,16,17,49,73,18,50,51,19, + 20,21,74,9,52,22,23,53,54,55, + 70,56,57,13,24,25,26,58,59,60, + 41,1,2,46,47,12,11,42,43,8, + 48,4,27,61,67,3,0,5,78,76, + 96,127,81,44,6,7,129,77,14,15, + 16,17,49,73,18,50,51,19,20,21, + 74,9,52,22,23,53,54,55,70,56, + 57,13,24,25,26,58,59,60,2,3, + 46,47,12,11,42,43,8,48,4,27, + 61,41,1,75,10,0,112,113,114,76, + 81,9,10,3,12,11,8,44,68,66, + 93,67,14,15,30,5,32,16,17,62, + 28,18,63,33,34,19,35,36,20,21, + 37,38,22,23,39,64,40,13,65,24, + 31,25,29,26,27,6,7,4,1,2, + 45,0,3,29,0,9,1,2,8,4, + 13,66,0,14,15,30,32,16,17,62, + 28,18,63,33,93,34,19,35,36,20, + 21,37,66,38,22,23,39,64,45,40, + 13,65,24,68,31,25,29,26,27,67, + 71,5,10,44,6,7,8,9,1,2, + 4,3,11,12,0,111,0,73,74,3, + 13,50,54,52,49,57,17,26,16,22, + 20,21,23,24,19,18,25,14,15,58, + 59,60,41,56,51,55,8,9,4,46, + 47,12,11,42,43,48,53,61,27,1, + 2,127,10,0,5,79,76,44,71,6, + 7,3,72,78,80,77,10,75,96,0, + 14,15,30,5,32,16,17,28,18,33, + 34,19,35,36,20,21,37,9,38,22, + 23,39,40,24,31,25,29,26,2,72, + 12,11,8,4,44,6,7,1,75,10, + 3,0,1,2,77,10,81,0,14,15, + 16,17,49,73,18,50,51,19,20,21, + 74,9,52,22,23,53,54,55,70,56, + 57,13,24,25,26,58,59,60,41,1, + 2,3,46,47,12,11,42,43,8,48, + 4,27,61,76,0,10,76,71,79,0, + 14,15,16,17,49,73,18,50,51,19, + 20,21,74,9,52,22,23,53,54,55, + 70,56,57,13,24,25,26,58,59,60, + 1,2,3,46,47,12,11,42,43,8, + 48,4,27,61,44,10,41,0,96,9, + 8,80,78,5,1,2,12,11,4,6, + 7,72,3,75,10,77,0,14,15,30, + 5,32,16,17,62,28,18,63,33,34, 19,35,36,20,21,37,38,22,23,39, 64,40,13,65,24,31,25,29,26,1, - 2,4,27,6,7,75,10,62,0,80, - 10,81,77,0,10,76,77,75,3,0, - 76,5,72,6,7,69,10,77,44,80, - 3,0,10,71,77,0,32,33,34,35, - 36,37,9,38,39,70,79,40,31,1, - 2,72,3,128,114,46,47,8,4,71, - 28,29,30,98,97,11,99,100,42,43, - 95,94,69,101,102,109,110,103,104,12, - 105,106,107,78,75,129,80,116,117,118, - 119,120,121,122,123,124,125,76,96,126, - 81,108,115,6,7,5,77,44,10,0, + 2,4,27,6,7,96,0,10,77,75, + 1,28,0,30,28,29,70,10,96,75, + 80,77,78,0,30,5,32,62,28,63, + 33,34,35,36,37,38,39,64,40,65, + 31,29,6,7,70,46,47,12,11,42, + 43,48,53,61,27,3,4,58,59,60, + 41,56,51,55,14,15,17,26,16,22, + 20,21,23,24,19,18,25,13,50,54, + 52,49,57,71,10,9,8,1,2,74, + 73,0,4,10,76,71,6,7,5,0, + 10,76,75,41,0,4,69,6,7,5, + 10,76,71,0,75,93,112,113,114,45, + 76,111,130,81,67,79,68,66,83,85, + 91,89,82,87,88,90,92,71,84,86, + 44,10,63,62,64,65,32,38,39,34, + 37,36,31,33,28,29,30,5,7,6, + 35,40,70,73,74,50,54,52,49,57, + 3,17,26,16,22,20,21,23,24,19, + 18,25,14,15,58,59,60,41,56,51, + 55,46,47,12,11,42,43,48,53,61, + 27,13,4,9,8,2,1,0,32,33, + 34,35,36,37,9,38,39,70,79,40, + 31,1,2,72,3,128,115,46,47,8, + 4,71,28,29,30,98,97,11,99,100, + 42,43,95,94,69,101,102,109,110,103, + 104,12,105,106,107,78,75,129,80,117, + 118,119,120,121,122,123,124,125,126,76, + 96,127,81,108,116,6,7,5,77,44, + 10,0,76,96,0,44,10,3,9,8, + 76,12,11,4,1,2,6,7,5,0, 30,28,29,70,79,78,76,96,75,71, - 3,5,10,77,44,6,7,80,0,41, - 45,0,4,6,7,5,1,2,71,10, - 0,5,10,71,6,7,80,0,14,15, - 30,5,32,16,17,62,28,18,63,33, - 34,19,35,36,20,21,37,38,22,23, - 39,64,40,13,65,24,31,25,29,26, - 1,2,4,27,6,7,96,0,27,13, - 63,62,64,65,17,26,16,22,20,21, - 23,24,19,18,25,14,15,79,76,96, - 126,81,71,129,128,114,46,47,98,97, - 42,43,99,100,94,95,69,78,101,102, - 103,104,105,106,107,108,115,80,116,117, - 118,119,120,121,122,123,124,125,77,109, - 110,30,32,28,33,34,35,36,37,38, - 39,40,31,29,44,10,75,72,8,9, - 3,12,1,2,4,6,7,5,11,0, - 73,74,46,47,12,11,42,43,8,48, - 53,61,27,3,4,9,58,59,60,41, - 56,51,55,17,26,16,22,20,21,23, - 24,19,18,25,14,15,13,50,54,52, - 49,57,72,1,2,0,17,62,28,18, - 63,33,19,35,20,21,37,38,22,23, - 64,40,13,65,24,31,25,29,26,16, - 32,30,27,15,14,10,3,12,44,68, - 66,93,34,39,36,67,69,4,5,11, - 6,7,9,1,2,45,8,0 + 3,5,10,77,44,6,7,80,0,10, + 77,81,80,0,31,1,2,4,112,113, + 114,0,10,76,77,75,3,0,76,5, + 72,6,7,69,10,77,44,80,3,0, + 8,9,3,72,11,12,96,14,15,30, + 5,32,16,17,28,18,63,33,34,19, + 35,36,20,21,37,38,22,23,39,64, + 40,13,65,24,31,25,29,26,1,2, + 4,27,6,7,75,10,62,0,10,71, + 77,0,41,45,0,5,10,71,6,7, + 80,0,74,73,42,43,11,99,100,105, + 12,106,8,48,80,69,78,120,121,117, + 118,119,125,124,126,95,94,122,123,103, + 104,101,102,107,108,46,47,77,97,115, + 72,3,14,15,30,5,32,16,17,62, + 28,18,63,33,34,19,35,36,20,21, + 37,38,22,23,39,64,40,13,65,24, + 25,29,26,27,6,7,31,1,2,4, + 0,45,4,76,1,2,10,71,6,7, + 5,0,27,13,63,62,64,65,17,26, + 16,22,20,21,23,24,19,18,25,14, + 15,79,76,96,127,81,71,129,128,115, + 46,47,98,97,42,43,99,100,94,95, + 69,78,101,102,103,104,105,106,107,108, + 116,80,117,118,119,120,121,122,123,124, + 125,126,77,109,110,30,32,28,33,34, + 35,36,37,38,39,40,31,29,44,10, + 75,72,8,9,3,12,1,2,4,6, + 7,5,11,0,73,74,46,47,12,11, + 42,43,8,48,53,61,27,3,4,9, + 58,59,60,41,56,51,55,14,15,17, + 26,16,22,20,21,23,24,19,18,25, + 13,50,54,52,49,57,72,1,2,0, + 17,62,28,18,63,33,19,35,20,21, + 37,38,22,23,64,40,13,65,24,31, + 25,29,26,16,32,30,27,15,14,10, + 3,12,44,68,66,93,34,39,36,67, + 69,4,5,11,6,7,9,1,2,45, + 8,0 }; }; public final static char asr[] = Asr.asr; @@ -2572,68 +2574,68 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static char nasb[] = {0, - 99,13,78,13,13,13,13,13,13,82, - 13,13,13,65,13,177,181,187,78,78, - 78,78,261,78,78,78,78,78,78,13, + 101,13,74,13,13,13,13,13,13,78, + 13,13,13,238,13,27,183,82,74,74, + 74,74,278,74,74,74,74,74,74,13, 13,13,13,13,13,13,13,13,13,13, - 78,13,78,213,21,21,21,21,187,108, - 224,224,42,5,133,318,13,13,224,265, - 318,318,318,235,1,53,78,38,117,13, - 13,181,13,13,45,45,108,213,78,78, - 78,78,78,78,78,78,78,78,78,78, - 78,78,78,78,78,78,78,78,78,78, - 78,78,78,78,78,78,78,78,78,78, - 111,78,318,13,13,13,13,62,318,16, - 16,292,255,13,13,13,256,246,256,151, - 256,151,256,11,187,256,248,78,133,133, - 16,13,239,292,128,234,24,24,13,13, - 13,11,187,78,210,133,21,123,177,31, - 318,176,187,176,318,133,13,13,13,13, + 74,13,74,174,47,47,47,47,82,14, + 218,218,39,5,131,249,13,13,218,282, + 249,249,249,234,1,121,74,58,93,13, + 13,183,13,13,50,50,14,174,74,74, + 74,74,74,74,74,74,74,74,74,74, + 74,74,74,74,74,74,74,74,74,74, + 74,74,74,74,74,74,74,74,74,74, + 145,74,249,13,13,13,13,64,249,42, + 42,311,261,13,13,13,262,231,262,169, + 262,169,262,11,82,262,254,74,131,131, + 42,13,224,311,126,233,80,80,13,13, + 13,11,82,74,171,131,47,140,27,67, + 249,26,82,26,249,131,13,13,13,13, 13,13,13,13,13,13,13,13,13,13, 13,13,13,13,13,13,13,13,13,13, - 13,13,197,12,13,13,13,305,232,187, - 13,318,90,13,224,196,82,232,26,82, - 232,187,12,13,181,13,224,246,303,133, - 13,318,290,224,187,117,13,158,13,135, - 13,167,13,13,13,13,159,13,266,165, - 167,167,203,121,266,93,184,78,21,224, - 105,318,13,12,244,187,35,117,78,78, - 213,213,213,213,13,13,16,151,151,151, - 40,102,13,318,296,197,151,151,13,309, - 246,224,309,116,197,318,54,224,318,13, - 217,13,280,115,197,13,159,13,13,159, - 283,283,278,13,283,167,167,224,144,219, - 187,13,13,13,82,82,224,318,51,305, - 31,13,265,197,318,318,318,318,108,108, - 13,224,318,13,318,54,187,167,13,190, - 13,13,93,202,296,151,151,224,232,224, - 116,224,266,12,197,244,76,224,78,13, - 13,24,24,216,292,280,318,197,159,78, - 159,318,219,318,312,224,13,318,224,73, - 167,151,292,60,13,173,226,187,318,12, - 117,224,153,82,309,309,97,224,119,13, - 213,305,36,13,13,318,318,151,200,40, - 318,78,318,318,117,246,151,232,13,13, - 144,224,224,126,126,197,266,54,13,13, - 54,200,78,78,290,171,224,13,159,13, - 159,167,145,213,159,73,155,56,232,173, - 123,76,145,151,258,280,318,13,13,309, - 191,177,169,13,51,108,78,133,36,224, - 200,318,177,224,246,273,224,167,78,13, - 95,13,151,226,126,126,69,54,78,266, - 142,75,224,227,200,78,13,193,167,226, - 318,155,13,309,13,318,232,318,153,167, - 13,153,191,167,167,21,119,318,133,200, - 78,167,268,224,13,13,13,273,287,280, - 145,78,78,232,151,226,13,13,82,84, - 309,142,13,14,224,159,318,167,224,56, - 12,108,224,13,318,167,318,318,224,54, - 273,268,273,273,273,162,13,13,13,29, - 29,151,232,86,309,82,82,12,13,14, - 159,97,318,200,318,184,184,217,54,273, - 224,280,273,224,13,13,12,309,309,316, - 169,224,268,280,21,21,12,12,318,14, - 54,13,21,13,29,13,176 + 13,13,180,12,13,13,13,266,276,82, + 13,249,34,13,218,179,78,276,31,78, + 276,82,12,13,183,13,218,231,264,131, + 13,249,309,218,82,93,13,199,13,133, + 13,157,13,13,13,13,200,13,283,155, + 157,157,192,108,283,116,186,74,47,218, + 88,249,13,12,229,82,152,93,74,74, + 174,174,174,174,13,13,42,169,169,169, + 177,118,13,249,302,180,169,169,13,319, + 231,218,319,92,180,249,122,218,249,13, + 211,13,244,91,180,13,200,13,13,200, + 290,290,242,13,290,157,157,218,162,213, + 82,13,13,13,78,78,218,249,110,266, + 67,13,282,180,249,249,249,249,14,14, + 13,218,249,13,249,122,82,157,13,251, + 13,13,116,191,302,169,169,218,276,218, + 92,218,283,12,180,229,72,218,74,13, + 13,80,80,210,311,244,249,180,200,74, + 200,249,213,249,315,218,13,249,218,143, + 157,169,311,106,13,23,270,82,249,12, + 93,218,189,78,319,319,124,218,19,13, + 174,266,153,13,13,249,249,169,17,177, + 249,74,249,249,93,231,169,276,13,13, + 162,218,218,56,56,180,283,37,13,13, + 122,17,74,74,309,21,218,13,200,13, + 200,157,163,174,200,143,85,95,276,23, + 140,72,163,169,159,244,249,13,13,319, + 252,27,104,13,110,14,74,131,153,218, + 17,249,27,218,231,294,218,157,74,13, + 99,13,169,270,56,56,206,37,122,74, + 283,114,71,218,271,17,74,13,149,157, + 270,249,85,13,319,13,249,276,249,189, + 157,13,189,252,157,157,47,19,249,131, + 17,74,157,285,218,13,13,13,294,299, + 244,163,74,74,276,169,270,13,13,78, + 112,319,122,114,13,60,218,200,249,157, + 218,95,12,14,218,13,249,157,249,249, + 218,122,294,285,294,294,294,203,13,13, + 13,62,62,169,276,220,319,78,78,12, + 13,60,200,124,249,17,249,186,186,211, + 122,294,218,244,294,218,13,13,12,319, + 319,247,104,218,285,244,47,47,12,12, + 249,60,122,13,47,13,62,13,26 }; }; public final static char nasb[] = Nasb.nasb; @@ -2641,38 +2643,39 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 3,13,10,9,163,187,161,131,160,159, - 5,2,0,137,0,5,10,9,2,13, - 4,53,0,89,0,43,1,0,114,0, - 77,149,148,0,2,125,0,189,0,183, - 0,4,209,0,5,2,9,10,150,0, - 154,0,4,85,0,180,5,179,0,198, - 0,123,77,0,4,53,210,0,5,108, - 206,0,170,0,85,106,43,10,9,2, - 13,5,0,207,0,5,108,176,0,215, - 31,0,167,0,205,0,172,0,4,188, - 0,31,185,0,4,191,0,4,101,0, - 4,44,123,0,123,2,77,0,152,0, - 216,0,4,36,0,116,0,13,2,9, - 10,5,90,0,13,2,9,10,5,218, - 0,173,0,95,4,5,10,9,2,66, - 39,0,146,0,43,171,0,85,44,50, - 78,43,4,0,4,44,45,0,122,0, - 99,98,39,66,69,5,10,9,2,0, - 4,53,44,43,60,0,2,52,0,39, - 110,0,4,192,0,52,2,3,0,70, - 0,45,5,2,9,10,4,169,0,50, - 43,193,4,44,0,31,99,98,66,5, - 2,9,10,4,0,4,5,10,9,2, - 66,22,0,31,98,99,4,0,5,10, - 9,2,13,106,105,43,0,2,5,131, - 127,128,129,147,13,91,0,39,77,0, - 5,10,9,13,3,1,0,126,4,50, - 76,0,4,50,76,86,0,44,195,27, - 4,0,4,53,109,0,39,1,0,27, - 4,5,39,95,0,4,50,76,108,48, - 5,0,99,98,39,5,69,0,2,68, - 0,53,4,194,0,53,4,31,0 + 3,13,10,9,164,189,162,132,161,160, + 5,2,0,4,102,0,71,0,153,0, + 100,99,40,67,70,5,10,9,2,0, + 44,1,0,217,32,0,166,0,4,211, + 0,5,10,9,2,13,4,54,0,5, + 2,9,10,151,0,117,0,191,0,138, + 0,115,0,124,78,0,78,150,149,0, + 86,107,44,10,9,2,13,5,0,90, + 0,2,53,0,44,173,0,4,193,0, + 124,2,78,0,182,5,181,0,207,0, + 4,190,0,123,0,200,0,218,0,155, + 0,209,0,175,0,169,0,32,187,0, + 4,86,0,174,0,13,2,9,10,5, + 91,0,13,2,9,10,5,220,0,4, + 37,0,172,0,4,45,124,0,4,194, + 0,2,126,0,4,45,46,0,40,78, + 0,96,4,5,10,9,2,67,40,0, + 51,44,195,4,45,0,185,0,53,2, + 3,0,4,54,45,44,61,0,147,0, + 46,5,2,9,10,4,171,0,86,45, + 51,79,44,4,0,5,109,208,0,32, + 100,99,67,5,2,9,10,4,0,5, + 109,178,0,5,10,9,2,13,107,106, + 44,0,32,99,100,4,0,4,54,212, + 0,45,197,28,4,0,54,4,32,0, + 40,111,0,2,5,132,128,129,130,148, + 13,92,0,100,99,40,5,70,0,4, + 5,10,9,2,67,23,0,5,10,9, + 13,3,1,0,127,4,51,77,0,4, + 54,110,0,4,51,77,87,0,40,1, + 0,4,51,77,109,49,5,0,28,4, + 5,40,96,0,54,4,196,0,2,69, + 0 }; }; public final static char nasr[] = Nasr.nasr; @@ -2691,8 +2694,8 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 124,113,54,55,61,62,64,74,76,77, 90,97,70,17,18,32,6,4,15,16, 21,22,23,24,25,26,27,28,45,46, - 85,86,87,5,29,34,35,36,37,38, - 39,40,41,42,43,122,56,3,132,67, + 56,85,86,87,5,29,34,35,36,37, + 38,39,40,41,42,43,122,3,132,67, 121 }; }; @@ -2702,28 +2705,28 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, 139,144,145,0,0,143,0,0,239,245, - 142,0,152,141,0,0,151,157,0,0, - 158,254,0,0,0,167,189,168,169,170, - 135,171,172,173,174,160,175,176,255,177, - 0,150,138,140,137,178,0,186,0,0, - 147,146,161,0,0,0,0,0,0,181, - 0,213,0,0,210,214,154,0,164,196, - 184,0,0,0,0,0,0,180,0,0, - 0,0,0,0,136,187,0,0,215,134, - 195,0,0,166,211,221,217,218,219,0, - 0,155,0,0,227,0,216,230,183,205, - 0,0,220,0,0,0,234,0,236,0, - 250,251,0,0,156,188,198,199,200,201, - 202,204,0,207,0,208,0,223,226,229, - 0,248,0,249,0,259,262,148,149,153, - 0,0,163,165,0,179,0,190,191,192, - 193,194,197,0,0,203,0,206,212,0, - 224,225,0,0,231,238,0,242,243,244, - 247,0,256,0,258,0,261,133,0,159, - 162,0,182,0,185,0,0,209,222,228, - 0,0,232,233,235,237,0,240,241,246, - 252,253,0,0,257,0,0,260,0,0, - 0,0 + 142,0,152,0,141,0,0,151,157,0, + 0,158,254,0,0,0,167,189,168,169, + 170,135,171,172,173,174,160,175,176,255, + 177,0,150,138,140,137,178,0,186,0, + 0,147,146,161,0,0,0,0,0,0, + 181,0,213,0,0,210,214,154,0,164, + 196,184,0,0,0,0,0,0,180,0, + 0,0,0,0,0,136,187,0,0,215, + 134,195,0,0,166,211,221,217,218,219, + 0,0,155,0,0,227,0,216,230,183, + 205,0,0,220,0,0,0,234,0,236, + 0,250,251,0,0,156,188,198,199,200, + 201,202,204,0,207,0,208,0,223,226, + 229,0,248,0,249,0,259,262,148,149, + 153,0,0,163,165,0,179,0,190,191, + 192,193,194,197,0,0,0,203,0,206, + 212,0,224,225,0,0,231,238,0,242, + 243,244,247,0,256,0,258,0,261,133, + 0,159,162,0,182,0,185,0,0,209, + 222,228,0,0,232,233,235,237,0,240, + 241,246,252,253,0,0,257,0,0,260, + 0,0,0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -2731,20 +2734,20 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 246,694,713,399,410,645,661,672,683,491, - 354,368,385,426,444,114,379,511,549,254, - 702,596,92,123,143,152,157,162,217,282, - 437,452,457,67,231,360,374,620,99,231, - 501,457,721,99,304,335,7,39,63,75, - 86,133,148,178,462,480,484,567,589,641, - 731,735,739,169,79,169,529,545,558,576, - 633,188,188,316,406,558,652,668,679,690, - 294,607,19,31,60,128,128,243,309,13, - 128,330,351,13,13,128,488,586,593,243, - 128,754,1,13,54,182,466,533,573,1, - 128,197,391,417,466,197,197,417,520,264, - 24,24,45,176,45,45,45,45,571,743, - 750,24,24,49,325,743,750,137,539,224, + 246,410,698,717,399,428,649,665,676,687, + 495,354,368,385,448,114,379,515,553,254, + 706,600,92,123,143,152,157,162,217,282, + 441,456,461,67,231,360,374,624,99,231, + 505,461,725,99,304,335,7,39,63,75, + 86,133,148,178,466,484,488,571,593,645, + 735,739,743,169,79,169,533,549,562,580, + 637,188,188,316,406,562,656,672,683,694, + 294,611,19,31,60,128,128,243,309,13, + 128,330,351,13,13,128,492,590,597,243, + 128,758,1,13,54,182,470,537,577,1, + 128,197,391,470,197,197,418,524,264,418, + 24,24,45,176,45,45,45,45,575,747, + 754,24,24,49,325,747,754,137,543,224, 176,325,176,340 }; }; @@ -2753,20 +2756,20 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 90,43,43,222,222,43,43,43,43,498, - 222,167,222,222,450,120,365,517,555,260, - 139,602,97,97,97,131,131,167,222,287, - 442,442,450,72,236,365,173,625,110,239, - 506,708,726,104,298,298,11,43,43,43, - 90,43,131,167,442,167,167,222,333,43, - 43,43,333,752,83,173,498,498,498,580, - 625,192,206,320,394,562,656,656,656,656, - 298,611,22,22,43,131,131,43,43,312, + 90,222,43,43,222,222,43,43,43,43, + 502,222,167,222,454,120,365,521,559,260, + 139,606,97,97,97,131,131,167,222,287, + 446,446,454,72,236,365,173,629,110,239, + 510,712,730,104,298,298,11,43,43,43, + 90,43,131,167,446,167,167,222,333,43, + 43,43,333,756,83,173,502,502,502,584, + 629,192,206,320,394,566,660,660,660,660, + 298,615,22,22,43,131,131,43,43,312, 314,333,43,11,11,314,167,43,333,43, - 618,43,4,16,57,185,469,536,57,583, - 637,192,394,432,628,200,211,420,523,267, - 29,37,47,167,472,474,476,478,167,745, - 745,26,34,51,327,747,747,139,541,226, + 622,43,4,16,57,185,473,540,57,587, + 641,192,394,632,200,211,435,527,267,421, + 29,37,47,167,476,478,480,482,167,749, + 749,26,34,51,327,751,751,139,545,226, 289,320,274,342 }; }; @@ -2775,21 +2778,21 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 48,17,17,75,129,17,17,17,17,81, - 88,49,75,129,128,73,57,81,80,48, - 17,19,3,7,8,176,176,175,127,48, - 128,128,130,23,105,58,49,150,143,105, - 81,17,17,143,100,61,71,147,182,145, - 84,179,176,175,130,196,55,60,154,17, - 17,17,17,12,122,175,81,80,80,41, - 150,140,140,69,75,80,17,17,17,17, - 100,19,117,136,16,180,176,198,98,107, - 63,89,62,169,71,130,82,155,154,189, - 150,16,17,71,79,175,130,109,79,21, - 150,140,75,129,150,140,140,129,81,48, - 117,136,187,175,162,161,160,159,72,148, - 52,117,136,218,69,148,52,179,109,127, - 48,69,48,61 + 49,130,18,18,76,130,18,18,18,18, + 82,89,50,76,129,74,58,82,81,49, + 18,20,3,7,8,178,178,177,128,49, + 129,129,131,24,106,59,50,151,144,106, + 82,18,18,144,101,62,72,148,184,146, + 85,181,178,177,131,198,56,61,155,18, + 18,18,18,12,123,177,82,81,81,42, + 151,141,141,70,76,81,18,18,18,18, + 101,20,118,137,17,182,178,200,99,108, + 64,90,63,171,72,131,83,156,155,191, + 151,17,18,72,80,177,131,110,80,22, + 151,141,76,151,141,141,130,82,49,130, + 118,137,189,177,163,162,161,160,73,149, + 53,118,137,220,70,149,53,181,110,128, + 49,70,49,62 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -2797,18 +2800,18 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static char scopeLa[] = { - 127,75,75,81,81,75,75,75,75,75, - 81,44,81,81,1,78,1,75,130,71, + 111,81,75,75,81,81,75,75,75,75, + 75,81,44,81,1,78,1,75,130,71, 3,75,78,78,78,1,1,44,81,71, 1,1,1,75,81,1,1,4,78,77, 44,1,1,78,75,75,1,75,75,75, - 127,75,1,44,1,44,44,81,126,75, - 75,75,126,1,75,1,75,75,75,76, + 111,75,1,44,1,44,44,81,127,75, + 75,75,127,1,75,1,75,75,75,76, 4,1,1,11,71,75,78,78,78,78, 75,3,6,6,75,1,1,75,75,3, - 1,126,75,1,1,1,44,75,126,75, + 1,127,75,1,1,1,44,75,127,75, 8,75,75,6,76,1,45,80,76,75, - 1,1,71,71,45,1,1,1,82,79, + 1,1,71,45,1,1,71,82,79,1, 1,1,27,44,1,63,62,62,44,4, 4,1,1,96,12,4,4,3,1,71, 1,11,1,3 @@ -2819,8 +2822,8 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static char scopeStateSet[] = { - 98,331,331,40,148,331,331,331,331,111, - 42,98,40,148,148,40,100,111,111,98, + 98,148,331,331,40,148,331,331,331,331, + 111,42,98,40,148,40,100,111,111,98, 331,331,258,302,302,9,9,37,148,98, 148,148,148,152,124,100,98,131,5,124, 111,331,331,5,140,57,63,148,54,1, @@ -2830,7 +2833,7 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 140,331,73,28,331,12,9,23,140,142, 57,136,57,78,63,148,111,15,25,134, 131,331,331,63,111,37,148,32,111,336, - 131,148,40,148,131,148,148,148,111,98, + 131,148,40,131,148,148,148,111,98,148, 73,28,149,37,149,149,149,149,84,81, 213,73,28,406,197,81,213,12,32,148, 98,197,98,57 @@ -2841,82 +2844,82 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 198,3,0,135,227,0,170,226,135,0, - 210,0,226,135,0,255,210,0,248,170, - 0,255,0,170,0,234,255,0,234,0, - 202,170,0,184,255,0,184,0,198,3, - 27,0,135,0,294,0,262,0,225,0, - 32,166,0,349,84,0,30,180,0,191, - 3,0,345,3,314,0,344,3,3,6, - 0,135,135,0,343,3,70,0,342,3, - 127,0,135,181,0,135,191,79,0,225, - 0,272,135,69,133,0,20,0,312,135, + 199,3,0,135,227,0,171,227,135,0, + 210,0,227,135,0,255,210,0,249,171, + 0,255,0,171,0,234,255,0,234,0, + 203,171,0,184,255,0,184,0,199,3, + 27,0,135,0,295,0,262,0,226,0, + 32,166,0,351,84,0,30,180,0,192, + 3,0,347,3,316,0,346,3,3,6, + 0,135,135,0,345,3,70,0,344,3, + 111,0,135,181,0,135,192,79,0,225, + 0,273,135,69,133,0,20,0,314,135, 69,45,0,20,58,0,33,141,0,20, - 58,0,0,312,135,69,45,207,0,20, - 187,0,272,135,69,141,0,199,136,0, - 150,0,232,3,311,0,311,0,2,0, - 135,0,272,135,69,140,0,199,136,239, - 0,199,136,31,239,0,199,136,338,31, - 0,137,208,183,136,0,137,0,208,183, - 136,0,143,137,0,181,0,334,135,181, - 0,135,181,0,232,137,0,183,333,262, - 0,145,0,0,0,0,333,262,0,146, + 58,0,0,314,135,69,45,208,0,20, + 187,0,273,135,69,141,0,200,136,0, + 150,0,233,3,313,0,313,0,2,0, + 135,0,273,135,69,140,0,200,136,240, + 0,200,136,31,240,0,200,136,340,31, + 0,137,209,184,136,0,137,0,209,184, + 136,0,143,137,0,182,0,336,135,182, + 0,135,182,0,232,137,0,184,335,263, + 0,145,0,0,0,0,335,263,0,146, 145,0,0,0,0,144,0,0,0,0, - 146,144,0,0,0,0,332,135,174,271, - 0,136,0,271,0,138,0,0,136,0, - 331,135,174,237,0,136,0,0,44,136, - 0,0,167,3,0,135,302,301,135,79, - 300,181,0,301,135,79,300,181,0,224, - 0,225,0,300,181,0,101,0,0,224, + 146,144,0,0,0,0,334,135,175,272, + 0,136,0,272,0,138,0,0,136,0, + 333,135,175,238,0,136,0,0,44,136, + 0,0,168,3,0,135,304,303,135,79, + 302,182,0,303,135,79,302,182,0,224, + 0,225,0,302,182,0,101,0,0,224, 0,225,0,212,101,0,0,224,0,225, - 0,301,135,300,181,0,224,0,212,0, - 0,224,0,242,135,3,0,135,0,0, - 0,0,0,242,135,3,229,0,238,3, - 0,217,0,155,0,195,183,136,0,10, - 0,0,0,0,195,0,9,0,0,225, - 72,0,134,0,242,135,3,193,0,193, + 0,303,135,302,182,0,224,0,212,0, + 0,224,0,243,135,3,0,135,0,0, + 0,0,0,243,135,3,230,0,239,3, + 0,217,0,155,0,196,184,136,0,10, + 0,0,0,0,196,0,9,0,0,226, + 72,0,134,0,243,135,3,194,0,194, 0,2,0,0,135,0,0,0,0,0, - 202,3,0,255,135,174,41,34,0,199, - 136,66,68,0,205,137,0,137,199,136, - 298,68,0,199,136,298,68,0,199,136, - 80,132,66,0,255,135,174,264,66,0, - 264,66,0,138,0,0,136,0,255,135, - 174,264,241,66,0,264,241,66,0,296, - 135,174,132,328,63,0,328,63,0,139, - 138,0,0,136,0,296,135,174,328,63, - 0,138,0,0,136,0,199,136,295,63, - 0,144,0,208,199,136,295,262,0,145, - 0,199,136,295,262,0,208,183,136,13, - 0,183,136,13,0,183,136,0,98,145, - 0,201,0,200,0,199,0,198,0,288, - 135,158,0,288,135,181,0,175,91,0, - 323,176,325,326,3,88,0,135,180,0, - 325,326,3,88,0,137,0,135,180,0, - 175,3,82,209,87,0,135,137,0,209, - 87,0,113,2,140,135,137,0,240,3, - 82,0,202,184,0,33,178,0,184,0, - 184,33,178,0,240,3,92,0,209,162, - 240,3,90,0,67,180,0,240,3,90, - 0,135,180,67,180,0,324,135,174,0, - 175,0,225,84,0,175,115,171,0,30, - 178,0,135,158,0,232,3,0,225,72, - 285,0,175,72,0,198,3,320,74,136, - 0,135,0,0,0,0,320,74,136,0, - 2,154,135,0,0,0,0,156,0,134, - 45,183,136,0,31,156,0,98,145,31, - 156,0,233,199,136,0,155,31,156,0, - 175,3,57,0,175,3,78,198,69,49, - 0,198,69,49,0,20,2,140,135,0, - 175,3,78,198,69,52,0,198,69,52, - 0,175,3,78,198,69,54,0,198,69, - 54,0,175,3,78,198,69,50,0,198, - 69,50,0,232,3,134,208,183,136,13, - 0,134,208,183,136,13,0,145,2,0, - 135,0,232,3,133,254,183,136,13,0, - 254,183,136,13,0,144,2,0,135,0, - 232,3,144,0,232,3,148,0,175,72, - 148,0,280,0,31,0,31,148,0,182, - 0,143,0,175,3,0 + 203,3,0,256,135,175,41,34,0,200, + 136,66,68,0,205,137,0,137,200,136, + 300,68,0,200,136,300,68,0,200,136, + 80,132,66,0,256,135,175,265,66,0, + 265,66,0,138,0,0,136,0,256,135, + 175,265,242,66,0,265,242,66,0,297, + 298,135,175,132,330,63,0,330,63,0, + 139,138,0,0,0,136,0,297,298,135, + 175,330,63,0,138,0,0,0,136,0, + 200,136,296,63,0,144,0,209,200,136, + 296,263,0,145,0,200,136,296,263,0, + 209,184,136,13,0,184,136,13,0,184, + 136,0,98,145,0,201,0,200,0,199, + 0,198,0,289,135,159,0,289,135,182, + 0,176,91,0,325,177,327,328,3,88, + 0,135,180,0,327,328,3,88,0,137, + 0,135,180,0,176,3,82,210,87,0, + 135,137,0,210,87,0,113,2,140,135, + 137,0,241,3,82,0,203,185,0,33, + 178,0,185,0,184,33,178,0,241,3, + 92,0,210,163,241,3,90,0,67,180, + 0,241,3,90,0,135,180,67,180,0, + 326,135,175,0,176,0,226,84,0,176, + 116,172,0,30,178,0,135,158,0,233, + 3,0,226,72,286,0,176,72,0,199, + 3,322,74,136,0,135,0,0,0,0, + 322,74,136,0,2,154,135,0,0,0, + 0,156,0,134,45,184,136,0,31,156, + 0,98,145,31,156,0,234,200,136,0, + 155,31,156,0,176,3,57,0,176,3, + 78,199,69,49,0,199,69,49,0,20, + 2,140,135,0,176,3,78,199,69,52, + 0,199,69,52,0,176,3,78,199,69, + 54,0,199,69,54,0,176,3,78,199, + 69,50,0,199,69,50,0,233,3,134, + 209,184,136,13,0,134,209,184,136,13, + 0,145,2,0,135,0,233,3,133,255, + 184,136,13,0,255,184,136,13,0,144, + 2,0,135,0,233,3,144,0,233,3, + 149,0,176,72,149,0,281,0,31,0, + 31,148,0,183,0,143,0,176,3,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -2924,47 +2927,47 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 2194,2119,612,0,5611,1612,4046,0,1102,1037, - 0,1429,939,0,2103,1954,0,3314,1369,2990, - 1358,0,977,0,2380,906,0,3239,3070,2694, - 0,6104,6204,6203,5833,0,4457,5928,0,4457, - 5928,5387,5843,5808,5766,5731,5689,5324,5654,5612, - 5289,5577,0,824,826,0,3951,4702,3022,719, - 3377,2740,4577,4881,3239,3070,3662,4909,3645,3449, - 2694,3632,3404,3329,3284,2770,0,3377,2740,0, - 3968,746,0,4492,4431,4370,4309,4248,4187,4126, - 4065,4004,3943,2823,3547,5601,0,4457,5928,5387, - 5843,5808,5766,5731,5689,5324,5654,5612,5289,5577, - 4492,4431,4370,4309,4248,4187,4126,4065,4004,3943, - 2823,3547,0,1063,1171,1015,2398,1198,4680,0, - 2720,850,0,799,0,1194,901,825,698,3022, - 5983,4577,3645,3632,3715,2840,0,4838,608,2783, - 0,3801,4421,3404,4416,3713,3329,5849,3677,4881, - 3951,3284,3555,4900,3017,3239,3599,3070,2664,3026, - 5655,3662,2714,2573,5618,2896,3232,2685,750,5560, - 5401,3258,2483,1250,1090,4838,4377,4011,3942,3588, - 3396,3494,3035,2824,608,2783,4702,3022,5921,2770, - 5433,719,4316,4255,4194,2694,5885,5983,4499,4133, - 4072,0,6223,6219,6194,6176,6164,6149,6141,6121, - 6117,4718,6086,6059,6048,4627,3566,3506,3318,3273, - 6027,5352,5317,3177,3173,0,2335,1758,4492,4431, - 3995,2754,4370,4309,4248,4187,4126,4065,4004,644, - 3943,2823,6031,3547,6010,3063,0,1773,1677,6223, - 6219,1579,1321,6194,1085,6176,6164,6149,1993,6141, - 6121,2185,6117,1945,1897,4718,1821,1509,6086,1460, - 1398,6059,6048,1349,790,4627,968,3566,2157,3506, - 3318,3273,918,6027,5352,4838,5317,751,2783,3177, - 3173,1418,1261,995,705,924,4577,3404,3329,4881, - 3951,3284,3239,4702,3070,3022,2770,3662,719,4909, - 3645,3377,3449,2694,3632,2740,2810,2404,2720,850, - 5556,5535,5514,5476,5294,5267,4680,1123,2948,3137, - 2986,3524,3471,3181,4644,4590,3920,3889,3858,3827, - 3779,3748,5025,5003,4981,4816,4787,5245,5223,5201, - 5179,5157,5135,5113,5091,5069,5047,4737,2641,2599, - 1487,2356,1063,2551,2509,2461,1171,1438,1376,1219, - 2419,1327,1015,946,2308,2260,2163,870,801,656, - 2115,2067,2019,1971,1923,1875,1827,1779,1731,1683, - 1635,608,1585,1537,1279,2205,0 + 2038,1989,1019,0,5566,6280,4440,0,3910,3843, + 0,3215,1412,0,2380,662,0,2746,2304,1652, + 2185,0,1691,0,2073,1779,0,3366,3166,2774, + 0,6051,6244,6192,5634,0,5677,5960,0,5677, + 5960,5609,5941,5898,5863,5820,5785,5565,5742,5707, + 5530,5644,0,2029,2939,0,3813,4971,668,4871, + 3505,4942,4700,5143,3366,3166,5116,5536,3892,3577, + 2774,2850,3532,3456,3411,3009,0,3505,4942,0, + 1692,1103,0,4614,4552,4490,4428,4366,4304,4242, + 4180,4118,4056,3805,2845,4430,0,5677,5960,5609, + 5941,5898,5863,5820,5785,5565,5742,5707,5530,5644, + 4614,4552,4490,4428,4366,4304,4242,4180,4118,4056, + 3805,2845,0,1120,1228,1071,1833,990,4027,0, + 902,833,0,1018,0,2277,2241,1702,1166,668, + 4900,4700,3892,2850,4058,2938,0,4827,613,2805, + 0,3883,5551,3532,4962,3844,3456,5715,3305,5143, + 3813,3411,4867,2769,4491,3366,2764,3166,962,5748, + 5137,5116,3524,957,5531,3446,4542,3184,641,4862, + 4621,663,893,873,672,4827,4429,4367,725,3360, + 4373,3356,2931,4050,613,2805,4971,668,6038,3009, + 6047,4871,4311,4249,5906,2774,5979,4900,4615,4187, + 4054,0,6273,6262,6258,6225,6214,6202,6187,6181, + 6169,4856,6154,6142,6124,3829,3441,3273,3067,3269, + 5132,4863,4791,2822,1172,0,2771,2317,4614,4552, + 2412,1207,4490,4428,4366,4304,4242,4180,4118,1537, + 4056,3805,6085,2845,6053,3158,0,1741,1543,6273, + 6262,1432,1383,6258,948,6225,6214,6202,1917,6187, + 6181,2260,6169,1868,1819,4856,1671,1622,6154,1572, + 1523,6142,6124,1363,2701,3829,974,3441,2231,3273, + 3067,3269,1300,5132,4863,4827,4791,699,2805,2822, + 1172,2877,1481,1320,821,712,4700,3532,3456,5143, + 3813,3411,3366,4971,3166,668,3009,5116,4871,5536, + 3892,3505,3577,2774,2850,4942,2482,1049,902,833, + 5508,5486,5464,4768,3960,5441,4027,1183,2970,3130, + 3082,3332,3277,3234,3996,3920,3781,3749,3717,3685, + 3653,3600,5088,5065,5042,4804,4713,5418,5395,5372, + 5349,5326,5303,5280,5257,5234,5211,5007,2721,2678, + 1549,2433,1120,2630,2587,2539,1228,1500,1438,1277, + 2496,1389,1071,994,2384,2335,2237,925,847,778, + 2188,2139,2090,2041,1992,1943,1894,1845,1796,1747, + 1698,613,1648,1599,1340,2280,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -2972,68 +2975,68 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,319,135,287,57,49,52,54,50,13, + 0,321,135,288,57,49,52,54,50,13, 144,133,140,9,141,4,3,136,27,61, - 53,48,8,43,42,11,12,47,46,148, - 157,160,159,163,161,165,164,168,166,169, - 70,171,77,3,69,69,69,69,136,3, - 69,69,184,135,72,3,73,74,69,8, - 191,198,175,184,135,174,73,74,183,182, - 133,3,132,134,114,128,3,72,97,98, + 53,48,8,43,42,11,12,47,46,149, + 158,161,160,164,162,166,165,169,167,170, + 70,172,77,3,69,69,69,69,136,3, + 69,69,185,135,72,3,73,74,69,8, + 192,199,176,185,135,175,73,74,184,183, + 133,3,132,134,115,128,3,72,97,98, 43,42,100,99,11,110,109,102,101,78, - 69,94,95,12,104,103,106,105,107,125, - 124,123,122,121,120,119,118,117,116,80, - 115,108,175,198,198,198,198,183,232,135, - 135,135,289,6,7,5,290,271,291,262, - 292,63,293,13,136,318,294,27,72,72, - 135,133,162,135,72,3,230,229,144,134, - 133,13,136,27,135,72,320,3,208,4, - 198,45,136,45,232,175,159,159,157,157, - 157,161,161,161,161,161,161,160,160,164, - 163,163,166,165,168,254,175,169,78,78, - 78,78,208,254,272,275,272,226,170,136, - 195,3,3,3,174,333,295,170,328,295, - 170,136,199,183,3,272,174,237,226,225, - 171,238,135,3,136,183,149,324,86,84, - 1,175,10,92,90,88,87,82,89,91, - 85,83,181,5,66,68,79,221,3,321, - 184,167,280,208,162,136,199,183,76,76, - 3,3,3,3,134,133,77,183,12,11, - 3,346,1,41,135,183,245,134,133,136, - 132,174,136,183,45,198,135,174,242,243, - 158,244,135,183,45,10,76,349,225,76, - 3,3,3,209,3,132,175,300,135,3, - 136,193,347,132,66,298,191,198,135,135, - 4,233,8,45,175,175,175,175,3,3, - 195,195,344,314,3,332,136,179,239,66, - 45,207,68,181,335,134,133,246,170,246, - 199,174,135,199,208,162,135,162,80,238, - 202,197,193,3,135,77,242,208,76,96, - 76,240,184,240,326,158,82,240,79,135, - 288,202,135,267,299,226,170,136,202,199, - 183,3,3,80,136,136,135,162,282,285, - 72,200,4,132,134,232,232,11,135,77, - 162,3,41,1,183,264,241,170,69,45, - 135,246,246,135,135,208,135,296,132,297, - 331,135,80,80,135,226,162,134,162,202, - 162,325,135,3,162,135,301,76,170,226, - 3,80,77,202,183,135,348,41,277,136, - 199,199,303,127,135,3,72,175,4,195, - 201,345,208,174,264,78,69,334,76,250, - 202,133,248,170,135,135,76,296,80,77, - 216,77,234,170,135,80,209,176,288,170, - 175,301,310,136,311,167,170,242,76,162, - 3,77,199,241,137,3,282,232,225,135, - 77,137,135,174,36,39,34,45,66,135, - 77,76,80,170,248,170,153,337,239,31, - 136,216,10,135,234,130,323,162,302,77, - 199,3,162,11,1,241,96,342,184,255, - 257,135,45,45,45,41,132,312,45,13, - 62,248,170,77,136,31,338,199,70,135, - 162,135,232,135,1,162,162,135,255,135, - 174,77,78,69,245,245,199,136,136,3, - 303,234,135,135,80,80,199,199,343,135, - 255,312,77,78,62,245,80 + 69,94,95,12,104,103,106,105,107,126, + 125,124,123,122,121,120,119,118,117,80, + 116,108,176,199,199,199,199,184,233,135, + 135,135,290,6,7,5,291,272,292,263, + 293,63,294,13,136,320,295,27,72,72, + 135,133,163,135,72,3,231,230,144,134, + 133,13,136,27,135,72,322,3,209,4, + 199,45,136,45,233,176,160,160,158,158, + 158,162,162,162,162,162,162,161,161,165, + 164,164,167,166,169,255,176,170,78,78, + 78,78,209,255,273,276,273,227,171,136, + 196,3,3,3,175,335,296,171,330,296, + 171,136,200,184,3,273,175,238,227,226, + 172,239,135,3,136,184,150,326,86,84, + 1,176,10,92,90,88,87,82,89,91, + 85,83,182,5,66,68,79,222,3,323, + 185,168,281,209,163,136,200,184,76,76, + 3,3,3,3,134,133,77,184,12,11, + 3,348,1,41,135,184,246,134,133,136, + 132,175,136,184,45,199,135,175,243,244, + 159,245,135,184,45,10,76,351,226,76, + 3,3,3,210,3,132,176,302,135,3, + 136,194,349,132,66,300,192,199,135,135, + 4,234,8,45,176,176,176,176,3,3, + 196,196,346,316,3,334,136,180,240,66, + 45,208,68,182,337,134,133,247,171,247, + 200,175,135,200,209,163,135,163,80,239, + 203,198,194,3,135,77,243,209,76,96, + 76,241,185,241,328,159,82,241,79,135, + 289,203,135,268,301,227,171,136,203,200, + 184,3,3,80,136,136,135,163,283,286, + 72,201,4,132,134,233,233,11,135,77, + 163,3,41,1,184,265,242,171,69,45, + 135,247,247,135,135,209,135,298,132,299, + 333,135,80,80,135,227,163,134,163,203, + 163,327,135,3,163,135,303,76,171,227, + 3,80,77,203,184,135,350,41,278,136, + 200,200,305,111,135,3,72,176,4,196, + 202,347,209,175,265,78,69,336,76,251, + 203,133,249,171,135,135,76,298,297,80, + 77,217,77,235,171,135,80,210,177,289, + 171,176,303,312,136,313,168,171,243,76, + 163,3,77,200,242,137,3,283,233,226, + 135,77,137,135,175,36,39,34,45,66, + 135,77,76,80,171,249,171,154,339,240, + 31,136,297,217,10,135,235,130,325,163, + 304,77,200,3,163,11,1,242,96,344, + 185,256,258,135,45,45,45,41,132,314, + 45,13,62,249,171,77,136,31,340,200, + 70,135,163,135,233,135,1,163,163,135, + 256,135,175,77,78,69,246,246,200,136, + 136,3,305,235,135,135,80,80,200,200, + 345,135,256,314,77,78,62,246,80 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -3328,20 +3331,20 @@ public class GPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 617, + NUM_STATES = 619, NT_OFFSET = 131, - LA_STATE_OFFSET = 7882, + LA_STATE_OFFSET = 7892, MAX_LA = 2147483647, - NUM_RULES = 607, - NUM_NONTERMINALS = 222, - NUM_SYMBOLS = 353, + NUM_RULES = 612, + NUM_NONTERMINALS = 224, + NUM_SYMBOLS = 355, SEGMENT_SIZE = 8192, - START_STATE = 1371, + START_STATE = 1495, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 129, EOLT_SYMBOL = 129, - ACCEPT_ACTION = 6424, - ERROR_ACTION = 7275; + ACCEPT_ACTION = 6426, + ERROR_ACTION = 7280; public final static boolean BACKTRACK = true; diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java index 41814fe3012..e00b6999b46 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/internal/core/dom/lrparser/gpp/GPPSizeofExpressionParsersym.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * * IBM Corporation - initial API and implementation - *******************************************************************************/ +* Copyright (c) 2006, 2010 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*********************************************************************************/ // This file was generated by LPG @@ -23,7 +23,7 @@ public interface GPPSizeofExpressionParsersym { TK_bool = 16, TK_break = 83, TK_case = 84, - TK_catch = 127, + TK_catch = 111, TK_char = 17, TK_class = 62, TK_const = 28, @@ -52,9 +52,9 @@ public interface GPPSizeofExpressionParsersym { TK_namespace = 66, TK_new = 74, TK_operator = 9, - TK_private = 111, - TK_protected = 112, - TK_public = 113, + TK_private = 112, + TK_protected = 113, + TK_public = 114, TK_register = 38, TK_reinterpret_cast = 52, TK_return = 91, @@ -93,7 +93,7 @@ public interface GPPSizeofExpressionParsersym { TK_LeftParen = 3, TK_Dot = 128, TK_DotStar = 98, - TK_Arrow = 114, + TK_Arrow = 115, TK_ArrowStar = 97, TK_PlusPlus = 46, TK_MinusMinus = 47, @@ -117,23 +117,23 @@ public interface GPPSizeofExpressionParsersym { TK_Or = 106, TK_AndAnd = 107, TK_OrOr = 108, - TK_Question = 115, + TK_Question = 116, TK_Colon = 76, TK_ColonColon = 4, TK_DotDotDot = 96, TK_Assign = 80, - TK_StarAssign = 116, - TK_SlashAssign = 117, - TK_PercentAssign = 118, - TK_PlusAssign = 119, - TK_MinusAssign = 120, - TK_RightShiftAssign = 121, - TK_LeftShiftAssign = 122, - TK_AndAssign = 123, - TK_CaretAssign = 124, - TK_OrAssign = 125, + TK_StarAssign = 117, + TK_SlashAssign = 118, + TK_PercentAssign = 119, + TK_PlusAssign = 120, + TK_MinusAssign = 121, + TK_RightShiftAssign = 122, + TK_LeftShiftAssign = 123, + TK_AndAssign = 124, + TK_CaretAssign = 125, + TK_OrAssign = 126, TK_Comma = 77, - TK_RightBracket = 126, + TK_RightBracket = 127, TK_RightParen = 75, TK_RightBrace = 81, TK_SemiColon = 44, @@ -259,6 +259,7 @@ public interface GPPSizeofExpressionParsersym { "OrOr", "MAX", "MIN", + "catch", "private", "protected", "public", @@ -275,7 +276,6 @@ public interface GPPSizeofExpressionParsersym { "CaretAssign", "OrAssign", "RightBracket", - "catch", "Dot", "EOF_TOKEN", "else", |