From 79b1624503db554e8f54017d8b5af758d776f750 Mon Sep 17 00:00:00 2001 From: Eric Milles Date: Fri, 31 Jul 2020 08:01:18 -0500 Subject: [PATCH] Fix for #1129: after "x." check for declaration to prevent "x.\ndef" "y" --- .../core/tests/basic/ErrorRecoveryTests.java | 15 +- .../core/tests/basic/GroovySimpleTests.java | 106 +- .../src/org/codehaus/groovy/antlr/groovy.g | 26 +- .../groovy/antlr/parser/GroovyLexer.java | 228 +- .../groovy/antlr/parser/GroovyLexer.smap | 5406 +++++++------- .../groovy/antlr/parser/GroovyRecognizer.java | 277 +- .../groovy/antlr/parser/GroovyRecognizer.smap | 6443 +++++++++-------- .../src/org/codehaus/groovy/antlr/groovy.g | 26 +- .../groovy/antlr/parser/GroovyLexer.java | 228 +- .../groovy/antlr/parser/GroovyLexer.smap | 5406 +++++++------- .../groovy/antlr/parser/GroovyRecognizer.java | 277 +- .../groovy/antlr/parser/GroovyRecognizer.smap | 6443 +++++++++-------- .../src/org/codehaus/groovy/antlr/groovy.g | 22 +- .../groovy/antlr/parser/GroovyLexer.java | 228 +- .../groovy/antlr/parser/GroovyRecognizer.java | 277 +- .../groovy/antlr/parser/GroovyRecognizer.smap | 3847 +++++----- .../tests/ContentAssistLocationTests.groovy | 52 +- .../tests/MethodCompletionTests.groovy | 45 + 18 files changed, 14788 insertions(+), 14564 deletions(-) diff --git a/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/ErrorRecoveryTests.java b/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/ErrorRecoveryTests.java index bba58e333f..17a74248ec 100644 --- a/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/ErrorRecoveryTests.java +++ b/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/ErrorRecoveryTests.java @@ -1679,8 +1679,9 @@ public void testParsingRecovery_InstrusivePathExpr1() { "import java.text.NumberFormat\n" + "\n" + "class X {\n" + + " @SuppressWarnings('rawtypes')\n" + " static void main(args) {\n" + - " NumberFormat.\n" + // added after next line + " NumberFormat.\n" + // caret " Set s = []\n" + " }\n" + "}\n", @@ -1689,10 +1690,10 @@ public void testParsingRecovery_InstrusivePathExpr1() { runNegativeTest(sources, "----------\n" + - "1. ERROR in X.groovy (at line 8)\n" + + "1. ERROR in X.groovy (at line 9)\n" + "\tSet s = []\n" + - "\t ^\n" + - "Groovy:Apparent variable 's' was found in a static scope but doesn't refer to a local variable, static field or class.\n" + + "\t^\n" + + "Groovy:unexpected token: Set\n" + "----------\n"); ModuleNode mn = getModuleNode("X.groovy"); @@ -1713,7 +1714,7 @@ public void testParsingRecovery_InstrusivePathExpr2() { "\n" + "class X {\n" + " static void main(args) {\n" + - " NumberFormat.\n" + // added after next line + " NumberFormat.\n" + // caret " Set s = []\n" + " }\n" + "}\n", @@ -1724,8 +1725,8 @@ public void testParsingRecovery_InstrusivePathExpr2() { "----------\n" + "1. ERROR in X.groovy (at line 8)\n" + "\tSet s = []\n" + - "\t ^\n" + - "Groovy:unexpected token: >\n" + + "\t^\n" + + "Groovy:unexpected token: Set\n" + "----------\n"); ModuleNode mn = getModuleNode("X.groovy"); diff --git a/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/GroovySimpleTests.java b/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/GroovySimpleTests.java index fdb14d6d4a..49579ed324 100644 --- a/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/GroovySimpleTests.java +++ b/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/GroovySimpleTests.java @@ -2586,29 +2586,7 @@ public void testMissingContext_GRE308_2() { } @Test - public void testInvalidScripts_GRE323_1() { - //@formatter:off - String[] sources = { - "Foo.groovy", - "def foo(closure) {\n" + - " closure()\n" + - "}\n" + - "\n" + - "foo {\n" + - " final session2 = null\n" + - " \n" + - " // Define scenarios\n" + - " def secBoardRep = session2\n" + - " def x\n" + - "}\n", - }; - //@formatter:on - - runNegativeTest(sources, ""); - } - - @Test - public void testInvalidScripts_GRE323_1b() { + public void testSloppyScript_GRE323_1() { //@formatter:off String[] sources = { "Foo.groovy", @@ -2630,7 +2608,7 @@ public void testInvalidScripts_GRE323_1b() { } @Test - public void testInvalidScripts_GRE323_2() { + public void testSloppyScript_GRE323_2() { //@formatter:off String[] sources = { "Foo.groovy", @@ -2648,27 +2626,17 @@ public void testInvalidScripts_GRE323_2() { }; //@formatter:on - runConformTest(sources, "", "groovy.lang.MissingPropertyException: No such property: x for class: Foo"); + runNegativeTest(sources, + "----------\n" + + "1. ERROR in Foo.groovy (at line 10)\n" + + "\tdef x\n" + + "\t^\n" + + "Groovy:unexpected token: def\n" + + "----------\n"); } @Test // removed surrounding method - public void testInvalidScripts_GRE323_3() { - //@formatter:off - String[] sources = { - "Foo.groovy", - "final session2 = null\n" + - "\n" + - "// Define scenarios\n" + - "def secBoardRep = session2\n" + - "def x\n", - }; - //@formatter:on - - runNegativeTest(sources, ""); - } - - @Test - public void testInvalidScripts_GRE323_3b() { + public void testSloppyScript_GRE323_3() { //@formatter:off String[] sources = { "Foo.groovy", @@ -2684,7 +2652,7 @@ public void testInvalidScripts_GRE323_3b() { } @Test - public void testInvalidScripts_GRE323_4() { + public void testSloppyScript_GRE323_4() { //@formatter:off String[] sources = { "Foo.groovy", @@ -2702,18 +2670,24 @@ public void testInvalidScripts_GRE323_4() { }; //@formatter:on - runConformTest(sources, "", "groovy.lang.MissingPropertyException: No such property: x for class: Foo"); + runNegativeTest(sources, + "----------\n" + + "1. ERROR in Foo.groovy (at line 10)\n" + + "\tdef x\n" + + "\t^\n" + + "Groovy:unexpected token: def\n" + + "----------\n"); } @Test - public void testInvalidScripts_GRE323_4b() { + public void testSloppyScript_GRE323_4b() { //@formatter:off String[] sources = { "Run.java", "public class Run {\n" + " public static void main(String[]argv) {\n" + " try {\n" + - " Foo.main(null);\n" + + " Foo.main();\n" + " } catch (Throwable t) {\n" + " System.out.println(t.getMessage());\n" + " }\n" + @@ -2735,11 +2709,17 @@ public void testInvalidScripts_GRE323_4b() { }; //@formatter:on - runConformTest(sources, "No such property: x for class: Foo"); + runNegativeTest(sources, + "----------\n" + + "1. ERROR in Foo.groovy (at line 10)\n" + + "\tdef x\n" + + "\t^\n" + + "Groovy:unexpected token: def\n" + + "----------\n"); } @Test - public void testInvalidScripts_GRE323_5() { + public void testSloppyScript_GRE323_5() { //@formatter:off String[] sources = { "Foo.groovy", @@ -2758,11 +2738,22 @@ public void testInvalidScripts_GRE323_5() { }; //@formatter:on - runNegativeTest(sources, ""); + runNegativeTest(sources, + "----------\n" + + "1. ERROR in Foo.groovy (at line 11)\n" + + "\tdef x\n" + + "\t^\n" + + "Groovy:unexpected token: def\n" + + "----------\n" + + "2. ERROR in Foo.groovy (at line 11)\n" + + "\tdef x\n" + + "\t ^\n" + + "Groovy:The current scope already contains a variable of the name x\n" + + "----------\n"); } @Test - public void testInvalidScripts_GRE323_5b() { + public void testSloppyScript_GRE323_5b() { //@formatter:off String[] sources = { "Foo.groovy", @@ -2781,11 +2772,22 @@ public void testInvalidScripts_GRE323_5b() { }; //@formatter:on - runConformTest(sources, "DEF"); + runNegativeTest(sources, + "----------\n" + + "1. ERROR in Foo.groovy (at line 11)\n" + + "\tdef x\n" + + "\t^\n" + + "Groovy:unexpected token: def\n" + + "----------\n" + + "2. ERROR in Foo.groovy (at line 11)\n" + + "\tdef x\n" + + "\t ^\n" + + "Groovy:The current scope already contains a variable of the name x\n" + + "----------\n"); } @Test - public void testInvalidScripts_GRE323_6() { + public void testSloppyScript_GRE323_6() { //@formatter:off String[] sources = { "Foo.groovy", diff --git a/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/groovy.g b/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/groovy.g index c18f4a4fd5..7d0547882f 100644 --- a/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/groovy.g +++ b/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/groovy.g @@ -2738,20 +2738,19 @@ pathElement[AST prefix] {Token operator = LT(1);} : { #pathElement = prefix; } ( nls! - ( SPREAD_DOT! // Spread operator: x*.y === x?.collect{it.y} + ( SPREAD_DOT! // Spread operator: x*.y === x?.collect{it.y} | - OPTIONAL_DOT! // Optional-null operator: x?.y === (x==null)?null:x.y + OPTIONAL_DOT! // Null-safe operator: x?.y === (x==null)?null:x.y | - MEMBER_POINTER! // Member pointer operator: foo.&y == foo.metaClass.getMethodPointer(foo, "y") + MEMBER_POINTER! // Reference operator: x.&y === x.metaClass.getMethodPointer(x,"y") | - DOT! // The all-powerful dot. + DOT! // The all-powerful dot ) ) nls! (ta:typeArguments!)? // GRECLIPSE edit -- recovery for missing identifier //np:namePart! - //{ #pathElement = #(create(operator.getType(),operator.getText(),prefix,LT(1)),prefix,ta,np); } - (np:namePart!)? + ( (declarationStart) => nls! | (np:namePart!)? ) { if (#np == null) { GroovySourceToken ident = new GroovySourceToken(IDENT); @@ -2761,23 +2760,24 @@ pathElement[AST prefix] {Token operator = LT(1);} ident.setColumnLast(((SourceInfo) LT(0)).getColumnLast()); #np = #(create(ident.getType(),ident.getText(),ident,null)); reportError(new NoViableAltException(LT(1), getFilename())); + while (LA(0) == NLS) rewind(mark() - 1); // give back spaces } - #pathElement = #(create(operator.getType(),operator.getText(),prefix,LT(1)),prefix,ta,np); } // GRECLIPSE end + { #pathElement = #(create(operator.getType(),operator.getText(),prefix,LT(1)),prefix,ta,np); } | mca:methodCallArgs[prefix]! - { #pathElement = #mca; } + { #pathElement = #mca; } | // Can always append a block, as foo{bar} apb:appendedBlock[prefix]! - { #pathElement = #apb; } + { #pathElement = #apb; } | // Element selection is always an option, too. // In Groovy, the stuff between brackets is a general argument list, // since the bracket operator is transformed into a method call. ipa:indexPropertyArgs[prefix]! - { #pathElement = #ipa; } + { #pathElement = #ipa; } ; pathElementStart! @@ -2793,7 +2793,7 @@ pathElementStart! /** This is the grammar for what can follow a dot: x.a, x.@a, x.&a, x.'a', etc. * Note: typeArguments is handled by the caller of namePart. */ -namePart {Token first = LT(1);} +namePart : ( ats:AT^ {#ats.setType(SELECT_SLOT);} )? // foo.@bar selects the field (or attribute), not property @@ -2939,10 +2939,6 @@ methodCallArgs[AST callee] */ appendedBlock[AST callee] : - /* FIXME DECIDE: should appended blocks accept labels? - ( (IDENT COLON nls LCURLY)=> - IDENT c:COLON^ {#c.setType(LABELED_ARG);} nls! - )? */ cb:closableBlock! { // If the callee is itself a call, flatten the AST. diff --git a/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java b/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java index 8965c3ff18..91e4338545 100644 --- a/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java +++ b/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java @@ -1576,8 +1576,8 @@ public final void mWS(boolean _createToken) throws RecognitionException, CharStr int _saveIndex; { - int _cnt672=0; - _loop672: + int _cnt675=0; + _loop675: do { if ((LA(1)=='\\') && (LA(2)=='\n'||LA(2)=='\r') && (true) && (true)) { match('\\'); @@ -1593,10 +1593,10 @@ else if ((LA(1)=='\u000c') && (true) && (true) && (true)) { match('\f'); } else { - if ( _cnt672>=1 ) { break _loop672; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt675>=1 ) { break _loop675; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } - _cnt672++; + _cnt675++; } while (true); } if ( inputState.guessing==0 ) { @@ -1694,8 +1694,8 @@ public final void mNLS(boolean _createToken) throws RecognitionException, CharSt { if (((LA(1)=='\t'||LA(1)=='\n'||LA(1)=='\u000c'||LA(1)=='\r'||LA(1)==' '||LA(1)=='/'||LA(1)=='\\'))&&(!whitespaceIncluded)) { { - int _cnt680=0; - _loop680: + int _cnt683=0; + _loop683: do { switch ( LA(1)) { case '\n': case '\r': @@ -1716,10 +1716,10 @@ else if ((LA(1)=='/') && (LA(2)=='*')) { mML_COMMENT(false); } else { - if ( _cnt680>=1 ) { break _loop680; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt683>=1 ) { break _loop683; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } - _cnt680++; + _cnt683++; } while (true); } } @@ -1756,7 +1756,7 @@ public final void mSL_COMMENT(boolean _createToken) throws RecognitionException, if (parser != null) parser.startComment(inputState.getLine(), inputState.getColumn() - 2); } { - _loop684: + _loop687: do { if ((_tokenSet_1.member(LA(1))) && (true) && (true) && (true)) { { @@ -1764,7 +1764,7 @@ public final void mSL_COMMENT(boolean _createToken) throws RecognitionException, } } else { - break _loop684; + break _loop687; } } while (true); @@ -1794,12 +1794,12 @@ public final void mML_COMMENT(boolean _createToken) throws RecognitionException, if (parser != null) parser.startComment(inputState.getLine(), inputState.getColumn() - 2); } { - _loop694: + _loop697: do { - boolean synPredMatched692 = false; + boolean synPredMatched695 = false; if (((LA(1)=='*') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m692 = mark(); - synPredMatched692 = true; + int _m695 = mark(); + synPredMatched695 = true; inputState.guessing++; try { { @@ -1808,12 +1808,12 @@ public final void mML_COMMENT(boolean _createToken) throws RecognitionException, } } catch (RecognitionException pe) { - synPredMatched692 = false; + synPredMatched695 = false; } - rewind(_m692); + rewind(_m695); inputState.guessing--; } - if ( synPredMatched692 ) { + if ( synPredMatched695 ) { match('*'); } else if ((LA(1)=='\n'||LA(1)=='\r')) { @@ -1825,7 +1825,7 @@ else if ((_tokenSet_2.member(LA(1)))) { } } else { - break _loop694; + break _loop697; } } while (true); @@ -1852,7 +1852,7 @@ public final void mSH_COMMENT(boolean _createToken) throws RecognitionException, throw new SemanticException("getLine() == 1 && getColumn() == 1"); match("#!"); { - _loop688: + _loop691: do { if ((_tokenSet_1.member(LA(1)))) { { @@ -1860,7 +1860,7 @@ public final void mSH_COMMENT(boolean _createToken) throws RecognitionException, } } else { - break _loop688; + break _loop691; } } while (true); @@ -1881,10 +1881,10 @@ public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionExcept int _saveIndex; int tt=0; - boolean synPredMatched697 = false; + boolean synPredMatched700 = false; if (((LA(1)=='\'') && (LA(2)=='\'') && (LA(3)=='\'') && ((LA(4) >= '\u0000' && LA(4) <= '\ufffe')))) { - int _m697 = mark(); - synPredMatched697 = true; + int _m700 = mark(); + synPredMatched700 = true; inputState.guessing++; try { { @@ -1892,17 +1892,17 @@ public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionExcept } } catch (RecognitionException pe) { - synPredMatched697 = false; + synPredMatched700 = false; } - rewind(_m697); + rewind(_m700); inputState.guessing--; } - if ( synPredMatched697 ) { + if ( synPredMatched700 ) { _saveIndex=text.length(); match("'''"); text.setLength(_saveIndex); { - _loop702: + _loop705: do { switch ( LA(1)) { case '\\': @@ -1926,10 +1926,10 @@ public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionExcept break; } default: - boolean synPredMatched701 = false; + boolean synPredMatched704 = false; if (((LA(1)=='\'') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && ((LA(4) >= '\u0000' && LA(4) <= '\ufffe')))) { - int _m701 = mark(); - synPredMatched701 = true; + int _m704 = mark(); + synPredMatched704 = true; inputState.guessing++; try { { @@ -1950,19 +1950,19 @@ else if ((LA(1)=='\'')) { } } catch (RecognitionException pe) { - synPredMatched701 = false; + synPredMatched704 = false; } - rewind(_m701); + rewind(_m704); inputState.guessing--; } - if ( synPredMatched701 ) { + if ( synPredMatched704 ) { match('\''); } else if ((_tokenSet_4.member(LA(1)))) { mSTRING_CH(false); } else { - break _loop702; + break _loop705; } } } while (true); @@ -1972,10 +1972,10 @@ else if ((_tokenSet_4.member(LA(1)))) { text.setLength(_saveIndex); } else { - boolean synPredMatched706 = false; + boolean synPredMatched709 = false; if (((LA(1)=='"') && (LA(2)=='"') && (LA(3)=='"') && ((LA(4) >= '\u0000' && LA(4) <= '\ufffe')))) { - int _m706 = mark(); - synPredMatched706 = true; + int _m709 = mark(); + synPredMatched709 = true; inputState.guessing++; try { { @@ -1983,12 +1983,12 @@ else if ((_tokenSet_4.member(LA(1)))) { } } catch (RecognitionException pe) { - synPredMatched706 = false; + synPredMatched709 = false; } - rewind(_m706); + rewind(_m709); inputState.guessing--; } - if ( synPredMatched706 ) { + if ( synPredMatched709 ) { _saveIndex=text.length(); match("\"\"\""); text.setLength(_saveIndex); @@ -2005,7 +2005,7 @@ else if ((LA(1)=='\'') && (_tokenSet_1.member(LA(2))) && (true) && (true)) { ++suppressNewline; } { - _loop704: + _loop707: do { switch ( LA(1)) { case '\\': @@ -2028,7 +2028,7 @@ else if ((LA(1)=='\'') && (_tokenSet_1.member(LA(2))) && (true) && (true)) { mSTRING_CH(false); } else { - break _loop704; + break _loop707; } } } while (true); @@ -2152,17 +2152,17 @@ protected final void mESC(boolean _createToken) throws RecognitionException, Cha case 'u': { { - int _cnt751=0; - _loop751: + int _cnt754=0; + _loop754: do { if ((LA(1)=='u')) { match('u'); } else { - if ( _cnt751>=1 ) { break _loop751; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt754>=1 ) { break _loop754; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } - _cnt751++; + _cnt754++; } while (true); } if ( inputState.guessing==0 ) { @@ -2283,7 +2283,7 @@ protected final int mSTRING_CTOR_END(boolean _createToken, boolean dollarOK = false; { - _loop712: + _loop715: do { switch ( LA(1)) { case '\\': @@ -2302,10 +2302,10 @@ protected final int mSTRING_CTOR_END(boolean _createToken, break; } default: - boolean synPredMatched711 = false; + boolean synPredMatched714 = false; if ((((LA(1)=='"') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true))&&(tripleQuote))) { - int _m711 = mark(); - synPredMatched711 = true; + int _m714 = mark(); + synPredMatched714 = true; inputState.guessing++; try { { @@ -2326,19 +2326,19 @@ else if ((LA(1)=='"')) { } } catch (RecognitionException pe) { - synPredMatched711 = false; + synPredMatched714 = false; } - rewind(_m711); + rewind(_m714); inputState.guessing--; } - if ( synPredMatched711 ) { + if ( synPredMatched714 ) { match('"'); } else if ((_tokenSet_4.member(LA(1)))) { mSTRING_CH(false); } else { - break _loop712; + break _loop715; } } } while (true); @@ -2463,10 +2463,10 @@ else if ((LA(1)=='/') && (LA(2)=='=') && (true) && (true)) { } } else { - boolean synPredMatched721 = false; + boolean synPredMatched724 = false; if (((LA(1)=='/') && (true))) { - int _m721 = mark(); - synPredMatched721 = true; + int _m724 = mark(); + synPredMatched724 = true; inputState.guessing++; try { { @@ -2475,12 +2475,12 @@ else if ((LA(1)=='/') && (LA(2)=='=') && (true) && (true)) { } } catch (RecognitionException pe) { - synPredMatched721 = false; + synPredMatched724 = false; } - rewind(_m721); + rewind(_m724); inputState.guessing--; } - if ( synPredMatched721 ) { + if ( synPredMatched724 ) { mDIV(false); if ( inputState.guessing==0 ) { _ttype = DIV; @@ -2549,7 +2549,7 @@ protected final int mREGEXP_CTOR_END(boolean _createToken, int _saveIndex; { - _loop730: + _loop733: do { if (((LA(1)=='$') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')))&&(!atValidDollarEscape())) { match('$'); @@ -2558,7 +2558,7 @@ else if ((_tokenSet_7.member(LA(1)))) { mREGEXP_SYMBOL(false); } else { - break _loop730; + break _loop733; } } while (true); @@ -2623,10 +2623,10 @@ public final void mDOLLAR_REGEXP_LITERAL(boolean _createToken) throws Recognitio match("$/"); text.setLength(_saveIndex); { - boolean synPredMatched725 = false; + boolean synPredMatched728 = false; if (((LA(1)=='$') && (LA(2)=='/') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m725 = mark(); - synPredMatched725 = true; + int _m728 = mark(); + synPredMatched728 = true; inputState.guessing++; try { { @@ -2635,20 +2635,20 @@ public final void mDOLLAR_REGEXP_LITERAL(boolean _createToken) throws Recognitio } } catch (RecognitionException pe) { - synPredMatched725 = false; + synPredMatched728 = false; } - rewind(_m725); + rewind(_m728); inputState.guessing--; } - if ( synPredMatched725 ) { + if ( synPredMatched728 ) { mESCAPED_SLASH(false); tt=mDOLLAR_REGEXP_CTOR_END(false,true); } else { - boolean synPredMatched727 = false; + boolean synPredMatched730 = false; if (((LA(1)=='$') && (LA(2)=='$') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m727 = mark(); - synPredMatched727 = true; + int _m730 = mark(); + synPredMatched730 = true; inputState.guessing++; try { { @@ -2657,12 +2657,12 @@ public final void mDOLLAR_REGEXP_LITERAL(boolean _createToken) throws Recognitio } } catch (RecognitionException pe) { - synPredMatched727 = false; + synPredMatched730 = false; } - rewind(_m727); + rewind(_m730); inputState.guessing--; } - if ( synPredMatched727 ) { + if ( synPredMatched730 ) { mESCAPED_DOLLAR(false); tt=mDOLLAR_REGEXP_CTOR_END(false,true); } @@ -2754,12 +2754,12 @@ protected final int mDOLLAR_REGEXP_CTOR_END(boolean _createToken, int _saveIndex; { - _loop738: + _loop741: do { - boolean synPredMatched735 = false; + boolean synPredMatched738 = false; if (((LA(1)=='$') && (LA(2)=='/') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m735 = mark(); - synPredMatched735 = true; + int _m738 = mark(); + synPredMatched738 = true; inputState.guessing++; try { { @@ -2768,19 +2768,19 @@ protected final int mDOLLAR_REGEXP_CTOR_END(boolean _createToken, } } catch (RecognitionException pe) { - synPredMatched735 = false; + synPredMatched738 = false; } - rewind(_m735); + rewind(_m738); inputState.guessing--; } - if ( synPredMatched735 ) { + if ( synPredMatched738 ) { mESCAPED_SLASH(false); } else { - boolean synPredMatched737 = false; + boolean synPredMatched740 = false; if (((LA(1)=='$') && (LA(2)=='$') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m737 = mark(); - synPredMatched737 = true; + int _m740 = mark(); + synPredMatched740 = true; inputState.guessing++; try { { @@ -2789,12 +2789,12 @@ protected final int mDOLLAR_REGEXP_CTOR_END(boolean _createToken, } } catch (RecognitionException pe) { - synPredMatched737 = false; + synPredMatched740 = false; } - rewind(_m737); + rewind(_m740); inputState.guessing--; } - if ( synPredMatched737 ) { + if ( synPredMatched740 ) { mESCAPED_DOLLAR(false); } else if (((_tokenSet_9.member(LA(1))) && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true))&&( !(LA(1) == '/' && LA(2) == '$') )) { @@ -2804,7 +2804,7 @@ else if (((LA(1)=='$') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) & match('$'); } else { - break _loop738; + break _loop741; } } } while (true); @@ -2960,7 +2960,7 @@ else if ((_tokenSet_10.member(LA(1)))) { } { - _loop763: + _loop766: do { switch ( LA(1)) { case '0': case '1': case '2': case '3': @@ -2980,7 +2980,7 @@ else if ((_tokenSet_10.member(LA(1)))) { mLETTER(false); } else { - break _loop763; + break _loop766; } } } while (true); @@ -2989,7 +2989,7 @@ else if ((_tokenSet_10.member(LA(1)))) { else if ((_tokenSet_10.member(LA(1))) && (true) && (true) && (true)) { mLETTER(false); { - _loop765: + _loop768: do { if ((_tokenSet_10.member(LA(1)))) { mLETTER(false); @@ -2998,7 +2998,7 @@ else if (((LA(1) >= '0' && LA(1) <= '9'))) { mDIGIT(false); } else { - break _loop765; + break _loop768; } } while (true); @@ -3173,7 +3173,7 @@ protected final void mDIGITS_WITH_UNDERSCORE_OPT(boolean _createToken) throws Re int _saveIndex; { - _loop772: + _loop775: do { if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) { mDIGIT(false); @@ -3182,7 +3182,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop772; + break _loop775; } } while (true); @@ -3244,7 +3244,7 @@ public final void mNUM_INT(boolean _createToken) throws RecognitionException, Ch { if ((_tokenSet_11.member(LA(1))) && (true) && (true) && (true)) { { - _loop779: + _loop782: do { if ((_tokenSet_12.member(LA(1))) && (_tokenSet_11.member(LA(2))) && (true) && (true)) { mHEX_DIGIT(false); @@ -3253,7 +3253,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop779; + break _loop782; } } while (true); @@ -3307,7 +3307,7 @@ else if ((LA(1)=='_')) { { if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='_')) { { - _loop784: + _loop787: do { if ((LA(1)=='0') && (LA(2)=='0'||LA(2)=='1'||LA(2)=='_')) { match('0'); @@ -3319,7 +3319,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop784; + break _loop787; } } while (true); @@ -3353,10 +3353,10 @@ else if ((LA(1)=='_')) { break; } default: - boolean synPredMatched788 = false; + boolean synPredMatched791 = false; if ((((LA(1) >= '0' && LA(1) <= '9')) && (true) && (true) && (true))) { - int _m788 = mark(); - synPredMatched788 = true; + int _m791 = mark(); + synPredMatched791 = true; inputState.guessing++; try { { @@ -3388,12 +3388,12 @@ else if ((LA(1)=='_')) { } } catch (RecognitionException pe) { - synPredMatched788 = false; + synPredMatched791 = false; } - rewind(_m788); + rewind(_m791); inputState.guessing--; } - if ( synPredMatched788 ) { + if ( synPredMatched791 ) { mDIGITS_WITH_UNDERSCORE(false); } else if (((LA(1) >= '0' && LA(1) <= '7')) && (true) && (true) && (true)) { @@ -3403,7 +3403,7 @@ else if (((LA(1) >= '0' && LA(1) <= '7')) && (true) && (true) && (true)) { { if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='_')) { { - _loop792: + _loop795: do { if (((LA(1) >= '0' && LA(1) <= '7')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='_')) { matchRange('0','7'); @@ -3412,7 +3412,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop792; + break _loop795; } } while (true); @@ -3522,10 +3522,10 @@ else if ((LA(1)=='_')) { break; } default: - boolean synPredMatched801 = false; + boolean synPredMatched804 = false; if ((((LA(1)=='.'||LA(1)=='D'||LA(1)=='E'||LA(1)=='F'||LA(1)=='d'||LA(1)=='e'||LA(1)=='f'))&&(isDecimal))) { - int _m801 = mark(); - synPredMatched801 = true; + int _m804 = mark(); + synPredMatched804 = true; inputState.guessing++; try { { @@ -3545,12 +3545,12 @@ else if ((LA(1)=='.')) { } } catch (RecognitionException pe) { - synPredMatched801 = false; + synPredMatched804 = false; } - rewind(_m801); + rewind(_m804); inputState.guessing--; } - if ( synPredMatched801 ) { + if ( synPredMatched804 ) { { switch ( LA(1)) { case '.': @@ -3710,7 +3710,7 @@ protected final void mEXPONENT(boolean _createToken) throws RecognitionException } } { - _loop811: + _loop814: do { if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) { matchRange('0','9'); @@ -3719,7 +3719,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop811; + break _loop814; } } while (true); diff --git a/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyLexer.smap b/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyLexer.smap index cf5c888740..6de993803a 100644 --- a/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyLexer.smap +++ b/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyLexer.smap @@ -85,2707 +85,2707 @@ groovy.g 25:11 25:13 25:14 -3715:43 -3716:44 -3717:45 -3718:46 -3719:47 -3720:48 -3722:50 -3723:51 -3724:52 -3725:53 -3726:54 -3727:55 -3728:56 -3729:57 -3731:59 -3732:60 -3733:61 -3734:62 -3736:64 -3737:65 -3738:66 -3739:67 -3741:69 -3742:70 -3743:71 -3744:72 -3745:73 -3746:74 -3747:75 -3748:76 -3749:77 -3751:79 -3753:81 -3754:82 -3755:83 -3756:84 -3757:85 -3758:86 -3759:87 -3760:88 -3762:90 -3763:91 -3764:92 -3765:93 -3766:94 -3768:96 -3769:97 -3770:98 -3771:99 -3772:100 -3773:101 -3774:102 -3776:104 -3777:105 -3778:106 -3779:107 -3780:108 -3782:110 -3783:111 -3784:112 -3786:114 -3787:115 -3788:116 -3789:117 -3790:118 -3791:119 -3792:120 -3793:121 -3794:122 -3795:123 -3796:124 -3797:125 -3798:126 -3799:127 -3800:128 -3801:129 -3802:130 -3803:131 -3804:132 -3805:133 -3806:134 -3807:135 -3808:136 -3809:137 -3810:138 -3811:139 -3812:140 -3813:141 -3814:142 -3815:143 -3816:144 -3817:145 -3818:146 -3819:147 -3820:148 -3821:149 -3822:150 -3823:151 -3824:152 -3825:153 -3826:154 -3827:155 -3828:156 -3829:157 -3830:158 -3831:159 -3832:160 -3833:161 -3834:162 -3835:163 -3836:164 -3837:165 -3838:166 -3839:167 -3840:168 -3841:169 -3842:170 -3843:171 -3844:172 -3845:173 -3846:174 -3847:175 -3848:176 -3849:177 -3850:178 -3851:179 -3852:180 -3853:181 -3854:182 -3855:183 -3856:184 -3857:185 -3858:186 -3859:187 -3860:188 -3861:189 -3862:190 -3863:191 -3864:192 -3865:193 -3866:194 -3868:196 -3869:197 -3870:198 -3871:199 -3872:200 -3873:201 -3874:202 -3875:203 -3876:204 -3878:206 -3879:207 -3880:208 -3881:209 -3882:210 -3883:211 -3884:212 -3885:213 -3887:215 -3888:216 -3889:217 -3891:219 -3892:220 -3893:221 -3895:223 -3896:224 -3897:225 -3899:227 -3900:228 -3901:229 -3902:230 -3903:231 -3904:232 -3905:233 -3906:234 -3907:235 -3908:236 -3909:237 -3910:238 -3911:239 -3912:240 -3913:241 -3914:242 -3915:243 -3916:244 -3917:245 -3918:246 -3919:247 -3920:248 -3921:249 -3922:250 -3923:251 -3924:252 -3925:253 -3926:254 -3927:255 -3928:256 -3929:257 -3930:258 -3931:259 -3932:260 -3933:261 -3934:262 -3935:263 -3936:264 -3937:265 -3938:266 -3939:267 -3940:268 -3941:269 -3942:270 -3943:271 -3944:272 -3945:273 -3946:274 -3947:275 -3948:276 -3949:277 -3950:278 -3951:279 -3953:281 -3954:282 -3955:283 -3956:284 -3957:285 -3958:286 -3959:287 -3960:288 -3961:289 -3962:290 -3963:291 -3964:292 -3965:293 -3966:294 -3967:295 -3968:296 -3969:297 -3970:298 -3971:299 -3972:300 -3973:301 -3974:302 -3975:303 -3976:304 -3977:305 -3978:306 -3979:307 -3980:308 -3981:309 -3982:310 -3984:312 -3985:313 -3986:314 -3987:315 -3988:316 -3989:317 -3990:318 -3991:319 -3992:320 -3993:321 -3994:322 -3995:323 -3996:324 -3997:325 -3998:326 -4002:749 -4002:750 -4002:751 -4002:752 -4002:754 -4002:755 -4002:756 -4002:757 -4002:758 -4002:759 -4002:760 -4003:762 -4003:763 -4003:764 -4003:765 -4003:767 -4003:768 -4003:769 -4003:771 -4003:772 -4003:773 -4003:774 -4003:775 -4003:776 -4004:778 -4004:779 -4004:780 -4004:781 -4004:783 -4004:784 -4004:785 -4004:787 -4004:788 -4004:789 -4004:790 -4004:791 -4004:792 -4005:794 -4005:795 -4005:796 -4005:797 -4005:799 -4005:800 -4005:801 -4005:803 -4005:804 -4005:805 -4005:806 -4005:807 -4005:808 -4006:810 -4006:811 -4006:812 -4006:813 -4006:815 -4006:816 -4006:817 -4006:819 -4006:820 -4006:821 -4006:822 -4006:823 -4006:824 -4007:826 -4007:827 -4007:828 -4007:829 -4007:831 -4007:832 -4007:833 -4007:835 -4007:836 -4007:837 -4007:838 -4007:839 -4007:840 -4008:842 -4008:843 -4008:844 -4008:845 -4008:847 -4008:848 -4008:849 -4008:851 -4008:852 -4008:853 -4008:854 -4008:855 -4008:856 -4009:858 -4009:859 -4009:860 -4009:861 -4009:863 -4009:864 -4009:865 -4009:866 -4009:867 -4009:868 -4009:869 -4010:871 -4010:872 -4010:873 -4010:874 -4010:876 -4010:877 -4010:878 -4010:879 -4010:880 -4010:881 -4010:882 -4011:884 -4011:885 -4011:886 -4011:887 -4011:889 -4011:890 -4011:891 -4011:892 -4011:893 -4011:894 -4011:895 -4012:897 -4012:898 -4012:899 -4012:900 -4012:902 -4012:903 -4012:904 -4012:905 -4012:906 -4012:907 -4012:908 -4013:910 -4013:911 -4013:912 -4013:913 -4013:915 -4013:916 -4013:917 -4013:918 -4013:919 -4013:920 -4013:921 -4014:923 -4014:924 -4014:925 -4014:926 -4014:928 -4014:929 -4014:930 -4014:931 -4014:932 -4014:933 -4014:934 -4015:936 -4015:937 -4015:938 -4015:939 -4015:941 -4015:942 -4015:943 -4015:944 -4015:945 -4015:946 -4015:947 -4016:949 -4016:950 -4016:951 -4016:952 -4016:954 -4016:955 -4016:956 -4016:957 -4016:958 -4016:959 -4016:960 -4017:962 -4017:963 -4017:964 -4017:965 -4017:967 -4017:968 -4017:969 -4017:970 -4017:971 -4017:972 -4017:973 -4018:975 -4018:976 -4018:977 -4018:978 -4018:980 -4018:981 -4018:982 -4018:983 -4018:984 -4018:985 -4018:986 -4019:988 -4019:989 -4019:990 -4019:991 -4019:993 -4019:994 -4019:995 -4019:996 -4019:997 -4019:998 -4019:999 -4021:1001 -4021:1002 -4021:1003 -4021:1004 -4021:1006 -4021:1007 -4021:1008 -4021:1009 -4021:1010 -4021:1011 -4021:1012 -4023:1014 -4023:1015 -4023:1016 -4023:1017 -4023:1019 -4023:1020 -4023:1021 -4023:1022 -4023:1023 -4023:1024 -4023:1025 -4024:1027 -4024:1028 -4024:1029 -4024:1030 -4024:1032 -4024:1033 -4024:1034 -4024:1035 -4024:1036 -4024:1037 -4024:1038 -4025:1040 -4025:1041 -4025:1042 -4025:1043 -4025:1045 -4025:1046 -4025:1047 -4025:1048 -4025:1049 -4025:1050 -4025:1051 -4026:1053 -4026:1054 -4026:1055 -4026:1056 -4026:1058 -4026:1059 -4026:1060 -4026:1061 -4026:1062 -4026:1063 -4026:1064 -4027:1066 -4027:1067 -4027:1068 -4027:1069 -4027:1071 -4027:1072 -4027:1073 -4027:1074 -4027:1075 -4027:1076 -4027:1077 -4028:1079 -4028:1080 -4028:1081 -4028:1082 -4028:1084 -4028:1085 -4028:1086 -4028:1087 -4028:1088 -4028:1089 -4028:1090 -4029:1092 -4029:1093 -4029:1094 -4029:1095 -4029:1097 -4029:1098 -4029:1099 -4029:1100 -4029:1101 -4029:1102 -4029:1103 -4030:1105 -4030:1106 -4030:1107 -4030:1108 -4030:1110 -4030:1111 -4030:1112 -4030:1113 -4030:1114 -4030:1115 -4030:1116 -4031:1118 -4031:1119 -4031:1120 -4031:1121 -4031:1123 -4031:1124 -4031:1125 -4031:1126 -4031:1127 -4031:1128 -4031:1129 -4032:1131 -4032:1132 -4032:1133 -4032:1134 -4032:1136 -4032:1137 -4032:1138 -4032:1139 -4032:1140 -4032:1141 -4032:1142 -4033:1144 -4033:1145 -4033:1146 -4033:1147 -4033:1149 -4033:1150 -4033:1151 -4033:1152 -4033:1153 -4033:1154 -4033:1155 -4034:1157 -4034:1158 -4034:1159 -4034:1160 -4034:1162 -4034:1163 -4034:1164 -4034:1165 -4034:1166 -4034:1167 -4034:1168 -4035:1170 -4035:1171 -4035:1172 -4035:1173 -4035:1175 -4035:1176 -4035:1177 -4035:1178 -4035:1179 -4035:1180 -4035:1181 -4036:1183 -4036:1184 -4036:1185 -4036:1186 -4036:1188 -4036:1189 -4036:1190 -4036:1191 -4036:1192 -4036:1193 -4036:1194 -4037:1196 -4037:1197 -4037:1198 -4037:1199 -4037:1201 -4037:1202 -4037:1203 -4037:1204 -4037:1205 -4037:1206 -4037:1207 -4038:1209 -4038:1210 -4038:1211 -4038:1212 -4038:1214 -4038:1215 -4038:1216 -4038:1217 -4038:1218 -4038:1219 -4038:1220 -4039:1222 -4039:1223 -4039:1224 -4039:1225 -4039:1227 -4039:1228 -4039:1229 -4039:1230 -4039:1231 -4039:1232 -4039:1233 -4040:1235 -4040:1236 -4040:1237 -4040:1238 -4040:1240 -4040:1241 -4040:1242 -4040:1243 -4040:1244 -4040:1245 -4040:1246 -4041:1248 -4041:1249 -4041:1250 -4041:1251 -4041:1253 -4041:1254 -4041:1255 -4041:1256 -4041:1257 -4041:1258 -4041:1259 -4042:1261 -4042:1262 -4042:1263 -4042:1264 -4042:1266 -4042:1267 -4042:1268 -4042:1269 -4042:1270 -4042:1271 -4042:1272 -4043:1274 -4043:1275 -4043:1276 -4043:1277 -4043:1279 -4043:1280 -4043:1281 -4043:1282 -4043:1283 -4043:1284 -4043:1285 -4044:1287 -4044:1288 -4044:1289 -4044:1290 -4044:1292 -4044:1293 -4044:1294 -4044:1295 -4044:1296 -4044:1297 -4044:1298 -4045:1300 -4045:1301 -4045:1302 -4045:1303 -4045:1305 -4045:1306 -4045:1307 -4045:1308 -4045:1309 -4045:1310 -4045:1311 -4046:1313 -4046:1314 -4046:1315 -4046:1316 -4046:1318 -4046:1319 -4046:1320 -4046:1321 -4046:1322 -4046:1323 -4046:1324 -4047:1326 -4047:1327 -4047:1328 -4047:1329 -4047:1331 -4047:1332 -4047:1333 -4047:1334 -4047:1335 -4047:1336 -4047:1337 -4048:1339 -4048:1340 -4048:1341 -4048:1342 -4048:1344 -4048:1345 -4048:1346 -4048:1347 -4048:1348 -4048:1349 -4048:1350 -4049:1352 -4049:1353 -4049:1354 -4049:1355 -4049:1357 -4049:1358 -4049:1359 -4049:1360 -4049:1361 -4049:1362 -4049:1363 -4050:1365 -4050:1366 -4050:1367 -4050:1368 -4050:1370 -4050:1371 -4050:1372 -4050:1373 -4050:1374 -4050:1375 -4050:1376 -4051:1378 -4051:1379 -4051:1380 -4051:1381 -4051:1383 -4051:1384 -4051:1385 -4051:1386 -4051:1387 -4051:1388 -4051:1389 -4052:1391 -4052:1392 -4052:1393 -4052:1394 -4052:1396 -4052:1397 -4052:1398 -4052:1399 -4052:1400 -4052:1401 -4052:1402 -4054:1404 -4054:1405 -4054:1406 -4054:1407 -4054:1409 -4054:1410 -4054:1411 -4054:1412 -4054:1413 -4054:1414 -4054:1415 -4055:1417 -4055:1418 -4055:1419 -4055:1420 -4055:1422 -4055:1423 -4055:1424 -4055:1425 -4055:1426 -4055:1427 -4055:1428 -4056:1430 -4056:1431 -4056:1432 -4056:1433 -4056:1435 -4056:1436 -4056:1437 -4056:1438 -4056:1439 -4056:1440 -4056:1441 -4057:1443 -4057:1444 -4057:1445 -4057:1446 -4057:1448 -4057:1449 -4057:1450 -4057:1451 -4057:1452 -4057:1453 -4057:1454 -4058:1456 -4058:1457 -4058:1458 -4058:1459 -4058:1461 -4058:1462 -4058:1463 -4058:1464 -4058:1465 -4058:1466 -4058:1467 -4059:1469 -4059:1470 -4059:1471 -4059:1472 -4059:1474 -4059:1475 -4059:1476 -4059:1477 -4059:1478 -4059:1479 -4059:1480 -4060:1482 -4060:1483 -4060:1484 -4060:1485 -4060:1487 -4060:1488 -4060:1489 -4060:1490 -4060:1491 -4060:1492 -4060:1493 -4061:1495 -4061:1496 -4061:1497 -4061:1498 -4061:1500 -4061:1501 -4061:1502 -4061:1503 -4061:1504 -4061:1505 -4061:1506 -4062:1508 -4062:1509 -4062:1510 -4062:1511 -4062:1513 -4062:1514 -4062:1515 -4062:1516 -4062:1517 -4062:1518 -4062:1519 -4063:1521 -4063:1522 -4063:1523 -4063:1524 -4063:1526 -4063:1527 -4063:1528 -4063:1529 -4063:1530 -4063:1531 -4063:1532 -4064:1534 -4064:1535 -4064:1536 -4064:1537 -4064:1539 -4064:1540 -4064:1541 -4064:1542 -4064:1543 -4064:1544 -4064:1545 -4065:1547 -4065:1548 -4065:1549 -4065:1550 -4065:1552 -4065:1553 -4065:1554 -4065:1555 -4065:1556 -4065:1557 -4065:1558 -4066:1560 -4066:1561 -4066:1562 -4066:1563 -4066:1565 -4066:1566 -4066:1567 -4066:1568 -4066:1569 -4066:1570 -4066:1571 -4069:1573 -4069:1574 -4069:1575 -4069:1576 -4069:1605 -4069:1606 -4069:1607 -4069:1608 -4069:1609 -4069:1610 -4074:1579 -4074:1580 -4074:1581 -4074:1585 -4074:1588 -4074:1591 -4074:1594 -4074:1595 -4074:1596 -4074:1597 -4074:1599 -4074:1600 -4074:1601 -4076:1586 -4076:1587 -4077:1589 -4077:1590 -4078:1592 -4078:1593 -4079:1582 -4079:1583 -4079:1584 -4081:1602 -4081:1603 -4085:1612 -4085:1613 -4085:1614 -4085:1615 -4085:1616 -4085:1617 -4085:1646 -4085:1647 -4085:1648 -4085:1649 -4085:1650 -4085:1651 -4090:1624 -4090:1629 -4090:1634 -4090:1635 -4090:1636 -4090:1637 -4091:1620 -4091:1621 -4091:1622 -4091:1623 -4092:1625 -4092:1626 -4092:1627 -4092:1628 -4093:1630 -4093:1631 -4093:1632 -4093:1633 -4095:1640 -4096:1642 -4097:1643 -4103:1653 -4103:1654 -4103:1655 -4103:1656 -4103:1657 -4103:1658 -4103:1681 -4103:1682 -4103:1683 -4103:1684 -4103:1685 -4103:1686 -4108:1663 -4108:1666 -4108:1669 -4108:1670 -4108:1671 -4108:1672 -4109:1661 -4109:1662 -4110:1664 -4110:1665 -4111:1667 -4111:1668 -4113:1675 -4114:1677 -4115:1678 -4123:1688 -4123:1689 -4123:1690 -4123:1691 -4123:1742 -4123:1743 -4123:1744 -4123:1745 -4123:1746 -4123:1747 -4127:1693 -4128:1725 -4128:1727 -4129:1695 -4129:1697 -4129:1698 -4129:1699 -4129:1700 -4129:1701 -4129:1702 -4129:1703 -4129:1706 -4129:1707 -4129:1708 -4129:1711 -4129:1712 -4129:1713 -4129:1714 -4129:1715 -4129:1716 -4129:1717 -4129:1718 -4129:1719 -4129:1720 -4129:1721 -4129:1722 -4129:1723 -4129:1724 -4133:1730 -4133:1731 -4134:1732 -4135:1733 -4136:1734 -4137:1735 -4138:1736 -4139:1737 -4140:1738 -4141:1739 -4146:1749 -4146:1750 -4146:1751 -4146:1752 -4146:1778 -4146:1779 -4146:1780 -4146:1781 -4146:1782 -4146:1783 -4150:1754 -4152:1755 -4152:1756 -4154:1758 -4154:1759 -4154:1760 -4154:1765 -4154:1766 -4154:1767 -4154:1768 -4154:1770 -4154:1771 -4158:1761 -4158:1763 -4161:1772 -4161:1773 -4162:1774 -4163:1775 -4170:1846 -4170:1847 -4170:1848 -4170:1849 -4170:1851 -4170:1852 -4170:1871 -4170:1872 -4170:1873 -4170:1874 -4170:1875 -4170:1876 -4174:1853 -4175:1854 -4175:1855 -4175:1856 -4175:1861 -4175:1862 -4175:1863 -4175:1864 -4175:1866 -4175:1867 -4179:1857 -4179:1859 -4181:1868 -4181:1869 -4186:1785 -4186:1786 -4186:1787 -4186:1788 -4186:1790 -4186:1791 -4186:1839 -4186:1840 -4186:1841 -4186:1842 -4186:1843 -4186:1844 -4190:1792 -4192:1793 -4192:1794 -4194:1796 -4194:1797 -4194:1798 -4194:1818 -4194:1821 -4194:1826 -4194:1827 -4194:1828 -4194:1829 -4194:1831 -4194:1832 -4205:1799 -4205:1800 -4205:1801 -4205:1802 -4205:1803 -4205:1804 -4205:1806 -4205:1807 -4205:1809 -4205:1810 -4205:1811 -4205:1812 -4205:1813 -4205:1814 -4205:1815 -4205:1816 -4205:1817 -4208:1819 -4208:1820 -4210:1822 -4210:1824 -4212:1833 -4214:1834 -4214:1835 -4215:1836 -4221:1878 -4221:1879 -4221:1880 -4221:1881 -4221:1882 -4221:1973 -4221:1999 -4221:2042 -4221:2054 -4221:2055 -4221:2056 -4221:2057 -4221:2058 -4221:2059 -4221:2060 -4221:2061 -4221:2062 -4221:2063 -4221:2064 -4226:1884 -4226:1885 -4226:1886 -4226:1887 -4226:1888 -4226:1889 -4226:1891 -4226:1893 -4226:1894 -4226:1895 -4226:1896 -4226:1897 -4226:1898 -4226:1899 -4226:1900 -4227:1901 -4227:1902 -4227:1903 -4228:1904 -4228:1905 -4228:1906 -4228:1907 -4228:1908 -4228:1909 -4228:1910 -4228:1913 -4228:1914 -4228:1915 -4228:1918 -4228:1919 -4228:1920 -4228:1923 -4228:1924 -4228:1925 -4228:1928 -4228:1960 -4228:1961 -4228:1962 -4228:1963 -4228:1964 -4228:1965 -4228:1966 -4228:1967 -4228:1968 -4228:1969 -4229:1929 -4229:1930 -4229:1931 -4229:1932 -4229:1933 -4229:1934 -4229:1936 -4229:1938 -4229:1939 -4229:1940 -4229:1941 -4229:1942 -4229:1943 -4229:1944 -4229:1945 -4229:1946 -4229:1947 -4229:1951 -4229:1952 -4229:1953 -4229:1954 -4229:1955 -4229:1956 -4229:1957 -4229:1958 -4229:1959 -4231:1970 -4231:1971 -4231:1972 -4232:2000 -4232:2001 -4232:2002 -4232:2003 -4233:2004 -4233:2005 -4234:2007 -4234:2008 -4234:2009 -4234:2010 -4234:2011 -4234:2012 -4234:2013 -4234:2016 -4234:2017 -4234:2018 -4234:2021 -4234:2022 -4234:2023 -4234:2026 -4234:2027 -4234:2028 -4234:2029 -4234:2030 -4234:2031 -4234:2032 -4234:2033 -4234:2034 -4234:2035 -4235:2036 -4235:2037 -4236:2039 -4236:2040 -4236:2041 -4237:1974 -4237:1975 -4237:1976 -4237:1977 -4237:1978 -4237:1979 -4237:1980 -4237:1982 -4237:1984 -4237:1985 -4237:1986 -4237:1987 -4237:1988 -4237:1989 -4237:1990 -4237:1991 -4238:1992 -4238:1993 -4238:1994 -4239:1995 -4240:1996 -4240:1997 -4241:2043 -4241:2044 -4241:2045 -4241:2046 -4242:2047 -4242:2048 -4243:2050 -4244:2051 -4244:2052 -4248:2276 -4248:2277 -4248:2278 -4248:2279 -4248:2280 -4248:2281 -4248:2282 -4248:2283 -4248:2405 -4248:2406 -4248:2407 -4248:2408 -4248:2409 -4248:2410 -4248:2411 -4255:2285 -4255:2286 -4255:2287 -4255:2288 -4255:2304 -4255:2336 -4255:2339 -4255:2340 -4255:2341 -4255:2342 -4255:2343 -4255:2344 -4255:2345 -4257:2289 -4257:2290 -4257:2291 -4257:2294 -4257:2295 -4257:2296 -4257:2299 -4257:2300 -4257:2301 -4257:2337 -4257:2338 -4258:2305 -4258:2306 -4258:2307 -4258:2308 -4258:2309 -4258:2310 -4258:2312 -4258:2314 -4258:2315 -4258:2316 -4258:2317 -4258:2318 -4258:2319 -4258:2320 -4258:2321 -4258:2322 -4258:2323 -4258:2327 -4258:2328 -4258:2329 -4258:2330 -4258:2331 -4258:2332 -4258:2333 -4258:2334 -4258:2335 -4260:2347 -4260:2348 -4260:2349 -4260:2355 -4260:2356 -4260:2357 -4260:2358 -4260:2359 -4260:2360 -4260:2361 -4260:2362 -4260:2363 -4260:2396 -4260:2397 -4260:2398 -4260:2399 -4260:2400 -4261:2351 -4261:2352 -4261:2353 -4261:2354 -4263:2366 -4264:2368 -4265:2369 -4266:2370 -4267:2371 -4269:2376 -4269:2377 -4269:2378 -4269:2379 -4270:2381 -4270:2382 -4270:2383 -4271:2384 -4272:2386 -4273:2387 -4274:2388 -4275:2389 -4276:2390 -4277:2391 -4280:2402 -4280:2403 -4284:2066 -4284:2067 -4284:2068 -4284:2069 -4284:2074 -4284:2075 -4284:2076 -4284:2077 -4284:2078 -4284:2079 -4288:2072 -4291:2413 -4291:2414 -4291:2415 -4291:2416 -4291:2417 -4291:2419 -4291:2420 -4291:2494 -4291:2495 -4291:2496 -4291:2497 -4291:2498 -4291:2499 -4297:2458 -4297:2464 -4297:2488 -4297:2489 -4297:2490 -4297:2491 -4297:2492 -4298:2422 -4298:2423 -4298:2424 -4298:2425 -4299:2426 -4299:2427 -4303:2433 -4303:2437 -4303:2449 -4303:2450 -4303:2451 -4303:2452 -4304:2434 -4304:2435 -4305:2436 -4306:2430 -4306:2431 -4307:2432 -4308:2438 -4308:2439 -4308:2440 -4308:2441 -4309:2442 -4310:2444 -4311:2445 -4312:2446 -4315:2455 -4315:2456 -4317:2465 -4317:2466 -4317:2467 -4317:2468 -4317:2469 -4317:2470 -4317:2471 -4317:2473 -4317:2474 -4317:2476 -4317:2477 -4317:2478 -4317:2479 -4317:2480 -4317:2481 -4317:2482 -4317:2483 -4317:2484 -4317:2485 -4317:2486 -4318:2459 -4318:2460 -4318:2461 -4318:2462 -4322:2614 -4322:2615 -4322:2616 -4322:2617 -4322:2618 -4322:2620 -4322:2621 -4322:2697 -4322:2698 -4322:2699 -4322:2700 -4322:2701 -4322:2702 -4327:2622 -4327:2623 -4327:2624 -4330:2646 -4330:2668 -4330:2672 -4330:2676 -4330:2688 -4330:2689 -4330:2690 -4330:2691 -4330:2692 -4331:2673 -4331:2674 -4332:2675 -4333:2669 -4333:2670 -4334:2671 -4336:2626 -4336:2627 -4336:2628 -4336:2629 -4336:2630 -4336:2631 -4336:2633 -4336:2634 -4336:2636 -4336:2637 -4336:2638 -4336:2639 -4336:2640 -4336:2641 -4336:2642 -4336:2643 -4336:2644 -4337:2645 -4339:2647 -4339:2648 -4339:2649 -4339:2650 -4339:2651 -4339:2652 -4339:2653 -4339:2655 -4339:2656 -4339:2658 -4339:2659 -4339:2660 -4339:2661 -4339:2662 -4339:2663 -4339:2664 -4339:2665 -4339:2666 -4340:2667 -4342:2677 -4342:2678 -4342:2679 -4342:2680 -4343:2681 -4344:2683 -4345:2684 -4346:2685 -4349:2694 -4349:2695 -4353:2543 -4353:2544 -4353:2545 -4353:2546 -4353:2547 -4353:2548 -4353:2549 -4353:2606 -4353:2607 -4353:2608 -4353:2609 -4353:2610 -4353:2611 -4353:2612 -4359:2551 -4359:2552 -4359:2553 -4359:2556 -4359:2559 -4359:2560 -4359:2561 -4359:2562 -4359:2564 -4359:2565 -4361:2557 -4361:2558 -4363:2554 -4363:2555 -4365:2567 -4365:2568 -4365:2569 -4365:2570 -4365:2571 -4365:2572 -4365:2597 -4365:2598 -4365:2599 -4365:2600 -4365:2601 -4366:2573 -4367:2575 -4368:2576 -4369:2577 -4370:2578 -4372:2583 -4372:2584 -4372:2585 -4372:2586 -4372:2587 -4373:2588 -4374:2590 -4375:2591 -4376:2592 -4379:2603 -4379:2604 -4383:2748 -4383:2749 -4383:2750 -4383:2751 -4383:2752 -4383:2753 -4383:2754 -4383:2849 -4383:2850 -4383:2851 -4383:2852 -4383:2853 -4383:2854 -4383:2855 -4389:2756 -4389:2757 -4389:2758 -4389:2778 -4389:2799 -4389:2802 -4389:2805 -4389:2806 -4389:2807 -4389:2808 -4389:2809 -4389:2810 -4389:2811 -4391:2800 -4391:2801 -4393:2759 -4393:2760 -4393:2761 -4393:2762 -4393:2763 -4393:2764 -4393:2766 -4393:2767 -4393:2769 -4393:2770 -4393:2771 -4393:2772 -4393:2773 -4393:2774 -4393:2775 -4393:2776 -4393:2777 -4395:2779 -4395:2780 -4395:2781 -4395:2782 -4395:2783 -4395:2784 -4395:2785 -4395:2787 -4395:2788 -4395:2790 -4395:2791 -4395:2792 -4395:2793 -4395:2794 -4395:2795 -4395:2796 -4395:2797 -4395:2798 -4397:2803 -4397:2804 -4399:2813 -4399:2840 -4399:2841 -4399:2842 -4399:2843 -4399:2844 -4400:2814 -4400:2815 -4400:2816 -4400:2817 -4400:2818 -4401:2819 -4402:2821 -4404:2826 -4404:2827 -4404:2828 -4404:2829 -4404:2830 -4405:2831 -4406:2833 -4407:2834 -4408:2835 -4411:2846 -4411:2847 -4414:2857 -4414:2858 -4414:2859 -4414:2860 -4414:2862 -4414:2863 -4414:2864 -4414:2865 -4414:2867 -4414:2868 -4414:2869 -4414:2870 -4414:2871 -4414:2872 -4416:2874 -4416:2875 -4416:2876 -4416:2877 -4416:2879 -4416:2880 -4416:2881 -4416:2882 -4416:2884 -4416:2885 -4416:2886 -4416:2887 -4416:2888 -4416:2889 -4419:2501 -4419:2502 -4419:2503 -4419:2504 -4419:2512 -4419:2520 -4419:2523 -4419:2528 -4419:2531 -4419:2532 -4419:2533 -4419:2534 -4419:2536 -4419:2537 -4419:2538 -4419:2539 -4419:2540 -4419:2541 -4424:2524 -4424:2526 -4425:2521 -4425:2522 -4426:2506 -4426:2507 -4426:2508 -4426:2509 -4426:2510 -4427:2529 -4427:2530 -4428:2513 -4428:2514 -4428:2515 -4428:2516 -4428:2517 -4428:2518 -4428:2519 -4432:2704 -4432:2705 -4432:2706 -4432:2707 -4432:2709 -4432:2720 -4432:2728 -4432:2731 -4432:2736 -4432:2737 -4432:2738 -4432:2739 -4432:2740 -4432:2741 -4432:2742 -4432:2743 -4432:2744 -4432:2745 -4432:2746 -4437:2732 -4437:2734 -4438:2729 -4438:2730 -4439:2710 -4439:2711 -4439:2712 -4440:2715 -4440:2716 -4440:2717 -4441:2721 -4441:2722 -4441:2723 -4441:2724 -4441:2725 -4441:2726 -4441:2727 -4453:2081 -4453:2082 -4453:2083 -4453:2084 -4453:2235 -4453:2243 -4453:2244 -4453:2245 -4453:2246 -4453:2248 -4453:2249 -4453:2250 -4453:2251 -4453:2252 -4453:2253 -4457:2086 -4457:2087 -4457:2088 -4457:2089 -4458:2091 -4458:2092 -4458:2093 -4458:2094 -4458:2095 -4458:2096 -4458:2229 -4458:2230 -4458:2231 -4458:2232 -4458:2233 -4459:2100 -4459:2101 -4459:2102 -4459:2103 -4459:2104 -4460:2108 -4460:2109 -4460:2110 -4460:2111 -4460:2112 -4461:2116 -4461:2117 -4461:2118 -4461:2119 -4461:2120 -4462:2124 -4462:2125 -4462:2126 -4462:2127 -4462:2128 -4463:2132 -4463:2133 -4463:2134 -4464:2137 -4464:2138 -4464:2139 -4465:2142 -4465:2143 -4465:2144 -4466:2147 -4466:2148 -4466:2149 -4467:2152 -4467:2153 -4467:2155 -4467:2156 -4467:2157 -4467:2158 -4467:2159 -4467:2160 -4467:2161 -4467:2162 -4467:2163 -4467:2165 -4467:2166 -4467:2167 -4467:2168 -4467:2169 -4468:2171 -4468:2172 -4468:2173 -4468:2174 -4469:2175 -4469:2176 -4470:2180 -4470:2181 -4470:2182 -4471:2197 -4471:2199 -4471:2200 -4471:2201 -4471:2202 -4475:2184 -4475:2185 -4476:2189 -4476:2191 -4476:2192 -4476:2193 -4476:2194 -4480:2187 -4480:2188 -4483:2205 -4483:2206 -4484:2210 -4484:2211 -4484:2212 -4485:2216 -4485:2218 -4485:2219 -4485:2220 -4485:2221 -4489:2214 -4489:2215 -4491:2224 -4491:2225 -4493:2236 -4493:2237 -4493:2238 -4493:2239 -4493:2240 -4493:2241 -4493:2242 -4497:2255 -4497:2256 -4497:2257 -4497:2258 -4497:2259 -4497:2260 -4497:2269 -4497:2270 -4497:2271 -4497:2272 -4497:2273 -4497:2274 -4501:2262 -4501:2263 -4502:2265 -4502:2266 -4502:2267 -4508:2891 -4508:2892 -4508:2893 -4508:2894 -4508:2923 -4508:2924 -4508:2925 -4508:2926 -4508:2927 -4508:2928 -4512:2897 -4512:2898 -4512:2899 -4512:2900 -4512:2901 -4512:2902 -4512:2905 -4512:2906 -4512:2907 -4512:2908 -4512:2911 -4512:2912 -4512:2913 -4512:2914 -4512:2917 -4512:2918 -4512:2919 -4512:2920 -4512:2921 -4519:2930 -4519:2931 -4519:2932 -4519:2933 -4519:2936 -4519:2937 -4519:2938 -4519:2939 -4519:2940 -4519:2941 -4523:2935 -4530:2943 -4530:2944 -4530:2945 -4530:2946 -4530:3053 -4530:3054 -4530:3055 -4530:3056 -4530:3057 -4530:3058 -4535:2949 -4535:2951 -4535:2952 -4535:2953 -4535:2954 -4535:2955 -4535:2956 -4535:2957 -4535:2958 -4535:2959 -4535:2962 -4535:2963 -4535:2964 -4535:2965 -4535:2966 -4535:2967 -4535:2968 -4535:2969 -4535:2970 -4535:2973 -4535:2974 -4535:2975 -4535:2978 -4535:2979 -4535:2980 -4535:2981 -4535:2982 -4535:2983 -4535:2984 -4535:2985 -4535:2986 -4535:2987 -4535:2988 -4535:2989 -4535:2990 -4535:2991 -4535:2992 -4535:2993 -4535:2994 -4535:2995 -4535:2996 -4535:2997 -4535:2998 -4535:2999 -4535:3000 -4535:3001 -4535:3002 -4535:3004 -4535:3005 -4535:3006 -4535:3007 -4535:3008 -4535:3009 -4536:3012 -4537:3014 -4538:3015 -4539:3016 -4540:3017 -4541:3018 -4542:3019 -4543:3020 -4544:3021 -4545:3022 -4546:3023 -4547:3024 -4548:3025 -4549:3026 -4550:3027 -4551:3028 -4552:3029 -4553:3030 -4554:3031 -4555:3032 -4556:3033 -4557:3034 -4558:3035 -4559:3036 -4560:3037 -4561:3038 -4562:3039 -4564:3041 -4566:3043 -4567:3044 -4568:3045 -4569:3046 -4570:3047 -4571:3048 -4572:3049 -4573:3050 -4578:3060 -4578:3061 -4578:3062 -4578:3063 -4578:3065 -4578:3121 -4578:3124 -4578:3125 -4578:3126 -4578:3127 -4578:3128 -4578:3129 -4578:3130 -4578:3131 -4578:3132 -4578:3133 -4578:3134 -4582:3066 -4582:3067 -4582:3068 -4582:3069 -4582:3070 -4582:3071 -4582:3072 -4582:3073 -4582:3074 -4582:3077 -4582:3078 -4582:3079 -4582:3080 -4582:3081 -4582:3082 -4582:3083 -4582:3084 -4582:3085 -4582:3088 -4582:3089 -4582:3090 -4582:3091 -4582:3092 -4582:3093 -4582:3094 -4582:3095 -4582:3098 -4582:3099 -4582:3100 -4582:3101 -4582:3102 -4582:3103 -4582:3104 -4582:3105 -4582:3106 -4582:3107 -4582:3110 -4582:3111 -4582:3112 -4582:3113 -4582:3116 -4582:3117 -4582:3118 -4582:3122 -4582:3123 -4587:3136 -4587:3137 -4587:3138 -4587:3139 -4587:3142 -4587:3143 -4587:3144 -4587:3145 -4587:3146 -4587:3147 -4591:3141 -4596:3149 -4596:3150 -4596:3151 -4596:3152 -4596:3163 -4596:3164 -4596:3165 -4596:3166 -4596:3167 -4596:3168 -4600:3154 -4600:3156 -4600:3157 -4600:3158 -4600:3160 -4604:3170 -4604:3171 -4604:3172 -4604:3173 -4604:3191 -4604:3192 -4604:3193 -4604:3194 -4604:3195 -4604:3196 -4608:3175 -4608:3176 -4608:3177 -4608:3178 -4608:3179 -4608:3180 -4608:3181 -4608:3182 -4608:3183 -4608:3184 -4608:3185 -4608:3186 -4608:3188 -4608:3189 -4608:3190 -4612:3198 -4612:3199 -4612:3200 -4612:3201 -4612:3208 -4612:3658 -4612:3659 -4612:3660 -4612:3661 -4612:3662 -4612:3663 -4619:3211 -4619:3212 -4619:3213 -4619:3214 -4619:3215 -4619:3216 -4619:3458 -4619:3459 -4619:3460 -4619:3461 -4619:3462 -4620:3219 -4620:3355 -4620:3398 -4620:3431 -4620:3433 -4620:3434 -4621:3220 -4621:3221 -4621:3223 -4621:3224 -4621:3225 -4621:3226 -4621:3229 -4621:3230 -4621:3231 -4621:3234 -4621:3235 -4621:3236 -4621:3237 -4621:3238 -4622:3240 -4622:3241 -4623:3243 -4624:3262 -4624:3264 -4625:3245 -4625:3246 -4625:3247 -4625:3248 -4625:3249 -4625:3250 -4625:3251 -4625:3252 -4625:3253 -4625:3254 -4625:3255 -4625:3256 -4625:3257 -4625:3259 -4625:3260 -4626:3261 -4630:3269 -4630:3270 -4630:3272 -4630:3273 -4630:3274 -4630:3275 -4630:3278 -4630:3279 -4630:3280 -4630:3283 -4630:3284 -4630:3285 -4630:3286 -4630:3287 -4630:3290 -4630:3291 -4630:3292 -4630:3293 -4630:3296 -4630:3297 -4630:3298 -4630:3301 -4630:3302 -4630:3303 -4630:3304 -4630:3305 -4630:3308 -4630:3309 -4630:3310 -4630:3311 -4630:3312 -4630:3313 -4630:3314 -4630:3315 -4630:3316 -4630:3317 -4630:3318 -4630:3319 -4630:3320 -4630:3321 -4630:3322 -4630:3323 -4630:3325 -4630:3326 -4630:3328 -4630:3329 -4630:3330 -4630:3331 -4630:3334 -4630:3335 -4630:3336 -4630:3339 -4630:3340 -4630:3341 -4630:3342 -4630:3343 -4630:3345 -4630:3347 -4631:3350 -4631:3351 -4634:3356 -4634:3357 -4634:3358 -4634:3359 -4634:3360 -4634:3361 -4634:3363 -4634:3389 -4634:3390 -4634:3391 -4634:3392 -4634:3393 -4634:3394 -4634:3395 -4634:3396 -4635:3365 -4635:3366 -4635:3367 -4635:3368 -4635:3369 -4635:3372 -4635:3373 -4635:3374 -4635:3377 -4635:3378 -4635:3379 -4635:3382 -4635:3383 -4635:3384 -4635:3385 -4635:3386 -4636:3397 -4639:3399 -4639:3401 -4639:3404 -4639:3405 -4639:3406 -4639:3407 -4639:3408 -4639:3409 -4639:3410 -4639:3411 -4639:3412 -4639:3413 -4639:3414 -4639:3415 -4639:3416 -4639:3418 -4639:3419 -4639:3421 -4639:3423 -4639:3425 -4640:3428 -4640:3429 -4642:3438 -4642:3439 -4642:3440 -4642:3441 -4642:3443 -4642:3446 -4642:3447 -4642:3448 -4642:3450 -4642:3453 -4642:3454 -4644:3465 -4644:3466 -4644:3467 -4644:3469 -4644:3470 -4644:3471 -4644:3472 -4644:3475 -4644:3476 -4644:3477 -4644:3480 -4644:3481 -4644:3482 -4644:3483 -4644:3484 -4644:3486 -4644:3487 -4644:3524 -4644:3653 -4644:3655 -4644:3656 -4645:3491 -4645:3492 -4645:3494 -4645:3495 -4645:3496 -4645:3497 -4645:3500 -4645:3501 -4645:3502 -4645:3505 -4645:3506 -4645:3507 -4645:3508 -4645:3509 -4645:3511 -4645:3512 -4646:3516 -4646:3517 -4646:3518 -4646:3519 -4646:3520 -4650:3525 -4650:3526 -4650:3527 -4650:3528 -4650:3529 -4650:3530 -4650:3532 -4650:3533 -4650:3534 -4650:3535 -4650:3536 -4650:3538 -4650:3540 -4650:3541 -4650:3542 -4650:3543 -4650:3546 -4650:3547 -4650:3548 -4650:3549 -4650:3550 -4650:3551 -4650:3552 -4650:3553 -4652:3202 -4652:3203 -4652:3204 -4652:3555 -4652:3556 -4652:3557 -4652:3558 -4652:3559 -4652:3561 -4652:3562 -4652:3563 -4652:3564 -4652:3566 -4652:3570 -4652:3571 -4652:3572 -4652:3573 -4652:3574 -4652:3575 -4652:3576 -4652:3580 -4652:3581 -4652:3582 -4652:3583 -4652:3584 -4652:3585 -4652:3589 -4652:3591 -4652:3592 -4652:3635 -4652:3636 -4652:3637 -4652:3638 -4652:3639 -4653:3205 -4653:3206 -4653:3596 -4653:3597 -4653:3598 -4653:3600 -4653:3601 -4653:3602 -4653:3603 -4653:3604 -4653:3605 -4653:3606 -4653:3610 -4653:3611 -4653:3612 -4653:3613 -4653:3614 -4653:3615 -4653:3619 -4653:3621 -4653:3622 -4654:3207 -4654:3626 -4654:3627 -4654:3628 -4654:3629 -4654:3630 -4654:3631 -4656:3641 -4657:3643 -4658:3644 -4659:3645 -4660:3646 -4661:3647 -4662:3648 -4663:3649 -4664:3650 -4671:3803 -4671:3804 -4671:3805 -4671:3806 -4671:3809 -4671:3810 -4671:3811 -4671:3812 -4671:3813 -4671:3814 -4675:3808 -4680:3665 -4680:3666 -4680:3667 -4680:3668 -4680:3730 -4680:3731 -4680:3732 -4680:3733 -4680:3734 -4680:3735 -4684:3671 -4684:3672 -4684:3673 -4684:3674 -4684:3677 -4684:3678 -4684:3679 -4684:3682 -4684:3683 -4684:3684 -4684:3685 -4684:3686 -4684:3689 -4684:3690 -4684:3691 -4684:3692 -4684:3695 -4684:3696 -4684:3697 -4684:3706 -4684:3707 -4684:3708 -4684:3709 -4684:3710 -4684:3712 -4684:3713 -4684:3714 -4684:3715 -4684:3716 -4684:3717 -4684:3718 -4684:3719 -4684:3720 -4684:3721 -4684:3722 -4684:3723 -4684:3725 -4684:3726 -4684:3728 -4689:3737 -4689:3738 -4689:3739 -4689:3740 -4689:3742 -4689:3763 -4689:3764 -4689:3765 -4689:3766 -4689:3767 -4689:3768 -4689:3769 -4689:3770 -4689:3771 -4689:3772 -4689:3773 -4693:3743 -4693:3744 -4693:3745 -4693:3748 -4693:3749 -4693:3750 -4693:3753 -4693:3754 -4693:3755 -4693:3758 -4693:3759 -4693:3760 -4697:3775 -4697:3776 -4697:3777 -4697:3778 -4697:3780 -4697:3791 -4697:3792 -4697:3793 -4697:3794 -4697:3795 -4697:3796 -4697:3797 -4697:3798 -4697:3799 -4697:3800 -4697:3801 -4701:3781 -4701:3782 -4701:3783 -4701:3786 -4701:3787 -4701:3788 +3711:43 +3712:44 +3713:45 +3714:46 +3715:47 +3716:48 +3718:50 +3719:51 +3720:52 +3721:53 +3722:54 +3723:55 +3724:56 +3725:57 +3727:59 +3728:60 +3729:61 +3730:62 +3732:64 +3733:65 +3734:66 +3735:67 +3737:69 +3738:70 +3739:71 +3740:72 +3741:73 +3742:74 +3743:75 +3744:76 +3745:77 +3747:79 +3749:81 +3750:82 +3751:83 +3752:84 +3753:85 +3754:86 +3755:87 +3756:88 +3758:90 +3759:91 +3760:92 +3761:93 +3762:94 +3764:96 +3765:97 +3766:98 +3767:99 +3768:100 +3769:101 +3770:102 +3772:104 +3773:105 +3774:106 +3775:107 +3776:108 +3778:110 +3779:111 +3780:112 +3782:114 +3783:115 +3784:116 +3785:117 +3786:118 +3787:119 +3788:120 +3789:121 +3790:122 +3791:123 +3792:124 +3793:125 +3794:126 +3795:127 +3796:128 +3797:129 +3798:130 +3799:131 +3800:132 +3801:133 +3802:134 +3803:135 +3804:136 +3805:137 +3806:138 +3807:139 +3808:140 +3809:141 +3810:142 +3811:143 +3812:144 +3813:145 +3814:146 +3815:147 +3816:148 +3817:149 +3818:150 +3819:151 +3820:152 +3821:153 +3822:154 +3823:155 +3824:156 +3825:157 +3826:158 +3827:159 +3828:160 +3829:161 +3830:162 +3831:163 +3832:164 +3833:165 +3834:166 +3835:167 +3836:168 +3837:169 +3838:170 +3839:171 +3840:172 +3841:173 +3842:174 +3843:175 +3844:176 +3845:177 +3846:178 +3847:179 +3848:180 +3849:181 +3850:182 +3851:183 +3852:184 +3853:185 +3854:186 +3855:187 +3856:188 +3857:189 +3858:190 +3859:191 +3860:192 +3861:193 +3862:194 +3864:196 +3865:197 +3866:198 +3867:199 +3868:200 +3869:201 +3870:202 +3871:203 +3872:204 +3874:206 +3875:207 +3876:208 +3877:209 +3878:210 +3879:211 +3880:212 +3881:213 +3883:215 +3884:216 +3885:217 +3887:219 +3888:220 +3889:221 +3891:223 +3892:224 +3893:225 +3895:227 +3896:228 +3897:229 +3898:230 +3899:231 +3900:232 +3901:233 +3902:234 +3903:235 +3904:236 +3905:237 +3906:238 +3907:239 +3908:240 +3909:241 +3910:242 +3911:243 +3912:244 +3913:245 +3914:246 +3915:247 +3916:248 +3917:249 +3918:250 +3919:251 +3920:252 +3921:253 +3922:254 +3923:255 +3924:256 +3925:257 +3926:258 +3927:259 +3928:260 +3929:261 +3930:262 +3931:263 +3932:264 +3933:265 +3934:266 +3935:267 +3936:268 +3937:269 +3938:270 +3939:271 +3940:272 +3941:273 +3942:274 +3943:275 +3944:276 +3945:277 +3946:278 +3947:279 +3949:281 +3950:282 +3951:283 +3952:284 +3953:285 +3954:286 +3955:287 +3956:288 +3957:289 +3958:290 +3959:291 +3960:292 +3961:293 +3962:294 +3963:295 +3964:296 +3965:297 +3966:298 +3967:299 +3968:300 +3969:301 +3970:302 +3971:303 +3972:304 +3973:305 +3974:306 +3975:307 +3976:308 +3977:309 +3978:310 +3980:312 +3981:313 +3982:314 +3983:315 +3984:316 +3985:317 +3986:318 +3987:319 +3988:320 +3989:321 +3990:322 +3991:323 +3992:324 +3993:325 +3994:326 +3998:749 +3998:750 +3998:751 +3998:752 +3998:754 +3998:755 +3998:756 +3998:757 +3998:758 +3998:759 +3998:760 +3999:762 +3999:763 +3999:764 +3999:765 +3999:767 +3999:768 +3999:769 +3999:771 +3999:772 +3999:773 +3999:774 +3999:775 +3999:776 +4000:778 +4000:779 +4000:780 +4000:781 +4000:783 +4000:784 +4000:785 +4000:787 +4000:788 +4000:789 +4000:790 +4000:791 +4000:792 +4001:794 +4001:795 +4001:796 +4001:797 +4001:799 +4001:800 +4001:801 +4001:803 +4001:804 +4001:805 +4001:806 +4001:807 +4001:808 +4002:810 +4002:811 +4002:812 +4002:813 +4002:815 +4002:816 +4002:817 +4002:819 +4002:820 +4002:821 +4002:822 +4002:823 +4002:824 +4003:826 +4003:827 +4003:828 +4003:829 +4003:831 +4003:832 +4003:833 +4003:835 +4003:836 +4003:837 +4003:838 +4003:839 +4003:840 +4004:842 +4004:843 +4004:844 +4004:845 +4004:847 +4004:848 +4004:849 +4004:851 +4004:852 +4004:853 +4004:854 +4004:855 +4004:856 +4005:858 +4005:859 +4005:860 +4005:861 +4005:863 +4005:864 +4005:865 +4005:866 +4005:867 +4005:868 +4005:869 +4006:871 +4006:872 +4006:873 +4006:874 +4006:876 +4006:877 +4006:878 +4006:879 +4006:880 +4006:881 +4006:882 +4007:884 +4007:885 +4007:886 +4007:887 +4007:889 +4007:890 +4007:891 +4007:892 +4007:893 +4007:894 +4007:895 +4008:897 +4008:898 +4008:899 +4008:900 +4008:902 +4008:903 +4008:904 +4008:905 +4008:906 +4008:907 +4008:908 +4009:910 +4009:911 +4009:912 +4009:913 +4009:915 +4009:916 +4009:917 +4009:918 +4009:919 +4009:920 +4009:921 +4010:923 +4010:924 +4010:925 +4010:926 +4010:928 +4010:929 +4010:930 +4010:931 +4010:932 +4010:933 +4010:934 +4011:936 +4011:937 +4011:938 +4011:939 +4011:941 +4011:942 +4011:943 +4011:944 +4011:945 +4011:946 +4011:947 +4012:949 +4012:950 +4012:951 +4012:952 +4012:954 +4012:955 +4012:956 +4012:957 +4012:958 +4012:959 +4012:960 +4013:962 +4013:963 +4013:964 +4013:965 +4013:967 +4013:968 +4013:969 +4013:970 +4013:971 +4013:972 +4013:973 +4014:975 +4014:976 +4014:977 +4014:978 +4014:980 +4014:981 +4014:982 +4014:983 +4014:984 +4014:985 +4014:986 +4015:988 +4015:989 +4015:990 +4015:991 +4015:993 +4015:994 +4015:995 +4015:996 +4015:997 +4015:998 +4015:999 +4017:1001 +4017:1002 +4017:1003 +4017:1004 +4017:1006 +4017:1007 +4017:1008 +4017:1009 +4017:1010 +4017:1011 +4017:1012 +4019:1014 +4019:1015 +4019:1016 +4019:1017 +4019:1019 +4019:1020 +4019:1021 +4019:1022 +4019:1023 +4019:1024 +4019:1025 +4020:1027 +4020:1028 +4020:1029 +4020:1030 +4020:1032 +4020:1033 +4020:1034 +4020:1035 +4020:1036 +4020:1037 +4020:1038 +4021:1040 +4021:1041 +4021:1042 +4021:1043 +4021:1045 +4021:1046 +4021:1047 +4021:1048 +4021:1049 +4021:1050 +4021:1051 +4022:1053 +4022:1054 +4022:1055 +4022:1056 +4022:1058 +4022:1059 +4022:1060 +4022:1061 +4022:1062 +4022:1063 +4022:1064 +4023:1066 +4023:1067 +4023:1068 +4023:1069 +4023:1071 +4023:1072 +4023:1073 +4023:1074 +4023:1075 +4023:1076 +4023:1077 +4024:1079 +4024:1080 +4024:1081 +4024:1082 +4024:1084 +4024:1085 +4024:1086 +4024:1087 +4024:1088 +4024:1089 +4024:1090 +4025:1092 +4025:1093 +4025:1094 +4025:1095 +4025:1097 +4025:1098 +4025:1099 +4025:1100 +4025:1101 +4025:1102 +4025:1103 +4026:1105 +4026:1106 +4026:1107 +4026:1108 +4026:1110 +4026:1111 +4026:1112 +4026:1113 +4026:1114 +4026:1115 +4026:1116 +4027:1118 +4027:1119 +4027:1120 +4027:1121 +4027:1123 +4027:1124 +4027:1125 +4027:1126 +4027:1127 +4027:1128 +4027:1129 +4028:1131 +4028:1132 +4028:1133 +4028:1134 +4028:1136 +4028:1137 +4028:1138 +4028:1139 +4028:1140 +4028:1141 +4028:1142 +4029:1144 +4029:1145 +4029:1146 +4029:1147 +4029:1149 +4029:1150 +4029:1151 +4029:1152 +4029:1153 +4029:1154 +4029:1155 +4030:1157 +4030:1158 +4030:1159 +4030:1160 +4030:1162 +4030:1163 +4030:1164 +4030:1165 +4030:1166 +4030:1167 +4030:1168 +4031:1170 +4031:1171 +4031:1172 +4031:1173 +4031:1175 +4031:1176 +4031:1177 +4031:1178 +4031:1179 +4031:1180 +4031:1181 +4032:1183 +4032:1184 +4032:1185 +4032:1186 +4032:1188 +4032:1189 +4032:1190 +4032:1191 +4032:1192 +4032:1193 +4032:1194 +4033:1196 +4033:1197 +4033:1198 +4033:1199 +4033:1201 +4033:1202 +4033:1203 +4033:1204 +4033:1205 +4033:1206 +4033:1207 +4034:1209 +4034:1210 +4034:1211 +4034:1212 +4034:1214 +4034:1215 +4034:1216 +4034:1217 +4034:1218 +4034:1219 +4034:1220 +4035:1222 +4035:1223 +4035:1224 +4035:1225 +4035:1227 +4035:1228 +4035:1229 +4035:1230 +4035:1231 +4035:1232 +4035:1233 +4036:1235 +4036:1236 +4036:1237 +4036:1238 +4036:1240 +4036:1241 +4036:1242 +4036:1243 +4036:1244 +4036:1245 +4036:1246 +4037:1248 +4037:1249 +4037:1250 +4037:1251 +4037:1253 +4037:1254 +4037:1255 +4037:1256 +4037:1257 +4037:1258 +4037:1259 +4038:1261 +4038:1262 +4038:1263 +4038:1264 +4038:1266 +4038:1267 +4038:1268 +4038:1269 +4038:1270 +4038:1271 +4038:1272 +4039:1274 +4039:1275 +4039:1276 +4039:1277 +4039:1279 +4039:1280 +4039:1281 +4039:1282 +4039:1283 +4039:1284 +4039:1285 +4040:1287 +4040:1288 +4040:1289 +4040:1290 +4040:1292 +4040:1293 +4040:1294 +4040:1295 +4040:1296 +4040:1297 +4040:1298 +4041:1300 +4041:1301 +4041:1302 +4041:1303 +4041:1305 +4041:1306 +4041:1307 +4041:1308 +4041:1309 +4041:1310 +4041:1311 +4042:1313 +4042:1314 +4042:1315 +4042:1316 +4042:1318 +4042:1319 +4042:1320 +4042:1321 +4042:1322 +4042:1323 +4042:1324 +4043:1326 +4043:1327 +4043:1328 +4043:1329 +4043:1331 +4043:1332 +4043:1333 +4043:1334 +4043:1335 +4043:1336 +4043:1337 +4044:1339 +4044:1340 +4044:1341 +4044:1342 +4044:1344 +4044:1345 +4044:1346 +4044:1347 +4044:1348 +4044:1349 +4044:1350 +4045:1352 +4045:1353 +4045:1354 +4045:1355 +4045:1357 +4045:1358 +4045:1359 +4045:1360 +4045:1361 +4045:1362 +4045:1363 +4046:1365 +4046:1366 +4046:1367 +4046:1368 +4046:1370 +4046:1371 +4046:1372 +4046:1373 +4046:1374 +4046:1375 +4046:1376 +4047:1378 +4047:1379 +4047:1380 +4047:1381 +4047:1383 +4047:1384 +4047:1385 +4047:1386 +4047:1387 +4047:1388 +4047:1389 +4048:1391 +4048:1392 +4048:1393 +4048:1394 +4048:1396 +4048:1397 +4048:1398 +4048:1399 +4048:1400 +4048:1401 +4048:1402 +4050:1404 +4050:1405 +4050:1406 +4050:1407 +4050:1409 +4050:1410 +4050:1411 +4050:1412 +4050:1413 +4050:1414 +4050:1415 +4051:1417 +4051:1418 +4051:1419 +4051:1420 +4051:1422 +4051:1423 +4051:1424 +4051:1425 +4051:1426 +4051:1427 +4051:1428 +4052:1430 +4052:1431 +4052:1432 +4052:1433 +4052:1435 +4052:1436 +4052:1437 +4052:1438 +4052:1439 +4052:1440 +4052:1441 +4053:1443 +4053:1444 +4053:1445 +4053:1446 +4053:1448 +4053:1449 +4053:1450 +4053:1451 +4053:1452 +4053:1453 +4053:1454 +4054:1456 +4054:1457 +4054:1458 +4054:1459 +4054:1461 +4054:1462 +4054:1463 +4054:1464 +4054:1465 +4054:1466 +4054:1467 +4055:1469 +4055:1470 +4055:1471 +4055:1472 +4055:1474 +4055:1475 +4055:1476 +4055:1477 +4055:1478 +4055:1479 +4055:1480 +4056:1482 +4056:1483 +4056:1484 +4056:1485 +4056:1487 +4056:1488 +4056:1489 +4056:1490 +4056:1491 +4056:1492 +4056:1493 +4057:1495 +4057:1496 +4057:1497 +4057:1498 +4057:1500 +4057:1501 +4057:1502 +4057:1503 +4057:1504 +4057:1505 +4057:1506 +4058:1508 +4058:1509 +4058:1510 +4058:1511 +4058:1513 +4058:1514 +4058:1515 +4058:1516 +4058:1517 +4058:1518 +4058:1519 +4059:1521 +4059:1522 +4059:1523 +4059:1524 +4059:1526 +4059:1527 +4059:1528 +4059:1529 +4059:1530 +4059:1531 +4059:1532 +4060:1534 +4060:1535 +4060:1536 +4060:1537 +4060:1539 +4060:1540 +4060:1541 +4060:1542 +4060:1543 +4060:1544 +4060:1545 +4061:1547 +4061:1548 +4061:1549 +4061:1550 +4061:1552 +4061:1553 +4061:1554 +4061:1555 +4061:1556 +4061:1557 +4061:1558 +4062:1560 +4062:1561 +4062:1562 +4062:1563 +4062:1565 +4062:1566 +4062:1567 +4062:1568 +4062:1569 +4062:1570 +4062:1571 +4065:1573 +4065:1574 +4065:1575 +4065:1576 +4065:1605 +4065:1606 +4065:1607 +4065:1608 +4065:1609 +4065:1610 +4070:1579 +4070:1580 +4070:1581 +4070:1585 +4070:1588 +4070:1591 +4070:1594 +4070:1595 +4070:1596 +4070:1597 +4070:1599 +4070:1600 +4070:1601 +4072:1586 +4072:1587 +4073:1589 +4073:1590 +4074:1592 +4074:1593 +4075:1582 +4075:1583 +4075:1584 +4077:1602 +4077:1603 +4081:1612 +4081:1613 +4081:1614 +4081:1615 +4081:1616 +4081:1617 +4081:1646 +4081:1647 +4081:1648 +4081:1649 +4081:1650 +4081:1651 +4086:1624 +4086:1629 +4086:1634 +4086:1635 +4086:1636 +4086:1637 +4087:1620 +4087:1621 +4087:1622 +4087:1623 +4088:1625 +4088:1626 +4088:1627 +4088:1628 +4089:1630 +4089:1631 +4089:1632 +4089:1633 +4091:1640 +4092:1642 +4093:1643 +4099:1653 +4099:1654 +4099:1655 +4099:1656 +4099:1657 +4099:1658 +4099:1681 +4099:1682 +4099:1683 +4099:1684 +4099:1685 +4099:1686 +4104:1663 +4104:1666 +4104:1669 +4104:1670 +4104:1671 +4104:1672 +4105:1661 +4105:1662 +4106:1664 +4106:1665 +4107:1667 +4107:1668 +4109:1675 +4110:1677 +4111:1678 +4119:1688 +4119:1689 +4119:1690 +4119:1691 +4119:1742 +4119:1743 +4119:1744 +4119:1745 +4119:1746 +4119:1747 +4123:1693 +4124:1725 +4124:1727 +4125:1695 +4125:1697 +4125:1698 +4125:1699 +4125:1700 +4125:1701 +4125:1702 +4125:1703 +4125:1706 +4125:1707 +4125:1708 +4125:1711 +4125:1712 +4125:1713 +4125:1714 +4125:1715 +4125:1716 +4125:1717 +4125:1718 +4125:1719 +4125:1720 +4125:1721 +4125:1722 +4125:1723 +4125:1724 +4129:1730 +4129:1731 +4130:1732 +4131:1733 +4132:1734 +4133:1735 +4134:1736 +4135:1737 +4136:1738 +4137:1739 +4142:1749 +4142:1750 +4142:1751 +4142:1752 +4142:1778 +4142:1779 +4142:1780 +4142:1781 +4142:1782 +4142:1783 +4146:1754 +4148:1755 +4148:1756 +4150:1758 +4150:1759 +4150:1760 +4150:1765 +4150:1766 +4150:1767 +4150:1768 +4150:1770 +4150:1771 +4154:1761 +4154:1763 +4157:1772 +4157:1773 +4158:1774 +4159:1775 +4166:1846 +4166:1847 +4166:1848 +4166:1849 +4166:1851 +4166:1852 +4166:1871 +4166:1872 +4166:1873 +4166:1874 +4166:1875 +4166:1876 +4170:1853 +4171:1854 +4171:1855 +4171:1856 +4171:1861 +4171:1862 +4171:1863 +4171:1864 +4171:1866 +4171:1867 +4175:1857 +4175:1859 +4177:1868 +4177:1869 +4182:1785 +4182:1786 +4182:1787 +4182:1788 +4182:1790 +4182:1791 +4182:1839 +4182:1840 +4182:1841 +4182:1842 +4182:1843 +4182:1844 +4186:1792 +4188:1793 +4188:1794 +4190:1796 +4190:1797 +4190:1798 +4190:1818 +4190:1821 +4190:1826 +4190:1827 +4190:1828 +4190:1829 +4190:1831 +4190:1832 +4201:1799 +4201:1800 +4201:1801 +4201:1802 +4201:1803 +4201:1804 +4201:1806 +4201:1807 +4201:1809 +4201:1810 +4201:1811 +4201:1812 +4201:1813 +4201:1814 +4201:1815 +4201:1816 +4201:1817 +4204:1819 +4204:1820 +4206:1822 +4206:1824 +4208:1833 +4210:1834 +4210:1835 +4211:1836 +4217:1878 +4217:1879 +4217:1880 +4217:1881 +4217:1882 +4217:1973 +4217:1999 +4217:2042 +4217:2054 +4217:2055 +4217:2056 +4217:2057 +4217:2058 +4217:2059 +4217:2060 +4217:2061 +4217:2062 +4217:2063 +4217:2064 +4222:1884 +4222:1885 +4222:1886 +4222:1887 +4222:1888 +4222:1889 +4222:1891 +4222:1893 +4222:1894 +4222:1895 +4222:1896 +4222:1897 +4222:1898 +4222:1899 +4222:1900 +4223:1901 +4223:1902 +4223:1903 +4224:1904 +4224:1905 +4224:1906 +4224:1907 +4224:1908 +4224:1909 +4224:1910 +4224:1913 +4224:1914 +4224:1915 +4224:1918 +4224:1919 +4224:1920 +4224:1923 +4224:1924 +4224:1925 +4224:1928 +4224:1960 +4224:1961 +4224:1962 +4224:1963 +4224:1964 +4224:1965 +4224:1966 +4224:1967 +4224:1968 +4224:1969 +4225:1929 +4225:1930 +4225:1931 +4225:1932 +4225:1933 +4225:1934 +4225:1936 +4225:1938 +4225:1939 +4225:1940 +4225:1941 +4225:1942 +4225:1943 +4225:1944 +4225:1945 +4225:1946 +4225:1947 +4225:1951 +4225:1952 +4225:1953 +4225:1954 +4225:1955 +4225:1956 +4225:1957 +4225:1958 +4225:1959 +4227:1970 +4227:1971 +4227:1972 +4228:2000 +4228:2001 +4228:2002 +4228:2003 +4229:2004 +4229:2005 +4230:2007 +4230:2008 +4230:2009 +4230:2010 +4230:2011 +4230:2012 +4230:2013 +4230:2016 +4230:2017 +4230:2018 +4230:2021 +4230:2022 +4230:2023 +4230:2026 +4230:2027 +4230:2028 +4230:2029 +4230:2030 +4230:2031 +4230:2032 +4230:2033 +4230:2034 +4230:2035 +4231:2036 +4231:2037 +4232:2039 +4232:2040 +4232:2041 +4233:1974 +4233:1975 +4233:1976 +4233:1977 +4233:1978 +4233:1979 +4233:1980 +4233:1982 +4233:1984 +4233:1985 +4233:1986 +4233:1987 +4233:1988 +4233:1989 +4233:1990 +4233:1991 +4234:1992 +4234:1993 +4234:1994 +4235:1995 +4236:1996 +4236:1997 +4237:2043 +4237:2044 +4237:2045 +4237:2046 +4238:2047 +4238:2048 +4239:2050 +4240:2051 +4240:2052 +4244:2276 +4244:2277 +4244:2278 +4244:2279 +4244:2280 +4244:2281 +4244:2282 +4244:2283 +4244:2405 +4244:2406 +4244:2407 +4244:2408 +4244:2409 +4244:2410 +4244:2411 +4251:2285 +4251:2286 +4251:2287 +4251:2288 +4251:2304 +4251:2336 +4251:2339 +4251:2340 +4251:2341 +4251:2342 +4251:2343 +4251:2344 +4251:2345 +4253:2289 +4253:2290 +4253:2291 +4253:2294 +4253:2295 +4253:2296 +4253:2299 +4253:2300 +4253:2301 +4253:2337 +4253:2338 +4254:2305 +4254:2306 +4254:2307 +4254:2308 +4254:2309 +4254:2310 +4254:2312 +4254:2314 +4254:2315 +4254:2316 +4254:2317 +4254:2318 +4254:2319 +4254:2320 +4254:2321 +4254:2322 +4254:2323 +4254:2327 +4254:2328 +4254:2329 +4254:2330 +4254:2331 +4254:2332 +4254:2333 +4254:2334 +4254:2335 +4256:2347 +4256:2348 +4256:2349 +4256:2355 +4256:2356 +4256:2357 +4256:2358 +4256:2359 +4256:2360 +4256:2361 +4256:2362 +4256:2363 +4256:2396 +4256:2397 +4256:2398 +4256:2399 +4256:2400 +4257:2351 +4257:2352 +4257:2353 +4257:2354 +4259:2366 +4260:2368 +4261:2369 +4262:2370 +4263:2371 +4265:2376 +4265:2377 +4265:2378 +4265:2379 +4266:2381 +4266:2382 +4266:2383 +4267:2384 +4268:2386 +4269:2387 +4270:2388 +4271:2389 +4272:2390 +4273:2391 +4276:2402 +4276:2403 +4280:2066 +4280:2067 +4280:2068 +4280:2069 +4280:2074 +4280:2075 +4280:2076 +4280:2077 +4280:2078 +4280:2079 +4284:2072 +4287:2413 +4287:2414 +4287:2415 +4287:2416 +4287:2417 +4287:2419 +4287:2420 +4287:2494 +4287:2495 +4287:2496 +4287:2497 +4287:2498 +4287:2499 +4293:2458 +4293:2464 +4293:2488 +4293:2489 +4293:2490 +4293:2491 +4293:2492 +4294:2422 +4294:2423 +4294:2424 +4294:2425 +4295:2426 +4295:2427 +4299:2433 +4299:2437 +4299:2449 +4299:2450 +4299:2451 +4299:2452 +4300:2434 +4300:2435 +4301:2436 +4302:2430 +4302:2431 +4303:2432 +4304:2438 +4304:2439 +4304:2440 +4304:2441 +4305:2442 +4306:2444 +4307:2445 +4308:2446 +4311:2455 +4311:2456 +4313:2465 +4313:2466 +4313:2467 +4313:2468 +4313:2469 +4313:2470 +4313:2471 +4313:2473 +4313:2474 +4313:2476 +4313:2477 +4313:2478 +4313:2479 +4313:2480 +4313:2481 +4313:2482 +4313:2483 +4313:2484 +4313:2485 +4313:2486 +4314:2459 +4314:2460 +4314:2461 +4314:2462 +4318:2614 +4318:2615 +4318:2616 +4318:2617 +4318:2618 +4318:2620 +4318:2621 +4318:2697 +4318:2698 +4318:2699 +4318:2700 +4318:2701 +4318:2702 +4323:2622 +4323:2623 +4323:2624 +4326:2646 +4326:2668 +4326:2672 +4326:2676 +4326:2688 +4326:2689 +4326:2690 +4326:2691 +4326:2692 +4327:2673 +4327:2674 +4328:2675 +4329:2669 +4329:2670 +4330:2671 +4332:2626 +4332:2627 +4332:2628 +4332:2629 +4332:2630 +4332:2631 +4332:2633 +4332:2634 +4332:2636 +4332:2637 +4332:2638 +4332:2639 +4332:2640 +4332:2641 +4332:2642 +4332:2643 +4332:2644 +4333:2645 +4335:2647 +4335:2648 +4335:2649 +4335:2650 +4335:2651 +4335:2652 +4335:2653 +4335:2655 +4335:2656 +4335:2658 +4335:2659 +4335:2660 +4335:2661 +4335:2662 +4335:2663 +4335:2664 +4335:2665 +4335:2666 +4336:2667 +4338:2677 +4338:2678 +4338:2679 +4338:2680 +4339:2681 +4340:2683 +4341:2684 +4342:2685 +4345:2694 +4345:2695 +4349:2543 +4349:2544 +4349:2545 +4349:2546 +4349:2547 +4349:2548 +4349:2549 +4349:2606 +4349:2607 +4349:2608 +4349:2609 +4349:2610 +4349:2611 +4349:2612 +4355:2551 +4355:2552 +4355:2553 +4355:2556 +4355:2559 +4355:2560 +4355:2561 +4355:2562 +4355:2564 +4355:2565 +4357:2557 +4357:2558 +4359:2554 +4359:2555 +4361:2567 +4361:2568 +4361:2569 +4361:2570 +4361:2571 +4361:2572 +4361:2597 +4361:2598 +4361:2599 +4361:2600 +4361:2601 +4362:2573 +4363:2575 +4364:2576 +4365:2577 +4366:2578 +4368:2583 +4368:2584 +4368:2585 +4368:2586 +4368:2587 +4369:2588 +4370:2590 +4371:2591 +4372:2592 +4375:2603 +4375:2604 +4379:2748 +4379:2749 +4379:2750 +4379:2751 +4379:2752 +4379:2753 +4379:2754 +4379:2849 +4379:2850 +4379:2851 +4379:2852 +4379:2853 +4379:2854 +4379:2855 +4385:2756 +4385:2757 +4385:2758 +4385:2778 +4385:2799 +4385:2802 +4385:2805 +4385:2806 +4385:2807 +4385:2808 +4385:2809 +4385:2810 +4385:2811 +4387:2800 +4387:2801 +4389:2759 +4389:2760 +4389:2761 +4389:2762 +4389:2763 +4389:2764 +4389:2766 +4389:2767 +4389:2769 +4389:2770 +4389:2771 +4389:2772 +4389:2773 +4389:2774 +4389:2775 +4389:2776 +4389:2777 +4391:2779 +4391:2780 +4391:2781 +4391:2782 +4391:2783 +4391:2784 +4391:2785 +4391:2787 +4391:2788 +4391:2790 +4391:2791 +4391:2792 +4391:2793 +4391:2794 +4391:2795 +4391:2796 +4391:2797 +4391:2798 +4393:2803 +4393:2804 +4395:2813 +4395:2840 +4395:2841 +4395:2842 +4395:2843 +4395:2844 +4396:2814 +4396:2815 +4396:2816 +4396:2817 +4396:2818 +4397:2819 +4398:2821 +4400:2826 +4400:2827 +4400:2828 +4400:2829 +4400:2830 +4401:2831 +4402:2833 +4403:2834 +4404:2835 +4407:2846 +4407:2847 +4410:2857 +4410:2858 +4410:2859 +4410:2860 +4410:2862 +4410:2863 +4410:2864 +4410:2865 +4410:2867 +4410:2868 +4410:2869 +4410:2870 +4410:2871 +4410:2872 +4412:2874 +4412:2875 +4412:2876 +4412:2877 +4412:2879 +4412:2880 +4412:2881 +4412:2882 +4412:2884 +4412:2885 +4412:2886 +4412:2887 +4412:2888 +4412:2889 +4415:2501 +4415:2502 +4415:2503 +4415:2504 +4415:2512 +4415:2520 +4415:2523 +4415:2528 +4415:2531 +4415:2532 +4415:2533 +4415:2534 +4415:2536 +4415:2537 +4415:2538 +4415:2539 +4415:2540 +4415:2541 +4420:2524 +4420:2526 +4421:2521 +4421:2522 +4422:2506 +4422:2507 +4422:2508 +4422:2509 +4422:2510 +4423:2529 +4423:2530 +4424:2513 +4424:2514 +4424:2515 +4424:2516 +4424:2517 +4424:2518 +4424:2519 +4428:2704 +4428:2705 +4428:2706 +4428:2707 +4428:2709 +4428:2720 +4428:2728 +4428:2731 +4428:2736 +4428:2737 +4428:2738 +4428:2739 +4428:2740 +4428:2741 +4428:2742 +4428:2743 +4428:2744 +4428:2745 +4428:2746 +4433:2732 +4433:2734 +4434:2729 +4434:2730 +4435:2710 +4435:2711 +4435:2712 +4436:2715 +4436:2716 +4436:2717 +4437:2721 +4437:2722 +4437:2723 +4437:2724 +4437:2725 +4437:2726 +4437:2727 +4449:2081 +4449:2082 +4449:2083 +4449:2084 +4449:2235 +4449:2243 +4449:2244 +4449:2245 +4449:2246 +4449:2248 +4449:2249 +4449:2250 +4449:2251 +4449:2252 +4449:2253 +4453:2086 +4453:2087 +4453:2088 +4453:2089 +4454:2091 +4454:2092 +4454:2093 +4454:2094 +4454:2095 +4454:2096 +4454:2229 +4454:2230 +4454:2231 +4454:2232 +4454:2233 +4455:2100 +4455:2101 +4455:2102 +4455:2103 +4455:2104 +4456:2108 +4456:2109 +4456:2110 +4456:2111 +4456:2112 +4457:2116 +4457:2117 +4457:2118 +4457:2119 +4457:2120 +4458:2124 +4458:2125 +4458:2126 +4458:2127 +4458:2128 +4459:2132 +4459:2133 +4459:2134 +4460:2137 +4460:2138 +4460:2139 +4461:2142 +4461:2143 +4461:2144 +4462:2147 +4462:2148 +4462:2149 +4463:2152 +4463:2153 +4463:2155 +4463:2156 +4463:2157 +4463:2158 +4463:2159 +4463:2160 +4463:2161 +4463:2162 +4463:2163 +4463:2165 +4463:2166 +4463:2167 +4463:2168 +4463:2169 +4464:2171 +4464:2172 +4464:2173 +4464:2174 +4465:2175 +4465:2176 +4466:2180 +4466:2181 +4466:2182 +4467:2197 +4467:2199 +4467:2200 +4467:2201 +4467:2202 +4471:2184 +4471:2185 +4472:2189 +4472:2191 +4472:2192 +4472:2193 +4472:2194 +4476:2187 +4476:2188 +4479:2205 +4479:2206 +4480:2210 +4480:2211 +4480:2212 +4481:2216 +4481:2218 +4481:2219 +4481:2220 +4481:2221 +4485:2214 +4485:2215 +4487:2224 +4487:2225 +4489:2236 +4489:2237 +4489:2238 +4489:2239 +4489:2240 +4489:2241 +4489:2242 +4493:2255 +4493:2256 +4493:2257 +4493:2258 +4493:2259 +4493:2260 +4493:2269 +4493:2270 +4493:2271 +4493:2272 +4493:2273 +4493:2274 +4497:2262 +4497:2263 +4498:2265 +4498:2266 +4498:2267 +4504:2891 +4504:2892 +4504:2893 +4504:2894 +4504:2923 +4504:2924 +4504:2925 +4504:2926 +4504:2927 +4504:2928 +4508:2897 +4508:2898 +4508:2899 +4508:2900 +4508:2901 +4508:2902 +4508:2905 +4508:2906 +4508:2907 +4508:2908 +4508:2911 +4508:2912 +4508:2913 +4508:2914 +4508:2917 +4508:2918 +4508:2919 +4508:2920 +4508:2921 +4515:2930 +4515:2931 +4515:2932 +4515:2933 +4515:2936 +4515:2937 +4515:2938 +4515:2939 +4515:2940 +4515:2941 +4519:2935 +4526:2943 +4526:2944 +4526:2945 +4526:2946 +4526:3053 +4526:3054 +4526:3055 +4526:3056 +4526:3057 +4526:3058 +4531:2949 +4531:2951 +4531:2952 +4531:2953 +4531:2954 +4531:2955 +4531:2956 +4531:2957 +4531:2958 +4531:2959 +4531:2962 +4531:2963 +4531:2964 +4531:2965 +4531:2966 +4531:2967 +4531:2968 +4531:2969 +4531:2970 +4531:2973 +4531:2974 +4531:2975 +4531:2978 +4531:2979 +4531:2980 +4531:2981 +4531:2982 +4531:2983 +4531:2984 +4531:2985 +4531:2986 +4531:2987 +4531:2988 +4531:2989 +4531:2990 +4531:2991 +4531:2992 +4531:2993 +4531:2994 +4531:2995 +4531:2996 +4531:2997 +4531:2998 +4531:2999 +4531:3000 +4531:3001 +4531:3002 +4531:3004 +4531:3005 +4531:3006 +4531:3007 +4531:3008 +4531:3009 +4532:3012 +4533:3014 +4534:3015 +4535:3016 +4536:3017 +4537:3018 +4538:3019 +4539:3020 +4540:3021 +4541:3022 +4542:3023 +4543:3024 +4544:3025 +4545:3026 +4546:3027 +4547:3028 +4548:3029 +4549:3030 +4550:3031 +4551:3032 +4552:3033 +4553:3034 +4554:3035 +4555:3036 +4556:3037 +4557:3038 +4558:3039 +4560:3041 +4562:3043 +4563:3044 +4564:3045 +4565:3046 +4566:3047 +4567:3048 +4568:3049 +4569:3050 +4574:3060 +4574:3061 +4574:3062 +4574:3063 +4574:3065 +4574:3121 +4574:3124 +4574:3125 +4574:3126 +4574:3127 +4574:3128 +4574:3129 +4574:3130 +4574:3131 +4574:3132 +4574:3133 +4574:3134 +4578:3066 +4578:3067 +4578:3068 +4578:3069 +4578:3070 +4578:3071 +4578:3072 +4578:3073 +4578:3074 +4578:3077 +4578:3078 +4578:3079 +4578:3080 +4578:3081 +4578:3082 +4578:3083 +4578:3084 +4578:3085 +4578:3088 +4578:3089 +4578:3090 +4578:3091 +4578:3092 +4578:3093 +4578:3094 +4578:3095 +4578:3098 +4578:3099 +4578:3100 +4578:3101 +4578:3102 +4578:3103 +4578:3104 +4578:3105 +4578:3106 +4578:3107 +4578:3110 +4578:3111 +4578:3112 +4578:3113 +4578:3116 +4578:3117 +4578:3118 +4578:3122 +4578:3123 +4583:3136 +4583:3137 +4583:3138 +4583:3139 +4583:3142 +4583:3143 +4583:3144 +4583:3145 +4583:3146 +4583:3147 +4587:3141 +4592:3149 +4592:3150 +4592:3151 +4592:3152 +4592:3163 +4592:3164 +4592:3165 +4592:3166 +4592:3167 +4592:3168 +4596:3154 +4596:3156 +4596:3157 +4596:3158 +4596:3160 +4600:3170 +4600:3171 +4600:3172 +4600:3173 +4600:3191 +4600:3192 +4600:3193 +4600:3194 +4600:3195 +4600:3196 +4604:3175 +4604:3176 +4604:3177 +4604:3178 +4604:3179 +4604:3180 +4604:3181 +4604:3182 +4604:3183 +4604:3184 +4604:3185 +4604:3186 +4604:3188 +4604:3189 +4604:3190 +4608:3198 +4608:3199 +4608:3200 +4608:3201 +4608:3208 +4608:3658 +4608:3659 +4608:3660 +4608:3661 +4608:3662 +4608:3663 +4615:3211 +4615:3212 +4615:3213 +4615:3214 +4615:3215 +4615:3216 +4615:3458 +4615:3459 +4615:3460 +4615:3461 +4615:3462 +4616:3219 +4616:3355 +4616:3398 +4616:3431 +4616:3433 +4616:3434 +4617:3220 +4617:3221 +4617:3223 +4617:3224 +4617:3225 +4617:3226 +4617:3229 +4617:3230 +4617:3231 +4617:3234 +4617:3235 +4617:3236 +4617:3237 +4617:3238 +4618:3240 +4618:3241 +4619:3243 +4620:3262 +4620:3264 +4621:3245 +4621:3246 +4621:3247 +4621:3248 +4621:3249 +4621:3250 +4621:3251 +4621:3252 +4621:3253 +4621:3254 +4621:3255 +4621:3256 +4621:3257 +4621:3259 +4621:3260 +4622:3261 +4626:3269 +4626:3270 +4626:3272 +4626:3273 +4626:3274 +4626:3275 +4626:3278 +4626:3279 +4626:3280 +4626:3283 +4626:3284 +4626:3285 +4626:3286 +4626:3287 +4626:3290 +4626:3291 +4626:3292 +4626:3293 +4626:3296 +4626:3297 +4626:3298 +4626:3301 +4626:3302 +4626:3303 +4626:3304 +4626:3305 +4626:3308 +4626:3309 +4626:3310 +4626:3311 +4626:3312 +4626:3313 +4626:3314 +4626:3315 +4626:3316 +4626:3317 +4626:3318 +4626:3319 +4626:3320 +4626:3321 +4626:3322 +4626:3323 +4626:3325 +4626:3326 +4626:3328 +4626:3329 +4626:3330 +4626:3331 +4626:3334 +4626:3335 +4626:3336 +4626:3339 +4626:3340 +4626:3341 +4626:3342 +4626:3343 +4626:3345 +4626:3347 +4627:3350 +4627:3351 +4630:3356 +4630:3357 +4630:3358 +4630:3359 +4630:3360 +4630:3361 +4630:3363 +4630:3389 +4630:3390 +4630:3391 +4630:3392 +4630:3393 +4630:3394 +4630:3395 +4630:3396 +4631:3365 +4631:3366 +4631:3367 +4631:3368 +4631:3369 +4631:3372 +4631:3373 +4631:3374 +4631:3377 +4631:3378 +4631:3379 +4631:3382 +4631:3383 +4631:3384 +4631:3385 +4631:3386 +4632:3397 +4635:3399 +4635:3401 +4635:3404 +4635:3405 +4635:3406 +4635:3407 +4635:3408 +4635:3409 +4635:3410 +4635:3411 +4635:3412 +4635:3413 +4635:3414 +4635:3415 +4635:3416 +4635:3418 +4635:3419 +4635:3421 +4635:3423 +4635:3425 +4636:3428 +4636:3429 +4638:3438 +4638:3439 +4638:3440 +4638:3441 +4638:3443 +4638:3446 +4638:3447 +4638:3448 +4638:3450 +4638:3453 +4638:3454 +4640:3465 +4640:3466 +4640:3467 +4640:3469 +4640:3470 +4640:3471 +4640:3472 +4640:3475 +4640:3476 +4640:3477 +4640:3480 +4640:3481 +4640:3482 +4640:3483 +4640:3484 +4640:3486 +4640:3487 +4640:3524 +4640:3653 +4640:3655 +4640:3656 +4641:3491 +4641:3492 +4641:3494 +4641:3495 +4641:3496 +4641:3497 +4641:3500 +4641:3501 +4641:3502 +4641:3505 +4641:3506 +4641:3507 +4641:3508 +4641:3509 +4641:3511 +4641:3512 +4642:3516 +4642:3517 +4642:3518 +4642:3519 +4642:3520 +4646:3525 +4646:3526 +4646:3527 +4646:3528 +4646:3529 +4646:3530 +4646:3532 +4646:3533 +4646:3534 +4646:3535 +4646:3536 +4646:3538 +4646:3540 +4646:3541 +4646:3542 +4646:3543 +4646:3546 +4646:3547 +4646:3548 +4646:3549 +4646:3550 +4646:3551 +4646:3552 +4646:3553 +4648:3202 +4648:3203 +4648:3204 +4648:3555 +4648:3556 +4648:3557 +4648:3558 +4648:3559 +4648:3561 +4648:3562 +4648:3563 +4648:3564 +4648:3566 +4648:3570 +4648:3571 +4648:3572 +4648:3573 +4648:3574 +4648:3575 +4648:3576 +4648:3580 +4648:3581 +4648:3582 +4648:3583 +4648:3584 +4648:3585 +4648:3589 +4648:3591 +4648:3592 +4648:3635 +4648:3636 +4648:3637 +4648:3638 +4648:3639 +4649:3205 +4649:3206 +4649:3596 +4649:3597 +4649:3598 +4649:3600 +4649:3601 +4649:3602 +4649:3603 +4649:3604 +4649:3605 +4649:3606 +4649:3610 +4649:3611 +4649:3612 +4649:3613 +4649:3614 +4649:3615 +4649:3619 +4649:3621 +4649:3622 +4650:3207 +4650:3626 +4650:3627 +4650:3628 +4650:3629 +4650:3630 +4650:3631 +4652:3641 +4653:3643 +4654:3644 +4655:3645 +4656:3646 +4657:3647 +4658:3648 +4659:3649 +4660:3650 +4667:3803 +4667:3804 +4667:3805 +4667:3806 +4667:3809 +4667:3810 +4667:3811 +4667:3812 +4667:3813 +4667:3814 +4671:3808 +4676:3665 +4676:3666 +4676:3667 +4676:3668 +4676:3730 +4676:3731 +4676:3732 +4676:3733 +4676:3734 +4676:3735 +4680:3671 +4680:3672 +4680:3673 +4680:3674 +4680:3677 +4680:3678 +4680:3679 +4680:3682 +4680:3683 +4680:3684 +4680:3685 +4680:3686 +4680:3689 +4680:3690 +4680:3691 +4680:3692 +4680:3695 +4680:3696 +4680:3697 +4680:3706 +4680:3707 +4680:3708 +4680:3709 +4680:3710 +4680:3712 +4680:3713 +4680:3714 +4680:3715 +4680:3716 +4680:3717 +4680:3718 +4680:3719 +4680:3720 +4680:3721 +4680:3722 +4680:3723 +4680:3725 +4680:3726 +4680:3728 +4685:3737 +4685:3738 +4685:3739 +4685:3740 +4685:3742 +4685:3763 +4685:3764 +4685:3765 +4685:3766 +4685:3767 +4685:3768 +4685:3769 +4685:3770 +4685:3771 +4685:3772 +4685:3773 +4689:3743 +4689:3744 +4689:3745 +4689:3748 +4689:3749 +4689:3750 +4689:3753 +4689:3754 +4689:3755 +4689:3758 +4689:3759 +4689:3760 +4693:3775 +4693:3776 +4693:3777 +4693:3778 +4693:3780 +4693:3791 +4693:3792 +4693:3793 +4693:3794 +4693:3795 +4693:3796 +4693:3797 +4693:3798 +4693:3799 +4693:3800 +4693:3801 +4697:3781 +4697:3782 +4697:3783 +4697:3786 +4697:3787 +4697:3788 *E diff --git a/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java b/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java index 4a6a1c6300..ecab63f2d3 100644 --- a/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java +++ b/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java @@ -1596,13 +1596,13 @@ public final void sep() throws RecognitionException, TokenStreamException { { match(SEMI); { - _loop597: + _loop600: do { if ((LA(1)==NLS) && (_tokenSet_24.member(LA(2)))) { match(NLS); } else { - break _loop597; + break _loop600; } } while (true); @@ -1619,18 +1619,18 @@ public final void sep() throws RecognitionException, TokenStreamException { sepToken = NLS; } { - _loop601: + _loop604: do { if ((LA(1)==SEMI) && (_tokenSet_24.member(LA(2)))) { match(SEMI); { - _loop600: + _loop603: do { if ((LA(1)==NLS) && (_tokenSet_24.member(LA(2)))) { match(NLS); } else { - break _loop600; + break _loop603; } } while (true); @@ -1640,7 +1640,7 @@ public final void sep() throws RecognitionException, TokenStreamException { } } else { - break _loop601; + break _loop604; } } while (true); @@ -3789,7 +3789,7 @@ public final void balancedTokens() throws RecognitionException, TokenStreamExcep AST balancedTokens_AST = null; { - _loop594: + _loop597: do { if ((_tokenSet_40.member(LA(1)))) { balancedBrackets(); @@ -3800,7 +3800,7 @@ else if ((_tokenSet_41.member(LA(1)))) { } } else { - break _loop594; + break _loop597; } } while (true); @@ -5293,10 +5293,10 @@ public final void conditionalExpression( logicalOrExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - boolean synPredMatched458 = false; + boolean synPredMatched461 = false; if (((LA(1)==ELVIS_OPERATOR||LA(1)==NLS) && (_tokenSet_54.member(LA(2))))) { - int _m458 = mark(); - synPredMatched458 = true; + int _m461 = mark(); + synPredMatched461 = true; inputState.guessing++; try { { @@ -5305,12 +5305,12 @@ public final void conditionalExpression( } } catch (RecognitionException pe) { - synPredMatched458 = false; + synPredMatched461 = false; } - rewind(_m458); + rewind(_m461); inputState.guessing--; } - if ( synPredMatched458 ) { + if ( synPredMatched461 ) { nls(); AST tmp151_AST = null; tmp151_AST = astFactory.create(LT(1)); @@ -5321,10 +5321,10 @@ public final void conditionalExpression( astFactory.addASTChild(currentAST, returnAST); } else { - boolean synPredMatched460 = false; + boolean synPredMatched463 = false; if (((LA(1)==QUESTION||LA(1)==NLS) && (_tokenSet_55.member(LA(2))))) { - int _m460 = mark(); - synPredMatched460 = true; + int _m463 = mark(); + synPredMatched463 = true; inputState.guessing++; try { { @@ -5333,12 +5333,12 @@ public final void conditionalExpression( } } catch (RecognitionException pe) { - synPredMatched460 = false; + synPredMatched463 = false; } - rewind(_m460); + rewind(_m463); inputState.guessing--; } - if ( synPredMatched460 ) { + if ( synPredMatched463 ) { try { // for error handling nls(); AST tmp152_AST = null; @@ -7145,8 +7145,8 @@ public final void argList() throws RecognitionException, TokenStreamException { if ((LA(1)==SEMI) && (_tokenSet_71.member(LA(2)))) { { { - int _cnt562=0; - _loop562: + int _cnt565=0; + _loop565: do { if ((LA(1)==SEMI) && (_tokenSet_71.member(LA(2)))) { match(SEMI); @@ -7231,10 +7231,10 @@ public final void argList() throws RecognitionException, TokenStreamException { } } else { - if ( _cnt562>=1 ) { break _loop562; } else {throw new NoViableAltException(LT(1), getFilename());} + if ( _cnt565>=1 ) { break _loop565; } else {throw new NoViableAltException(LT(1), getFilename());} } - _cnt562++; + _cnt565++; } while (true); } if ( inputState.guessing==0 ) { @@ -7250,7 +7250,7 @@ public final void argList() throws RecognitionException, TokenStreamException { else if ((_tokenSet_72.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { { { - _loop568: + _loop571: do { if ((LA(1)==COMMA)) { if ( inputState.guessing==0 ) { @@ -7371,7 +7371,7 @@ else if ((_tokenSet_72.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { } } else { - break _loop568; + break _loop571; } } while (true); @@ -8852,10 +8852,10 @@ public final void nlsWarn() throws RecognitionException, TokenStreamException { AST nlsWarn_AST = null; { - boolean synPredMatched607 = false; + boolean synPredMatched610 = false; if (((_tokenSet_82.member(LA(1))) && (_tokenSet_2.member(LA(2))))) { - int _m607 = mark(); - synPredMatched607 = true; + int _m610 = mark(); + synPredMatched610 = true; inputState.guessing++; try { { @@ -8863,12 +8863,12 @@ public final void nlsWarn() throws RecognitionException, TokenStreamException { } } catch (RecognitionException pe) { - synPredMatched607 = false; + synPredMatched610 = false; } - rewind(_m607); + rewind(_m610); inputState.guessing--; } - if ( synPredMatched607 ) { + if ( synPredMatched610 ) { if ( inputState.guessing==0 ) { addWarning( "A newline at this point does not follow the Groovy Coding Conventions.", @@ -9929,10 +9929,10 @@ public final boolean strictContextExpression( Token first = LT(1); { - boolean synPredMatched541 = false; + boolean synPredMatched544 = false; if (((_tokenSet_16.member(LA(1))) && (_tokenSet_92.member(LA(2))))) { - int _m541 = mark(); - synPredMatched541 = true; + int _m544 = mark(); + synPredMatched544 = true; inputState.guessing++; try { { @@ -9942,12 +9942,12 @@ public final boolean strictContextExpression( } } catch (RecognitionException pe) { - synPredMatched541 = false; + synPredMatched544 = false; } - rewind(_m541); + rewind(_m544); inputState.guessing--; } - if ( synPredMatched541 ) { + if ( synPredMatched544 ) { if ( inputState.guessing==0 ) { hasDeclaration=true; } @@ -10544,7 +10544,7 @@ public final void shiftExpression( additiveExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop492: + _loop495: do { if ((_tokenSet_98.member(LA(1)))) { { @@ -10614,7 +10614,7 @@ public final void shiftExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop492; + break _loop495; } } while (true); @@ -12003,10 +12003,10 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept AST id_AST = null; AST kw_AST = null; - boolean synPredMatched577 = false; + boolean synPredMatched580 = false; if (((LA(1)==IDENT) && (LA(2)==COLON))) { - int _m577 = mark(); - synPredMatched577 = true; + int _m580 = mark(); + synPredMatched580 = true; inputState.guessing++; try { { @@ -12014,12 +12014,12 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept } } catch (RecognitionException pe) { - synPredMatched577 = false; + synPredMatched580 = false; } - rewind(_m577); + rewind(_m580); inputState.guessing--; } - if ( synPredMatched577 ) { + if ( synPredMatched580 ) { id = LT(1); id_AST = astFactory.create(id); astFactory.addASTChild(currentAST, id_AST); @@ -12030,10 +12030,10 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept argumentLabel_AST = (AST)currentAST.root; } else { - boolean synPredMatched579 = false; + boolean synPredMatched582 = false; if (((_tokenSet_109.member(LA(1))) && (LA(2)==COLON))) { - int _m579 = mark(); - synPredMatched579 = true; + int _m582 = mark(); + synPredMatched582 = true; inputState.guessing++; try { { @@ -12041,12 +12041,12 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept } } catch (RecognitionException pe) { - synPredMatched579 = false; + synPredMatched582 = false; } - rewind(_m579); + rewind(_m582); inputState.guessing--; } - if ( synPredMatched579 ) { + if ( synPredMatched582 ) { keywordPropertyNames(); kw_AST = (AST)returnAST; astFactory.addASTChild(currentAST, returnAST); @@ -12169,11 +12169,38 @@ else if ((_tokenSet_73.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { } { - if ((_tokenSet_110.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { - namePart(); - np_AST = (AST)returnAST; + boolean synPredMatched440 = false; + if (((_tokenSet_110.member(LA(1))) && (_tokenSet_57.member(LA(2))))) { + int _m440 = mark(); + synPredMatched440 = true; + inputState.guessing++; + try { + { + declarationStart(); + } + } + catch (RecognitionException pe) { + synPredMatched440 = false; + } + rewind(_m440); +inputState.guessing--; } - else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + if ( synPredMatched440 ) { + nls(); + } + else if ((_tokenSet_73.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + { + if ((_tokenSet_111.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { + namePart(); + np_AST = (AST)returnAST; + } + else if ((_tokenSet_110.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + } + else { + throw new NoViableAltException(LT(1), getFilename()); + } + + } } else { throw new NoViableAltException(LT(1), getFilename()); @@ -12181,7 +12208,6 @@ else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { } if ( inputState.guessing==0 ) { - pathElement_AST = (AST)currentAST.root; if (np_AST == null) { GroovySourceToken ident = new GroovySourceToken(IDENT); @@ -12191,9 +12217,13 @@ else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { ident.setColumnLast(((SourceInfo) LT(0)).getColumnLast()); np_AST = (AST)astFactory.make( (new ASTArray(1)).add(create(ident.getType(),ident.getText(),ident,null))); reportError(new NoViableAltException(LT(1), getFilename())); + while (LA(0) == NLS) rewind(mark() - 1); // give back spaces } - pathElement_AST = (AST)astFactory.make( (new ASTArray(4)).add(create(operator.getType(),operator.getText(),prefix,LT(1))).add(prefix).add(ta_AST).add(np_AST)); + } + if ( inputState.guessing==0 ) { + pathElement_AST = (AST)currentAST.root; + pathElement_AST = (AST)astFactory.make( (new ASTArray(4)).add(create(operator.getType(),operator.getText(),prefix,LT(1))).add(prefix).add(ta_AST).add(np_AST)); currentAST.root = pathElement_AST; currentAST.child = pathElement_AST!=null &&pathElement_AST.getFirstChild()!=null ? pathElement_AST.getFirstChild() : pathElement_AST; @@ -12399,7 +12429,6 @@ public final void namePart() throws RecognitionException, TokenStreamException { AST ats_AST = null; Token sl = null; AST sl_AST = null; - Token first = LT(1); { switch ( LA(1)) { @@ -12784,7 +12813,7 @@ public final void parenthesizedExpression() throws RecognitionException, TokenSt firstContainsDeclaration=strictContextExpression(true); astFactory.addASTChild(currentAST, returnAST); { - _loop537: + _loop540: do { if ((LA(1)==SEMI)) { match(SEMI); @@ -12866,7 +12895,7 @@ public final void parenthesizedExpression() throws RecognitionException, TokenSt } } else { - break _loop537; + break _loop540; } } while (true); @@ -12929,7 +12958,7 @@ public final void stringConstructorExpression() throws RecognitionException, Tok stringConstructorValuePart(); astFactory.addASTChild(currentAST, returnAST); { - _loop547: + _loop550: do { if ((LA(1)==STRING_CTOR_MIDDLE)) { cm = LT(1); @@ -12943,7 +12972,7 @@ public final void stringConstructorExpression() throws RecognitionException, Tok astFactory.addASTChild(currentAST, returnAST); } else { - break _loop547; + break _loop550; } } while (true); @@ -12978,7 +13007,7 @@ public final void logicalOrExpression( logicalAndExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop463: + _loop466: do { if ((LA(1)==LOR)) { AST tmp295_AST = null; @@ -12990,7 +13019,7 @@ public final void logicalOrExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop463; + break _loop466; } } while (true); @@ -13010,7 +13039,7 @@ public final void logicalAndExpression( inclusiveOrExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop466: + _loop469: do { if ((LA(1)==LAND)) { AST tmp296_AST = null; @@ -13022,7 +13051,7 @@ public final void logicalAndExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop466; + break _loop469; } } while (true); @@ -13042,7 +13071,7 @@ public final void inclusiveOrExpression( exclusiveOrExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop469: + _loop472: do { if ((LA(1)==BOR)) { AST tmp297_AST = null; @@ -13054,7 +13083,7 @@ public final void inclusiveOrExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop469; + break _loop472; } } while (true); @@ -13074,7 +13103,7 @@ public final void exclusiveOrExpression( andExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop472: + _loop475: do { if ((LA(1)==BXOR)) { AST tmp298_AST = null; @@ -13086,7 +13115,7 @@ public final void exclusiveOrExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop472; + break _loop475; } } while (true); @@ -13106,7 +13135,7 @@ public final void andExpression( regexExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop475: + _loop478: do { if ((LA(1)==BAND)) { AST tmp299_AST = null; @@ -13118,7 +13147,7 @@ public final void andExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop475; + break _loop478; } } while (true); @@ -13138,7 +13167,7 @@ public final void regexExpression( equalityExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop479: + _loop482: do { if ((LA(1)==REGEX_FIND||LA(1)==REGEX_MATCH)) { { @@ -13170,7 +13199,7 @@ public final void regexExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop479; + break _loop482; } } while (true); @@ -13190,7 +13219,7 @@ public final void equalityExpression( relationalExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop483: + _loop486: do { if (((LA(1) >= NOT_EQUAL && LA(1) <= COMPARE_TO))) { { @@ -13246,7 +13275,7 @@ public final void equalityExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop483; + break _loop486; } } while (true); @@ -13361,7 +13390,7 @@ public final void additiveExpression( multiplicativeExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop496: + _loop499: do { if ((LA(1)==PLUS||LA(1)==MINUS) && (_tokenSet_95.member(LA(2)))) { { @@ -13393,7 +13422,7 @@ public final void additiveExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop496; + break _loop499; } } while (true); @@ -13422,7 +13451,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop501: + _loop504: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13462,7 +13491,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop501; + break _loop504; } } while (true); @@ -13482,7 +13511,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop505: + _loop508: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13522,7 +13551,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop505; + break _loop508; } } while (true); @@ -13545,7 +13574,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop509: + _loop512: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13585,7 +13614,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop509; + break _loop512; } } while (true); @@ -13608,7 +13637,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop513: + _loop516: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13648,7 +13677,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop513; + break _loop516; } } while (true); @@ -13691,7 +13720,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop517: + _loop520: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13731,7 +13760,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop517; + break _loop520; } } while (true); @@ -13759,7 +13788,7 @@ public final void powerExpressionNotPlusMinus( unaryExpressionNotPlusMinus(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop524: + _loop527: do { if ((LA(1)==STAR_STAR)) { AST tmp335_AST = null; @@ -13771,7 +13800,7 @@ public final void powerExpressionNotPlusMinus( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop524; + break _loop527; } } while (true); @@ -13791,7 +13820,7 @@ public final void powerExpression( unaryExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop521: + _loop524: do { if ((LA(1)==STAR_STAR)) { AST tmp336_AST = null; @@ -13803,7 +13832,7 @@ public final void powerExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop521; + break _loop524; } } while (true); @@ -13984,10 +14013,10 @@ public final void unaryExpressionNotPlusMinus( case NUM_BIG_DECIMAL: { { - boolean synPredMatched528 = false; + boolean synPredMatched531 = false; if (((LA(1)==LPAREN) && ((LA(2) >= LITERAL_void && LA(2) <= LITERAL_double)))) { - int _m528 = mark(); - synPredMatched528 = true; + int _m531 = mark(); + synPredMatched531 = true; inputState.guessing++; try { { @@ -13998,12 +14027,12 @@ public final void unaryExpressionNotPlusMinus( } } catch (RecognitionException pe) { - synPredMatched528 = false; + synPredMatched531 = false; } - rewind(_m528); + rewind(_m531); inputState.guessing--; } - if ( synPredMatched528 ) { + if ( synPredMatched531 ) { lpb = LT(1); lpb_AST = astFactory.create(lpb); astFactory.makeASTRoot(currentAST, lpb_AST); @@ -14018,10 +14047,10 @@ public final void unaryExpressionNotPlusMinus( astFactory.addASTChild(currentAST, returnAST); } else { - boolean synPredMatched530 = false; + boolean synPredMatched533 = false; if (((LA(1)==LPAREN) && (LA(2)==IDENT))) { - int _m530 = mark(); - synPredMatched530 = true; + int _m533 = mark(); + synPredMatched533 = true; inputState.guessing++; try { { @@ -14032,12 +14061,12 @@ public final void unaryExpressionNotPlusMinus( } } catch (RecognitionException pe) { - synPredMatched530 = false; + synPredMatched533 = false; } - rewind(_m530); + rewind(_m533); inputState.guessing--; } - if ( synPredMatched530 ) { + if ( synPredMatched533 ) { lp = LT(1); lp_AST = astFactory.create(lp); astFactory.makeASTRoot(currentAST, lp_AST); @@ -14316,7 +14345,7 @@ public final void newExpression() throws RecognitionException, TokenStreamExcept cb_AST = (AST)returnAST; astFactory.addASTChild(currentAST, returnAST); } - else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + else if ((_tokenSet_110.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { } else { throw new NoViableAltException(LT(1), getFilename()); @@ -14525,8 +14554,8 @@ public final void newArrayDeclarator() throws RecognitionException, TokenStreamE AST lb_AST = null; { - int _cnt587=0; - _loop587: + int _cnt590=0; + _loop590: do { if ((LA(1)==LBRACK) && (_tokenSet_118.member(LA(2)))) { lb = LT(1); @@ -14589,10 +14618,10 @@ public final void newArrayDeclarator() throws RecognitionException, TokenStreamE match(RBRACK); } else { - if ( _cnt587>=1 ) { break _loop587; } else {throw new NoViableAltException(LT(1), getFilename());} + if ( _cnt590>=1 ) { break _loop590; } else {throw new NoViableAltException(LT(1), getFilename());} } - _cnt587++; + _cnt590++; } while (true); } newArrayDeclarator_AST = (AST)currentAST.root; @@ -14615,10 +14644,10 @@ public final byte argument() throws RecognitionException, TokenStreamException boolean sce=false; { - boolean synPredMatched573 = false; + boolean synPredMatched576 = false; if (((_tokenSet_107.member(LA(1))) && (_tokenSet_108.member(LA(2))))) { - int _m573 = mark(); - synPredMatched573 = true; + int _m576 = mark(); + synPredMatched576 = true; inputState.guessing++; try { { @@ -14626,12 +14655,12 @@ public final byte argument() throws RecognitionException, TokenStreamException } } catch (RecognitionException pe) { - synPredMatched573 = false; + synPredMatched576 = false; } - rewind(_m573); + rewind(_m576); inputState.guessing--; } - if ( synPredMatched573 ) { + if ( synPredMatched576 ) { argumentLabel(); astFactory.addASTChild(currentAST, returnAST); c = LT(1); @@ -16098,19 +16127,19 @@ private static final long[] mk_tokenSet_109() { public static final BitSet _tokenSet_109 = new BitSet(mk_tokenSet_109()); private static final long[] mk_tokenSet_110() { long[] data = new long[8]; - data[0]=17317308137472L; - data[1]=5187582781288218624L; - data[2]=16706960926L; - data[3]=32L; + data[0]=17317308137474L; + data[1]=-4295098368L; + data[2]=-33L; + data[3]=16319L; return data; } public static final BitSet _tokenSet_110 = new BitSet(mk_tokenSet_110()); private static final long[] mk_tokenSet_111() { long[] data = new long[8]; - data[0]=17317308137474L; - data[1]=-4295098368L; - data[2]=-33L; - data[3]=16319L; + data[0]=17317308137472L; + data[1]=5187582781288218624L; + data[2]=16706960926L; + data[3]=32L; return data; } public static final BitSet _tokenSet_111 = new BitSet(mk_tokenSet_111()); diff --git a/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap b/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap index 65043b5a49..f48dad1bc7 100644 --- a/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap +++ b/base/org.codehaus.groovy24/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap @@ -7986,91 +7986,91 @@ groovy.g 2689:11983 2689:11984 2690:11986 -2700:12291 -2700:12299 -2700:12300 -2700:12301 -2700:12303 -2700:12304 -2700:12305 -2700:12309 -2700:12387 -2700:12388 -2701:12292 -2702:12293 -2703:12294 -2703:12306 -2703:12311 -2703:12312 -2704:12295 -2704:12313 -2704:12314 -2705:12296 -2705:12316 -2705:12317 -2705:12318 -2705:12342 -2705:12368 -2705:12369 -2705:12370 -2705:12371 +2700:12321 +2700:12329 +2700:12330 +2700:12331 +2700:12333 +2700:12334 +2700:12335 +2700:12339 +2700:12417 +2700:12418 +2701:12322 +2702:12323 +2703:12324 +2703:12336 +2703:12341 +2703:12342 +2704:12325 +2704:12343 +2704:12344 +2705:12326 +2705:12346 +2705:12347 +2705:12348 2705:12372 -2705:12373 -2705:12374 -2706:12297 -2707:12298 -2719:12319 -2719:12320 -2719:12321 -2719:12322 -2719:12323 -2719:12324 -2719:12326 -2719:12328 -2719:12329 -2719:12330 -2719:12331 -2719:12332 -2719:12333 -2719:12334 -2719:12335 -2720:12336 -2721:12307 +2705:12398 +2705:12399 +2705:12400 +2705:12401 +2705:12402 +2705:12403 +2705:12404 +2706:12327 +2707:12328 +2719:12349 +2719:12350 +2719:12351 +2719:12352 +2719:12353 +2719:12354 +2719:12356 +2719:12358 +2719:12359 +2719:12360 +2719:12361 +2719:12362 +2719:12363 +2719:12364 +2719:12365 +2720:12366 2721:12337 -2721:12338 -2722:12339 -2722:12340 -2725:12343 -2725:12344 -2725:12345 -2725:12346 -2725:12347 -2725:12348 -2725:12349 -2725:12351 -2725:12352 -2725:12354 -2725:12355 -2725:12356 -2725:12357 -2725:12358 -2725:12359 -2725:12360 -2725:12361 -2726:12362 -2727:12308 -2727:12363 -2727:12364 -2728:12365 -2728:12366 -2730:12375 -2730:12376 -2730:12381 -2730:12383 -2730:12384 -2731:12378 -2731:12386 -2732:12379 +2721:12367 +2721:12368 +2722:12369 +2722:12370 +2725:12373 +2725:12374 +2725:12375 +2725:12376 +2725:12377 +2725:12378 +2725:12379 +2725:12381 +2725:12382 +2725:12384 +2725:12385 +2725:12386 +2725:12387 +2725:12388 +2725:12389 +2725:12390 +2725:12391 +2726:12392 +2727:12338 +2727:12393 +2727:12394 +2728:12395 +2728:12396 +2730:12405 +2730:12406 +2730:12411 +2730:12413 +2730:12414 +2731:12408 +2731:12416 +2732:12409 2736:12098 2736:12099 2736:12100 @@ -8079,13 +8079,13 @@ groovy.g 2736:12104 2736:12110 2736:12112 -2736:12250 -2736:12251 -2736:12252 -2736:12253 -2736:12254 -2736:12255 -2736:12256 +2736:12280 +2736:12281 +2736:12282 +2736:12283 +2736:12284 +2736:12285 +2736:12286 2739:12113 2739:12114 2739:12115 @@ -8127,67 +8127,91 @@ groovy.g 2750:12166 2750:12167 2750:12168 -2754:12106 -2754:12172 -2754:12173 -2754:12174 -2754:12175 -2754:12177 -2754:12178 -2754:12179 -2754:12180 -2755:12183 -2755:12184 -2755:12197 -2755:12199 -2755:12200 -2756:12186 -2756:12202 -2757:12187 -2758:12188 -2759:12189 -2760:12190 -2761:12191 -2762:12192 -2763:12193 -2764:12194 -2765:12195 +2753:12106 +2753:12172 +2753:12173 +2753:12174 +2753:12175 +2753:12176 +2753:12177 +2753:12179 +2753:12181 +2753:12182 +2753:12183 +2753:12184 +2753:12185 +2753:12186 +2753:12187 +2753:12188 +2753:12189 +2753:12190 +2753:12191 +2753:12193 +2753:12194 +2753:12195 +2753:12196 +2753:12198 +2753:12199 +2753:12200 +2753:12201 +2753:12204 +2753:12205 +2753:12206 +2753:12207 +2754:12210 +2755:12212 +2756:12213 +2757:12214 +2758:12215 +2759:12216 +2760:12217 +2761:12218 +2762:12219 +2763:12220 +2764:12221 +2767:12224 +2767:12225 +2767:12226 +2767:12227 +2767:12229 +2767:12230 +2768:12232 2769:12107 -2769:12205 -2769:12206 -2769:12207 -2769:12208 -2770:12209 -2770:12210 -2770:12211 -2770:12212 -2770:12214 -2770:12215 -2771:12217 +2769:12235 +2769:12236 +2769:12237 +2769:12238 +2770:12239 +2770:12240 +2770:12241 +2770:12242 +2770:12244 +2770:12245 +2771:12247 2773:12108 -2773:12220 -2773:12221 -2773:12222 -2773:12223 -2774:12224 -2774:12225 -2774:12226 -2774:12227 -2774:12229 -2774:12230 -2775:12232 +2773:12250 +2773:12251 +2773:12252 +2773:12253 +2774:12254 +2774:12255 +2774:12256 +2774:12257 +2774:12259 +2774:12260 +2775:12262 2779:12109 -2779:12235 -2779:12236 -2779:12237 -2779:12238 -2780:12239 -2780:12240 -2780:12241 -2780:12242 -2780:12244 -2780:12245 -2781:12247 +2779:12265 +2779:12266 +2779:12267 +2779:12268 +2780:12269 +2780:12270 +2780:12271 +2780:12272 +2780:12274 +2780:12275 +2781:12277 2783:11824 2783:11826 2783:11827 @@ -8248,93 +8272,63 @@ groovy.g 2790:11894 2790:11895 2790:11896 -2796:12390 -2796:12393 -2796:12395 -2796:12396 -2796:12397 -2796:12402 -2796:12593 -2796:12594 -2797:12391 -2798:12392 -2798:12398 -2798:12399 -2798:12405 -2798:12406 -2798:12407 -2798:12408 -2798:12409 -2798:12410 -2798:12411 -2798:12412 -2798:12413 -2798:12483 -2798:12484 -2798:12485 -2798:12486 -2798:12487 -2801:12490 -2801:12491 -2801:12492 -2801:12493 -2801:12494 -2801:12495 -2801:12496 -2801:12586 -2801:12587 -2801:12588 -2801:12589 -2801:12590 -2802:12400 -2802:12401 -2802:12499 -2802:12500 -2802:12501 -2802:12502 -2802:12503 -2802:12504 -2802:12505 -2802:12506 -2802:12592 -2804:12510 -2804:12511 -2804:12512 -2804:12513 -2804:12514 -2806:12517 -2806:12518 -2806:12519 -2806:12520 -2812:12523 -2812:12524 -2812:12525 -2812:12526 -2812:12527 -2812:12528 -2812:12529 -2812:12530 -2812:12531 -2812:12532 -2812:12533 -2812:12534 -2812:12535 -2812:12536 -2812:12537 -2812:12538 -2812:12539 -2812:12540 -2812:12541 -2812:12542 -2812:12543 -2812:12544 -2812:12545 -2812:12546 -2812:12547 -2812:12548 -2812:12549 -2812:12550 -2812:12551 +2796:12420 +2796:12423 +2796:12425 +2796:12426 +2796:12427 +2796:12622 +2796:12623 +2797:12421 +2798:12422 +2798:12428 +2798:12429 +2798:12434 +2798:12435 +2798:12436 +2798:12437 +2798:12438 +2798:12439 +2798:12440 +2798:12441 +2798:12442 +2798:12512 +2798:12513 +2798:12514 +2798:12515 +2798:12516 +2801:12519 +2801:12520 +2801:12521 +2801:12522 +2801:12523 +2801:12524 +2801:12525 +2801:12615 +2801:12616 +2801:12617 +2801:12618 +2801:12619 +2802:12430 +2802:12431 +2802:12528 +2802:12529 +2802:12530 +2802:12531 +2802:12532 +2802:12533 +2802:12534 +2802:12535 +2802:12621 +2804:12539 +2804:12540 +2804:12541 +2804:12542 +2804:12543 +2806:12546 +2806:12547 +2806:12548 +2806:12549 2812:12552 2812:12553 2812:12554 @@ -8367,6 +8361,35 @@ groovy.g 2812:12581 2812:12582 2812:12583 +2812:12584 +2812:12585 +2812:12586 +2812:12587 +2812:12588 +2812:12589 +2812:12590 +2812:12591 +2812:12592 +2812:12593 +2812:12594 +2812:12595 +2812:12596 +2812:12597 +2812:12598 +2812:12599 +2812:12600 +2812:12601 +2812:12602 +2812:12603 +2812:12604 +2812:12605 +2812:12606 +2812:12607 +2812:12608 +2812:12609 +2812:12610 +2812:12611 +2812:12612 2822:4935 2822:4937 2822:4938 @@ -8632,2994 +8655,2994 @@ groovy.g 2864:5277 2864:5278 2867:5280 -2870:12716 -2870:12719 -2870:12721 -2870:12722 -2870:12723 -2870:12725 -2870:12764 -2870:12765 -2871:12717 -2871:12724 -2871:12728 -2871:12729 -2871:12730 -2871:12731 -2871:12732 -2871:12749 -2871:12750 -2871:12751 -2871:12752 +2870:12745 +2870:12748 +2870:12750 +2870:12751 +2870:12752 +2870:12754 +2870:12793 +2870:12794 +2871:12746 2871:12753 -2872:12718 -2872:12733 -2872:12734 -2872:12735 -2872:12736 -2872:12738 -2872:12739 -2873:12743 -2873:12744 -2873:12745 -2873:12746 -2875:12755 -2875:12756 -2875:12757 -2875:12758 -2875:12760 -2875:12761 -2876:12763 -2904:12596 -2904:12618 -2904:12619 -2904:12620 -2904:12622 -2904:12623 -2904:12624 -2904:12627 +2871:12757 +2871:12758 +2871:12759 +2871:12760 +2871:12761 +2871:12778 +2871:12779 +2871:12780 +2871:12781 +2871:12782 +2872:12747 +2872:12762 +2872:12763 +2872:12764 +2872:12765 +2872:12767 +2872:12768 +2873:12772 +2873:12773 +2873:12774 +2873:12775 +2875:12784 +2875:12785 +2875:12786 +2875:12787 +2875:12789 +2875:12790 +2876:12792 +2904:12625 +2904:12647 2904:12648 -2904:12670 -2904:12671 -2905:12597 -2906:12598 -2906:12628 -2907:12599 -2907:12625 -2907:12629 -2907:12630 -2908:12600 -2908:12631 -2909:12601 -2909:12632 -2909:12633 -2909:12634 -2909:12642 -2909:12644 -2909:12645 -2910:12602 -2910:12635 -2910:12647 -2911:12603 -2911:12636 -2912:12604 -2912:12637 -2913:12605 -2913:12638 -2914:12606 -2914:12639 -2915:12607 -2915:12640 -2916:12608 -2917:12609 -2918:12610 -2919:12611 -2919:12649 -2919:12650 -2919:12666 -2919:12667 -2919:12668 -2919:12669 -2920:12612 -2920:12652 -2921:12613 -2921:12653 -2922:12614 -2922:12654 -2923:12615 -2923:12655 -2924:12616 -2924:12656 -2925:12617 -2925:12657 -2926:12658 -2927:12659 -2928:12660 -2929:12661 -2930:12662 -2931:12663 -2932:12664 -2940:12258 -2940:12261 -2940:12262 -2940:12263 -2940:12265 -2940:12266 -2940:12267 +2904:12649 +2904:12651 +2904:12652 +2904:12653 +2904:12656 +2904:12677 +2904:12699 +2904:12700 +2905:12626 +2906:12627 +2906:12657 +2907:12628 +2907:12654 +2907:12658 +2907:12659 +2908:12629 +2908:12660 +2909:12630 +2909:12661 +2909:12662 +2909:12663 +2909:12671 +2909:12673 +2909:12674 +2910:12631 +2910:12664 +2910:12676 +2911:12632 +2911:12665 +2912:12633 +2912:12666 +2913:12634 +2913:12667 +2914:12635 +2914:12668 +2915:12636 +2915:12669 +2916:12637 +2917:12638 +2918:12639 +2919:12640 +2919:12678 +2919:12679 +2919:12695 +2919:12696 +2919:12697 +2919:12698 +2920:12641 +2920:12681 +2921:12642 +2921:12682 +2922:12643 +2922:12683 +2923:12644 +2923:12684 +2924:12645 +2924:12685 +2925:12646 +2925:12686 +2926:12687 +2927:12688 +2928:12689 +2929:12690 +2930:12691 +2931:12692 +2932:12693 2940:12288 -2940:12289 -2941:12259 -2942:12260 -2946:12268 -2946:12270 -2946:12271 -2947:12272 -2947:12273 -2947:12282 -2947:12284 -2947:12285 -2948:12275 -2948:12287 -2949:12276 -2950:12277 -2951:12278 -2952:12279 -2953:12280 -2964:12673 -2964:12679 -2964:12680 -2964:12681 -2964:12683 -2964:12684 -2964:12685 -2964:12713 -2964:12714 -2965:12674 -2966:12675 -2966:12686 -2966:12687 -2966:12690 -2966:12691 -2966:12692 -2966:12693 -2967:12676 -2967:12688 -2967:12694 -2967:12695 -2968:12677 -2968:12696 -2969:12678 -2969:12697 -2969:12698 -2969:12699 -2969:12707 -2969:12709 -2969:12710 -2970:12700 -2970:12712 -2971:12701 -2972:12702 -2973:12703 -2974:12704 -2975:12705 -2980:8583 -2980:8584 -2980:8585 -2980:8587 -2980:8588 -2980:8589 -2980:8842 -2980:8843 -2981:8591 -2981:8592 -2982:8594 -2982:8835 -2982:8836 -2982:8837 -2982:8838 -2982:8839 -2983:8595 -2983:8596 -2983:8597 -2983:8598 -2983:8599 -2983:8600 -2983:8601 -2983:8602 -2983:8603 -2983:8604 -2983:8605 -2983:8606 -2983:8607 -2983:8608 -2983:8609 -2983:8611 -2983:8612 -2983:8613 -2983:8614 -2983:8615 -2983:8616 -2983:8617 -2983:8716 -2983:8717 -2983:8718 -2983:8719 -2983:8720 -2983:8841 -2984:8620 -2984:8621 -2984:8622 -2984:8623 -2984:8624 -2984:8625 -2985:8628 -2985:8629 -2985:8630 -2985:8631 -2985:8632 -2985:8633 -2986:8636 -2986:8637 -2986:8638 -2986:8639 -2986:8640 -2986:8641 -2987:8644 -2987:8645 -2987:8646 -2987:8647 -2987:8648 -2987:8649 -2988:8652 -2988:8653 -2988:8654 -2988:8655 -2988:8656 -2988:8657 -2989:8660 -2989:8661 -2989:8662 -2989:8663 -2989:8664 -2989:8665 -2990:8668 -2990:8669 -2990:8670 -2990:8671 -2990:8672 -2990:8673 -2991:8676 -2991:8677 -2991:8678 -2991:8679 -2991:8680 -2991:8681 -2992:8684 -2992:8685 -2992:8686 -2992:8687 -2992:8688 -2992:8689 -2993:8692 -2993:8693 -2993:8694 -2993:8695 -2993:8696 -2993:8697 -2994:8700 -2994:8701 -2994:8702 -2994:8703 -2994:8704 -2994:8705 -2995:8708 -2995:8709 -2995:8710 -2995:8711 -2995:8712 -2995:8713 -2997:8722 -2998:8723 -2998:8724 -3004:8726 -3004:8727 -3004:8741 -3004:8742 -3004:8743 -3004:8744 -3005:8729 -3006:8730 -3007:8731 -3008:8732 -3009:8733 -3010:8734 -3011:8735 -3012:8736 -3013:8737 -3014:8738 -3015:8739 -3022:5284 -3022:5285 -3022:5286 -3022:5288 -3022:5289 -3022:5290 -3022:5292 -3022:5380 -3022:5396 -3022:5397 -3023:5293 -3023:5294 -3024:5322 -3024:5371 -3024:5373 -3024:5374 -3024:5375 -3024:5376 -3024:5377 -3025:5296 -3025:5297 -3025:5298 -3025:5299 -3025:5300 -3025:5301 -3025:5303 -3025:5304 -3025:5306 -3025:5307 -3025:5308 -3025:5309 -3025:5310 -3025:5311 -3025:5312 -3025:5313 -3025:5314 -3025:5315 -3025:5316 -3025:5317 -3025:5318 -3025:5319 -3025:5320 -3025:5321 -3025:5379 -3026:5323 -3026:5324 -3026:5325 -3026:5326 -3026:5327 -3026:5328 -3026:5329 -3026:5331 -3026:5332 -3026:5334 -3026:5335 -3026:5336 -3026:5337 -3026:5338 -3026:5339 -3026:5340 -3026:5341 -3026:5342 -3026:5343 -3026:5344 -3026:5345 -3026:5346 -3026:5347 -3026:5348 -3026:5349 -3026:5350 -3026:5351 -3026:5352 -3026:5353 -3026:5354 -3026:5355 -3029:5357 -3029:5358 -3029:5367 -3029:5368 -3029:5369 -3029:5370 -3030:5360 -3031:5361 -3032:5362 -3033:5363 -3034:5364 -3035:5365 -3042:5381 -3042:5382 -3042:5392 -3042:5393 -3042:5394 -3042:5395 -3043:5384 -3044:5385 -3045:5386 -3046:5387 -3047:5388 -3048:5389 -3049:5390 -3055:12970 -3055:12971 -3055:12972 -3055:12974 -3055:12975 -3055:12976 -3055:12999 -3055:13000 -3056:12978 -3056:12979 -3056:12980 -3056:12981 -3056:12982 -3056:12983 -3056:12984 -3056:12985 -3056:12986 -3056:12987 -3056:12988 -3056:12989 -3056:12990 -3056:12991 -3056:12992 -3056:12993 -3056:12994 -3056:12996 -3056:12997 -3056:12998 -3061:13002 -3061:13003 -3061:13004 -3061:13006 -3061:13007 -3061:13008 -3061:13031 -3061:13032 -3062:13010 -3062:13011 -3062:13012 -3062:13013 -3062:13014 -3062:13015 -3062:13016 -3062:13017 -3062:13018 -3062:13019 -3062:13020 -3062:13021 -3062:13022 -3062:13023 -3062:13024 -3062:13025 -3062:13026 -3062:13028 -3062:13029 -3062:13030 -3066:13034 -3066:13035 -3066:13036 -3066:13038 -3066:13039 -3066:13040 -3066:13063 -3066:13064 -3067:13042 -3067:13043 -3067:13044 -3067:13045 -3067:13046 -3067:13047 -3067:13048 -3067:13049 -3067:13050 -3067:13051 -3067:13052 -3067:13053 -3067:13054 -3067:13055 -3067:13056 -3067:13057 -3067:13058 -3067:13060 -3067:13061 -3067:13062 -3072:13066 -3072:13067 -3072:13068 -3072:13070 -3072:13071 -3072:13072 -3072:13095 -3072:13096 -3073:13074 -3073:13075 -3073:13076 -3073:13077 -3073:13078 -3073:13079 -3073:13080 -3073:13081 -3073:13082 -3073:13083 -3073:13084 -3073:13085 -3073:13086 -3073:13087 -3073:13088 -3073:13089 -3073:13090 -3073:13092 -3073:13093 -3073:13094 -3078:13098 -3078:13099 -3078:13100 -3078:13102 -3078:13103 -3078:13104 -3078:13127 -3078:13128 -3079:13106 -3079:13107 -3079:13108 -3079:13109 -3079:13110 -3079:13111 -3079:13112 -3079:13113 -3079:13114 -3079:13115 -3079:13116 -3079:13117 -3079:13118 -3079:13119 -3079:13120 -3079:13121 -3079:13122 -3079:13124 -3079:13125 -3079:13126 -3085:13130 -3085:13131 -3085:13132 -3085:13134 -3085:13135 -3085:13136 -3085:13179 -3085:13180 -3086:13138 -3086:13139 -3086:13140 -3086:13141 -3086:13142 -3086:13143 -3086:13145 -3086:13146 -3086:13147 -3086:13148 -3086:13149 -3086:13150 -3086:13151 -3086:13154 -3086:13155 -3086:13156 -3086:13157 -3086:13158 -3086:13159 -3086:13162 -3086:13163 -3086:13164 -3086:13165 -3086:13166 -3086:13168 -3086:13169 -3086:13170 -3086:13171 -3086:13172 -3086:13173 -3086:13174 -3086:13176 -3086:13177 -3086:13178 -3090:13182 -3090:13183 -3090:13184 -3090:13186 -3090:13187 -3090:13188 -3090:13255 -3090:13256 -3091:13190 -3091:13191 -3091:13192 -3091:13193 -3091:13194 -3091:13195 -3091:13197 -3091:13198 -3091:13199 -3091:13200 -3091:13201 -3091:13202 -3091:13203 -3091:13206 -3091:13207 -3091:13208 -3091:13209 -3091:13210 -3091:13211 -3091:13214 -3091:13215 -3091:13216 -3091:13217 -3091:13218 -3091:13219 -3091:13222 -3091:13223 -3091:13224 -3091:13225 -3091:13226 -3091:13227 -3091:13230 -3091:13231 -3091:13232 -3091:13233 -3091:13234 -3091:13235 -3091:13238 -3091:13239 -3091:13240 -3091:13241 -3091:13242 -3091:13244 -3091:13245 -3091:13246 -3091:13247 -3091:13248 -3091:13249 -3091:13250 -3091:13252 -3091:13253 -3091:13254 -3095:13258 -3095:13259 -3095:13260 -3095:13262 -3095:13263 -3095:13264 -3095:13350 -3095:13351 -3096:13266 -3096:13267 -3097:13269 -3097:13323 -3097:13332 -3097:13341 -3097:13343 -3097:13344 -3097:13345 -3097:13346 -3098:13272 -3098:13273 -3098:13274 -3098:13275 -3098:13276 -3098:13277 -3098:13278 -3098:13313 -3098:13314 -3098:13315 -3098:13316 -3098:13317 -3098:13349 -3099:13281 -3099:13282 -3099:13283 -3099:13284 -3099:13285 -3099:13286 -3100:13289 -3100:13290 -3100:13291 -3100:13292 -3100:13293 -3100:13294 -3101:13297 -3101:13298 -3101:13299 -3101:13300 -3101:13301 -3101:13302 -3102:13305 -3102:13306 -3102:13307 -3102:13308 -3102:13309 -3102:13310 -3104:13319 -3105:13320 -3105:13321 -3108:13324 -3108:13325 -3108:13326 -3108:13327 -3108:13328 -3108:13329 -3108:13330 -3108:13331 -3109:13333 -3109:13334 -3109:13335 -3109:13336 -3109:13337 -3109:13338 -3109:13339 -3109:13340 -3116:10535 -3116:10536 -3116:10537 -3116:10539 -3116:10540 -3116:10541 -3116:10543 -3116:10623 -3116:10643 -3116:10644 -3117:10544 -3117:10545 -3118:10546 -3118:10547 -3118:10548 -3118:10615 -3118:10616 -3118:10617 -3118:10618 -3118:10620 -3118:10621 -3118:10622 -3119:10549 -3119:10551 -3119:10552 -3119:10553 -3119:10554 -3119:10555 -3119:10557 -3119:10558 -3119:10559 -3119:10560 -3119:10561 -3119:10562 -3119:10563 -3119:10566 -3119:10567 -3119:10568 -3119:10569 -3119:10570 -3119:10571 -3119:10574 -3119:10575 -3119:10576 -3119:10577 -3119:10578 -3119:10579 -3119:10582 -3119:10583 -3119:10584 -3119:10585 -3119:10586 -3119:10606 -3119:10607 -3119:10608 -3119:10609 -3119:10610 -3120:10590 -3120:10591 -3120:10592 -3120:10593 -3120:10594 -3120:10595 -3121:10598 -3121:10599 -3121:10600 -3121:10601 -3121:10602 -3121:10603 -3123:10612 -3124:10613 -3124:10614 -3129:10624 -3129:10625 -3129:10639 -3129:10640 -3129:10641 -3129:10642 -3130:10627 -3131:10628 -3132:10629 -3133:10630 -3134:10631 -3135:10632 -3136:10633 -3137:10634 -3138:10635 -3139:10636 -3140:10637 -3146:13353 -3146:13354 -3146:13355 -3146:13357 -3146:13358 -3146:13359 -3146:13402 -3146:13403 -3147:13361 -3147:13362 -3148:13363 -3148:13364 -3148:13365 -3148:13394 -3148:13395 -3148:13396 -3148:13397 -3148:13399 -3148:13400 -3148:13401 -3151:13366 -3151:13368 -3151:13369 -3151:13370 -3151:13371 -3151:13372 -3151:13373 -3151:13374 -3151:13377 -3151:13378 -3151:13379 -3151:13380 -3151:13381 -3151:13382 -3151:13385 -3151:13386 -3151:13387 -3151:13388 -3151:13389 -3151:13391 -3152:13392 -3152:13393 -3158:13405 -3158:13406 -3158:13407 -3158:13409 -3158:13410 -3158:13411 -3158:13413 -3158:13743 -3158:13744 -3158:13745 -3158:13746 -3158:13747 -3158:13748 -3158:13749 -3159:13414 -3159:13415 -3159:13417 -3159:13418 -3159:13419 -3159:13420 -3159:13421 -3159:13422 -3159:13423 -3159:13424 -3159:13425 -3159:13426 -3159:13427 -3159:13429 -3159:13430 -3159:13431 -3159:13432 -3159:13433 -3159:13434 -3159:13435 -3159:13438 -3159:13439 -3159:13440 -3159:13441 -3159:13442 -3159:13443 -3159:13446 -3159:13447 -3159:13448 -3159:13449 -3159:13450 -3159:13451 -3159:13454 -3159:13455 -3159:13456 -3159:13457 -3159:13458 -3159:13460 -3159:13461 -3159:13462 -3159:13463 -3159:13464 -3159:13465 -3159:13466 -3159:13468 -3159:13469 -3160:13471 -3160:13474 -3160:13475 -3160:13477 -3160:13478 -3160:13479 -3160:13480 -3160:13481 -3160:13482 -3160:13483 -3160:13484 -3160:13485 -3160:13486 -3160:13487 -3160:13489 -3160:13490 -3160:13491 -3160:13492 -3160:13493 -3160:13494 -3160:13495 -3160:13498 -3160:13499 -3160:13500 -3160:13501 -3160:13502 -3160:13503 -3160:13506 -3160:13507 -3160:13508 -3160:13509 -3160:13510 -3160:13511 -3160:13514 -3160:13515 -3160:13516 -3160:13517 -3160:13518 -3160:13520 -3160:13521 -3160:13522 -3160:13523 -3160:13524 -3160:13525 -3160:13526 -3160:13528 -3160:13529 -3161:13531 -3161:13534 -3161:13535 -3161:13537 -3161:13538 -3161:13539 -3161:13540 -3161:13541 -3161:13542 -3161:13544 -3161:13545 -3161:13546 -3161:13547 -3161:13548 -3161:13549 -3161:13550 -3161:13552 -3161:13553 -3161:13554 -3161:13555 -3161:13556 -3161:13557 -3161:13558 -3161:13561 -3161:13562 -3161:13563 -3161:13564 -3161:13565 -3161:13566 -3161:13569 -3161:13570 -3161:13571 -3161:13572 -3161:13573 -3161:13574 -3161:13577 -3161:13578 -3161:13579 -3161:13580 -3161:13581 -3161:13583 -3161:13584 -3161:13585 -3161:13586 -3161:13587 -3161:13588 -3161:13589 -3161:13591 -3161:13592 -3162:13594 -3162:13597 -3162:13598 -3162:13600 -3162:13601 -3162:13602 -3162:13603 -3162:13604 -3162:13605 -3162:13607 -3162:13608 -3162:13609 -3162:13610 -3162:13611 -3162:13612 -3162:13613 -3162:13615 -3162:13616 -3162:13617 -3162:13618 -3162:13619 -3162:13620 -3162:13621 -3162:13624 -3162:13625 -3162:13626 -3162:13627 -3162:13628 -3162:13629 -3162:13632 -3162:13633 -3162:13634 -3162:13635 -3162:13636 -3162:13637 -3162:13640 -3162:13641 -3162:13642 -3162:13643 -3162:13644 -3162:13646 -3162:13647 -3162:13648 -3162:13649 -3162:13650 -3162:13651 -3162:13652 -3162:13654 -3162:13655 -3163:13657 -3163:13660 -3163:13661 -3163:13662 -3163:13663 -3163:13664 -3163:13665 -3163:13666 -3163:13667 -3163:13668 -3163:13669 -3163:13670 -3163:13671 -3163:13672 -3163:13673 -3163:13674 -3163:13675 -3163:13676 -3163:13677 -3163:13678 -3163:13679 -3163:13680 -3163:13681 -3163:13682 -3163:13683 -3163:13684 -3163:13685 -3163:13686 -3163:13687 -3163:13688 -3163:13689 -3163:13691 -3163:13692 -3163:13693 -3163:13694 -3163:13695 -3163:13696 -3163:13698 -3163:13699 -3163:13700 -3163:13701 -3163:13702 -3163:13703 -3163:13704 -3163:13707 -3163:13708 -3163:13709 -3163:13710 -3163:13711 -3163:13712 -3163:13715 -3163:13716 -3163:13717 -3163:13718 -3163:13719 -3163:13720 -3163:13723 -3163:13724 -3163:13725 -3163:13726 -3163:13727 -3163:13729 -3163:13730 -3163:13731 -3163:13732 -3163:13733 -3163:13734 -3163:13735 -3163:13737 -3163:13738 -3164:13740 -3167:13815 -3167:13816 -3167:13817 -3167:13819 -3167:13820 -3167:13821 -3167:13823 -3167:13913 -3167:13914 -3167:13915 -3167:13916 -3167:13917 -3167:13918 -3167:13919 -3168:13824 -3168:13825 -3168:13826 -3168:13827 -3168:13828 -3168:13829 -3168:13830 -3168:13831 -3168:13832 -3168:13833 -3169:13836 -3169:13837 -3169:13838 -3169:13839 -3169:13840 -3169:13841 -3169:13842 -3169:13843 -3169:13844 -3169:13845 -3170:13848 -3170:13849 -3170:13850 -3170:13851 -3170:13852 -3170:13853 -3170:13854 -3170:13855 -3170:13857 -3170:13858 -3170:13859 -3170:13860 -3171:13863 -3171:13864 -3171:13865 -3171:13866 -3171:13867 -3171:13868 -3171:13869 -3171:13870 -3171:13872 -3171:13873 -3171:13874 -3171:13875 -3172:13878 -3172:13879 -3172:13880 -3172:13881 -3172:13882 -3172:13883 -3172:13884 -3172:13885 -3172:13886 -3172:13887 -3172:13888 -3172:13889 -3172:13890 -3172:13891 -3172:13892 -3172:13893 -3172:13894 -3172:13895 -3172:13896 -3172:13897 -3172:13898 -3172:13899 -3172:13900 -3172:13901 -3172:13902 -3172:13903 -3172:13904 -3172:13905 -3172:13906 -3172:13907 -3172:13908 -3172:13909 -3172:13910 -3176:13783 -3176:13784 -3176:13785 -3176:13787 -3176:13788 -3176:13789 -3176:13812 -3176:13813 -3177:13791 -3177:13792 -3177:13793 -3177:13794 -3177:13795 -3177:13796 -3177:13797 -3177:13798 -3177:13799 -3177:13800 -3177:13801 -3177:13802 -3177:13803 -3177:13804 -3177:13805 -3177:13806 -3177:13807 -3177:13809 -3177:13810 -3177:13811 -3184:13751 -3184:13752 -3184:13753 -3184:13755 -3184:13756 -3184:13757 -3184:13780 -3184:13781 -3185:13759 -3185:13760 -3185:13761 -3185:13762 -3185:13763 -3185:13764 -3185:13765 -3185:13766 -3185:13767 -3185:13768 -3185:13769 -3185:13770 -3185:13771 -3185:13772 -3185:13773 -3185:13774 -3185:13775 -3185:13777 -3185:13778 -3185:13779 -3189:13921 -3189:13922 -3189:13923 -3189:13925 -3189:13926 -3189:13927 -3189:13933 -3189:14066 -3189:14067 -3189:14068 -3189:14069 -3189:14070 -3189:14071 -3189:14072 -3190:13934 -3190:13935 -3190:13936 -3190:13937 -3190:13938 -3190:13939 -3190:13940 -3190:13941 -3190:13942 -3190:13943 -3191:13946 -3191:13947 -3191:13948 -3191:13949 -3191:13950 -3191:13951 -3191:13952 -3191:13953 -3191:13954 -3191:13955 -3192:13958 -3192:13959 -3192:13960 -3192:13961 -3192:13962 -3192:13963 -3192:13964 -3192:13965 -3192:13966 -3192:13967 -3192:13968 -3192:13969 -3192:13970 -3192:13971 -3192:13972 -3192:13973 -3192:13974 -3192:13975 -3192:13976 -3192:13977 -3192:13978 -3192:13979 -3192:13980 -3192:13981 -3192:13982 -3192:13983 -3192:13984 -3192:13985 -3192:14019 -3192:14053 -3192:14057 -3192:14058 -3192:14059 -3192:14060 -3192:14061 -3193:14063 -3201:13987 -3201:13988 -3201:13989 -3201:13990 -3201:13991 -3201:13992 -3201:13994 -3201:13995 -3201:13996 -3201:13997 -3201:13999 -3201:14000 -3201:14001 -3201:14002 -3201:14003 -3201:14004 -3201:14005 -3201:14006 -3202:13928 -3202:13929 -3202:14007 -3202:14008 -3202:14009 -3202:14010 -3202:14011 -3202:14012 -3202:14014 -3202:14015 -3202:14016 -3203:14017 -3203:14018 -3210:14020 -3210:14021 -3210:14022 -3210:14023 -3210:14024 -3210:14025 -3210:14026 -3210:14028 -3210:14029 -3210:14030 -3210:14031 -3210:14033 -3210:14034 -3210:14035 -3210:14036 -3210:14037 -3210:14038 -3210:14039 -3210:14040 -3211:13930 -3211:13931 -3211:14041 -3211:14042 -3211:14043 -3211:14044 -3211:14045 -3211:14046 -3211:14048 -3211:14049 -3211:14050 -3212:14051 -3212:14052 -3214:14054 -3214:14055 -3214:14056 -3219:14074 -3219:14075 -3219:14076 -3219:14078 -3219:14079 -3219:14080 -3219:14115 -3219:14116 -3221:14086 -3221:14087 -3222:14097 -3222:14106 -3222:14108 -3222:14109 +2940:12291 +2940:12292 +2940:12293 +2940:12295 +2940:12296 +2940:12297 +2940:12318 +2940:12319 +2941:12289 +2942:12290 +2942:12298 +2942:12300 +2942:12301 +2943:12302 +2943:12303 +2943:12312 +2943:12314 +2943:12315 +2944:12305 +2944:12317 +2945:12306 +2946:12307 +2947:12308 +2948:12309 +2949:12310 +2960:12702 +2960:12708 +2960:12709 +2960:12710 +2960:12712 +2960:12713 +2960:12714 +2960:12742 +2960:12743 +2961:12703 +2962:12704 +2962:12715 +2962:12716 +2962:12719 +2962:12720 +2962:12721 +2962:12722 +2963:12705 +2963:12717 +2963:12723 +2963:12724 +2964:12706 +2964:12725 +2965:12707 +2965:12726 +2965:12727 +2965:12728 +2965:12736 +2965:12738 +2965:12739 +2966:12729 +2966:12741 +2967:12730 +2968:12731 +2969:12732 +2970:12733 +2971:12734 +2976:8583 +2976:8584 +2976:8585 +2976:8587 +2976:8588 +2976:8589 +2976:8842 +2976:8843 +2977:8591 +2977:8592 +2978:8594 +2978:8835 +2978:8836 +2978:8837 +2978:8838 +2978:8839 +2979:8595 +2979:8596 +2979:8597 +2979:8598 +2979:8599 +2979:8600 +2979:8601 +2979:8602 +2979:8603 +2979:8604 +2979:8605 +2979:8606 +2979:8607 +2979:8608 +2979:8609 +2979:8611 +2979:8612 +2979:8613 +2979:8614 +2979:8615 +2979:8616 +2979:8617 +2979:8716 +2979:8717 +2979:8718 +2979:8719 +2979:8720 +2979:8841 +2980:8620 +2980:8621 +2980:8622 +2980:8623 +2980:8624 +2980:8625 +2981:8628 +2981:8629 +2981:8630 +2981:8631 +2981:8632 +2981:8633 +2982:8636 +2982:8637 +2982:8638 +2982:8639 +2982:8640 +2982:8641 +2983:8644 +2983:8645 +2983:8646 +2983:8647 +2983:8648 +2983:8649 +2984:8652 +2984:8653 +2984:8654 +2984:8655 +2984:8656 +2984:8657 +2985:8660 +2985:8661 +2985:8662 +2985:8663 +2985:8664 +2985:8665 +2986:8668 +2986:8669 +2986:8670 +2986:8671 +2986:8672 +2986:8673 +2987:8676 +2987:8677 +2987:8678 +2987:8679 +2987:8680 +2987:8681 +2988:8684 +2988:8685 +2988:8686 +2988:8687 +2988:8688 +2988:8689 +2989:8692 +2989:8693 +2989:8694 +2989:8695 +2989:8696 +2989:8697 +2990:8700 +2990:8701 +2990:8702 +2990:8703 +2990:8704 +2990:8705 +2991:8708 +2991:8709 +2991:8710 +2991:8711 +2991:8712 +2991:8713 +2993:8722 +2994:8723 +2994:8724 +3000:8726 +3000:8727 +3000:8741 +3000:8742 +3000:8743 +3000:8744 +3001:8729 +3002:8730 +3003:8731 +3004:8732 +3005:8733 +3006:8734 +3007:8735 +3008:8736 +3009:8737 +3010:8738 +3011:8739 +3018:5284 +3018:5285 +3018:5286 +3018:5288 +3018:5289 +3018:5290 +3018:5292 +3018:5380 +3018:5396 +3018:5397 +3019:5293 +3019:5294 +3020:5322 +3020:5371 +3020:5373 +3020:5374 +3020:5375 +3020:5376 +3020:5377 +3021:5296 +3021:5297 +3021:5298 +3021:5299 +3021:5300 +3021:5301 +3021:5303 +3021:5304 +3021:5306 +3021:5307 +3021:5308 +3021:5309 +3021:5310 +3021:5311 +3021:5312 +3021:5313 +3021:5314 +3021:5315 +3021:5316 +3021:5317 +3021:5318 +3021:5319 +3021:5320 +3021:5321 +3021:5379 +3022:5323 +3022:5324 +3022:5325 +3022:5326 +3022:5327 +3022:5328 +3022:5329 +3022:5331 +3022:5332 +3022:5334 +3022:5335 +3022:5336 +3022:5337 +3022:5338 +3022:5339 +3022:5340 +3022:5341 +3022:5342 +3022:5343 +3022:5344 +3022:5345 +3022:5346 +3022:5347 +3022:5348 +3022:5349 +3022:5350 +3022:5351 +3022:5352 +3022:5353 +3022:5354 +3022:5355 +3025:5357 +3025:5358 +3025:5367 +3025:5368 +3025:5369 +3025:5370 +3026:5360 +3027:5361 +3028:5362 +3029:5363 +3030:5364 +3031:5365 +3038:5381 +3038:5382 +3038:5392 +3038:5393 +3038:5394 +3038:5395 +3039:5384 +3040:5385 +3041:5386 +3042:5387 +3043:5388 +3044:5389 +3045:5390 +3051:12999 +3051:13000 +3051:13001 +3051:13003 +3051:13004 +3051:13005 +3051:13028 +3051:13029 +3052:13007 +3052:13008 +3052:13009 +3052:13010 +3052:13011 +3052:13012 +3052:13013 +3052:13014 +3052:13015 +3052:13016 +3052:13017 +3052:13018 +3052:13019 +3052:13020 +3052:13021 +3052:13022 +3052:13023 +3052:13025 +3052:13026 +3052:13027 +3057:13031 +3057:13032 +3057:13033 +3057:13035 +3057:13036 +3057:13037 +3057:13060 +3057:13061 +3058:13039 +3058:13040 +3058:13041 +3058:13042 +3058:13043 +3058:13044 +3058:13045 +3058:13046 +3058:13047 +3058:13048 +3058:13049 +3058:13050 +3058:13051 +3058:13052 +3058:13053 +3058:13054 +3058:13055 +3058:13057 +3058:13058 +3058:13059 +3062:13063 +3062:13064 +3062:13065 +3062:13067 +3062:13068 +3062:13069 +3062:13092 +3062:13093 +3063:13071 +3063:13072 +3063:13073 +3063:13074 +3063:13075 +3063:13076 +3063:13077 +3063:13078 +3063:13079 +3063:13080 +3063:13081 +3063:13082 +3063:13083 +3063:13084 +3063:13085 +3063:13086 +3063:13087 +3063:13089 +3063:13090 +3063:13091 +3068:13095 +3068:13096 +3068:13097 +3068:13099 +3068:13100 +3068:13101 +3068:13124 +3068:13125 +3069:13103 +3069:13104 +3069:13105 +3069:13106 +3069:13107 +3069:13108 +3069:13109 +3069:13110 +3069:13111 +3069:13112 +3069:13113 +3069:13114 +3069:13115 +3069:13116 +3069:13117 +3069:13118 +3069:13119 +3069:13121 +3069:13122 +3069:13123 +3074:13127 +3074:13128 +3074:13129 +3074:13131 +3074:13132 +3074:13133 +3074:13156 +3074:13157 +3075:13135 +3075:13136 +3075:13137 +3075:13138 +3075:13139 +3075:13140 +3075:13141 +3075:13142 +3075:13143 +3075:13144 +3075:13145 +3075:13146 +3075:13147 +3075:13148 +3075:13149 +3075:13150 +3075:13151 +3075:13153 +3075:13154 +3075:13155 +3081:13159 +3081:13160 +3081:13161 +3081:13163 +3081:13164 +3081:13165 +3081:13208 +3081:13209 +3082:13167 +3082:13168 +3082:13169 +3082:13170 +3082:13171 +3082:13172 +3082:13174 +3082:13175 +3082:13176 +3082:13177 +3082:13178 +3082:13179 +3082:13180 +3082:13183 +3082:13184 +3082:13185 +3082:13186 +3082:13187 +3082:13188 +3082:13191 +3082:13192 +3082:13193 +3082:13194 +3082:13195 +3082:13197 +3082:13198 +3082:13199 +3082:13200 +3082:13201 +3082:13202 +3082:13203 +3082:13205 +3082:13206 +3082:13207 +3086:13211 +3086:13212 +3086:13213 +3086:13215 +3086:13216 +3086:13217 +3086:13284 +3086:13285 +3087:13219 +3087:13220 +3087:13221 +3087:13222 +3087:13223 +3087:13224 +3087:13226 +3087:13227 +3087:13228 +3087:13229 +3087:13230 +3087:13231 +3087:13232 +3087:13235 +3087:13236 +3087:13237 +3087:13238 +3087:13239 +3087:13240 +3087:13243 +3087:13244 +3087:13245 +3087:13246 +3087:13247 +3087:13248 +3087:13251 +3087:13252 +3087:13253 +3087:13254 +3087:13255 +3087:13256 +3087:13259 +3087:13260 +3087:13261 +3087:13262 +3087:13263 +3087:13264 +3087:13267 +3087:13268 +3087:13269 +3087:13270 +3087:13271 +3087:13273 +3087:13274 +3087:13275 +3087:13276 +3087:13277 +3087:13278 +3087:13279 +3087:13281 +3087:13282 +3087:13283 +3091:13287 +3091:13288 +3091:13289 +3091:13291 +3091:13292 +3091:13293 +3091:13379 +3091:13380 +3092:13295 +3092:13296 +3093:13298 +3093:13352 +3093:13361 +3093:13370 +3093:13372 +3093:13373 +3093:13374 +3093:13375 +3094:13301 +3094:13302 +3094:13303 +3094:13304 +3094:13305 +3094:13306 +3094:13307 +3094:13342 +3094:13343 +3094:13344 +3094:13345 +3094:13346 +3094:13378 +3095:13310 +3095:13311 +3095:13312 +3095:13313 +3095:13314 +3095:13315 +3096:13318 +3096:13319 +3096:13320 +3096:13321 +3096:13322 +3096:13323 +3097:13326 +3097:13327 +3097:13328 +3097:13329 +3097:13330 +3097:13331 +3098:13334 +3098:13335 +3098:13336 +3098:13337 +3098:13338 +3098:13339 +3100:13348 +3101:13349 +3101:13350 +3104:13353 +3104:13354 +3104:13355 +3104:13356 +3104:13357 +3104:13358 +3104:13359 +3104:13360 +3105:13362 +3105:13363 +3105:13364 +3105:13365 +3105:13366 +3105:13367 +3105:13368 +3105:13369 +3112:10535 +3112:10536 +3112:10537 +3112:10539 +3112:10540 +3112:10541 +3112:10543 +3112:10623 +3112:10643 +3112:10644 +3113:10544 +3113:10545 +3114:10546 +3114:10547 +3114:10548 +3114:10615 +3114:10616 +3114:10617 +3114:10618 +3114:10620 +3114:10621 +3114:10622 +3115:10549 +3115:10551 +3115:10552 +3115:10553 +3115:10554 +3115:10555 +3115:10557 +3115:10558 +3115:10559 +3115:10560 +3115:10561 +3115:10562 +3115:10563 +3115:10566 +3115:10567 +3115:10568 +3115:10569 +3115:10570 +3115:10571 +3115:10574 +3115:10575 +3115:10576 +3115:10577 +3115:10578 +3115:10579 +3115:10582 +3115:10583 +3115:10584 +3115:10585 +3115:10586 +3115:10606 +3115:10607 +3115:10608 +3115:10609 +3115:10610 +3116:10590 +3116:10591 +3116:10592 +3116:10593 +3116:10594 +3116:10595 +3117:10598 +3117:10599 +3117:10600 +3117:10601 +3117:10602 +3117:10603 +3119:10612 +3120:10613 +3120:10614 +3125:10624 +3125:10625 +3125:10639 +3125:10640 +3125:10641 +3125:10642 +3126:10627 +3127:10628 +3128:10629 +3129:10630 +3130:10631 +3131:10632 +3132:10633 +3133:10634 +3134:10635 +3135:10636 +3136:10637 +3142:13382 +3142:13383 +3142:13384 +3142:13386 +3142:13387 +3142:13388 +3142:13431 +3142:13432 +3143:13390 +3143:13391 +3144:13392 +3144:13393 +3144:13394 +3144:13423 +3144:13424 +3144:13425 +3144:13426 +3144:13428 +3144:13429 +3144:13430 +3147:13395 +3147:13397 +3147:13398 +3147:13399 +3147:13400 +3147:13401 +3147:13402 +3147:13403 +3147:13406 +3147:13407 +3147:13408 +3147:13409 +3147:13410 +3147:13411 +3147:13414 +3147:13415 +3147:13416 +3147:13417 +3147:13418 +3147:13420 +3148:13421 +3148:13422 +3154:13434 +3154:13435 +3154:13436 +3154:13438 +3154:13439 +3154:13440 +3154:13442 +3154:13772 +3154:13773 +3154:13774 +3154:13775 +3154:13776 +3154:13777 +3154:13778 +3155:13443 +3155:13444 +3155:13446 +3155:13447 +3155:13448 +3155:13449 +3155:13450 +3155:13451 +3155:13452 +3155:13453 +3155:13454 +3155:13455 +3155:13456 +3155:13458 +3155:13459 +3155:13460 +3155:13461 +3155:13462 +3155:13463 +3155:13464 +3155:13467 +3155:13468 +3155:13469 +3155:13470 +3155:13471 +3155:13472 +3155:13475 +3155:13476 +3155:13477 +3155:13478 +3155:13479 +3155:13480 +3155:13483 +3155:13484 +3155:13485 +3155:13486 +3155:13487 +3155:13489 +3155:13490 +3155:13491 +3155:13492 +3155:13493 +3155:13494 +3155:13495 +3155:13497 +3155:13498 +3156:13500 +3156:13503 +3156:13504 +3156:13506 +3156:13507 +3156:13508 +3156:13509 +3156:13510 +3156:13511 +3156:13512 +3156:13513 +3156:13514 +3156:13515 +3156:13516 +3156:13518 +3156:13519 +3156:13520 +3156:13521 +3156:13522 +3156:13523 +3156:13524 +3156:13527 +3156:13528 +3156:13529 +3156:13530 +3156:13531 +3156:13532 +3156:13535 +3156:13536 +3156:13537 +3156:13538 +3156:13539 +3156:13540 +3156:13543 +3156:13544 +3156:13545 +3156:13546 +3156:13547 +3156:13549 +3156:13550 +3156:13551 +3156:13552 +3156:13553 +3156:13554 +3156:13555 +3156:13557 +3156:13558 +3157:13560 +3157:13563 +3157:13564 +3157:13566 +3157:13567 +3157:13568 +3157:13569 +3157:13570 +3157:13571 +3157:13573 +3157:13574 +3157:13575 +3157:13576 +3157:13577 +3157:13578 +3157:13579 +3157:13581 +3157:13582 +3157:13583 +3157:13584 +3157:13585 +3157:13586 +3157:13587 +3157:13590 +3157:13591 +3157:13592 +3157:13593 +3157:13594 +3157:13595 +3157:13598 +3157:13599 +3157:13600 +3157:13601 +3157:13602 +3157:13603 +3157:13606 +3157:13607 +3157:13608 +3157:13609 +3157:13610 +3157:13612 +3157:13613 +3157:13614 +3157:13615 +3157:13616 +3157:13617 +3157:13618 +3157:13620 +3157:13621 +3158:13623 +3158:13626 +3158:13627 +3158:13629 +3158:13630 +3158:13631 +3158:13632 +3158:13633 +3158:13634 +3158:13636 +3158:13637 +3158:13638 +3158:13639 +3158:13640 +3158:13641 +3158:13642 +3158:13644 +3158:13645 +3158:13646 +3158:13647 +3158:13648 +3158:13649 +3158:13650 +3158:13653 +3158:13654 +3158:13655 +3158:13656 +3158:13657 +3158:13658 +3158:13661 +3158:13662 +3158:13663 +3158:13664 +3158:13665 +3158:13666 +3158:13669 +3158:13670 +3158:13671 +3158:13672 +3158:13673 +3158:13675 +3158:13676 +3158:13677 +3158:13678 +3158:13679 +3158:13680 +3158:13681 +3158:13683 +3158:13684 +3159:13686 +3159:13689 +3159:13690 +3159:13691 +3159:13692 +3159:13693 +3159:13694 +3159:13695 +3159:13696 +3159:13697 +3159:13698 +3159:13699 +3159:13700 +3159:13701 +3159:13702 +3159:13703 +3159:13704 +3159:13705 +3159:13706 +3159:13707 +3159:13708 +3159:13709 +3159:13710 +3159:13711 +3159:13712 +3159:13713 +3159:13714 +3159:13715 +3159:13716 +3159:13717 +3159:13718 +3159:13720 +3159:13721 +3159:13722 +3159:13723 +3159:13724 +3159:13725 +3159:13727 +3159:13728 +3159:13729 +3159:13730 +3159:13731 +3159:13732 +3159:13733 +3159:13736 +3159:13737 +3159:13738 +3159:13739 +3159:13740 +3159:13741 +3159:13744 +3159:13745 +3159:13746 +3159:13747 +3159:13748 +3159:13749 +3159:13752 +3159:13753 +3159:13754 +3159:13755 +3159:13756 +3159:13758 +3159:13759 +3159:13760 +3159:13761 +3159:13762 +3159:13763 +3159:13764 +3159:13766 +3159:13767 +3160:13769 +3163:13844 +3163:13845 +3163:13846 +3163:13848 +3163:13849 +3163:13850 +3163:13852 +3163:13942 +3163:13943 +3163:13944 +3163:13945 +3163:13946 +3163:13947 +3163:13948 +3164:13853 +3164:13854 +3164:13855 +3164:13856 +3164:13857 +3164:13858 +3164:13859 +3164:13860 +3164:13861 +3164:13862 +3165:13865 +3165:13866 +3165:13867 +3165:13868 +3165:13869 +3165:13870 +3165:13871 +3165:13872 +3165:13873 +3165:13874 +3166:13877 +3166:13878 +3166:13879 +3166:13880 +3166:13881 +3166:13882 +3166:13883 +3166:13884 +3166:13886 +3166:13887 +3166:13888 +3166:13889 +3167:13892 +3167:13893 +3167:13894 +3167:13895 +3167:13896 +3167:13897 +3167:13898 +3167:13899 +3167:13901 +3167:13902 +3167:13903 +3167:13904 +3168:13907 +3168:13908 +3168:13909 +3168:13910 +3168:13911 +3168:13912 +3168:13913 +3168:13914 +3168:13915 +3168:13916 +3168:13917 +3168:13918 +3168:13919 +3168:13920 +3168:13921 +3168:13922 +3168:13923 +3168:13924 +3168:13925 +3168:13926 +3168:13927 +3168:13928 +3168:13929 +3168:13930 +3168:13931 +3168:13932 +3168:13933 +3168:13934 +3168:13935 +3168:13936 +3168:13937 +3168:13938 +3168:13939 +3172:13812 +3172:13813 +3172:13814 +3172:13816 +3172:13817 +3172:13818 +3172:13841 +3172:13842 +3173:13820 +3173:13821 +3173:13822 +3173:13823 +3173:13824 +3173:13825 +3173:13826 +3173:13827 +3173:13828 +3173:13829 +3173:13830 +3173:13831 +3173:13832 +3173:13833 +3173:13834 +3173:13835 +3173:13836 +3173:13838 +3173:13839 +3173:13840 +3180:13780 +3180:13781 +3180:13782 +3180:13784 +3180:13785 +3180:13786 +3180:13809 +3180:13810 +3181:13788 +3181:13789 +3181:13790 +3181:13791 +3181:13792 +3181:13793 +3181:13794 +3181:13795 +3181:13796 +3181:13797 +3181:13798 +3181:13799 +3181:13800 +3181:13801 +3181:13802 +3181:13803 +3181:13804 +3181:13806 +3181:13807 +3181:13808 +3185:13950 +3185:13951 +3185:13952 +3185:13954 +3185:13955 +3185:13956 +3185:13962 +3185:14095 +3185:14096 +3185:14097 +3185:14098 +3185:14099 +3185:14100 +3185:14101 +3186:13963 +3186:13964 +3186:13965 +3186:13966 +3186:13967 +3186:13968 +3186:13969 +3186:13970 +3186:13971 +3186:13972 +3187:13975 +3187:13976 +3187:13977 +3187:13978 +3187:13979 +3187:13980 +3187:13981 +3187:13982 +3187:13983 +3187:13984 +3188:13987 +3188:13988 +3188:13989 +3188:13990 +3188:13991 +3188:13992 +3188:13993 +3188:13994 +3188:13995 +3188:13996 +3188:13997 +3188:13998 +3188:13999 +3188:14000 +3188:14001 +3188:14002 +3188:14003 +3188:14004 +3188:14005 +3188:14006 +3188:14007 +3188:14008 +3188:14009 +3188:14010 +3188:14011 +3188:14012 +3188:14013 +3188:14014 +3188:14048 +3188:14082 +3188:14086 +3188:14087 +3188:14088 +3188:14089 +3188:14090 +3189:14092 +3197:14016 +3197:14017 +3197:14018 +3197:14019 +3197:14020 +3197:14021 +3197:14023 +3197:14024 +3197:14025 +3197:14026 +3197:14028 +3197:14029 +3197:14030 +3197:14031 +3197:14032 +3197:14033 +3197:14034 +3197:14035 +3198:13957 +3198:13958 +3198:14036 +3198:14037 +3198:14038 +3198:14039 +3198:14040 +3198:14041 +3198:14043 +3198:14044 +3198:14045 +3199:14046 +3199:14047 +3206:14049 +3206:14050 +3206:14051 +3206:14052 +3206:14053 +3206:14054 +3206:14055 +3206:14057 +3206:14058 +3206:14059 +3206:14060 +3206:14062 +3206:14063 +3206:14064 +3206:14065 +3206:14066 +3206:14067 +3206:14068 +3206:14069 +3207:13959 +3207:13960 +3207:14070 +3207:14071 +3207:14072 +3207:14073 +3207:14074 +3207:14075 +3207:14077 +3207:14078 +3207:14079 +3208:14080 +3208:14081 +3210:14083 +3210:14084 +3210:14085 +3215:14103 +3215:14104 +3215:14105 +3215:14107 +3215:14108 +3215:14109 +3215:14144 +3215:14145 +3217:14115 +3217:14116 +3218:14126 +3218:14135 +3218:14137 +3218:14138 +3218:14139 +3218:14140 +3219:14143 3222:14110 3222:14111 -3223:14114 -3226:14081 -3226:14082 -3226:14089 -3226:14090 -3226:14091 -3226:14092 -3226:14093 -3226:14094 -3226:14095 -3227:14083 -3227:14084 -3227:14098 -3227:14099 -3227:14100 -3227:14101 -3227:14102 -3227:14103 -3227:14104 -3234:11706 -3234:11708 -3234:11709 -3234:11710 -3234:11712 -3234:11714 -3234:11816 -3234:11817 -3234:11818 -3234:11819 -3234:11820 -3234:11821 -3234:11822 -3235:11715 -3235:11716 -3235:11717 -3235:11718 -3235:11719 -3235:11720 -3236:11724 -3236:11725 -3236:11726 -3236:11727 -3236:11728 -3236:11729 -3236:11730 -3236:11731 -3236:11732 -3236:11733 -3236:11734 -3236:11735 -3236:11736 -3236:11737 -3237:11721 -3237:11740 -3237:11741 -3237:11742 -3237:11743 -3237:11744 -3238:11747 -3238:11748 -3238:11749 -3238:11750 -3238:11751 -3238:11752 -3238:11753 -3239:11756 -3239:11757 -3239:11758 -3239:11759 -3239:11760 -3239:11761 -3239:11762 -3240:11711 -3240:11765 -3240:11766 -3240:11767 -3240:11768 -3241:11769 -3241:11770 -3241:11771 -3241:11772 -3241:11774 -3241:11775 -3242:11777 -3242:11780 -3242:11781 -3242:11782 -3242:11783 -3242:11784 -3243:11787 -3243:11788 -3243:11789 -3243:11790 -3243:11791 -3244:11794 -3244:11795 -3244:11796 -3244:11797 -3244:11798 -3245:11801 -3245:11802 -3245:11803 -3245:11804 -3245:11805 -3245:11806 -3245:11807 -3245:11808 -3245:11809 -3245:11810 -3245:11811 -3245:11812 -3245:11813 -3251:12767 -3251:12769 -3251:12770 -3251:12771 -3251:12772 -3251:12779 -3251:12894 -3251:12906 -3251:12907 -3252:12773 -3253:12774 -3254:12775 -3255:12776 -3258:12780 -3259:12781 -3259:12782 -3260:12784 -3260:12785 -3261:12786 -3261:12787 -3261:12788 -3261:12789 -3261:12790 -3261:12867 -3261:12868 -3261:12869 -3261:12870 -3261:12872 -3261:12873 -3262:12791 -3262:12792 -3263:12795 -3263:12796 -3263:12797 -3263:12798 -3263:12799 -3263:12800 -3263:12801 -3263:12802 -3263:12803 -3263:12804 -3263:12805 -3263:12806 -3263:12807 -3263:12808 -3263:12809 -3263:12810 -3263:12811 -3263:12812 -3263:12813 -3263:12814 -3263:12815 -3263:12816 -3263:12817 -3263:12818 -3263:12819 -3263:12820 -3263:12821 -3263:12822 -3263:12823 -3263:12824 -3263:12825 -3263:12826 -3263:12827 -3263:12828 -3263:12829 -3263:12830 -3263:12831 -3263:12832 -3263:12833 -3263:12834 -3263:12835 -3263:12836 -3263:12837 -3263:12838 -3263:12839 -3263:12840 -3263:12841 -3263:12842 -3263:12843 -3263:12844 -3263:12845 -3263:12846 -3263:12847 -3263:12848 -3263:12849 -3263:12850 -3263:12853 -3263:12854 -3263:12855 -3263:12856 -3263:12857 -3263:12861 -3263:12862 -3263:12863 -3263:12864 -3263:12865 -3271:12874 -3272:12876 -3273:12877 -3275:12880 -3276:12881 -3276:12882 -3276:12888 -3276:12890 -3276:12891 -3277:12884 -3277:12893 -3278:12885 -3279:12886 -3283:12895 -3283:12896 -3283:12902 -3283:12903 -3283:12904 -3283:12905 -3284:12898 -3285:12899 -3286:12900 -3294:9918 -3294:9921 -3294:9922 -3294:9923 -3294:9924 -3294:9926 -3294:9927 -3294:9928 -3294:9929 -3294:9983 -3294:9984 -3294:9985 -3295:9919 -3296:9920 -3298:9932 -3298:9933 -3298:9934 -3298:9935 -3298:9936 -3298:9937 -3298:9939 -3298:9940 -3298:9941 -3298:9943 -3298:9944 -3298:9945 -3298:9946 -3298:9947 -3298:9948 -3298:9949 -3298:9950 -3298:9956 -3298:9960 -3298:9964 -3298:9968 -3298:9969 -3298:9970 -3298:9971 -3299:9951 -3299:9952 -3299:9954 -3299:9955 -3300:9957 -3300:9958 -3300:9959 -3301:9961 -3301:9962 -3301:9963 -3302:9965 -3302:9966 -3302:9967 -3305:9974 -3305:9975 -3305:9976 -3305:9977 -3305:9979 -3305:9980 -3306:9982 -3308:9568 -3308:9570 -3308:9571 -3308:9572 -3308:9573 -3308:9588 -3308:9589 -3310:9576 -3310:9577 -3313:9579 -3313:9580 -3313:9581 -3313:9582 -3313:9584 -3313:9585 -3314:9587 -3317:14389 -3317:14391 -3317:14392 -3317:14393 -3317:14398 -3317:14399 -3318:14395 -3318:14396 -3318:14397 -3322:12909 -3322:12911 -3322:12912 -3322:12913 -3322:12920 -3322:12967 -3322:12968 -3323:12914 -3323:12915 -3323:12922 -3323:12923 -3323:12924 -3323:12925 -3324:12926 -3324:12927 -3326:12929 -3326:12930 -3328:12916 -3328:12917 -3328:12931 -3328:12932 -3328:12933 -3328:12934 -3328:12935 -3328:12936 -3328:12937 -3328:12938 -3328:12944 -3328:12945 -3328:12946 -3328:12947 -3328:12949 -3328:12950 -3329:12939 -3329:12940 -3330:12942 -3330:12943 -3333:12918 -3333:12919 -3333:12951 -3333:12952 -3333:12953 -3333:12954 -3334:12955 -3334:12956 -3334:12957 -3334:12961 -3334:12963 -3334:12964 -3335:12958 -3335:12966 -3336:12959 -3340:14473 -3340:14475 -3340:14476 -3340:14477 -3340:14516 -3340:14517 -3342:14480 -3342:14481 -3342:14482 -3342:14483 -3342:14484 -3342:14509 -3342:14510 -3342:14511 -3342:14512 -3342:14513 -3343:14487 -3343:14488 -3343:14489 -3343:14490 -3343:14491 -3343:14492 -3343:14495 -3343:14496 -3343:14497 -3343:14498 -3343:14499 -3343:14500 -3343:14515 -3344:14503 -3344:14504 -3344:14505 -3344:14506 -3368:14401 -3368:14419 -3368:14421 -3368:14422 -3368:14423 -3368:14429 -3368:14453 -3368:14465 -3368:14466 -3368:14467 -3368:14468 +3222:14118 +3222:14119 +3222:14120 +3222:14121 +3222:14122 +3222:14123 +3222:14124 +3223:14112 +3223:14113 +3223:14127 +3223:14128 +3223:14129 +3223:14130 +3223:14131 +3223:14132 +3223:14133 +3230:11706 +3230:11708 +3230:11709 +3230:11710 +3230:11712 +3230:11714 +3230:11816 +3230:11817 +3230:11818 +3230:11819 +3230:11820 +3230:11821 +3230:11822 +3231:11715 +3231:11716 +3231:11717 +3231:11718 +3231:11719 +3231:11720 +3232:11724 +3232:11725 +3232:11726 +3232:11727 +3232:11728 +3232:11729 +3232:11730 +3232:11731 +3232:11732 +3232:11733 +3232:11734 +3232:11735 +3232:11736 +3232:11737 +3233:11721 +3233:11740 +3233:11741 +3233:11742 +3233:11743 +3233:11744 +3234:11747 +3234:11748 +3234:11749 +3234:11750 +3234:11751 +3234:11752 +3234:11753 +3235:11756 +3235:11757 +3235:11758 +3235:11759 +3235:11760 +3235:11761 +3235:11762 +3236:11711 +3236:11765 +3236:11766 +3236:11767 +3236:11768 +3237:11769 +3237:11770 +3237:11771 +3237:11772 +3237:11774 +3237:11775 +3238:11777 +3238:11780 +3238:11781 +3238:11782 +3238:11783 +3238:11784 +3239:11787 +3239:11788 +3239:11789 +3239:11790 +3239:11791 +3240:11794 +3240:11795 +3240:11796 +3240:11797 +3240:11798 +3241:11801 +3241:11802 +3241:11803 +3241:11804 +3241:11805 +3241:11806 +3241:11807 +3241:11808 +3241:11809 +3241:11810 +3241:11811 +3241:11812 +3241:11813 +3247:12796 +3247:12798 +3247:12799 +3247:12800 +3247:12801 +3247:12808 +3247:12923 +3247:12935 +3247:12936 +3248:12802 +3249:12803 +3250:12804 +3251:12805 +3254:12809 +3255:12810 +3255:12811 +3256:12813 +3256:12814 +3257:12815 +3257:12816 +3257:12817 +3257:12818 +3257:12819 +3257:12896 +3257:12897 +3257:12898 +3257:12899 +3257:12901 +3257:12902 +3258:12820 +3258:12821 +3259:12824 +3259:12825 +3259:12826 +3259:12827 +3259:12828 +3259:12829 +3259:12830 +3259:12831 +3259:12832 +3259:12833 +3259:12834 +3259:12835 +3259:12836 +3259:12837 +3259:12838 +3259:12839 +3259:12840 +3259:12841 +3259:12842 +3259:12843 +3259:12844 +3259:12845 +3259:12846 +3259:12847 +3259:12848 +3259:12849 +3259:12850 +3259:12851 +3259:12852 +3259:12853 +3259:12854 +3259:12855 +3259:12856 +3259:12857 +3259:12858 +3259:12859 +3259:12860 +3259:12861 +3259:12862 +3259:12863 +3259:12864 +3259:12865 +3259:12866 +3259:12867 +3259:12868 +3259:12869 +3259:12870 +3259:12871 +3259:12872 +3259:12873 +3259:12874 +3259:12875 +3259:12876 +3259:12877 +3259:12878 +3259:12879 +3259:12882 +3259:12883 +3259:12884 +3259:12885 +3259:12886 +3259:12890 +3259:12891 +3259:12892 +3259:12893 +3259:12894 +3267:12903 +3268:12905 +3269:12906 +3271:12909 +3272:12910 +3272:12911 +3272:12917 +3272:12919 +3272:12920 +3273:12913 +3273:12922 +3274:12914 +3275:12915 +3279:12924 +3279:12925 +3279:12931 +3279:12932 +3279:12933 +3279:12934 +3280:12927 +3281:12928 +3282:12929 +3290:9918 +3290:9921 +3290:9922 +3290:9923 +3290:9924 +3290:9926 +3290:9927 +3290:9928 +3290:9929 +3290:9983 +3290:9984 +3290:9985 +3291:9919 +3292:9920 +3294:9932 +3294:9933 +3294:9934 +3294:9935 +3294:9936 +3294:9937 +3294:9939 +3294:9940 +3294:9941 +3294:9943 +3294:9944 +3294:9945 +3294:9946 +3294:9947 +3294:9948 +3294:9949 +3294:9950 +3294:9956 +3294:9960 +3294:9964 +3294:9968 +3294:9969 +3294:9970 +3294:9971 +3295:9951 +3295:9952 +3295:9954 +3295:9955 +3296:9957 +3296:9958 +3296:9959 +3297:9961 +3297:9962 +3297:9963 +3298:9965 +3298:9966 +3298:9967 +3301:9974 +3301:9975 +3301:9976 +3301:9977 +3301:9979 +3301:9980 +3302:9982 +3304:9568 +3304:9570 +3304:9571 +3304:9572 +3304:9573 +3304:9588 +3304:9589 +3306:9576 +3306:9577 +3309:9579 +3309:9580 +3309:9581 +3309:9582 +3309:9584 +3309:9585 +3310:9587 +3313:14418 +3313:14420 +3313:14421 +3313:14422 +3313:14427 +3313:14428 +3314:14424 +3314:14425 +3314:14426 +3318:12938 +3318:12940 +3318:12941 +3318:12942 +3318:12949 +3318:12996 +3318:12997 +3319:12943 +3319:12944 +3319:12951 +3319:12952 +3319:12953 +3319:12954 +3320:12955 +3320:12956 +3322:12958 +3322:12959 +3324:12945 +3324:12946 +3324:12960 +3324:12961 +3324:12962 +3324:12963 +3324:12964 +3324:12965 +3324:12966 +3324:12967 +3324:12973 +3324:12974 +3324:12975 +3324:12976 +3324:12978 +3324:12979 +3325:12968 +3325:12969 +3326:12971 +3326:12972 +3329:12947 +3329:12948 +3329:12980 +3329:12981 +3329:12982 +3329:12983 +3330:12984 +3330:12985 +3330:12986 +3330:12990 +3330:12992 +3330:12993 +3331:12987 +3331:12995 +3332:12988 +3336:14502 +3336:14504 +3336:14505 +3336:14506 +3336:14545 +3336:14546 +3338:14509 +3338:14510 +3338:14511 +3338:14512 +3338:14513 +3338:14538 +3338:14539 +3338:14540 +3338:14541 +3338:14542 +3339:14516 +3339:14517 +3339:14518 +3339:14519 +3339:14520 +3339:14521 +3339:14524 +3339:14525 +3339:14526 +3339:14527 +3339:14528 +3339:14529 +3339:14544 +3340:14532 +3340:14533 +3340:14534 +3340:14535 +3364:14430 +3364:14448 +3364:14450 +3364:14451 +3364:14452 +3364:14458 +3364:14482 +3364:14494 +3364:14495 +3364:14496 +3364:14497 +3364:14499 +3364:14500 +3365:14431 +3366:14432 +3366:14453 +3366:14454 +3366:14460 +3366:14461 +3366:14462 +3366:14463 +3367:14433 +3367:14455 +3367:14464 +3367:14465 +3367:14466 +3367:14467 +3367:14468 +3368:14434 3368:14470 -3368:14471 -3369:14402 -3370:14403 -3370:14424 -3370:14425 -3370:14431 -3370:14432 -3370:14433 -3370:14434 -3371:14404 -3371:14426 -3371:14435 -3371:14436 +3369:14435 +3369:14471 +3369:14472 +3369:14473 +3369:14476 +3369:14478 +3369:14479 +3370:14436 +3370:14474 +3370:14481 3371:14437 -3371:14438 -3371:14439 -3372:14405 -3372:14441 -3373:14406 -3373:14442 -3373:14443 -3373:14444 -3373:14447 -3373:14449 -3373:14450 -3374:14407 -3374:14445 -3374:14452 -3375:14408 -3376:14409 -3377:14410 -3378:14411 -3378:14427 -3378:14428 -3378:14454 -3378:14455 -3378:14456 -3378:14457 -3378:14458 -3378:14459 -3378:14460 -3378:14461 -3378:14462 -3379:14412 -3380:14413 -3381:14414 -3381:14464 -3382:14415 -3383:14416 -3384:14417 -3385:14418 -3434:14182 -3434:14231 -3434:14233 -3434:14234 -3434:14235 -3434:14241 -3434:14243 -3434:14358 +3372:14438 +3373:14439 +3374:14440 +3374:14456 +3374:14457 +3374:14483 +3374:14484 +3374:14485 +3374:14486 +3374:14487 +3374:14488 +3374:14489 +3374:14490 +3374:14491 +3375:14441 +3376:14442 +3377:14443 +3377:14493 +3378:14444 +3379:14445 +3380:14446 +3381:14447 +3430:14211 +3430:14260 +3430:14262 +3430:14263 +3430:14264 +3430:14270 +3430:14272 +3430:14387 +3430:14415 +3430:14416 +3431:14212 +3431:14265 +3431:14266 +3431:14273 +3431:14274 +3431:14276 +3431:14277 +3431:14278 +3431:14279 +3431:14280 +3431:14299 +3431:14300 +3431:14301 +3431:14302 +3431:14303 +3431:14306 +3431:14307 +3431:14308 +3431:14309 +3431:14310 +3431:14311 +3431:14312 +3431:14313 +3431:14314 +3431:14315 +3431:14316 +3431:14317 +3431:14318 +3431:14319 +3431:14328 +3431:14329 +3431:14330 +3431:14331 +3431:14332 +3432:14213 +3433:14214 +3433:14335 +3433:14336 +3433:14337 +3433:14338 +3433:14339 +3433:14380 +3433:14381 +3433:14382 +3433:14383 +3433:14384 +3434:14215 +3434:14267 +3434:14340 +3434:14341 3434:14386 -3434:14387 -3435:14183 -3435:14236 -3435:14237 -3435:14244 -3435:14245 -3435:14247 -3435:14248 -3435:14249 -3435:14250 -3435:14251 -3435:14270 -3435:14271 -3435:14272 -3435:14273 -3435:14274 -3435:14277 -3435:14278 -3435:14279 -3435:14280 -3435:14281 -3435:14282 -3435:14283 -3435:14284 -3435:14285 -3435:14286 -3435:14287 -3435:14288 -3435:14289 -3435:14290 -3435:14299 -3435:14300 -3435:14301 -3435:14302 -3435:14303 -3436:14184 -3437:14185 -3437:14306 -3437:14307 -3437:14308 -3437:14309 -3437:14310 -3437:14351 -3437:14352 -3437:14353 -3437:14354 -3437:14355 -3438:14186 -3438:14238 -3438:14311 -3438:14312 -3438:14357 -3439:14187 -3440:14188 -3440:14318 -3440:14320 -3440:14321 -3440:14322 -3440:14323 -3441:14189 -3442:14190 -3442:14239 -3442:14314 -3442:14315 -3442:14316 -3442:14317 -3443:14191 -3444:14192 -3445:14193 -3445:14326 -3445:14327 -3445:14328 -3445:14330 -3445:14332 -3445:14333 -3446:14194 -3446:14329 -3447:14195 -3448:14196 -3449:14197 -3450:14198 -3451:14199 -3452:14200 -3453:14201 -3454:14202 -3455:14203 -3455:14240 -3455:14337 -3455:14338 -3455:14339 -3455:14340 -3456:14204 -3457:14205 -3458:14206 -3458:14341 -3458:14342 -3458:14343 -3458:14344 -3458:14346 -3458:14347 -3459:14207 -3460:14208 -3461:14209 -3462:14210 -3463:14211 -3464:14212 -3464:14359 -3464:14360 -3464:14382 -3464:14383 -3464:14384 -3464:14385 -3465:14213 -3465:14362 -3466:14214 -3466:14363 -3467:14215 -3467:14364 -3468:14216 -3468:14365 -3469:14217 -3469:14366 -3470:14218 -3470:14367 -3471:14219 -3471:14368 -3472:14220 -3472:14369 -3473:14221 -3473:14370 -3474:14222 -3474:14371 -3475:14223 -3475:14372 -3476:14224 -3476:14373 -3477:14225 -3477:14374 -3478:14226 -3478:14375 -3479:14227 -3479:14376 -3480:14228 -3480:14377 -3481:14229 -3481:14378 -3482:14230 -3482:14379 -3483:14380 -3488:7046 -3488:7048 -3488:7049 -3488:7050 -3488:7060 -3488:7424 -3488:7439 -3488:7440 -3489:7052 -3490:7053 -3491:7054 -3492:7055 -3493:7056 -3494:7057 -3500:7062 -3500:7063 -3500:7064 -3500:7065 -3500:7066 -3500:7067 -3500:7068 -3500:7069 -3500:7070 -3500:7071 -3500:7072 -3500:7073 -3500:7074 -3500:7075 -3500:7076 -3500:7077 -3500:7078 -3500:7079 -3500:7080 -3500:7081 -3500:7082 -3500:7083 -3500:7084 -3500:7085 -3500:7086 -3500:7087 -3500:7088 -3500:7089 -3500:7090 -3500:7091 -3500:7092 -3500:7093 -3500:7094 -3500:7095 -3500:7096 -3500:7097 -3500:7098 -3500:7099 -3500:7100 -3500:7101 -3500:7102 -3500:7103 -3500:7104 -3500:7105 -3500:7106 -3500:7107 -3500:7108 -3500:7109 -3500:7110 -3500:7111 -3500:7112 -3500:7113 -3500:7114 -3500:7115 -3500:7116 -3500:7117 -3500:7118 -3500:7119 -3500:7120 -3500:7121 -3500:7122 -3500:7123 -3500:7124 -3500:7125 -3500:7126 -3500:7127 -3500:7128 -3500:7129 -3500:7130 -3500:7131 -3500:7132 -3500:7133 -3500:7134 -3500:7135 -3500:7136 -3500:7137 -3500:7138 -3500:7139 -3500:7140 -3500:7141 -3500:7142 -3500:7143 -3500:7414 -3500:7415 -3500:7416 -3500:7417 -3500:7418 -3501:7145 -3501:7249 -3501:7388 -3501:7389 -3501:7390 -3501:7391 -3502:7148 -3502:7149 -3502:7150 -3502:7232 -3502:7233 -3502:7234 -3502:7235 -3502:7237 -3502:7238 -3502:7239 -3503:7151 -3503:7152 -3503:7153 -3503:7154 -3504:7157 -3504:7226 -3504:7227 -3504:7228 -3504:7229 -3504:7230 -3505:7158 -3505:7159 -3505:7160 -3505:7161 -3505:7162 -3505:7163 -3505:7164 -3505:7165 -3505:7166 -3505:7167 -3505:7168 -3505:7169 -3505:7170 -3505:7171 -3505:7172 -3505:7173 -3505:7174 -3505:7175 -3505:7176 -3505:7177 -3505:7178 -3505:7179 -3505:7180 -3505:7181 -3505:7182 -3505:7183 -3505:7184 -3505:7185 -3505:7186 -3505:7187 -3505:7188 -3505:7189 -3505:7190 -3505:7191 -3505:7192 -3505:7193 -3505:7194 -3505:7195 -3505:7196 -3505:7197 -3505:7198 -3505:7199 -3505:7200 -3505:7201 -3505:7202 -3505:7203 -3505:7204 -3505:7205 -3505:7206 -3505:7207 -3505:7208 -3505:7209 -3505:7210 -3505:7211 -3505:7212 -3506:7215 -3506:7216 -3506:7217 -3506:7218 -3506:7219 -3506:7220 -3506:7221 -3506:7222 -3509:7240 -3509:7241 -3509:7242 -3509:7243 -3509:7245 -3509:7246 -3510:7250 -3511:7252 -3511:7253 -3511:7254 -3511:7255 -3511:7256 -3511:7257 -3511:7372 -3511:7373 -3511:7374 -3511:7375 -3511:7377 -3511:7378 -3512:7259 -3513:7261 -3513:7366 -3513:7367 -3513:7368 -3513:7369 -3513:7370 -3514:7262 -3514:7263 -3514:7264 -3514:7265 -3514:7266 -3514:7267 -3514:7268 -3514:7269 -3514:7270 -3514:7271 -3514:7272 -3514:7273 -3514:7274 -3514:7275 -3514:7276 -3514:7277 -3514:7278 -3514:7279 -3514:7280 -3514:7281 -3514:7282 -3514:7283 -3514:7284 -3514:7285 -3514:7286 -3514:7287 -3514:7288 -3514:7289 -3514:7290 -3514:7291 -3514:7292 -3514:7293 -3514:7294 -3514:7295 -3514:7296 -3514:7297 -3514:7298 -3514:7299 -3514:7300 -3514:7301 -3514:7302 -3514:7303 -3514:7304 -3514:7305 -3514:7306 -3514:7307 -3514:7308 -3514:7309 -3514:7310 -3514:7311 -3514:7312 -3514:7313 -3514:7314 -3514:7315 -3514:7316 -3514:7317 -3514:7318 -3514:7319 -3514:7320 -3514:7321 -3514:7322 -3514:7323 -3514:7324 -3514:7325 -3514:7326 -3514:7327 -3514:7328 -3514:7329 -3514:7330 -3514:7331 -3514:7332 -3514:7333 -3514:7334 -3514:7335 -3514:7336 -3514:7337 -3514:7338 -3514:7339 -3514:7340 -3514:7342 -3514:7343 -3514:7344 -3514:7345 -3516:7350 -3516:7351 -3516:7352 -3516:7353 -3516:7354 -3516:7355 -3516:7356 -3517:7358 -3517:7359 -3518:7360 -3524:7379 -3524:7380 -3524:7381 -3524:7382 -3524:7384 -3524:7385 -3526:7396 -3526:7397 -3526:7398 -3526:7399 -3526:7400 -3526:7401 -3527:7403 -3527:7404 -3527:7405 -3527:7406 -3527:7408 -3527:7409 -3530:7420 -3530:7421 -3533:7423 -3533:7425 -3533:7426 -3533:7435 -3533:7436 -3533:7437 -3533:7438 -3534:7428 -3535:7429 -3536:7430 -3537:7431 -3538:7432 -3539:7433 -3547:14602 -3547:14605 -3547:14606 -3547:14608 -3547:14609 -3547:14610 -3547:14615 -3547:14751 -3547:14752 -3547:14753 -3548:14603 -3549:14604 -3553:14618 -3553:14619 -3553:14620 -3553:14621 -3553:14622 -3553:14623 -3553:14625 -3553:14627 -3553:14628 -3553:14629 -3553:14630 -3553:14631 -3553:14632 -3553:14633 -3553:14634 -3553:14647 -3553:14733 -3553:14735 -3553:14736 -3553:14737 -3553:14738 -3554:14611 -3554:14612 -3554:14635 -3554:14636 -3554:14637 -3554:14638 -3554:14639 -3554:14640 -3554:14641 -3554:14642 -3556:14644 -3556:14645 -3559:14613 -3559:14614 -3559:14648 -3559:14649 -3559:14650 -3559:14651 -3559:14652 -3559:14653 -3559:14654 -3560:14656 -3560:14657 -3562:14660 -3562:14727 -3562:14728 -3562:14729 -3562:14730 -3562:14731 -3563:14661 -3563:14662 -3563:14663 -3563:14664 -3563:14665 -3564:14667 -3564:14668 -3568:14741 -3568:14742 -3569:14743 -3570:14745 -3571:14746 -3572:14747 -3576:14750 -3583:11990 -3583:11997 -3583:11999 -3583:12000 -3583:12001 -3583:12031 -3583:12057 -3583:12062 -3583:12063 -3583:12064 -3583:12065 -3583:12066 -3583:12067 -3583:12068 -3584:11991 -3584:12006 -3584:12007 -3584:12008 -3584:12009 -3584:12010 -3584:12011 -3584:12013 -3584:12015 -3584:12016 -3584:12017 -3584:12018 -3584:12019 -3584:12020 -3584:12021 -3584:12022 -3585:11992 -3585:12002 -3585:12003 -3585:12023 -3585:12024 -3585:12025 -3585:12026 -3585:12027 -3585:12028 -3586:11993 -3586:12032 -3586:12033 -3586:12034 -3586:12035 -3586:12036 -3586:12037 -3586:12038 -3586:12040 -3586:12042 -3586:12043 -3586:12044 -3586:12045 -3586:12046 -3586:12047 -3586:12048 -3586:12049 -3587:11994 -3587:12004 -3587:12050 -3587:12051 -3587:12052 -3587:12053 -3587:12054 -3588:11995 -3588:12030 -3588:12058 -3588:12059 -3588:12060 -3588:12061 -3589:11996 -3590:12056 -3592:14755 -3592:14756 -3592:14758 -3592:14759 -3592:14760 +3435:14216 +3436:14217 +3436:14347 +3436:14349 +3436:14350 +3436:14351 +3436:14352 +3437:14218 +3438:14219 +3438:14268 +3438:14343 +3438:14344 +3438:14345 +3438:14346 +3439:14220 +3440:14221 +3441:14222 +3441:14355 +3441:14356 +3441:14357 +3441:14359 +3441:14361 +3441:14362 +3442:14223 +3442:14358 +3443:14224 +3444:14225 +3445:14226 +3446:14227 +3447:14228 +3448:14229 +3449:14230 +3450:14231 +3451:14232 +3451:14269 +3451:14366 +3451:14367 +3451:14368 +3451:14369 +3452:14233 +3453:14234 +3454:14235 +3454:14370 +3454:14371 +3454:14372 +3454:14373 +3454:14375 +3454:14376 +3455:14236 +3456:14237 +3457:14238 +3458:14239 +3459:14240 +3460:14241 +3460:14388 +3460:14389 +3460:14411 +3460:14412 +3460:14413 +3460:14414 +3461:14242 +3461:14391 +3462:14243 +3462:14392 +3463:14244 +3463:14393 +3464:14245 +3464:14394 +3465:14246 +3465:14395 +3466:14247 +3466:14396 +3467:14248 +3467:14397 +3468:14249 +3468:14398 +3469:14250 +3469:14399 +3470:14251 +3470:14400 +3471:14252 +3471:14401 +3472:14253 +3472:14402 +3473:14254 +3473:14403 +3474:14255 +3474:14404 +3475:14256 +3475:14405 +3476:14257 +3476:14406 +3477:14258 +3477:14407 +3478:14259 +3478:14408 +3479:14409 +3484:7046 +3484:7048 +3484:7049 +3484:7050 +3484:7060 +3484:7424 +3484:7439 +3484:7440 +3485:7052 +3486:7053 +3487:7054 +3488:7055 +3489:7056 +3490:7057 +3496:7062 +3496:7063 +3496:7064 +3496:7065 +3496:7066 +3496:7067 +3496:7068 +3496:7069 +3496:7070 +3496:7071 +3496:7072 +3496:7073 +3496:7074 +3496:7075 +3496:7076 +3496:7077 +3496:7078 +3496:7079 +3496:7080 +3496:7081 +3496:7082 +3496:7083 +3496:7084 +3496:7085 +3496:7086 +3496:7087 +3496:7088 +3496:7089 +3496:7090 +3496:7091 +3496:7092 +3496:7093 +3496:7094 +3496:7095 +3496:7096 +3496:7097 +3496:7098 +3496:7099 +3496:7100 +3496:7101 +3496:7102 +3496:7103 +3496:7104 +3496:7105 +3496:7106 +3496:7107 +3496:7108 +3496:7109 +3496:7110 +3496:7111 +3496:7112 +3496:7113 +3496:7114 +3496:7115 +3496:7116 +3496:7117 +3496:7118 +3496:7119 +3496:7120 +3496:7121 +3496:7122 +3496:7123 +3496:7124 +3496:7125 +3496:7126 +3496:7127 +3496:7128 +3496:7129 +3496:7130 +3496:7131 +3496:7132 +3496:7133 +3496:7134 +3496:7135 +3496:7136 +3496:7137 +3496:7138 +3496:7139 +3496:7140 +3496:7141 +3496:7142 +3496:7143 +3496:7414 +3496:7415 +3496:7416 +3496:7417 +3496:7418 +3497:7145 +3497:7249 +3497:7388 +3497:7389 +3497:7390 +3497:7391 +3498:7148 +3498:7149 +3498:7150 +3498:7232 +3498:7233 +3498:7234 +3498:7235 +3498:7237 +3498:7238 +3498:7239 +3499:7151 +3499:7152 +3499:7153 +3499:7154 +3500:7157 +3500:7226 +3500:7227 +3500:7228 +3500:7229 +3500:7230 +3501:7158 +3501:7159 +3501:7160 +3501:7161 +3501:7162 +3501:7163 +3501:7164 +3501:7165 +3501:7166 +3501:7167 +3501:7168 +3501:7169 +3501:7170 +3501:7171 +3501:7172 +3501:7173 +3501:7174 +3501:7175 +3501:7176 +3501:7177 +3501:7178 +3501:7179 +3501:7180 +3501:7181 +3501:7182 +3501:7183 +3501:7184 +3501:7185 +3501:7186 +3501:7187 +3501:7188 +3501:7189 +3501:7190 +3501:7191 +3501:7192 +3501:7193 +3501:7194 +3501:7195 +3501:7196 +3501:7197 +3501:7198 +3501:7199 +3501:7200 +3501:7201 +3501:7202 +3501:7203 +3501:7204 +3501:7205 +3501:7206 +3501:7207 +3501:7208 +3501:7209 +3501:7210 +3501:7211 +3501:7212 +3502:7215 +3502:7216 +3502:7217 +3502:7218 +3502:7219 +3502:7220 +3502:7221 +3502:7222 +3505:7240 +3505:7241 +3505:7242 +3505:7243 +3505:7245 +3505:7246 +3506:7250 +3507:7252 +3507:7253 +3507:7254 +3507:7255 +3507:7256 +3507:7257 +3507:7372 +3507:7373 +3507:7374 +3507:7375 +3507:7377 +3507:7378 +3508:7259 +3509:7261 +3509:7366 +3509:7367 +3509:7368 +3509:7369 +3509:7370 +3510:7262 +3510:7263 +3510:7264 +3510:7265 +3510:7266 +3510:7267 +3510:7268 +3510:7269 +3510:7270 +3510:7271 +3510:7272 +3510:7273 +3510:7274 +3510:7275 +3510:7276 +3510:7277 +3510:7278 +3510:7279 +3510:7280 +3510:7281 +3510:7282 +3510:7283 +3510:7284 +3510:7285 +3510:7286 +3510:7287 +3510:7288 +3510:7289 +3510:7290 +3510:7291 +3510:7292 +3510:7293 +3510:7294 +3510:7295 +3510:7296 +3510:7297 +3510:7298 +3510:7299 +3510:7300 +3510:7301 +3510:7302 +3510:7303 +3510:7304 +3510:7305 +3510:7306 +3510:7307 +3510:7308 +3510:7309 +3510:7310 +3510:7311 +3510:7312 +3510:7313 +3510:7314 +3510:7315 +3510:7316 +3510:7317 +3510:7318 +3510:7319 +3510:7320 +3510:7321 +3510:7322 +3510:7323 +3510:7324 +3510:7325 +3510:7326 +3510:7327 +3510:7328 +3510:7329 +3510:7330 +3510:7331 +3510:7332 +3510:7333 +3510:7334 +3510:7335 +3510:7336 +3510:7337 +3510:7338 +3510:7339 +3510:7340 +3510:7342 +3510:7343 +3510:7344 +3510:7345 +3512:7350 +3512:7351 +3512:7352 +3512:7353 +3512:7354 +3512:7355 +3512:7356 +3513:7358 +3513:7359 +3514:7360 +3520:7379 +3520:7380 +3520:7381 +3520:7382 +3520:7384 +3520:7385 +3522:7396 +3522:7397 +3522:7398 +3522:7399 +3522:7400 +3522:7401 +3523:7403 +3523:7404 +3523:7405 +3523:7406 +3523:7408 +3523:7409 +3526:7420 +3526:7421 +3529:7423 +3529:7425 +3529:7426 +3529:7435 +3529:7436 +3529:7437 +3529:7438 +3530:7428 +3531:7429 +3532:7430 +3533:7431 +3534:7432 +3535:7433 +3543:14631 +3543:14634 +3543:14635 +3543:14637 +3543:14638 +3543:14639 +3543:14644 +3543:14780 +3543:14781 +3543:14782 +3544:14632 +3545:14633 +3549:14647 +3549:14648 +3549:14649 +3549:14650 +3549:14651 +3549:14652 +3549:14654 +3549:14656 +3549:14657 +3549:14658 +3549:14659 +3549:14660 +3549:14661 +3549:14662 +3549:14663 +3549:14676 +3549:14762 +3549:14764 +3549:14765 +3549:14766 +3549:14767 +3550:14640 +3550:14641 +3550:14664 +3550:14665 +3550:14666 +3550:14667 +3550:14668 +3550:14669 +3550:14670 +3550:14671 +3552:14673 +3552:14674 +3555:14642 +3555:14643 +3555:14677 +3555:14678 +3555:14679 +3555:14680 +3555:14681 +3555:14682 +3555:14683 +3556:14685 +3556:14686 +3558:14689 +3558:14756 +3558:14757 +3558:14758 +3558:14759 +3558:14760 +3559:14690 +3559:14691 +3559:14692 +3559:14693 +3559:14694 +3560:14696 +3560:14697 +3564:14770 +3564:14771 +3565:14772 +3566:14774 +3567:14775 +3568:14776 +3572:14779 +3579:11990 +3579:11997 +3579:11999 +3579:12000 +3579:12001 +3579:12031 +3579:12057 +3579:12062 +3579:12063 +3579:12064 +3579:12065 +3579:12066 +3579:12067 +3579:12068 +3580:11991 +3580:12006 +3580:12007 +3580:12008 +3580:12009 +3580:12010 +3580:12011 +3580:12013 +3580:12015 +3580:12016 +3580:12017 +3580:12018 +3580:12019 +3580:12020 +3580:12021 +3580:12022 +3581:11992 +3581:12002 +3581:12003 +3581:12023 +3581:12024 +3581:12025 +3581:12026 +3581:12027 +3581:12028 +3582:11993 +3582:12032 +3582:12033 +3582:12034 +3582:12035 +3582:12036 +3582:12037 +3582:12038 +3582:12040 +3582:12042 +3582:12043 +3582:12044 +3582:12045 +3582:12046 +3582:12047 +3582:12048 +3582:12049 +3583:11994 +3583:12004 +3583:12050 +3583:12051 +3583:12052 +3583:12053 +3583:12054 +3584:11995 +3584:12030 +3584:12058 +3584:12059 +3584:12060 +3584:12061 +3585:11996 +3586:12056 +3588:14784 +3588:14785 +3588:14787 +3588:14788 +3588:14789 +3588:14896 +3588:14897 +3590:14792 +3590:14887 +3590:14888 +3590:14889 +3590:14890 +3590:14891 +3591:14793 +3591:14794 +3591:14795 +3591:14796 +3591:14797 +3591:14800 +3591:14801 +3591:14802 +3591:14803 +3591:14804 +3591:14805 +3591:14806 +3591:14807 +3591:14808 +3591:14809 +3591:14810 +3591:14811 +3591:14812 +3591:14813 +3591:14814 +3591:14815 +3591:14816 +3591:14817 +3591:14818 +3591:14819 +3591:14820 +3591:14821 +3591:14822 +3591:14823 +3591:14824 +3591:14825 +3591:14826 +3591:14827 +3591:14828 +3591:14829 +3591:14830 +3591:14831 +3591:14832 +3591:14833 +3591:14834 +3591:14835 +3591:14836 +3591:14837 +3591:14838 +3591:14839 +3591:14840 +3591:14841 +3591:14842 +3591:14843 +3591:14844 +3591:14845 +3591:14846 +3591:14847 +3591:14848 +3591:14849 +3591:14850 +3591:14851 +3591:14852 +3591:14853 +3591:14854 +3591:14855 +3591:14856 +3591:14857 +3591:14858 +3591:14859 +3592:14862 +3592:14863 +3592:14864 +3592:14865 +3592:14866 3592:14867 3592:14868 -3594:14763 -3594:14858 -3594:14859 -3594:14860 -3594:14861 -3594:14862 -3595:14764 -3595:14765 -3595:14766 -3595:14767 -3595:14768 -3595:14771 -3595:14772 -3595:14773 -3595:14774 -3595:14775 -3595:14776 -3595:14777 -3595:14778 -3595:14779 -3595:14780 -3595:14781 -3595:14782 -3595:14783 -3595:14784 -3595:14785 -3595:14786 -3595:14787 -3595:14788 -3595:14789 -3595:14790 -3595:14791 -3595:14792 -3595:14793 -3595:14794 -3595:14795 -3595:14796 -3595:14797 -3595:14798 -3595:14799 -3595:14800 -3595:14801 -3595:14802 -3595:14803 -3595:14804 -3595:14805 -3595:14806 -3595:14807 -3595:14808 -3595:14809 -3595:14810 -3595:14811 -3595:14812 -3595:14813 -3595:14814 -3595:14815 -3595:14816 -3595:14817 -3595:14818 -3595:14819 -3595:14820 -3595:14821 -3595:14822 -3595:14823 -3595:14824 -3595:14825 -3595:14826 -3595:14827 -3595:14828 -3595:14829 -3595:14830 -3596:14833 -3596:14834 -3596:14835 -3596:14836 -3596:14837 -3596:14838 -3596:14839 -3596:14840 -3596:14843 -3596:14844 -3596:14845 -3596:14846 -3596:14847 -3597:14850 -3597:14851 -3597:14852 -3597:14853 -3597:14854 -3597:14855 -3599:14864 -3599:14865 -3599:14866 -3602:14519 -3602:14521 -3602:14522 -3602:14523 -3602:14599 -3602:14600 -3603:14528 -3603:14529 -3603:14530 -3603:14590 -3603:14591 -3603:14592 -3603:14593 -3603:14595 -3603:14596 -3603:14597 -3603:14598 -3613:14524 -3613:14525 -3613:14531 -3613:14532 -3613:14533 -3613:14534 -3613:14535 -3613:14536 -3613:14537 -3614:14540 -3614:14541 -3614:14542 -3614:14543 -3614:14544 -3614:14545 -3614:14546 -3614:14547 -3614:14548 -3614:14549 -3614:14550 -3614:14551 -3614:14552 -3614:14553 -3614:14554 -3614:14555 -3614:14556 -3614:14557 -3614:14558 -3614:14559 -3614:14560 -3614:14561 -3614:14562 -3614:14563 -3614:14564 -3614:14565 -3614:14566 -3614:14567 -3614:14568 -3614:14569 -3614:14570 -3614:14571 -3614:14572 -3614:14573 -3614:14574 -3614:14575 -3614:14576 -3614:14583 -3614:14584 -3614:14585 -3614:14586 -3614:14587 -3615:14589 -3620:14118 -3620:14119 -3620:14121 -3620:14122 -3620:14123 -3620:14125 -3620:14174 -3620:14175 -3620:14176 -3620:14177 -3620:14178 -3620:14179 -3620:14180 -3621:14126 -3621:14127 -3621:14128 -3621:14129 -3621:14130 -3621:14131 -3621:14132 -3621:14133 -3621:14134 -3621:14135 -3622:14138 -3622:14139 -3622:14140 -3622:14141 -3622:14142 -3622:14143 -3623:14147 -3623:14148 -3623:14149 -3623:14150 -3623:14151 -3623:14152 -3623:14153 -3624:14144 -3624:14156 -3624:14157 -3624:14158 -3624:14159 -3624:14160 -3624:14161 -3624:14162 -3625:14165 -3625:14166 -3625:14167 -3625:14168 -3625:14169 -3625:14170 -3625:14171 -3629:14870 -3629:14871 -3629:14873 -3629:14874 -3629:14875 -3629:14877 -3629:14932 -3629:14933 +3592:14869 +3592:14872 +3592:14873 +3592:14874 +3592:14875 +3592:14876 +3593:14879 +3593:14880 +3593:14881 +3593:14882 +3593:14883 +3593:14884 +3595:14893 +3595:14894 +3595:14895 +3598:14548 +3598:14550 +3598:14551 +3598:14552 +3598:14628 +3598:14629 +3599:14557 +3599:14558 +3599:14559 +3599:14619 +3599:14620 +3599:14621 +3599:14622 +3599:14624 +3599:14625 +3599:14626 +3599:14627 +3609:14553 +3609:14554 +3609:14560 +3609:14561 +3609:14562 +3609:14563 +3609:14564 +3609:14565 +3609:14566 +3610:14569 +3610:14570 +3610:14571 +3610:14572 +3610:14573 +3610:14574 +3610:14575 +3610:14576 +3610:14577 +3610:14578 +3610:14579 +3610:14580 +3610:14581 +3610:14582 +3610:14583 +3610:14584 +3610:14585 +3610:14586 +3610:14587 +3610:14588 +3610:14589 +3610:14590 +3610:14591 +3610:14592 +3610:14593 +3610:14594 +3610:14595 +3610:14596 +3610:14597 +3610:14598 +3610:14599 +3610:14600 +3610:14601 +3610:14602 +3610:14603 +3610:14604 +3610:14605 +3610:14612 +3610:14613 +3610:14614 +3610:14615 +3610:14616 +3611:14618 +3616:14147 +3616:14148 +3616:14150 +3616:14151 +3616:14152 +3616:14154 +3616:14203 +3616:14204 +3616:14205 +3616:14206 +3616:14207 +3616:14208 +3616:14209 +3617:14155 +3617:14156 +3617:14157 +3617:14158 +3617:14159 +3617:14160 +3617:14161 +3617:14162 +3617:14163 +3617:14164 +3618:14167 +3618:14168 +3618:14169 +3618:14170 +3618:14171 +3618:14172 +3619:14176 +3619:14177 +3619:14178 +3619:14179 +3619:14180 +3619:14181 +3619:14182 +3620:14173 +3620:14185 +3620:14186 +3620:14187 +3620:14188 +3620:14189 +3620:14190 +3620:14191 +3621:14194 +3621:14195 +3621:14196 +3621:14197 +3621:14198 +3621:14199 +3621:14200 +3625:14899 +3625:14900 +3625:14902 +3625:14903 +3625:14904 +3625:14906 +3625:14961 +3625:14962 +3625:14963 +3625:14964 +3625:14965 +3625:14966 +3625:14967 +3626:14907 +3626:14908 +3626:14909 +3626:14910 +3626:14911 +3626:14912 +3627:14916 +3627:14917 +3627:14918 +3627:14919 +3627:14920 +3627:14921 +3628:14913 +3628:14925 +3628:14926 +3628:14927 +3628:14928 +3628:14929 +3628:14930 +3629:14922 3629:14934 3629:14935 3629:14936 3629:14937 3629:14938 -3630:14878 -3630:14879 -3630:14880 -3630:14881 -3630:14882 -3630:14883 -3631:14887 -3631:14888 -3631:14889 -3631:14890 -3631:14891 -3631:14892 -3632:14884 -3632:14896 -3632:14897 -3632:14898 -3632:14899 -3632:14900 -3632:14901 -3633:14893 -3633:14905 -3633:14906 -3633:14907 -3633:14908 -3633:14909 -3633:14910 -3634:14902 -3634:14914 -3634:14915 -3634:14916 -3634:14917 -3634:14918 -3634:14919 -3635:14911 -3635:14923 -3635:14924 -3635:14925 -3635:14926 -3635:14927 -3635:14928 -3636:14920 -3637:14929 -3639:14940 -3639:14941 -3639:14943 -3639:14944 -3639:14945 -3639:14947 -3639:14992 -3639:14993 -3639:14994 -3639:14995 -3639:14996 -3639:14997 -3639:14998 -3640:14948 -3640:14949 -3640:14950 -3640:14951 -3640:14952 -3640:14953 -3640:14954 -3640:14955 -3640:14956 -3641:14959 -3641:14960 -3641:14961 -3641:14962 -3641:14963 -3641:14964 -3641:14965 -3641:14966 -3641:14967 -3642:14970 -3642:14971 -3642:14972 -3642:14973 -3642:14974 -3642:14975 -3642:14976 -3642:14977 -3642:14978 -3643:14981 -3643:14982 -3643:14983 -3643:14984 -3643:14985 -3643:14986 -3643:14987 -3643:14988 -3643:14989 -3646:3785 -3646:3787 -3646:3788 -3646:3789 -3646:3808 -3646:3809 -3647:3791 -3647:3792 -3647:3793 -3647:3794 -3647:3795 -3647:3796 -3647:3801 -3647:3802 -3647:3803 -3647:3804 -3647:3806 -3647:3807 -3648:3797 -3648:3799 -3658:1585 -3658:1588 -3658:1590 -3658:1591 -3658:1592 -3658:1594 -3658:1650 -3658:1651 -3658:1652 -3658:1653 -3658:1654 -3658:1655 -3658:1656 -3659:1586 -3659:1595 -3659:1596 -3659:1597 -3660:1587 -3660:1598 -3660:1599 -3660:1600 -3660:1601 -3660:1602 -3660:1603 -3660:1604 -3660:1605 -3660:1606 -3660:1608 -3660:1609 -3661:1610 -3661:1611 -3662:1615 -3662:1616 -3662:1617 -3663:1618 -3663:1619 -3664:1621 -3664:1622 -3664:1623 -3664:1641 -3664:1642 -3664:1643 -3664:1644 -3664:1646 -3664:1647 -3666:1624 -3666:1625 -3667:1626 -3667:1627 -3667:1628 -3667:1629 -3667:1630 -3667:1631 -3667:1632 -3667:1633 -3667:1634 -3667:1636 -3667:1637 -3668:1638 -3668:1639 -3673:953 -3673:954 -3673:956 -3673:957 -3673:958 -3673:971 -3673:972 -3675:961 -3675:962 -3675:963 -3675:965 -3675:966 -3675:967 -3675:968 -3686:8845 -3686:8848 -3686:8850 -3686:8851 -3686:8852 -3686:8887 -3686:8888 -3687:8846 -3688:8847 -3688:8855 -3688:8856 -3688:8857 -3688:8858 -3688:8859 -3688:8860 -3688:8862 -3688:8864 -3688:8865 -3688:8866 -3688:8867 -3688:8868 -3688:8869 -3688:8870 -3688:8871 -3688:8878 -3688:8880 -3688:8881 -3688:8882 -3688:8883 -3689:8872 -3689:8873 -3690:8874 -3691:8875 -3692:8876 -3694:8886 +3629:14939 +3630:14931 +3630:14943 +3630:14944 +3630:14945 +3630:14946 +3630:14947 +3630:14948 +3631:14940 +3631:14952 +3631:14953 +3631:14954 +3631:14955 +3631:14956 +3631:14957 +3632:14949 +3633:14958 +3635:14969 +3635:14970 +3635:14972 +3635:14973 +3635:14974 +3635:14976 +3635:15021 +3635:15022 +3635:15023 +3635:15024 +3635:15025 +3635:15026 +3635:15027 +3636:14977 +3636:14978 +3636:14979 +3636:14980 +3636:14981 +3636:14982 +3636:14983 +3636:14984 +3636:14985 +3637:14988 +3637:14989 +3637:14990 +3637:14991 +3637:14992 +3637:14993 +3637:14994 +3637:14995 +3637:14996 +3638:14999 +3638:15000 +3638:15001 +3638:15002 +3638:15003 +3638:15004 +3638:15005 +3638:15006 +3638:15007 +3639:15010 +3639:15011 +3639:15012 +3639:15013 +3639:15014 +3639:15015 +3639:15016 +3639:15017 +3639:15018 +3642:3785 +3642:3787 +3642:3788 +3642:3789 +3642:3808 +3642:3809 +3643:3791 +3643:3792 +3643:3793 +3643:3794 +3643:3795 +3643:3796 +3643:3801 +3643:3802 +3643:3803 +3643:3804 +3643:3806 +3643:3807 +3644:3797 +3644:3799 +3654:1585 +3654:1588 +3654:1590 +3654:1591 +3654:1592 +3654:1594 +3654:1650 +3654:1651 +3654:1652 +3654:1653 +3654:1654 +3654:1655 +3654:1656 +3655:1586 +3655:1595 +3655:1596 +3655:1597 +3656:1587 +3656:1598 +3656:1599 +3656:1600 +3656:1601 +3656:1602 +3656:1603 +3656:1604 +3656:1605 +3656:1606 +3656:1608 +3656:1609 +3657:1610 +3657:1611 +3658:1615 +3658:1616 +3658:1617 +3659:1618 +3659:1619 +3660:1621 +3660:1622 +3660:1623 +3660:1641 +3660:1642 +3660:1643 +3660:1644 +3660:1646 +3660:1647 +3662:1624 +3662:1625 +3663:1626 +3663:1627 +3663:1628 +3663:1629 +3663:1630 +3663:1631 +3663:1632 +3663:1633 +3663:1634 +3663:1636 +3663:1637 +3664:1638 +3664:1639 +3669:953 +3669:954 +3669:956 +3669:957 +3669:958 +3669:971 +3669:972 +3671:961 +3671:962 +3671:963 +3671:965 +3671:966 +3671:967 +3671:968 +3682:8845 +3682:8848 +3682:8850 +3682:8851 +3682:8852 +3682:8887 +3682:8888 +3683:8846 +3684:8847 +3684:8855 +3684:8856 +3684:8857 +3684:8858 +3684:8859 +3684:8860 +3684:8862 +3684:8864 +3684:8865 +3684:8866 +3684:8867 +3684:8868 +3684:8869 +3684:8870 +3684:8871 +3684:8878 +3684:8880 +3684:8881 +3684:8882 +3684:8883 +3685:8872 +3685:8873 +3686:8874 +3687:8875 +3688:8876 +3690:8886 *E diff --git a/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/groovy.g b/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/groovy.g index 023804fa33..17ef98b866 100644 --- a/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/groovy.g +++ b/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/groovy.g @@ -2744,20 +2744,19 @@ pathElement[AST prefix] {Token operator = LT(1);} : { #pathElement = prefix; } ( nls! - ( SPREAD_DOT! // Spread operator: x*.y === x?.collect{it.y} + ( SPREAD_DOT! // Spread operator: x*.y === x?.collect{it.y} | - OPTIONAL_DOT! // Optional-null operator: x?.y === (x==null)?null:x.y + OPTIONAL_DOT! // Null-safe operator: x?.y === (x==null)?null:x.y | - MEMBER_POINTER! // Member pointer operator: foo.&y == foo.metaClass.getMethodPointer(foo, "y") + MEMBER_POINTER! // Reference operator: x.&y === x.metaClass.getMethodPointer(x,"y") | - DOT! // The all-powerful dot. + DOT! // The all-powerful dot ) ) nls! (ta:typeArguments!)? // GRECLIPSE edit -- recovery for missing identifier //np:namePart! - //{ #pathElement = #(create(operator.getType(),operator.getText(),prefix,LT(1)),prefix,ta,np); } - (np:namePart!)? + ( (declarationStart) => nls! | (np:namePart!)? ) { if (#np == null) { GroovySourceToken ident = new GroovySourceToken(IDENT); @@ -2767,23 +2766,24 @@ pathElement[AST prefix] {Token operator = LT(1);} ident.setColumnLast(((SourceInfo) LT(0)).getColumnLast()); #np = #(create(ident.getType(),ident.getText(),ident,null)); reportError(new NoViableAltException(LT(1), getFilename())); + while (LA(0) == NLS) rewind(mark() - 1); // give back spaces } - #pathElement = #(create(operator.getType(),operator.getText(),prefix,LT(1)),prefix,ta,np); } // GRECLIPSE end + { #pathElement = #(create(operator.getType(),operator.getText(),prefix,LT(1)),prefix,ta,np); } | mca:methodCallArgs[prefix]! - { #pathElement = #mca; } + { #pathElement = #mca; } | // Can always append a block, as foo{bar} apb:appendedBlock[prefix]! - { #pathElement = #apb; } + { #pathElement = #apb; } | // Element selection is always an option, too. // In Groovy, the stuff between brackets is a general argument list, // since the bracket operator is transformed into a method call. ipa:indexPropertyArgs[prefix]! - { #pathElement = #ipa; } + { #pathElement = #ipa; } ; pathElementStart! @@ -2799,7 +2799,7 @@ pathElementStart! /** This is the grammar for what can follow a dot: x.a, x.@a, x.&a, x.'a', etc. * Note: typeArguments is handled by the caller of namePart. */ -namePart {Token first = LT(1);} +namePart : ( ats:AT^ {#ats.setType(SELECT_SLOT);} )? // foo.@bar selects the field (or attribute), not property @@ -2945,10 +2945,6 @@ methodCallArgs[AST callee] */ appendedBlock[AST callee] : - /* FIXME DECIDE: should appended blocks accept labels? - ( (IDENT COLON nls LCURLY)=> - IDENT c:COLON^ {#c.setType(LABELED_ARG);} nls! - )? */ cb:closableBlock! { // If the callee is itself a call, flatten the AST. diff --git a/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java b/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java index 3cf49d2219..8c0ce756c9 100644 --- a/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java +++ b/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java @@ -1576,8 +1576,8 @@ public final void mWS(boolean _createToken) throws RecognitionException, CharStr int _saveIndex; { - int _cnt682=0; - _loop682: + int _cnt685=0; + _loop685: do { if ((LA(1)=='\\') && (LA(2)=='\n'||LA(2)=='\r') && (true) && (true)) { match('\\'); @@ -1593,10 +1593,10 @@ else if ((LA(1)=='\u000c') && (true) && (true) && (true)) { match('\f'); } else { - if ( _cnt682>=1 ) { break _loop682; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt685>=1 ) { break _loop685; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } - _cnt682++; + _cnt685++; } while (true); } if ( inputState.guessing==0 ) { @@ -1694,8 +1694,8 @@ public final void mNLS(boolean _createToken) throws RecognitionException, CharSt { if (((LA(1)=='\t'||LA(1)=='\n'||LA(1)=='\u000c'||LA(1)=='\r'||LA(1)==' '||LA(1)=='/'||LA(1)=='\\'))&&(!whitespaceIncluded)) { { - int _cnt690=0; - _loop690: + int _cnt693=0; + _loop693: do { switch ( LA(1)) { case '\n': case '\r': @@ -1716,10 +1716,10 @@ else if ((LA(1)=='/') && (LA(2)=='*')) { mML_COMMENT(false); } else { - if ( _cnt690>=1 ) { break _loop690; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt693>=1 ) { break _loop693; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } - _cnt690++; + _cnt693++; } while (true); } } @@ -1756,7 +1756,7 @@ public final void mSL_COMMENT(boolean _createToken) throws RecognitionException, if (parser != null) parser.startComment(inputState.getLine(), inputState.getColumn() - 2); } { - _loop694: + _loop697: do { if ((_tokenSet_1.member(LA(1))) && (true) && (true) && (true)) { { @@ -1764,7 +1764,7 @@ public final void mSL_COMMENT(boolean _createToken) throws RecognitionException, } } else { - break _loop694; + break _loop697; } } while (true); @@ -1794,12 +1794,12 @@ public final void mML_COMMENT(boolean _createToken) throws RecognitionException, if (parser != null) parser.startComment(inputState.getLine(), inputState.getColumn() - 2); } { - _loop704: + _loop707: do { - boolean synPredMatched702 = false; + boolean synPredMatched705 = false; if (((LA(1)=='*') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m702 = mark(); - synPredMatched702 = true; + int _m705 = mark(); + synPredMatched705 = true; inputState.guessing++; try { { @@ -1808,12 +1808,12 @@ public final void mML_COMMENT(boolean _createToken) throws RecognitionException, } } catch (RecognitionException pe) { - synPredMatched702 = false; + synPredMatched705 = false; } - rewind(_m702); + rewind(_m705); inputState.guessing--; } - if ( synPredMatched702 ) { + if ( synPredMatched705 ) { match('*'); } else if ((LA(1)=='\n'||LA(1)=='\r')) { @@ -1825,7 +1825,7 @@ else if ((_tokenSet_2.member(LA(1)))) { } } else { - break _loop704; + break _loop707; } } while (true); @@ -1852,7 +1852,7 @@ public final void mSH_COMMENT(boolean _createToken) throws RecognitionException, throw new SemanticException("getLine() == 1 && getColumn() == 1"); match("#!"); { - _loop698: + _loop701: do { if ((_tokenSet_1.member(LA(1)))) { { @@ -1860,7 +1860,7 @@ public final void mSH_COMMENT(boolean _createToken) throws RecognitionException, } } else { - break _loop698; + break _loop701; } } while (true); @@ -1881,10 +1881,10 @@ public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionExcept int _saveIndex; int tt=0; - boolean synPredMatched707 = false; + boolean synPredMatched710 = false; if (((LA(1)=='\'') && (LA(2)=='\'') && (LA(3)=='\'') && ((LA(4) >= '\u0000' && LA(4) <= '\ufffe')))) { - int _m707 = mark(); - synPredMatched707 = true; + int _m710 = mark(); + synPredMatched710 = true; inputState.guessing++; try { { @@ -1892,17 +1892,17 @@ public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionExcept } } catch (RecognitionException pe) { - synPredMatched707 = false; + synPredMatched710 = false; } - rewind(_m707); + rewind(_m710); inputState.guessing--; } - if ( synPredMatched707 ) { + if ( synPredMatched710 ) { _saveIndex=text.length(); match("'''"); text.setLength(_saveIndex); { - _loop712: + _loop715: do { switch ( LA(1)) { case '\\': @@ -1926,10 +1926,10 @@ public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionExcept break; } default: - boolean synPredMatched711 = false; + boolean synPredMatched714 = false; if (((LA(1)=='\'') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && ((LA(4) >= '\u0000' && LA(4) <= '\ufffe')))) { - int _m711 = mark(); - synPredMatched711 = true; + int _m714 = mark(); + synPredMatched714 = true; inputState.guessing++; try { { @@ -1950,19 +1950,19 @@ else if ((LA(1)=='\'')) { } } catch (RecognitionException pe) { - synPredMatched711 = false; + synPredMatched714 = false; } - rewind(_m711); + rewind(_m714); inputState.guessing--; } - if ( synPredMatched711 ) { + if ( synPredMatched714 ) { match('\''); } else if ((_tokenSet_4.member(LA(1)))) { mSTRING_CH(false); } else { - break _loop712; + break _loop715; } } } while (true); @@ -1972,10 +1972,10 @@ else if ((_tokenSet_4.member(LA(1)))) { text.setLength(_saveIndex); } else { - boolean synPredMatched716 = false; + boolean synPredMatched719 = false; if (((LA(1)=='"') && (LA(2)=='"') && (LA(3)=='"') && ((LA(4) >= '\u0000' && LA(4) <= '\ufffe')))) { - int _m716 = mark(); - synPredMatched716 = true; + int _m719 = mark(); + synPredMatched719 = true; inputState.guessing++; try { { @@ -1983,12 +1983,12 @@ else if ((_tokenSet_4.member(LA(1)))) { } } catch (RecognitionException pe) { - synPredMatched716 = false; + synPredMatched719 = false; } - rewind(_m716); + rewind(_m719); inputState.guessing--; } - if ( synPredMatched716 ) { + if ( synPredMatched719 ) { _saveIndex=text.length(); match("\"\"\""); text.setLength(_saveIndex); @@ -2005,7 +2005,7 @@ else if ((LA(1)=='\'') && (_tokenSet_1.member(LA(2))) && (true) && (true)) { ++suppressNewline; } { - _loop714: + _loop717: do { switch ( LA(1)) { case '\\': @@ -2028,7 +2028,7 @@ else if ((LA(1)=='\'') && (_tokenSet_1.member(LA(2))) && (true) && (true)) { mSTRING_CH(false); } else { - break _loop714; + break _loop717; } } } while (true); @@ -2152,17 +2152,17 @@ protected final void mESC(boolean _createToken) throws RecognitionException, Cha case 'u': { { - int _cnt761=0; - _loop761: + int _cnt764=0; + _loop764: do { if ((LA(1)=='u')) { match('u'); } else { - if ( _cnt761>=1 ) { break _loop761; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt764>=1 ) { break _loop764; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } - _cnt761++; + _cnt764++; } while (true); } if ( inputState.guessing==0 ) { @@ -2283,7 +2283,7 @@ protected final int mSTRING_CTOR_END(boolean _createToken, boolean dollarOK = false; { - _loop722: + _loop725: do { switch ( LA(1)) { case '\\': @@ -2302,10 +2302,10 @@ protected final int mSTRING_CTOR_END(boolean _createToken, break; } default: - boolean synPredMatched721 = false; + boolean synPredMatched724 = false; if ((((LA(1)=='"') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true))&&(tripleQuote))) { - int _m721 = mark(); - synPredMatched721 = true; + int _m724 = mark(); + synPredMatched724 = true; inputState.guessing++; try { { @@ -2326,19 +2326,19 @@ else if ((LA(1)=='"')) { } } catch (RecognitionException pe) { - synPredMatched721 = false; + synPredMatched724 = false; } - rewind(_m721); + rewind(_m724); inputState.guessing--; } - if ( synPredMatched721 ) { + if ( synPredMatched724 ) { match('"'); } else if ((_tokenSet_4.member(LA(1)))) { mSTRING_CH(false); } else { - break _loop722; + break _loop725; } } } while (true); @@ -2463,10 +2463,10 @@ else if ((LA(1)=='/') && (LA(2)=='=') && (true) && (true)) { } } else { - boolean synPredMatched731 = false; + boolean synPredMatched734 = false; if (((LA(1)=='/') && (true))) { - int _m731 = mark(); - synPredMatched731 = true; + int _m734 = mark(); + synPredMatched734 = true; inputState.guessing++; try { { @@ -2475,12 +2475,12 @@ else if ((LA(1)=='/') && (LA(2)=='=') && (true) && (true)) { } } catch (RecognitionException pe) { - synPredMatched731 = false; + synPredMatched734 = false; } - rewind(_m731); + rewind(_m734); inputState.guessing--; } - if ( synPredMatched731 ) { + if ( synPredMatched734 ) { mDIV(false); if ( inputState.guessing==0 ) { _ttype = DIV; @@ -2549,7 +2549,7 @@ protected final int mREGEXP_CTOR_END(boolean _createToken, int _saveIndex; { - _loop740: + _loop743: do { if (((LA(1)=='$') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')))&&(!atValidDollarEscape())) { match('$'); @@ -2558,7 +2558,7 @@ else if ((_tokenSet_7.member(LA(1)))) { mREGEXP_SYMBOL(false); } else { - break _loop740; + break _loop743; } } while (true); @@ -2623,10 +2623,10 @@ public final void mDOLLAR_REGEXP_LITERAL(boolean _createToken) throws Recognitio match("$/"); text.setLength(_saveIndex); { - boolean synPredMatched735 = false; + boolean synPredMatched738 = false; if (((LA(1)=='$') && (LA(2)=='/') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m735 = mark(); - synPredMatched735 = true; + int _m738 = mark(); + synPredMatched738 = true; inputState.guessing++; try { { @@ -2635,20 +2635,20 @@ public final void mDOLLAR_REGEXP_LITERAL(boolean _createToken) throws Recognitio } } catch (RecognitionException pe) { - synPredMatched735 = false; + synPredMatched738 = false; } - rewind(_m735); + rewind(_m738); inputState.guessing--; } - if ( synPredMatched735 ) { + if ( synPredMatched738 ) { mESCAPED_SLASH(false); tt=mDOLLAR_REGEXP_CTOR_END(false,true); } else { - boolean synPredMatched737 = false; + boolean synPredMatched740 = false; if (((LA(1)=='$') && (LA(2)=='$') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m737 = mark(); - synPredMatched737 = true; + int _m740 = mark(); + synPredMatched740 = true; inputState.guessing++; try { { @@ -2657,12 +2657,12 @@ public final void mDOLLAR_REGEXP_LITERAL(boolean _createToken) throws Recognitio } } catch (RecognitionException pe) { - synPredMatched737 = false; + synPredMatched740 = false; } - rewind(_m737); + rewind(_m740); inputState.guessing--; } - if ( synPredMatched737 ) { + if ( synPredMatched740 ) { mESCAPED_DOLLAR(false); tt=mDOLLAR_REGEXP_CTOR_END(false,true); } @@ -2754,12 +2754,12 @@ protected final int mDOLLAR_REGEXP_CTOR_END(boolean _createToken, int _saveIndex; { - _loop748: + _loop751: do { - boolean synPredMatched745 = false; + boolean synPredMatched748 = false; if (((LA(1)=='$') && (LA(2)=='/') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m745 = mark(); - synPredMatched745 = true; + int _m748 = mark(); + synPredMatched748 = true; inputState.guessing++; try { { @@ -2768,19 +2768,19 @@ protected final int mDOLLAR_REGEXP_CTOR_END(boolean _createToken, } } catch (RecognitionException pe) { - synPredMatched745 = false; + synPredMatched748 = false; } - rewind(_m745); + rewind(_m748); inputState.guessing--; } - if ( synPredMatched745 ) { + if ( synPredMatched748 ) { mESCAPED_SLASH(false); } else { - boolean synPredMatched747 = false; + boolean synPredMatched750 = false; if (((LA(1)=='$') && (LA(2)=='$') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m747 = mark(); - synPredMatched747 = true; + int _m750 = mark(); + synPredMatched750 = true; inputState.guessing++; try { { @@ -2789,12 +2789,12 @@ protected final int mDOLLAR_REGEXP_CTOR_END(boolean _createToken, } } catch (RecognitionException pe) { - synPredMatched747 = false; + synPredMatched750 = false; } - rewind(_m747); + rewind(_m750); inputState.guessing--; } - if ( synPredMatched747 ) { + if ( synPredMatched750 ) { mESCAPED_DOLLAR(false); } else if (((_tokenSet_9.member(LA(1))) && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true))&&( !(LA(1) == '/' && LA(2) == '$') )) { @@ -2804,7 +2804,7 @@ else if (((LA(1)=='$') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) & match('$'); } else { - break _loop748; + break _loop751; } } } while (true); @@ -2960,7 +2960,7 @@ else if ((_tokenSet_10.member(LA(1)))) { } { - _loop773: + _loop776: do { switch ( LA(1)) { case '0': case '1': case '2': case '3': @@ -2980,7 +2980,7 @@ else if ((_tokenSet_10.member(LA(1)))) { mLETTER(false); } else { - break _loop773; + break _loop776; } } } while (true); @@ -2989,7 +2989,7 @@ else if ((_tokenSet_10.member(LA(1)))) { else if ((_tokenSet_10.member(LA(1))) && (true) && (true) && (true)) { mLETTER(false); { - _loop775: + _loop778: do { if ((_tokenSet_10.member(LA(1)))) { mLETTER(false); @@ -2998,7 +2998,7 @@ else if (((LA(1) >= '0' && LA(1) <= '9'))) { mDIGIT(false); } else { - break _loop775; + break _loop778; } } while (true); @@ -3173,7 +3173,7 @@ protected final void mDIGITS_WITH_UNDERSCORE_OPT(boolean _createToken) throws Re int _saveIndex; { - _loop782: + _loop785: do { if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) { mDIGIT(false); @@ -3182,7 +3182,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop782; + break _loop785; } } while (true); @@ -3244,7 +3244,7 @@ public final void mNUM_INT(boolean _createToken) throws RecognitionException, Ch { if ((_tokenSet_11.member(LA(1))) && (true) && (true) && (true)) { { - _loop789: + _loop792: do { if ((_tokenSet_12.member(LA(1))) && (_tokenSet_11.member(LA(2))) && (true) && (true)) { mHEX_DIGIT(false); @@ -3253,7 +3253,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop789; + break _loop792; } } while (true); @@ -3307,7 +3307,7 @@ else if ((LA(1)=='_')) { { if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='_')) { { - _loop794: + _loop797: do { if ((LA(1)=='0') && (LA(2)=='0'||LA(2)=='1'||LA(2)=='_')) { match('0'); @@ -3319,7 +3319,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop794; + break _loop797; } } while (true); @@ -3353,10 +3353,10 @@ else if ((LA(1)=='_')) { break; } default: - boolean synPredMatched798 = false; + boolean synPredMatched801 = false; if ((((LA(1) >= '0' && LA(1) <= '9')) && (true) && (true) && (true))) { - int _m798 = mark(); - synPredMatched798 = true; + int _m801 = mark(); + synPredMatched801 = true; inputState.guessing++; try { { @@ -3388,12 +3388,12 @@ else if ((LA(1)=='_')) { } } catch (RecognitionException pe) { - synPredMatched798 = false; + synPredMatched801 = false; } - rewind(_m798); + rewind(_m801); inputState.guessing--; } - if ( synPredMatched798 ) { + if ( synPredMatched801 ) { mDIGITS_WITH_UNDERSCORE(false); } else if (((LA(1) >= '0' && LA(1) <= '7')) && (true) && (true) && (true)) { @@ -3403,7 +3403,7 @@ else if (((LA(1) >= '0' && LA(1) <= '7')) && (true) && (true) && (true)) { { if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='_')) { { - _loop802: + _loop805: do { if (((LA(1) >= '0' && LA(1) <= '7')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='_')) { matchRange('0','7'); @@ -3412,7 +3412,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop802; + break _loop805; } } while (true); @@ -3522,10 +3522,10 @@ else if ((LA(1)=='_')) { break; } default: - boolean synPredMatched811 = false; + boolean synPredMatched814 = false; if ((((LA(1)=='.'||LA(1)=='D'||LA(1)=='E'||LA(1)=='F'||LA(1)=='d'||LA(1)=='e'||LA(1)=='f'))&&(isDecimal))) { - int _m811 = mark(); - synPredMatched811 = true; + int _m814 = mark(); + synPredMatched814 = true; inputState.guessing++; try { { @@ -3545,12 +3545,12 @@ else if ((LA(1)=='.')) { } } catch (RecognitionException pe) { - synPredMatched811 = false; + synPredMatched814 = false; } - rewind(_m811); + rewind(_m814); inputState.guessing--; } - if ( synPredMatched811 ) { + if ( synPredMatched814 ) { { switch ( LA(1)) { case '.': @@ -3710,7 +3710,7 @@ protected final void mEXPONENT(boolean _createToken) throws RecognitionException } } { - _loop821: + _loop824: do { if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) { matchRange('0','9'); @@ -3719,7 +3719,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop821; + break _loop824; } } while (true); diff --git a/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyLexer.smap b/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyLexer.smap index 04d5e87d4a..c4cd60f3d3 100644 --- a/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyLexer.smap +++ b/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyLexer.smap @@ -85,2707 +85,2707 @@ groovy.g 25:11 25:13 25:14 -3721:43 -3722:44 -3723:45 -3724:46 -3725:47 -3726:48 -3728:50 -3729:51 -3730:52 -3731:53 -3732:54 -3733:55 -3734:56 -3735:57 -3737:59 -3738:60 -3739:61 -3740:62 -3742:64 -3743:65 -3744:66 -3745:67 -3747:69 -3748:70 -3749:71 -3750:72 -3751:73 -3752:74 -3753:75 -3754:76 -3755:77 -3757:79 -3759:81 -3760:82 -3761:83 -3762:84 -3763:85 -3764:86 -3765:87 -3766:88 -3768:90 -3769:91 -3770:92 -3771:93 -3772:94 -3774:96 -3775:97 -3776:98 -3777:99 -3778:100 -3779:101 -3780:102 -3782:104 -3783:105 -3784:106 -3785:107 -3786:108 -3788:110 -3789:111 -3790:112 -3792:114 -3793:115 -3794:116 -3795:117 -3796:118 -3797:119 -3798:120 -3799:121 -3800:122 -3801:123 -3802:124 -3803:125 -3804:126 -3805:127 -3806:128 -3807:129 -3808:130 -3809:131 -3810:132 -3811:133 -3812:134 -3813:135 -3814:136 -3815:137 -3816:138 -3817:139 -3818:140 -3819:141 -3820:142 -3821:143 -3822:144 -3823:145 -3824:146 -3825:147 -3826:148 -3827:149 -3828:150 -3829:151 -3830:152 -3831:153 -3832:154 -3833:155 -3834:156 -3835:157 -3836:158 -3837:159 -3838:160 -3839:161 -3840:162 -3841:163 -3842:164 -3843:165 -3844:166 -3845:167 -3846:168 -3847:169 -3848:170 -3849:171 -3850:172 -3851:173 -3852:174 -3853:175 -3854:176 -3855:177 -3856:178 -3857:179 -3858:180 -3859:181 -3860:182 -3861:183 -3862:184 -3863:185 -3864:186 -3865:187 -3866:188 -3867:189 -3868:190 -3869:191 -3870:192 -3871:193 -3872:194 -3874:196 -3875:197 -3876:198 -3877:199 -3878:200 -3879:201 -3880:202 -3881:203 -3882:204 -3884:206 -3885:207 -3886:208 -3887:209 -3888:210 -3889:211 -3890:212 -3891:213 -3893:215 -3894:216 -3895:217 -3897:219 -3898:220 -3899:221 -3901:223 -3902:224 -3903:225 -3905:227 -3906:228 -3907:229 -3908:230 -3909:231 -3910:232 -3911:233 -3912:234 -3913:235 -3914:236 -3915:237 -3916:238 -3917:239 -3918:240 -3919:241 -3920:242 -3921:243 -3922:244 -3923:245 -3924:246 -3925:247 -3926:248 -3927:249 -3928:250 -3929:251 -3930:252 -3931:253 -3932:254 -3933:255 -3934:256 -3935:257 -3936:258 -3937:259 -3938:260 -3939:261 -3940:262 -3941:263 -3942:264 -3943:265 -3944:266 -3945:267 -3946:268 -3947:269 -3948:270 -3949:271 -3950:272 -3951:273 -3952:274 -3953:275 -3954:276 -3955:277 -3956:278 -3957:279 -3959:281 -3960:282 -3961:283 -3962:284 -3963:285 -3964:286 -3965:287 -3966:288 -3967:289 -3968:290 -3969:291 -3970:292 -3971:293 -3972:294 -3973:295 -3974:296 -3975:297 -3976:298 -3977:299 -3978:300 -3979:301 -3980:302 -3981:303 -3982:304 -3983:305 -3984:306 -3985:307 -3986:308 -3987:309 -3988:310 -3990:312 -3991:313 -3992:314 -3993:315 -3994:316 -3995:317 -3996:318 -3997:319 -3998:320 -3999:321 -4000:322 -4001:323 -4002:324 -4003:325 -4004:326 -4008:749 -4008:750 -4008:751 -4008:752 -4008:754 -4008:755 -4008:756 -4008:757 -4008:758 -4008:759 -4008:760 -4009:762 -4009:763 -4009:764 -4009:765 -4009:767 -4009:768 -4009:769 -4009:771 -4009:772 -4009:773 -4009:774 -4009:775 -4009:776 -4010:778 -4010:779 -4010:780 -4010:781 -4010:783 -4010:784 -4010:785 -4010:787 -4010:788 -4010:789 -4010:790 -4010:791 -4010:792 -4011:794 -4011:795 -4011:796 -4011:797 -4011:799 -4011:800 -4011:801 -4011:803 -4011:804 -4011:805 -4011:806 -4011:807 -4011:808 -4012:810 -4012:811 -4012:812 -4012:813 -4012:815 -4012:816 -4012:817 -4012:819 -4012:820 -4012:821 -4012:822 -4012:823 -4012:824 -4013:826 -4013:827 -4013:828 -4013:829 -4013:831 -4013:832 -4013:833 -4013:835 -4013:836 -4013:837 -4013:838 -4013:839 -4013:840 -4014:842 -4014:843 -4014:844 -4014:845 -4014:847 -4014:848 -4014:849 -4014:851 -4014:852 -4014:853 -4014:854 -4014:855 -4014:856 -4015:858 -4015:859 -4015:860 -4015:861 -4015:863 -4015:864 -4015:865 -4015:866 -4015:867 -4015:868 -4015:869 -4016:871 -4016:872 -4016:873 -4016:874 -4016:876 -4016:877 -4016:878 -4016:879 -4016:880 -4016:881 -4016:882 -4017:884 -4017:885 -4017:886 -4017:887 -4017:889 -4017:890 -4017:891 -4017:892 -4017:893 -4017:894 -4017:895 -4018:897 -4018:898 -4018:899 -4018:900 -4018:902 -4018:903 -4018:904 -4018:905 -4018:906 -4018:907 -4018:908 -4019:910 -4019:911 -4019:912 -4019:913 -4019:915 -4019:916 -4019:917 -4019:918 -4019:919 -4019:920 -4019:921 -4020:923 -4020:924 -4020:925 -4020:926 -4020:928 -4020:929 -4020:930 -4020:931 -4020:932 -4020:933 -4020:934 -4021:936 -4021:937 -4021:938 -4021:939 -4021:941 -4021:942 -4021:943 -4021:944 -4021:945 -4021:946 -4021:947 -4022:949 -4022:950 -4022:951 -4022:952 -4022:954 -4022:955 -4022:956 -4022:957 -4022:958 -4022:959 -4022:960 -4023:962 -4023:963 -4023:964 -4023:965 -4023:967 -4023:968 -4023:969 -4023:970 -4023:971 -4023:972 -4023:973 -4024:975 -4024:976 -4024:977 -4024:978 -4024:980 -4024:981 -4024:982 -4024:983 -4024:984 -4024:985 -4024:986 -4025:988 -4025:989 -4025:990 -4025:991 -4025:993 -4025:994 -4025:995 -4025:996 -4025:997 -4025:998 -4025:999 -4027:1001 -4027:1002 -4027:1003 -4027:1004 -4027:1006 -4027:1007 -4027:1008 -4027:1009 -4027:1010 -4027:1011 -4027:1012 -4029:1014 -4029:1015 -4029:1016 -4029:1017 -4029:1019 -4029:1020 -4029:1021 -4029:1022 -4029:1023 -4029:1024 -4029:1025 -4030:1027 -4030:1028 -4030:1029 -4030:1030 -4030:1032 -4030:1033 -4030:1034 -4030:1035 -4030:1036 -4030:1037 -4030:1038 -4031:1040 -4031:1041 -4031:1042 -4031:1043 -4031:1045 -4031:1046 -4031:1047 -4031:1048 -4031:1049 -4031:1050 -4031:1051 -4032:1053 -4032:1054 -4032:1055 -4032:1056 -4032:1058 -4032:1059 -4032:1060 -4032:1061 -4032:1062 -4032:1063 -4032:1064 -4033:1066 -4033:1067 -4033:1068 -4033:1069 -4033:1071 -4033:1072 -4033:1073 -4033:1074 -4033:1075 -4033:1076 -4033:1077 -4034:1079 -4034:1080 -4034:1081 -4034:1082 -4034:1084 -4034:1085 -4034:1086 -4034:1087 -4034:1088 -4034:1089 -4034:1090 -4035:1092 -4035:1093 -4035:1094 -4035:1095 -4035:1097 -4035:1098 -4035:1099 -4035:1100 -4035:1101 -4035:1102 -4035:1103 -4036:1105 -4036:1106 -4036:1107 -4036:1108 -4036:1110 -4036:1111 -4036:1112 -4036:1113 -4036:1114 -4036:1115 -4036:1116 -4037:1118 -4037:1119 -4037:1120 -4037:1121 -4037:1123 -4037:1124 -4037:1125 -4037:1126 -4037:1127 -4037:1128 -4037:1129 -4038:1131 -4038:1132 -4038:1133 -4038:1134 -4038:1136 -4038:1137 -4038:1138 -4038:1139 -4038:1140 -4038:1141 -4038:1142 -4039:1144 -4039:1145 -4039:1146 -4039:1147 -4039:1149 -4039:1150 -4039:1151 -4039:1152 -4039:1153 -4039:1154 -4039:1155 -4040:1157 -4040:1158 -4040:1159 -4040:1160 -4040:1162 -4040:1163 -4040:1164 -4040:1165 -4040:1166 -4040:1167 -4040:1168 -4041:1170 -4041:1171 -4041:1172 -4041:1173 -4041:1175 -4041:1176 -4041:1177 -4041:1178 -4041:1179 -4041:1180 -4041:1181 -4042:1183 -4042:1184 -4042:1185 -4042:1186 -4042:1188 -4042:1189 -4042:1190 -4042:1191 -4042:1192 -4042:1193 -4042:1194 -4043:1196 -4043:1197 -4043:1198 -4043:1199 -4043:1201 -4043:1202 -4043:1203 -4043:1204 -4043:1205 -4043:1206 -4043:1207 -4044:1209 -4044:1210 -4044:1211 -4044:1212 -4044:1214 -4044:1215 -4044:1216 -4044:1217 -4044:1218 -4044:1219 -4044:1220 -4045:1222 -4045:1223 -4045:1224 -4045:1225 -4045:1227 -4045:1228 -4045:1229 -4045:1230 -4045:1231 -4045:1232 -4045:1233 -4046:1235 -4046:1236 -4046:1237 -4046:1238 -4046:1240 -4046:1241 -4046:1242 -4046:1243 -4046:1244 -4046:1245 -4046:1246 -4047:1248 -4047:1249 -4047:1250 -4047:1251 -4047:1253 -4047:1254 -4047:1255 -4047:1256 -4047:1257 -4047:1258 -4047:1259 -4048:1261 -4048:1262 -4048:1263 -4048:1264 -4048:1266 -4048:1267 -4048:1268 -4048:1269 -4048:1270 -4048:1271 -4048:1272 -4049:1274 -4049:1275 -4049:1276 -4049:1277 -4049:1279 -4049:1280 -4049:1281 -4049:1282 -4049:1283 -4049:1284 -4049:1285 -4050:1287 -4050:1288 -4050:1289 -4050:1290 -4050:1292 -4050:1293 -4050:1294 -4050:1295 -4050:1296 -4050:1297 -4050:1298 -4051:1300 -4051:1301 -4051:1302 -4051:1303 -4051:1305 -4051:1306 -4051:1307 -4051:1308 -4051:1309 -4051:1310 -4051:1311 -4052:1313 -4052:1314 -4052:1315 -4052:1316 -4052:1318 -4052:1319 -4052:1320 -4052:1321 -4052:1322 -4052:1323 -4052:1324 -4053:1326 -4053:1327 -4053:1328 -4053:1329 -4053:1331 -4053:1332 -4053:1333 -4053:1334 -4053:1335 -4053:1336 -4053:1337 -4054:1339 -4054:1340 -4054:1341 -4054:1342 -4054:1344 -4054:1345 -4054:1346 -4054:1347 -4054:1348 -4054:1349 -4054:1350 -4055:1352 -4055:1353 -4055:1354 -4055:1355 -4055:1357 -4055:1358 -4055:1359 -4055:1360 -4055:1361 -4055:1362 -4055:1363 -4056:1365 -4056:1366 -4056:1367 -4056:1368 -4056:1370 -4056:1371 -4056:1372 -4056:1373 -4056:1374 -4056:1375 -4056:1376 -4057:1378 -4057:1379 -4057:1380 -4057:1381 -4057:1383 -4057:1384 -4057:1385 -4057:1386 -4057:1387 -4057:1388 -4057:1389 -4058:1391 -4058:1392 -4058:1393 -4058:1394 -4058:1396 -4058:1397 -4058:1398 -4058:1399 -4058:1400 -4058:1401 -4058:1402 -4060:1404 -4060:1405 -4060:1406 -4060:1407 -4060:1409 -4060:1410 -4060:1411 -4060:1412 -4060:1413 -4060:1414 -4060:1415 -4061:1417 -4061:1418 -4061:1419 -4061:1420 -4061:1422 -4061:1423 -4061:1424 -4061:1425 -4061:1426 -4061:1427 -4061:1428 -4062:1430 -4062:1431 -4062:1432 -4062:1433 -4062:1435 -4062:1436 -4062:1437 -4062:1438 -4062:1439 -4062:1440 -4062:1441 -4063:1443 -4063:1444 -4063:1445 -4063:1446 -4063:1448 -4063:1449 -4063:1450 -4063:1451 -4063:1452 -4063:1453 -4063:1454 -4064:1456 -4064:1457 -4064:1458 -4064:1459 -4064:1461 -4064:1462 -4064:1463 -4064:1464 -4064:1465 -4064:1466 -4064:1467 -4065:1469 -4065:1470 -4065:1471 -4065:1472 -4065:1474 -4065:1475 -4065:1476 -4065:1477 -4065:1478 -4065:1479 -4065:1480 -4066:1482 -4066:1483 -4066:1484 -4066:1485 -4066:1487 -4066:1488 -4066:1489 -4066:1490 -4066:1491 -4066:1492 -4066:1493 -4067:1495 -4067:1496 -4067:1497 -4067:1498 -4067:1500 -4067:1501 -4067:1502 -4067:1503 -4067:1504 -4067:1505 -4067:1506 -4068:1508 -4068:1509 -4068:1510 -4068:1511 -4068:1513 -4068:1514 -4068:1515 -4068:1516 -4068:1517 -4068:1518 -4068:1519 -4069:1521 -4069:1522 -4069:1523 -4069:1524 -4069:1526 -4069:1527 -4069:1528 -4069:1529 -4069:1530 -4069:1531 -4069:1532 -4070:1534 -4070:1535 -4070:1536 -4070:1537 -4070:1539 -4070:1540 -4070:1541 -4070:1542 -4070:1543 -4070:1544 -4070:1545 -4071:1547 -4071:1548 -4071:1549 -4071:1550 -4071:1552 -4071:1553 -4071:1554 -4071:1555 -4071:1556 -4071:1557 -4071:1558 -4072:1560 -4072:1561 -4072:1562 -4072:1563 -4072:1565 -4072:1566 -4072:1567 -4072:1568 -4072:1569 -4072:1570 -4072:1571 -4075:1573 -4075:1574 -4075:1575 -4075:1576 -4075:1605 -4075:1606 -4075:1607 -4075:1608 -4075:1609 -4075:1610 -4080:1579 -4080:1580 -4080:1581 -4080:1585 -4080:1588 -4080:1591 -4080:1594 -4080:1595 -4080:1596 -4080:1597 -4080:1599 -4080:1600 -4080:1601 -4082:1586 -4082:1587 -4083:1589 -4083:1590 -4084:1592 -4084:1593 -4085:1582 -4085:1583 -4085:1584 -4087:1602 -4087:1603 -4091:1612 -4091:1613 -4091:1614 -4091:1615 -4091:1616 -4091:1617 -4091:1646 -4091:1647 -4091:1648 -4091:1649 -4091:1650 -4091:1651 -4096:1624 -4096:1629 -4096:1634 -4096:1635 -4096:1636 -4096:1637 -4097:1620 -4097:1621 -4097:1622 -4097:1623 -4098:1625 -4098:1626 -4098:1627 -4098:1628 -4099:1630 -4099:1631 -4099:1632 -4099:1633 -4101:1640 -4102:1642 -4103:1643 -4109:1653 -4109:1654 -4109:1655 -4109:1656 -4109:1657 -4109:1658 -4109:1681 -4109:1682 -4109:1683 -4109:1684 -4109:1685 -4109:1686 -4114:1663 -4114:1666 -4114:1669 -4114:1670 -4114:1671 -4114:1672 -4115:1661 -4115:1662 -4116:1664 -4116:1665 -4117:1667 -4117:1668 -4119:1675 -4120:1677 -4121:1678 -4129:1688 -4129:1689 -4129:1690 -4129:1691 -4129:1742 -4129:1743 -4129:1744 -4129:1745 -4129:1746 -4129:1747 -4133:1693 -4134:1725 -4134:1727 -4135:1695 -4135:1697 -4135:1698 -4135:1699 -4135:1700 -4135:1701 -4135:1702 -4135:1703 -4135:1706 -4135:1707 -4135:1708 -4135:1711 -4135:1712 -4135:1713 -4135:1714 -4135:1715 -4135:1716 -4135:1717 -4135:1718 -4135:1719 -4135:1720 -4135:1721 -4135:1722 -4135:1723 -4135:1724 -4139:1730 -4139:1731 -4140:1732 -4141:1733 -4142:1734 -4143:1735 -4144:1736 -4145:1737 -4146:1738 -4147:1739 -4152:1749 -4152:1750 -4152:1751 -4152:1752 -4152:1778 -4152:1779 -4152:1780 -4152:1781 -4152:1782 -4152:1783 -4156:1754 -4158:1755 -4158:1756 -4160:1758 -4160:1759 -4160:1760 -4160:1765 -4160:1766 -4160:1767 -4160:1768 -4160:1770 -4160:1771 -4164:1761 -4164:1763 -4167:1772 -4167:1773 -4168:1774 -4169:1775 -4176:1846 -4176:1847 -4176:1848 -4176:1849 -4176:1851 -4176:1852 -4176:1871 -4176:1872 -4176:1873 -4176:1874 -4176:1875 -4176:1876 -4180:1853 -4181:1854 -4181:1855 -4181:1856 -4181:1861 -4181:1862 -4181:1863 -4181:1864 -4181:1866 -4181:1867 -4185:1857 -4185:1859 -4187:1868 -4187:1869 -4192:1785 -4192:1786 -4192:1787 -4192:1788 -4192:1790 -4192:1791 -4192:1839 -4192:1840 -4192:1841 -4192:1842 -4192:1843 -4192:1844 -4196:1792 -4198:1793 -4198:1794 -4200:1796 -4200:1797 -4200:1798 -4200:1818 -4200:1821 -4200:1826 -4200:1827 -4200:1828 -4200:1829 -4200:1831 -4200:1832 -4211:1799 -4211:1800 -4211:1801 -4211:1802 -4211:1803 -4211:1804 -4211:1806 -4211:1807 -4211:1809 -4211:1810 -4211:1811 -4211:1812 -4211:1813 -4211:1814 -4211:1815 -4211:1816 -4211:1817 -4214:1819 -4214:1820 -4216:1822 -4216:1824 -4218:1833 -4220:1834 -4220:1835 -4221:1836 -4227:1878 -4227:1879 -4227:1880 -4227:1881 -4227:1882 -4227:1973 -4227:1999 -4227:2042 -4227:2054 -4227:2055 -4227:2056 -4227:2057 -4227:2058 -4227:2059 -4227:2060 -4227:2061 -4227:2062 -4227:2063 -4227:2064 -4232:1884 -4232:1885 -4232:1886 -4232:1887 -4232:1888 -4232:1889 -4232:1891 -4232:1893 -4232:1894 -4232:1895 -4232:1896 -4232:1897 -4232:1898 -4232:1899 -4232:1900 -4233:1901 -4233:1902 -4233:1903 -4234:1904 -4234:1905 -4234:1906 -4234:1907 -4234:1908 -4234:1909 -4234:1910 -4234:1913 -4234:1914 -4234:1915 -4234:1918 -4234:1919 -4234:1920 -4234:1923 -4234:1924 -4234:1925 -4234:1928 -4234:1960 -4234:1961 -4234:1962 -4234:1963 -4234:1964 -4234:1965 -4234:1966 -4234:1967 -4234:1968 -4234:1969 -4235:1929 -4235:1930 -4235:1931 -4235:1932 -4235:1933 -4235:1934 -4235:1936 -4235:1938 -4235:1939 -4235:1940 -4235:1941 -4235:1942 -4235:1943 -4235:1944 -4235:1945 -4235:1946 -4235:1947 -4235:1951 -4235:1952 -4235:1953 -4235:1954 -4235:1955 -4235:1956 -4235:1957 -4235:1958 -4235:1959 -4237:1970 -4237:1971 -4237:1972 -4238:2000 -4238:2001 -4238:2002 -4238:2003 -4239:2004 -4239:2005 -4240:2007 -4240:2008 -4240:2009 -4240:2010 -4240:2011 -4240:2012 -4240:2013 -4240:2016 -4240:2017 -4240:2018 -4240:2021 -4240:2022 -4240:2023 -4240:2026 -4240:2027 -4240:2028 -4240:2029 -4240:2030 -4240:2031 -4240:2032 -4240:2033 -4240:2034 -4240:2035 -4241:2036 -4241:2037 -4242:2039 -4242:2040 -4242:2041 -4243:1974 -4243:1975 -4243:1976 -4243:1977 -4243:1978 -4243:1979 -4243:1980 -4243:1982 -4243:1984 -4243:1985 -4243:1986 -4243:1987 -4243:1988 -4243:1989 -4243:1990 -4243:1991 -4244:1992 -4244:1993 -4244:1994 -4245:1995 -4246:1996 -4246:1997 -4247:2043 -4247:2044 -4247:2045 -4247:2046 -4248:2047 -4248:2048 -4249:2050 -4250:2051 -4250:2052 -4254:2276 -4254:2277 -4254:2278 -4254:2279 -4254:2280 -4254:2281 -4254:2282 -4254:2283 -4254:2405 -4254:2406 -4254:2407 -4254:2408 -4254:2409 -4254:2410 -4254:2411 -4261:2285 -4261:2286 -4261:2287 -4261:2288 -4261:2304 -4261:2336 -4261:2339 -4261:2340 -4261:2341 -4261:2342 -4261:2343 -4261:2344 -4261:2345 -4263:2289 -4263:2290 -4263:2291 -4263:2294 -4263:2295 -4263:2296 -4263:2299 -4263:2300 -4263:2301 -4263:2337 -4263:2338 -4264:2305 -4264:2306 -4264:2307 -4264:2308 -4264:2309 -4264:2310 -4264:2312 -4264:2314 -4264:2315 -4264:2316 -4264:2317 -4264:2318 -4264:2319 -4264:2320 -4264:2321 -4264:2322 -4264:2323 -4264:2327 -4264:2328 -4264:2329 -4264:2330 -4264:2331 -4264:2332 -4264:2333 -4264:2334 -4264:2335 -4266:2347 -4266:2348 -4266:2349 -4266:2355 -4266:2356 -4266:2357 -4266:2358 -4266:2359 -4266:2360 -4266:2361 -4266:2362 -4266:2363 -4266:2396 -4266:2397 -4266:2398 -4266:2399 -4266:2400 -4267:2351 -4267:2352 -4267:2353 -4267:2354 -4269:2366 -4270:2368 -4271:2369 -4272:2370 -4273:2371 -4275:2376 -4275:2377 -4275:2378 -4275:2379 -4276:2381 -4276:2382 -4276:2383 -4277:2384 -4278:2386 -4279:2387 -4280:2388 -4281:2389 -4282:2390 -4283:2391 -4286:2402 -4286:2403 -4290:2066 -4290:2067 -4290:2068 -4290:2069 -4290:2074 -4290:2075 -4290:2076 -4290:2077 -4290:2078 -4290:2079 -4294:2072 -4297:2413 -4297:2414 -4297:2415 -4297:2416 -4297:2417 -4297:2419 -4297:2420 -4297:2494 -4297:2495 -4297:2496 -4297:2497 -4297:2498 -4297:2499 -4303:2458 -4303:2464 -4303:2488 -4303:2489 -4303:2490 -4303:2491 -4303:2492 -4304:2422 -4304:2423 -4304:2424 -4304:2425 -4305:2426 -4305:2427 -4309:2433 -4309:2437 -4309:2449 -4309:2450 -4309:2451 -4309:2452 -4310:2434 -4310:2435 -4311:2436 -4312:2430 -4312:2431 -4313:2432 -4314:2438 -4314:2439 -4314:2440 -4314:2441 -4315:2442 -4316:2444 -4317:2445 -4318:2446 -4321:2455 -4321:2456 -4323:2465 -4323:2466 -4323:2467 -4323:2468 -4323:2469 -4323:2470 -4323:2471 -4323:2473 -4323:2474 -4323:2476 -4323:2477 -4323:2478 -4323:2479 -4323:2480 -4323:2481 -4323:2482 -4323:2483 -4323:2484 -4323:2485 -4323:2486 -4324:2459 -4324:2460 -4324:2461 -4324:2462 -4328:2614 -4328:2615 -4328:2616 -4328:2617 -4328:2618 -4328:2620 -4328:2621 -4328:2697 -4328:2698 -4328:2699 -4328:2700 -4328:2701 -4328:2702 -4333:2622 -4333:2623 -4333:2624 -4336:2646 -4336:2668 -4336:2672 -4336:2676 -4336:2688 -4336:2689 -4336:2690 -4336:2691 -4336:2692 -4337:2673 -4337:2674 -4338:2675 -4339:2669 -4339:2670 -4340:2671 -4342:2626 -4342:2627 -4342:2628 -4342:2629 -4342:2630 -4342:2631 -4342:2633 -4342:2634 -4342:2636 -4342:2637 -4342:2638 -4342:2639 -4342:2640 -4342:2641 -4342:2642 -4342:2643 -4342:2644 -4343:2645 -4345:2647 -4345:2648 -4345:2649 -4345:2650 -4345:2651 -4345:2652 -4345:2653 -4345:2655 -4345:2656 -4345:2658 -4345:2659 -4345:2660 -4345:2661 -4345:2662 -4345:2663 -4345:2664 -4345:2665 -4345:2666 -4346:2667 -4348:2677 -4348:2678 -4348:2679 -4348:2680 -4349:2681 -4350:2683 -4351:2684 -4352:2685 -4355:2694 -4355:2695 -4359:2543 -4359:2544 -4359:2545 -4359:2546 -4359:2547 -4359:2548 -4359:2549 -4359:2606 -4359:2607 -4359:2608 -4359:2609 -4359:2610 -4359:2611 -4359:2612 -4365:2551 -4365:2552 -4365:2553 -4365:2556 -4365:2559 -4365:2560 -4365:2561 -4365:2562 -4365:2564 -4365:2565 -4367:2557 -4367:2558 -4369:2554 -4369:2555 -4371:2567 -4371:2568 -4371:2569 -4371:2570 -4371:2571 -4371:2572 -4371:2597 -4371:2598 -4371:2599 -4371:2600 -4371:2601 -4372:2573 -4373:2575 -4374:2576 -4375:2577 -4376:2578 -4378:2583 -4378:2584 -4378:2585 -4378:2586 -4378:2587 -4379:2588 -4380:2590 -4381:2591 -4382:2592 -4385:2603 -4385:2604 -4389:2748 -4389:2749 -4389:2750 -4389:2751 -4389:2752 -4389:2753 -4389:2754 -4389:2849 -4389:2850 -4389:2851 -4389:2852 -4389:2853 -4389:2854 -4389:2855 -4395:2756 -4395:2757 -4395:2758 -4395:2778 -4395:2799 -4395:2802 -4395:2805 -4395:2806 -4395:2807 -4395:2808 -4395:2809 -4395:2810 -4395:2811 -4397:2800 -4397:2801 -4399:2759 -4399:2760 -4399:2761 -4399:2762 -4399:2763 -4399:2764 -4399:2766 -4399:2767 -4399:2769 -4399:2770 -4399:2771 -4399:2772 -4399:2773 -4399:2774 -4399:2775 -4399:2776 -4399:2777 -4401:2779 -4401:2780 -4401:2781 -4401:2782 -4401:2783 -4401:2784 -4401:2785 -4401:2787 -4401:2788 -4401:2790 -4401:2791 -4401:2792 -4401:2793 -4401:2794 -4401:2795 -4401:2796 -4401:2797 -4401:2798 -4403:2803 -4403:2804 -4405:2813 -4405:2840 -4405:2841 -4405:2842 -4405:2843 -4405:2844 -4406:2814 -4406:2815 -4406:2816 -4406:2817 -4406:2818 -4407:2819 -4408:2821 -4410:2826 -4410:2827 -4410:2828 -4410:2829 -4410:2830 -4411:2831 -4412:2833 -4413:2834 -4414:2835 -4417:2846 -4417:2847 -4420:2857 -4420:2858 -4420:2859 -4420:2860 -4420:2862 -4420:2863 -4420:2864 -4420:2865 -4420:2867 -4420:2868 -4420:2869 -4420:2870 -4420:2871 -4420:2872 -4422:2874 -4422:2875 -4422:2876 -4422:2877 -4422:2879 -4422:2880 -4422:2881 -4422:2882 -4422:2884 -4422:2885 -4422:2886 -4422:2887 -4422:2888 -4422:2889 -4425:2501 -4425:2502 -4425:2503 -4425:2504 -4425:2512 -4425:2520 -4425:2523 -4425:2528 -4425:2531 -4425:2532 -4425:2533 -4425:2534 -4425:2536 -4425:2537 -4425:2538 -4425:2539 -4425:2540 -4425:2541 -4430:2524 -4430:2526 -4431:2521 -4431:2522 -4432:2506 -4432:2507 -4432:2508 -4432:2509 -4432:2510 -4433:2529 -4433:2530 -4434:2513 -4434:2514 -4434:2515 -4434:2516 -4434:2517 -4434:2518 -4434:2519 -4438:2704 -4438:2705 -4438:2706 -4438:2707 -4438:2709 -4438:2720 -4438:2728 -4438:2731 -4438:2736 -4438:2737 -4438:2738 -4438:2739 -4438:2740 -4438:2741 -4438:2742 -4438:2743 -4438:2744 -4438:2745 -4438:2746 -4443:2732 -4443:2734 -4444:2729 -4444:2730 -4445:2710 -4445:2711 -4445:2712 -4446:2715 -4446:2716 -4446:2717 -4447:2721 -4447:2722 -4447:2723 -4447:2724 -4447:2725 -4447:2726 -4447:2727 -4459:2081 -4459:2082 -4459:2083 -4459:2084 -4459:2235 -4459:2243 -4459:2244 -4459:2245 -4459:2246 -4459:2248 -4459:2249 -4459:2250 -4459:2251 -4459:2252 -4459:2253 -4463:2086 -4463:2087 -4463:2088 -4463:2089 -4464:2091 -4464:2092 -4464:2093 -4464:2094 -4464:2095 -4464:2096 -4464:2229 -4464:2230 -4464:2231 -4464:2232 -4464:2233 -4465:2100 -4465:2101 -4465:2102 -4465:2103 -4465:2104 -4466:2108 -4466:2109 -4466:2110 -4466:2111 -4466:2112 -4467:2116 -4467:2117 -4467:2118 -4467:2119 -4467:2120 -4468:2124 -4468:2125 -4468:2126 -4468:2127 -4468:2128 -4469:2132 -4469:2133 -4469:2134 -4470:2137 -4470:2138 -4470:2139 -4471:2142 -4471:2143 -4471:2144 -4472:2147 -4472:2148 -4472:2149 -4473:2152 -4473:2153 -4473:2155 -4473:2156 -4473:2157 -4473:2158 -4473:2159 -4473:2160 -4473:2161 -4473:2162 -4473:2163 -4473:2165 -4473:2166 -4473:2167 -4473:2168 -4473:2169 -4474:2171 -4474:2172 -4474:2173 -4474:2174 -4475:2175 -4475:2176 -4476:2180 -4476:2181 -4476:2182 -4477:2197 -4477:2199 -4477:2200 -4477:2201 -4477:2202 -4481:2184 -4481:2185 -4482:2189 -4482:2191 -4482:2192 -4482:2193 -4482:2194 -4486:2187 -4486:2188 -4489:2205 -4489:2206 -4490:2210 -4490:2211 -4490:2212 -4491:2216 -4491:2218 -4491:2219 -4491:2220 -4491:2221 -4495:2214 -4495:2215 -4497:2224 -4497:2225 -4499:2236 -4499:2237 -4499:2238 -4499:2239 -4499:2240 -4499:2241 -4499:2242 -4503:2255 -4503:2256 -4503:2257 -4503:2258 -4503:2259 -4503:2260 -4503:2269 -4503:2270 -4503:2271 -4503:2272 -4503:2273 -4503:2274 -4507:2262 -4507:2263 -4508:2265 -4508:2266 -4508:2267 -4514:2891 -4514:2892 -4514:2893 -4514:2894 -4514:2923 -4514:2924 -4514:2925 -4514:2926 -4514:2927 -4514:2928 -4518:2897 -4518:2898 -4518:2899 -4518:2900 -4518:2901 -4518:2902 -4518:2905 -4518:2906 -4518:2907 -4518:2908 -4518:2911 -4518:2912 -4518:2913 -4518:2914 -4518:2917 -4518:2918 -4518:2919 -4518:2920 -4518:2921 -4525:2930 -4525:2931 -4525:2932 -4525:2933 -4525:2936 -4525:2937 -4525:2938 -4525:2939 -4525:2940 -4525:2941 -4529:2935 -4536:2943 -4536:2944 -4536:2945 -4536:2946 -4536:3053 -4536:3054 -4536:3055 -4536:3056 -4536:3057 -4536:3058 -4541:2949 -4541:2951 -4541:2952 -4541:2953 -4541:2954 -4541:2955 -4541:2956 -4541:2957 -4541:2958 -4541:2959 -4541:2962 -4541:2963 -4541:2964 -4541:2965 -4541:2966 -4541:2967 -4541:2968 -4541:2969 -4541:2970 -4541:2973 -4541:2974 -4541:2975 -4541:2978 -4541:2979 -4541:2980 -4541:2981 -4541:2982 -4541:2983 -4541:2984 -4541:2985 -4541:2986 -4541:2987 -4541:2988 -4541:2989 -4541:2990 -4541:2991 -4541:2992 -4541:2993 -4541:2994 -4541:2995 -4541:2996 -4541:2997 -4541:2998 -4541:2999 -4541:3000 -4541:3001 -4541:3002 -4541:3004 -4541:3005 -4541:3006 -4541:3007 -4541:3008 -4541:3009 -4542:3012 -4543:3014 -4544:3015 -4545:3016 -4546:3017 -4547:3018 -4548:3019 -4549:3020 -4550:3021 -4551:3022 -4552:3023 -4553:3024 -4554:3025 -4555:3026 -4556:3027 -4557:3028 -4558:3029 -4559:3030 -4560:3031 -4561:3032 -4562:3033 -4563:3034 -4564:3035 -4565:3036 -4566:3037 -4567:3038 -4568:3039 -4570:3041 -4572:3043 -4573:3044 -4574:3045 -4575:3046 -4576:3047 -4577:3048 -4578:3049 -4579:3050 -4584:3060 -4584:3061 -4584:3062 -4584:3063 -4584:3065 -4584:3121 -4584:3124 -4584:3125 -4584:3126 -4584:3127 -4584:3128 -4584:3129 -4584:3130 -4584:3131 -4584:3132 -4584:3133 -4584:3134 -4588:3066 -4588:3067 -4588:3068 -4588:3069 -4588:3070 -4588:3071 -4588:3072 -4588:3073 -4588:3074 -4588:3077 -4588:3078 -4588:3079 -4588:3080 -4588:3081 -4588:3082 -4588:3083 -4588:3084 -4588:3085 -4588:3088 -4588:3089 -4588:3090 -4588:3091 -4588:3092 -4588:3093 -4588:3094 -4588:3095 -4588:3098 -4588:3099 -4588:3100 -4588:3101 -4588:3102 -4588:3103 -4588:3104 -4588:3105 -4588:3106 -4588:3107 -4588:3110 -4588:3111 -4588:3112 -4588:3113 -4588:3116 -4588:3117 -4588:3118 -4588:3122 -4588:3123 -4593:3136 -4593:3137 -4593:3138 -4593:3139 -4593:3142 -4593:3143 -4593:3144 -4593:3145 -4593:3146 -4593:3147 -4597:3141 -4602:3149 -4602:3150 -4602:3151 -4602:3152 -4602:3163 -4602:3164 -4602:3165 -4602:3166 -4602:3167 -4602:3168 -4606:3154 -4606:3156 -4606:3157 -4606:3158 -4606:3160 -4610:3170 -4610:3171 -4610:3172 -4610:3173 -4610:3191 -4610:3192 -4610:3193 -4610:3194 -4610:3195 -4610:3196 -4614:3175 -4614:3176 -4614:3177 -4614:3178 -4614:3179 -4614:3180 -4614:3181 -4614:3182 -4614:3183 -4614:3184 -4614:3185 -4614:3186 -4614:3188 -4614:3189 -4614:3190 -4618:3198 -4618:3199 -4618:3200 -4618:3201 -4618:3208 -4618:3658 -4618:3659 -4618:3660 -4618:3661 -4618:3662 -4618:3663 -4625:3211 -4625:3212 -4625:3213 -4625:3214 -4625:3215 -4625:3216 -4625:3458 -4625:3459 -4625:3460 -4625:3461 -4625:3462 -4626:3219 -4626:3355 -4626:3398 -4626:3431 -4626:3433 -4626:3434 -4627:3220 -4627:3221 -4627:3223 -4627:3224 -4627:3225 -4627:3226 -4627:3229 -4627:3230 -4627:3231 -4627:3234 -4627:3235 -4627:3236 -4627:3237 -4627:3238 -4628:3240 -4628:3241 -4629:3243 -4630:3262 -4630:3264 -4631:3245 -4631:3246 -4631:3247 -4631:3248 -4631:3249 -4631:3250 -4631:3251 -4631:3252 -4631:3253 -4631:3254 -4631:3255 -4631:3256 -4631:3257 -4631:3259 -4631:3260 -4632:3261 -4636:3269 -4636:3270 -4636:3272 -4636:3273 -4636:3274 -4636:3275 -4636:3278 -4636:3279 -4636:3280 -4636:3283 -4636:3284 -4636:3285 -4636:3286 -4636:3287 -4636:3290 -4636:3291 -4636:3292 -4636:3293 -4636:3296 -4636:3297 -4636:3298 -4636:3301 -4636:3302 -4636:3303 -4636:3304 -4636:3305 -4636:3308 -4636:3309 -4636:3310 -4636:3311 -4636:3312 -4636:3313 -4636:3314 -4636:3315 -4636:3316 -4636:3317 -4636:3318 -4636:3319 -4636:3320 -4636:3321 -4636:3322 -4636:3323 -4636:3325 -4636:3326 -4636:3328 -4636:3329 -4636:3330 -4636:3331 -4636:3334 -4636:3335 -4636:3336 -4636:3339 -4636:3340 -4636:3341 -4636:3342 -4636:3343 -4636:3345 -4636:3347 -4637:3350 -4637:3351 -4640:3356 -4640:3357 -4640:3358 -4640:3359 -4640:3360 -4640:3361 -4640:3363 -4640:3389 -4640:3390 -4640:3391 -4640:3392 -4640:3393 -4640:3394 -4640:3395 -4640:3396 -4641:3365 -4641:3366 -4641:3367 -4641:3368 -4641:3369 -4641:3372 -4641:3373 -4641:3374 -4641:3377 -4641:3378 -4641:3379 -4641:3382 -4641:3383 -4641:3384 -4641:3385 -4641:3386 -4642:3397 -4645:3399 -4645:3401 -4645:3404 -4645:3405 -4645:3406 -4645:3407 -4645:3408 -4645:3409 -4645:3410 -4645:3411 -4645:3412 -4645:3413 -4645:3414 -4645:3415 -4645:3416 -4645:3418 -4645:3419 -4645:3421 -4645:3423 -4645:3425 -4646:3428 -4646:3429 -4648:3438 -4648:3439 -4648:3440 -4648:3441 -4648:3443 -4648:3446 -4648:3447 -4648:3448 -4648:3450 -4648:3453 -4648:3454 -4650:3465 -4650:3466 -4650:3467 -4650:3469 -4650:3470 -4650:3471 -4650:3472 -4650:3475 -4650:3476 -4650:3477 -4650:3480 -4650:3481 -4650:3482 -4650:3483 -4650:3484 -4650:3486 -4650:3487 -4650:3524 -4650:3653 -4650:3655 -4650:3656 -4651:3491 -4651:3492 -4651:3494 -4651:3495 -4651:3496 -4651:3497 -4651:3500 -4651:3501 -4651:3502 -4651:3505 -4651:3506 -4651:3507 -4651:3508 -4651:3509 -4651:3511 -4651:3512 -4652:3516 -4652:3517 -4652:3518 -4652:3519 -4652:3520 -4656:3525 -4656:3526 -4656:3527 -4656:3528 -4656:3529 -4656:3530 -4656:3532 -4656:3533 -4656:3534 -4656:3535 -4656:3536 -4656:3538 -4656:3540 -4656:3541 -4656:3542 -4656:3543 -4656:3546 -4656:3547 -4656:3548 -4656:3549 -4656:3550 -4656:3551 -4656:3552 -4656:3553 -4658:3202 -4658:3203 -4658:3204 -4658:3555 -4658:3556 -4658:3557 -4658:3558 -4658:3559 -4658:3561 -4658:3562 -4658:3563 -4658:3564 -4658:3566 -4658:3570 -4658:3571 -4658:3572 -4658:3573 -4658:3574 -4658:3575 -4658:3576 -4658:3580 -4658:3581 -4658:3582 -4658:3583 -4658:3584 -4658:3585 -4658:3589 -4658:3591 -4658:3592 -4658:3635 -4658:3636 -4658:3637 -4658:3638 -4658:3639 -4659:3205 -4659:3206 -4659:3596 -4659:3597 -4659:3598 -4659:3600 -4659:3601 -4659:3602 -4659:3603 -4659:3604 -4659:3605 -4659:3606 -4659:3610 -4659:3611 -4659:3612 -4659:3613 -4659:3614 -4659:3615 -4659:3619 -4659:3621 -4659:3622 -4660:3207 -4660:3626 -4660:3627 -4660:3628 -4660:3629 -4660:3630 -4660:3631 -4662:3641 -4663:3643 -4664:3644 -4665:3645 -4666:3646 -4667:3647 -4668:3648 -4669:3649 -4670:3650 -4677:3803 -4677:3804 -4677:3805 -4677:3806 -4677:3809 -4677:3810 -4677:3811 -4677:3812 -4677:3813 -4677:3814 -4681:3808 -4686:3665 -4686:3666 -4686:3667 -4686:3668 -4686:3730 -4686:3731 -4686:3732 -4686:3733 -4686:3734 -4686:3735 -4690:3671 -4690:3672 -4690:3673 -4690:3674 -4690:3677 -4690:3678 -4690:3679 -4690:3682 -4690:3683 -4690:3684 -4690:3685 -4690:3686 -4690:3689 -4690:3690 -4690:3691 -4690:3692 -4690:3695 -4690:3696 -4690:3697 -4690:3706 -4690:3707 -4690:3708 -4690:3709 -4690:3710 -4690:3712 -4690:3713 -4690:3714 -4690:3715 -4690:3716 -4690:3717 -4690:3718 -4690:3719 -4690:3720 -4690:3721 -4690:3722 -4690:3723 -4690:3725 -4690:3726 -4690:3728 -4695:3737 -4695:3738 -4695:3739 -4695:3740 -4695:3742 -4695:3763 -4695:3764 -4695:3765 -4695:3766 -4695:3767 -4695:3768 -4695:3769 -4695:3770 -4695:3771 -4695:3772 -4695:3773 -4699:3743 -4699:3744 -4699:3745 -4699:3748 -4699:3749 -4699:3750 -4699:3753 -4699:3754 -4699:3755 -4699:3758 -4699:3759 -4699:3760 -4703:3775 -4703:3776 -4703:3777 -4703:3778 -4703:3780 -4703:3791 -4703:3792 -4703:3793 -4703:3794 -4703:3795 -4703:3796 -4703:3797 -4703:3798 -4703:3799 -4703:3800 -4703:3801 -4707:3781 -4707:3782 -4707:3783 -4707:3786 -4707:3787 -4707:3788 +3717:43 +3718:44 +3719:45 +3720:46 +3721:47 +3722:48 +3724:50 +3725:51 +3726:52 +3727:53 +3728:54 +3729:55 +3730:56 +3731:57 +3733:59 +3734:60 +3735:61 +3736:62 +3738:64 +3739:65 +3740:66 +3741:67 +3743:69 +3744:70 +3745:71 +3746:72 +3747:73 +3748:74 +3749:75 +3750:76 +3751:77 +3753:79 +3755:81 +3756:82 +3757:83 +3758:84 +3759:85 +3760:86 +3761:87 +3762:88 +3764:90 +3765:91 +3766:92 +3767:93 +3768:94 +3770:96 +3771:97 +3772:98 +3773:99 +3774:100 +3775:101 +3776:102 +3778:104 +3779:105 +3780:106 +3781:107 +3782:108 +3784:110 +3785:111 +3786:112 +3788:114 +3789:115 +3790:116 +3791:117 +3792:118 +3793:119 +3794:120 +3795:121 +3796:122 +3797:123 +3798:124 +3799:125 +3800:126 +3801:127 +3802:128 +3803:129 +3804:130 +3805:131 +3806:132 +3807:133 +3808:134 +3809:135 +3810:136 +3811:137 +3812:138 +3813:139 +3814:140 +3815:141 +3816:142 +3817:143 +3818:144 +3819:145 +3820:146 +3821:147 +3822:148 +3823:149 +3824:150 +3825:151 +3826:152 +3827:153 +3828:154 +3829:155 +3830:156 +3831:157 +3832:158 +3833:159 +3834:160 +3835:161 +3836:162 +3837:163 +3838:164 +3839:165 +3840:166 +3841:167 +3842:168 +3843:169 +3844:170 +3845:171 +3846:172 +3847:173 +3848:174 +3849:175 +3850:176 +3851:177 +3852:178 +3853:179 +3854:180 +3855:181 +3856:182 +3857:183 +3858:184 +3859:185 +3860:186 +3861:187 +3862:188 +3863:189 +3864:190 +3865:191 +3866:192 +3867:193 +3868:194 +3870:196 +3871:197 +3872:198 +3873:199 +3874:200 +3875:201 +3876:202 +3877:203 +3878:204 +3880:206 +3881:207 +3882:208 +3883:209 +3884:210 +3885:211 +3886:212 +3887:213 +3889:215 +3890:216 +3891:217 +3893:219 +3894:220 +3895:221 +3897:223 +3898:224 +3899:225 +3901:227 +3902:228 +3903:229 +3904:230 +3905:231 +3906:232 +3907:233 +3908:234 +3909:235 +3910:236 +3911:237 +3912:238 +3913:239 +3914:240 +3915:241 +3916:242 +3917:243 +3918:244 +3919:245 +3920:246 +3921:247 +3922:248 +3923:249 +3924:250 +3925:251 +3926:252 +3927:253 +3928:254 +3929:255 +3930:256 +3931:257 +3932:258 +3933:259 +3934:260 +3935:261 +3936:262 +3937:263 +3938:264 +3939:265 +3940:266 +3941:267 +3942:268 +3943:269 +3944:270 +3945:271 +3946:272 +3947:273 +3948:274 +3949:275 +3950:276 +3951:277 +3952:278 +3953:279 +3955:281 +3956:282 +3957:283 +3958:284 +3959:285 +3960:286 +3961:287 +3962:288 +3963:289 +3964:290 +3965:291 +3966:292 +3967:293 +3968:294 +3969:295 +3970:296 +3971:297 +3972:298 +3973:299 +3974:300 +3975:301 +3976:302 +3977:303 +3978:304 +3979:305 +3980:306 +3981:307 +3982:308 +3983:309 +3984:310 +3986:312 +3987:313 +3988:314 +3989:315 +3990:316 +3991:317 +3992:318 +3993:319 +3994:320 +3995:321 +3996:322 +3997:323 +3998:324 +3999:325 +4000:326 +4004:749 +4004:750 +4004:751 +4004:752 +4004:754 +4004:755 +4004:756 +4004:757 +4004:758 +4004:759 +4004:760 +4005:762 +4005:763 +4005:764 +4005:765 +4005:767 +4005:768 +4005:769 +4005:771 +4005:772 +4005:773 +4005:774 +4005:775 +4005:776 +4006:778 +4006:779 +4006:780 +4006:781 +4006:783 +4006:784 +4006:785 +4006:787 +4006:788 +4006:789 +4006:790 +4006:791 +4006:792 +4007:794 +4007:795 +4007:796 +4007:797 +4007:799 +4007:800 +4007:801 +4007:803 +4007:804 +4007:805 +4007:806 +4007:807 +4007:808 +4008:810 +4008:811 +4008:812 +4008:813 +4008:815 +4008:816 +4008:817 +4008:819 +4008:820 +4008:821 +4008:822 +4008:823 +4008:824 +4009:826 +4009:827 +4009:828 +4009:829 +4009:831 +4009:832 +4009:833 +4009:835 +4009:836 +4009:837 +4009:838 +4009:839 +4009:840 +4010:842 +4010:843 +4010:844 +4010:845 +4010:847 +4010:848 +4010:849 +4010:851 +4010:852 +4010:853 +4010:854 +4010:855 +4010:856 +4011:858 +4011:859 +4011:860 +4011:861 +4011:863 +4011:864 +4011:865 +4011:866 +4011:867 +4011:868 +4011:869 +4012:871 +4012:872 +4012:873 +4012:874 +4012:876 +4012:877 +4012:878 +4012:879 +4012:880 +4012:881 +4012:882 +4013:884 +4013:885 +4013:886 +4013:887 +4013:889 +4013:890 +4013:891 +4013:892 +4013:893 +4013:894 +4013:895 +4014:897 +4014:898 +4014:899 +4014:900 +4014:902 +4014:903 +4014:904 +4014:905 +4014:906 +4014:907 +4014:908 +4015:910 +4015:911 +4015:912 +4015:913 +4015:915 +4015:916 +4015:917 +4015:918 +4015:919 +4015:920 +4015:921 +4016:923 +4016:924 +4016:925 +4016:926 +4016:928 +4016:929 +4016:930 +4016:931 +4016:932 +4016:933 +4016:934 +4017:936 +4017:937 +4017:938 +4017:939 +4017:941 +4017:942 +4017:943 +4017:944 +4017:945 +4017:946 +4017:947 +4018:949 +4018:950 +4018:951 +4018:952 +4018:954 +4018:955 +4018:956 +4018:957 +4018:958 +4018:959 +4018:960 +4019:962 +4019:963 +4019:964 +4019:965 +4019:967 +4019:968 +4019:969 +4019:970 +4019:971 +4019:972 +4019:973 +4020:975 +4020:976 +4020:977 +4020:978 +4020:980 +4020:981 +4020:982 +4020:983 +4020:984 +4020:985 +4020:986 +4021:988 +4021:989 +4021:990 +4021:991 +4021:993 +4021:994 +4021:995 +4021:996 +4021:997 +4021:998 +4021:999 +4023:1001 +4023:1002 +4023:1003 +4023:1004 +4023:1006 +4023:1007 +4023:1008 +4023:1009 +4023:1010 +4023:1011 +4023:1012 +4025:1014 +4025:1015 +4025:1016 +4025:1017 +4025:1019 +4025:1020 +4025:1021 +4025:1022 +4025:1023 +4025:1024 +4025:1025 +4026:1027 +4026:1028 +4026:1029 +4026:1030 +4026:1032 +4026:1033 +4026:1034 +4026:1035 +4026:1036 +4026:1037 +4026:1038 +4027:1040 +4027:1041 +4027:1042 +4027:1043 +4027:1045 +4027:1046 +4027:1047 +4027:1048 +4027:1049 +4027:1050 +4027:1051 +4028:1053 +4028:1054 +4028:1055 +4028:1056 +4028:1058 +4028:1059 +4028:1060 +4028:1061 +4028:1062 +4028:1063 +4028:1064 +4029:1066 +4029:1067 +4029:1068 +4029:1069 +4029:1071 +4029:1072 +4029:1073 +4029:1074 +4029:1075 +4029:1076 +4029:1077 +4030:1079 +4030:1080 +4030:1081 +4030:1082 +4030:1084 +4030:1085 +4030:1086 +4030:1087 +4030:1088 +4030:1089 +4030:1090 +4031:1092 +4031:1093 +4031:1094 +4031:1095 +4031:1097 +4031:1098 +4031:1099 +4031:1100 +4031:1101 +4031:1102 +4031:1103 +4032:1105 +4032:1106 +4032:1107 +4032:1108 +4032:1110 +4032:1111 +4032:1112 +4032:1113 +4032:1114 +4032:1115 +4032:1116 +4033:1118 +4033:1119 +4033:1120 +4033:1121 +4033:1123 +4033:1124 +4033:1125 +4033:1126 +4033:1127 +4033:1128 +4033:1129 +4034:1131 +4034:1132 +4034:1133 +4034:1134 +4034:1136 +4034:1137 +4034:1138 +4034:1139 +4034:1140 +4034:1141 +4034:1142 +4035:1144 +4035:1145 +4035:1146 +4035:1147 +4035:1149 +4035:1150 +4035:1151 +4035:1152 +4035:1153 +4035:1154 +4035:1155 +4036:1157 +4036:1158 +4036:1159 +4036:1160 +4036:1162 +4036:1163 +4036:1164 +4036:1165 +4036:1166 +4036:1167 +4036:1168 +4037:1170 +4037:1171 +4037:1172 +4037:1173 +4037:1175 +4037:1176 +4037:1177 +4037:1178 +4037:1179 +4037:1180 +4037:1181 +4038:1183 +4038:1184 +4038:1185 +4038:1186 +4038:1188 +4038:1189 +4038:1190 +4038:1191 +4038:1192 +4038:1193 +4038:1194 +4039:1196 +4039:1197 +4039:1198 +4039:1199 +4039:1201 +4039:1202 +4039:1203 +4039:1204 +4039:1205 +4039:1206 +4039:1207 +4040:1209 +4040:1210 +4040:1211 +4040:1212 +4040:1214 +4040:1215 +4040:1216 +4040:1217 +4040:1218 +4040:1219 +4040:1220 +4041:1222 +4041:1223 +4041:1224 +4041:1225 +4041:1227 +4041:1228 +4041:1229 +4041:1230 +4041:1231 +4041:1232 +4041:1233 +4042:1235 +4042:1236 +4042:1237 +4042:1238 +4042:1240 +4042:1241 +4042:1242 +4042:1243 +4042:1244 +4042:1245 +4042:1246 +4043:1248 +4043:1249 +4043:1250 +4043:1251 +4043:1253 +4043:1254 +4043:1255 +4043:1256 +4043:1257 +4043:1258 +4043:1259 +4044:1261 +4044:1262 +4044:1263 +4044:1264 +4044:1266 +4044:1267 +4044:1268 +4044:1269 +4044:1270 +4044:1271 +4044:1272 +4045:1274 +4045:1275 +4045:1276 +4045:1277 +4045:1279 +4045:1280 +4045:1281 +4045:1282 +4045:1283 +4045:1284 +4045:1285 +4046:1287 +4046:1288 +4046:1289 +4046:1290 +4046:1292 +4046:1293 +4046:1294 +4046:1295 +4046:1296 +4046:1297 +4046:1298 +4047:1300 +4047:1301 +4047:1302 +4047:1303 +4047:1305 +4047:1306 +4047:1307 +4047:1308 +4047:1309 +4047:1310 +4047:1311 +4048:1313 +4048:1314 +4048:1315 +4048:1316 +4048:1318 +4048:1319 +4048:1320 +4048:1321 +4048:1322 +4048:1323 +4048:1324 +4049:1326 +4049:1327 +4049:1328 +4049:1329 +4049:1331 +4049:1332 +4049:1333 +4049:1334 +4049:1335 +4049:1336 +4049:1337 +4050:1339 +4050:1340 +4050:1341 +4050:1342 +4050:1344 +4050:1345 +4050:1346 +4050:1347 +4050:1348 +4050:1349 +4050:1350 +4051:1352 +4051:1353 +4051:1354 +4051:1355 +4051:1357 +4051:1358 +4051:1359 +4051:1360 +4051:1361 +4051:1362 +4051:1363 +4052:1365 +4052:1366 +4052:1367 +4052:1368 +4052:1370 +4052:1371 +4052:1372 +4052:1373 +4052:1374 +4052:1375 +4052:1376 +4053:1378 +4053:1379 +4053:1380 +4053:1381 +4053:1383 +4053:1384 +4053:1385 +4053:1386 +4053:1387 +4053:1388 +4053:1389 +4054:1391 +4054:1392 +4054:1393 +4054:1394 +4054:1396 +4054:1397 +4054:1398 +4054:1399 +4054:1400 +4054:1401 +4054:1402 +4056:1404 +4056:1405 +4056:1406 +4056:1407 +4056:1409 +4056:1410 +4056:1411 +4056:1412 +4056:1413 +4056:1414 +4056:1415 +4057:1417 +4057:1418 +4057:1419 +4057:1420 +4057:1422 +4057:1423 +4057:1424 +4057:1425 +4057:1426 +4057:1427 +4057:1428 +4058:1430 +4058:1431 +4058:1432 +4058:1433 +4058:1435 +4058:1436 +4058:1437 +4058:1438 +4058:1439 +4058:1440 +4058:1441 +4059:1443 +4059:1444 +4059:1445 +4059:1446 +4059:1448 +4059:1449 +4059:1450 +4059:1451 +4059:1452 +4059:1453 +4059:1454 +4060:1456 +4060:1457 +4060:1458 +4060:1459 +4060:1461 +4060:1462 +4060:1463 +4060:1464 +4060:1465 +4060:1466 +4060:1467 +4061:1469 +4061:1470 +4061:1471 +4061:1472 +4061:1474 +4061:1475 +4061:1476 +4061:1477 +4061:1478 +4061:1479 +4061:1480 +4062:1482 +4062:1483 +4062:1484 +4062:1485 +4062:1487 +4062:1488 +4062:1489 +4062:1490 +4062:1491 +4062:1492 +4062:1493 +4063:1495 +4063:1496 +4063:1497 +4063:1498 +4063:1500 +4063:1501 +4063:1502 +4063:1503 +4063:1504 +4063:1505 +4063:1506 +4064:1508 +4064:1509 +4064:1510 +4064:1511 +4064:1513 +4064:1514 +4064:1515 +4064:1516 +4064:1517 +4064:1518 +4064:1519 +4065:1521 +4065:1522 +4065:1523 +4065:1524 +4065:1526 +4065:1527 +4065:1528 +4065:1529 +4065:1530 +4065:1531 +4065:1532 +4066:1534 +4066:1535 +4066:1536 +4066:1537 +4066:1539 +4066:1540 +4066:1541 +4066:1542 +4066:1543 +4066:1544 +4066:1545 +4067:1547 +4067:1548 +4067:1549 +4067:1550 +4067:1552 +4067:1553 +4067:1554 +4067:1555 +4067:1556 +4067:1557 +4067:1558 +4068:1560 +4068:1561 +4068:1562 +4068:1563 +4068:1565 +4068:1566 +4068:1567 +4068:1568 +4068:1569 +4068:1570 +4068:1571 +4071:1573 +4071:1574 +4071:1575 +4071:1576 +4071:1605 +4071:1606 +4071:1607 +4071:1608 +4071:1609 +4071:1610 +4076:1579 +4076:1580 +4076:1581 +4076:1585 +4076:1588 +4076:1591 +4076:1594 +4076:1595 +4076:1596 +4076:1597 +4076:1599 +4076:1600 +4076:1601 +4078:1586 +4078:1587 +4079:1589 +4079:1590 +4080:1592 +4080:1593 +4081:1582 +4081:1583 +4081:1584 +4083:1602 +4083:1603 +4087:1612 +4087:1613 +4087:1614 +4087:1615 +4087:1616 +4087:1617 +4087:1646 +4087:1647 +4087:1648 +4087:1649 +4087:1650 +4087:1651 +4092:1624 +4092:1629 +4092:1634 +4092:1635 +4092:1636 +4092:1637 +4093:1620 +4093:1621 +4093:1622 +4093:1623 +4094:1625 +4094:1626 +4094:1627 +4094:1628 +4095:1630 +4095:1631 +4095:1632 +4095:1633 +4097:1640 +4098:1642 +4099:1643 +4105:1653 +4105:1654 +4105:1655 +4105:1656 +4105:1657 +4105:1658 +4105:1681 +4105:1682 +4105:1683 +4105:1684 +4105:1685 +4105:1686 +4110:1663 +4110:1666 +4110:1669 +4110:1670 +4110:1671 +4110:1672 +4111:1661 +4111:1662 +4112:1664 +4112:1665 +4113:1667 +4113:1668 +4115:1675 +4116:1677 +4117:1678 +4125:1688 +4125:1689 +4125:1690 +4125:1691 +4125:1742 +4125:1743 +4125:1744 +4125:1745 +4125:1746 +4125:1747 +4129:1693 +4130:1725 +4130:1727 +4131:1695 +4131:1697 +4131:1698 +4131:1699 +4131:1700 +4131:1701 +4131:1702 +4131:1703 +4131:1706 +4131:1707 +4131:1708 +4131:1711 +4131:1712 +4131:1713 +4131:1714 +4131:1715 +4131:1716 +4131:1717 +4131:1718 +4131:1719 +4131:1720 +4131:1721 +4131:1722 +4131:1723 +4131:1724 +4135:1730 +4135:1731 +4136:1732 +4137:1733 +4138:1734 +4139:1735 +4140:1736 +4141:1737 +4142:1738 +4143:1739 +4148:1749 +4148:1750 +4148:1751 +4148:1752 +4148:1778 +4148:1779 +4148:1780 +4148:1781 +4148:1782 +4148:1783 +4152:1754 +4154:1755 +4154:1756 +4156:1758 +4156:1759 +4156:1760 +4156:1765 +4156:1766 +4156:1767 +4156:1768 +4156:1770 +4156:1771 +4160:1761 +4160:1763 +4163:1772 +4163:1773 +4164:1774 +4165:1775 +4172:1846 +4172:1847 +4172:1848 +4172:1849 +4172:1851 +4172:1852 +4172:1871 +4172:1872 +4172:1873 +4172:1874 +4172:1875 +4172:1876 +4176:1853 +4177:1854 +4177:1855 +4177:1856 +4177:1861 +4177:1862 +4177:1863 +4177:1864 +4177:1866 +4177:1867 +4181:1857 +4181:1859 +4183:1868 +4183:1869 +4188:1785 +4188:1786 +4188:1787 +4188:1788 +4188:1790 +4188:1791 +4188:1839 +4188:1840 +4188:1841 +4188:1842 +4188:1843 +4188:1844 +4192:1792 +4194:1793 +4194:1794 +4196:1796 +4196:1797 +4196:1798 +4196:1818 +4196:1821 +4196:1826 +4196:1827 +4196:1828 +4196:1829 +4196:1831 +4196:1832 +4207:1799 +4207:1800 +4207:1801 +4207:1802 +4207:1803 +4207:1804 +4207:1806 +4207:1807 +4207:1809 +4207:1810 +4207:1811 +4207:1812 +4207:1813 +4207:1814 +4207:1815 +4207:1816 +4207:1817 +4210:1819 +4210:1820 +4212:1822 +4212:1824 +4214:1833 +4216:1834 +4216:1835 +4217:1836 +4223:1878 +4223:1879 +4223:1880 +4223:1881 +4223:1882 +4223:1973 +4223:1999 +4223:2042 +4223:2054 +4223:2055 +4223:2056 +4223:2057 +4223:2058 +4223:2059 +4223:2060 +4223:2061 +4223:2062 +4223:2063 +4223:2064 +4228:1884 +4228:1885 +4228:1886 +4228:1887 +4228:1888 +4228:1889 +4228:1891 +4228:1893 +4228:1894 +4228:1895 +4228:1896 +4228:1897 +4228:1898 +4228:1899 +4228:1900 +4229:1901 +4229:1902 +4229:1903 +4230:1904 +4230:1905 +4230:1906 +4230:1907 +4230:1908 +4230:1909 +4230:1910 +4230:1913 +4230:1914 +4230:1915 +4230:1918 +4230:1919 +4230:1920 +4230:1923 +4230:1924 +4230:1925 +4230:1928 +4230:1960 +4230:1961 +4230:1962 +4230:1963 +4230:1964 +4230:1965 +4230:1966 +4230:1967 +4230:1968 +4230:1969 +4231:1929 +4231:1930 +4231:1931 +4231:1932 +4231:1933 +4231:1934 +4231:1936 +4231:1938 +4231:1939 +4231:1940 +4231:1941 +4231:1942 +4231:1943 +4231:1944 +4231:1945 +4231:1946 +4231:1947 +4231:1951 +4231:1952 +4231:1953 +4231:1954 +4231:1955 +4231:1956 +4231:1957 +4231:1958 +4231:1959 +4233:1970 +4233:1971 +4233:1972 +4234:2000 +4234:2001 +4234:2002 +4234:2003 +4235:2004 +4235:2005 +4236:2007 +4236:2008 +4236:2009 +4236:2010 +4236:2011 +4236:2012 +4236:2013 +4236:2016 +4236:2017 +4236:2018 +4236:2021 +4236:2022 +4236:2023 +4236:2026 +4236:2027 +4236:2028 +4236:2029 +4236:2030 +4236:2031 +4236:2032 +4236:2033 +4236:2034 +4236:2035 +4237:2036 +4237:2037 +4238:2039 +4238:2040 +4238:2041 +4239:1974 +4239:1975 +4239:1976 +4239:1977 +4239:1978 +4239:1979 +4239:1980 +4239:1982 +4239:1984 +4239:1985 +4239:1986 +4239:1987 +4239:1988 +4239:1989 +4239:1990 +4239:1991 +4240:1992 +4240:1993 +4240:1994 +4241:1995 +4242:1996 +4242:1997 +4243:2043 +4243:2044 +4243:2045 +4243:2046 +4244:2047 +4244:2048 +4245:2050 +4246:2051 +4246:2052 +4250:2276 +4250:2277 +4250:2278 +4250:2279 +4250:2280 +4250:2281 +4250:2282 +4250:2283 +4250:2405 +4250:2406 +4250:2407 +4250:2408 +4250:2409 +4250:2410 +4250:2411 +4257:2285 +4257:2286 +4257:2287 +4257:2288 +4257:2304 +4257:2336 +4257:2339 +4257:2340 +4257:2341 +4257:2342 +4257:2343 +4257:2344 +4257:2345 +4259:2289 +4259:2290 +4259:2291 +4259:2294 +4259:2295 +4259:2296 +4259:2299 +4259:2300 +4259:2301 +4259:2337 +4259:2338 +4260:2305 +4260:2306 +4260:2307 +4260:2308 +4260:2309 +4260:2310 +4260:2312 +4260:2314 +4260:2315 +4260:2316 +4260:2317 +4260:2318 +4260:2319 +4260:2320 +4260:2321 +4260:2322 +4260:2323 +4260:2327 +4260:2328 +4260:2329 +4260:2330 +4260:2331 +4260:2332 +4260:2333 +4260:2334 +4260:2335 +4262:2347 +4262:2348 +4262:2349 +4262:2355 +4262:2356 +4262:2357 +4262:2358 +4262:2359 +4262:2360 +4262:2361 +4262:2362 +4262:2363 +4262:2396 +4262:2397 +4262:2398 +4262:2399 +4262:2400 +4263:2351 +4263:2352 +4263:2353 +4263:2354 +4265:2366 +4266:2368 +4267:2369 +4268:2370 +4269:2371 +4271:2376 +4271:2377 +4271:2378 +4271:2379 +4272:2381 +4272:2382 +4272:2383 +4273:2384 +4274:2386 +4275:2387 +4276:2388 +4277:2389 +4278:2390 +4279:2391 +4282:2402 +4282:2403 +4286:2066 +4286:2067 +4286:2068 +4286:2069 +4286:2074 +4286:2075 +4286:2076 +4286:2077 +4286:2078 +4286:2079 +4290:2072 +4293:2413 +4293:2414 +4293:2415 +4293:2416 +4293:2417 +4293:2419 +4293:2420 +4293:2494 +4293:2495 +4293:2496 +4293:2497 +4293:2498 +4293:2499 +4299:2458 +4299:2464 +4299:2488 +4299:2489 +4299:2490 +4299:2491 +4299:2492 +4300:2422 +4300:2423 +4300:2424 +4300:2425 +4301:2426 +4301:2427 +4305:2433 +4305:2437 +4305:2449 +4305:2450 +4305:2451 +4305:2452 +4306:2434 +4306:2435 +4307:2436 +4308:2430 +4308:2431 +4309:2432 +4310:2438 +4310:2439 +4310:2440 +4310:2441 +4311:2442 +4312:2444 +4313:2445 +4314:2446 +4317:2455 +4317:2456 +4319:2465 +4319:2466 +4319:2467 +4319:2468 +4319:2469 +4319:2470 +4319:2471 +4319:2473 +4319:2474 +4319:2476 +4319:2477 +4319:2478 +4319:2479 +4319:2480 +4319:2481 +4319:2482 +4319:2483 +4319:2484 +4319:2485 +4319:2486 +4320:2459 +4320:2460 +4320:2461 +4320:2462 +4324:2614 +4324:2615 +4324:2616 +4324:2617 +4324:2618 +4324:2620 +4324:2621 +4324:2697 +4324:2698 +4324:2699 +4324:2700 +4324:2701 +4324:2702 +4329:2622 +4329:2623 +4329:2624 +4332:2646 +4332:2668 +4332:2672 +4332:2676 +4332:2688 +4332:2689 +4332:2690 +4332:2691 +4332:2692 +4333:2673 +4333:2674 +4334:2675 +4335:2669 +4335:2670 +4336:2671 +4338:2626 +4338:2627 +4338:2628 +4338:2629 +4338:2630 +4338:2631 +4338:2633 +4338:2634 +4338:2636 +4338:2637 +4338:2638 +4338:2639 +4338:2640 +4338:2641 +4338:2642 +4338:2643 +4338:2644 +4339:2645 +4341:2647 +4341:2648 +4341:2649 +4341:2650 +4341:2651 +4341:2652 +4341:2653 +4341:2655 +4341:2656 +4341:2658 +4341:2659 +4341:2660 +4341:2661 +4341:2662 +4341:2663 +4341:2664 +4341:2665 +4341:2666 +4342:2667 +4344:2677 +4344:2678 +4344:2679 +4344:2680 +4345:2681 +4346:2683 +4347:2684 +4348:2685 +4351:2694 +4351:2695 +4355:2543 +4355:2544 +4355:2545 +4355:2546 +4355:2547 +4355:2548 +4355:2549 +4355:2606 +4355:2607 +4355:2608 +4355:2609 +4355:2610 +4355:2611 +4355:2612 +4361:2551 +4361:2552 +4361:2553 +4361:2556 +4361:2559 +4361:2560 +4361:2561 +4361:2562 +4361:2564 +4361:2565 +4363:2557 +4363:2558 +4365:2554 +4365:2555 +4367:2567 +4367:2568 +4367:2569 +4367:2570 +4367:2571 +4367:2572 +4367:2597 +4367:2598 +4367:2599 +4367:2600 +4367:2601 +4368:2573 +4369:2575 +4370:2576 +4371:2577 +4372:2578 +4374:2583 +4374:2584 +4374:2585 +4374:2586 +4374:2587 +4375:2588 +4376:2590 +4377:2591 +4378:2592 +4381:2603 +4381:2604 +4385:2748 +4385:2749 +4385:2750 +4385:2751 +4385:2752 +4385:2753 +4385:2754 +4385:2849 +4385:2850 +4385:2851 +4385:2852 +4385:2853 +4385:2854 +4385:2855 +4391:2756 +4391:2757 +4391:2758 +4391:2778 +4391:2799 +4391:2802 +4391:2805 +4391:2806 +4391:2807 +4391:2808 +4391:2809 +4391:2810 +4391:2811 +4393:2800 +4393:2801 +4395:2759 +4395:2760 +4395:2761 +4395:2762 +4395:2763 +4395:2764 +4395:2766 +4395:2767 +4395:2769 +4395:2770 +4395:2771 +4395:2772 +4395:2773 +4395:2774 +4395:2775 +4395:2776 +4395:2777 +4397:2779 +4397:2780 +4397:2781 +4397:2782 +4397:2783 +4397:2784 +4397:2785 +4397:2787 +4397:2788 +4397:2790 +4397:2791 +4397:2792 +4397:2793 +4397:2794 +4397:2795 +4397:2796 +4397:2797 +4397:2798 +4399:2803 +4399:2804 +4401:2813 +4401:2840 +4401:2841 +4401:2842 +4401:2843 +4401:2844 +4402:2814 +4402:2815 +4402:2816 +4402:2817 +4402:2818 +4403:2819 +4404:2821 +4406:2826 +4406:2827 +4406:2828 +4406:2829 +4406:2830 +4407:2831 +4408:2833 +4409:2834 +4410:2835 +4413:2846 +4413:2847 +4416:2857 +4416:2858 +4416:2859 +4416:2860 +4416:2862 +4416:2863 +4416:2864 +4416:2865 +4416:2867 +4416:2868 +4416:2869 +4416:2870 +4416:2871 +4416:2872 +4418:2874 +4418:2875 +4418:2876 +4418:2877 +4418:2879 +4418:2880 +4418:2881 +4418:2882 +4418:2884 +4418:2885 +4418:2886 +4418:2887 +4418:2888 +4418:2889 +4421:2501 +4421:2502 +4421:2503 +4421:2504 +4421:2512 +4421:2520 +4421:2523 +4421:2528 +4421:2531 +4421:2532 +4421:2533 +4421:2534 +4421:2536 +4421:2537 +4421:2538 +4421:2539 +4421:2540 +4421:2541 +4426:2524 +4426:2526 +4427:2521 +4427:2522 +4428:2506 +4428:2507 +4428:2508 +4428:2509 +4428:2510 +4429:2529 +4429:2530 +4430:2513 +4430:2514 +4430:2515 +4430:2516 +4430:2517 +4430:2518 +4430:2519 +4434:2704 +4434:2705 +4434:2706 +4434:2707 +4434:2709 +4434:2720 +4434:2728 +4434:2731 +4434:2736 +4434:2737 +4434:2738 +4434:2739 +4434:2740 +4434:2741 +4434:2742 +4434:2743 +4434:2744 +4434:2745 +4434:2746 +4439:2732 +4439:2734 +4440:2729 +4440:2730 +4441:2710 +4441:2711 +4441:2712 +4442:2715 +4442:2716 +4442:2717 +4443:2721 +4443:2722 +4443:2723 +4443:2724 +4443:2725 +4443:2726 +4443:2727 +4455:2081 +4455:2082 +4455:2083 +4455:2084 +4455:2235 +4455:2243 +4455:2244 +4455:2245 +4455:2246 +4455:2248 +4455:2249 +4455:2250 +4455:2251 +4455:2252 +4455:2253 +4459:2086 +4459:2087 +4459:2088 +4459:2089 +4460:2091 +4460:2092 +4460:2093 +4460:2094 +4460:2095 +4460:2096 +4460:2229 +4460:2230 +4460:2231 +4460:2232 +4460:2233 +4461:2100 +4461:2101 +4461:2102 +4461:2103 +4461:2104 +4462:2108 +4462:2109 +4462:2110 +4462:2111 +4462:2112 +4463:2116 +4463:2117 +4463:2118 +4463:2119 +4463:2120 +4464:2124 +4464:2125 +4464:2126 +4464:2127 +4464:2128 +4465:2132 +4465:2133 +4465:2134 +4466:2137 +4466:2138 +4466:2139 +4467:2142 +4467:2143 +4467:2144 +4468:2147 +4468:2148 +4468:2149 +4469:2152 +4469:2153 +4469:2155 +4469:2156 +4469:2157 +4469:2158 +4469:2159 +4469:2160 +4469:2161 +4469:2162 +4469:2163 +4469:2165 +4469:2166 +4469:2167 +4469:2168 +4469:2169 +4470:2171 +4470:2172 +4470:2173 +4470:2174 +4471:2175 +4471:2176 +4472:2180 +4472:2181 +4472:2182 +4473:2197 +4473:2199 +4473:2200 +4473:2201 +4473:2202 +4477:2184 +4477:2185 +4478:2189 +4478:2191 +4478:2192 +4478:2193 +4478:2194 +4482:2187 +4482:2188 +4485:2205 +4485:2206 +4486:2210 +4486:2211 +4486:2212 +4487:2216 +4487:2218 +4487:2219 +4487:2220 +4487:2221 +4491:2214 +4491:2215 +4493:2224 +4493:2225 +4495:2236 +4495:2237 +4495:2238 +4495:2239 +4495:2240 +4495:2241 +4495:2242 +4499:2255 +4499:2256 +4499:2257 +4499:2258 +4499:2259 +4499:2260 +4499:2269 +4499:2270 +4499:2271 +4499:2272 +4499:2273 +4499:2274 +4503:2262 +4503:2263 +4504:2265 +4504:2266 +4504:2267 +4510:2891 +4510:2892 +4510:2893 +4510:2894 +4510:2923 +4510:2924 +4510:2925 +4510:2926 +4510:2927 +4510:2928 +4514:2897 +4514:2898 +4514:2899 +4514:2900 +4514:2901 +4514:2902 +4514:2905 +4514:2906 +4514:2907 +4514:2908 +4514:2911 +4514:2912 +4514:2913 +4514:2914 +4514:2917 +4514:2918 +4514:2919 +4514:2920 +4514:2921 +4521:2930 +4521:2931 +4521:2932 +4521:2933 +4521:2936 +4521:2937 +4521:2938 +4521:2939 +4521:2940 +4521:2941 +4525:2935 +4532:2943 +4532:2944 +4532:2945 +4532:2946 +4532:3053 +4532:3054 +4532:3055 +4532:3056 +4532:3057 +4532:3058 +4537:2949 +4537:2951 +4537:2952 +4537:2953 +4537:2954 +4537:2955 +4537:2956 +4537:2957 +4537:2958 +4537:2959 +4537:2962 +4537:2963 +4537:2964 +4537:2965 +4537:2966 +4537:2967 +4537:2968 +4537:2969 +4537:2970 +4537:2973 +4537:2974 +4537:2975 +4537:2978 +4537:2979 +4537:2980 +4537:2981 +4537:2982 +4537:2983 +4537:2984 +4537:2985 +4537:2986 +4537:2987 +4537:2988 +4537:2989 +4537:2990 +4537:2991 +4537:2992 +4537:2993 +4537:2994 +4537:2995 +4537:2996 +4537:2997 +4537:2998 +4537:2999 +4537:3000 +4537:3001 +4537:3002 +4537:3004 +4537:3005 +4537:3006 +4537:3007 +4537:3008 +4537:3009 +4538:3012 +4539:3014 +4540:3015 +4541:3016 +4542:3017 +4543:3018 +4544:3019 +4545:3020 +4546:3021 +4547:3022 +4548:3023 +4549:3024 +4550:3025 +4551:3026 +4552:3027 +4553:3028 +4554:3029 +4555:3030 +4556:3031 +4557:3032 +4558:3033 +4559:3034 +4560:3035 +4561:3036 +4562:3037 +4563:3038 +4564:3039 +4566:3041 +4568:3043 +4569:3044 +4570:3045 +4571:3046 +4572:3047 +4573:3048 +4574:3049 +4575:3050 +4580:3060 +4580:3061 +4580:3062 +4580:3063 +4580:3065 +4580:3121 +4580:3124 +4580:3125 +4580:3126 +4580:3127 +4580:3128 +4580:3129 +4580:3130 +4580:3131 +4580:3132 +4580:3133 +4580:3134 +4584:3066 +4584:3067 +4584:3068 +4584:3069 +4584:3070 +4584:3071 +4584:3072 +4584:3073 +4584:3074 +4584:3077 +4584:3078 +4584:3079 +4584:3080 +4584:3081 +4584:3082 +4584:3083 +4584:3084 +4584:3085 +4584:3088 +4584:3089 +4584:3090 +4584:3091 +4584:3092 +4584:3093 +4584:3094 +4584:3095 +4584:3098 +4584:3099 +4584:3100 +4584:3101 +4584:3102 +4584:3103 +4584:3104 +4584:3105 +4584:3106 +4584:3107 +4584:3110 +4584:3111 +4584:3112 +4584:3113 +4584:3116 +4584:3117 +4584:3118 +4584:3122 +4584:3123 +4589:3136 +4589:3137 +4589:3138 +4589:3139 +4589:3142 +4589:3143 +4589:3144 +4589:3145 +4589:3146 +4589:3147 +4593:3141 +4598:3149 +4598:3150 +4598:3151 +4598:3152 +4598:3163 +4598:3164 +4598:3165 +4598:3166 +4598:3167 +4598:3168 +4602:3154 +4602:3156 +4602:3157 +4602:3158 +4602:3160 +4606:3170 +4606:3171 +4606:3172 +4606:3173 +4606:3191 +4606:3192 +4606:3193 +4606:3194 +4606:3195 +4606:3196 +4610:3175 +4610:3176 +4610:3177 +4610:3178 +4610:3179 +4610:3180 +4610:3181 +4610:3182 +4610:3183 +4610:3184 +4610:3185 +4610:3186 +4610:3188 +4610:3189 +4610:3190 +4614:3198 +4614:3199 +4614:3200 +4614:3201 +4614:3208 +4614:3658 +4614:3659 +4614:3660 +4614:3661 +4614:3662 +4614:3663 +4621:3211 +4621:3212 +4621:3213 +4621:3214 +4621:3215 +4621:3216 +4621:3458 +4621:3459 +4621:3460 +4621:3461 +4621:3462 +4622:3219 +4622:3355 +4622:3398 +4622:3431 +4622:3433 +4622:3434 +4623:3220 +4623:3221 +4623:3223 +4623:3224 +4623:3225 +4623:3226 +4623:3229 +4623:3230 +4623:3231 +4623:3234 +4623:3235 +4623:3236 +4623:3237 +4623:3238 +4624:3240 +4624:3241 +4625:3243 +4626:3262 +4626:3264 +4627:3245 +4627:3246 +4627:3247 +4627:3248 +4627:3249 +4627:3250 +4627:3251 +4627:3252 +4627:3253 +4627:3254 +4627:3255 +4627:3256 +4627:3257 +4627:3259 +4627:3260 +4628:3261 +4632:3269 +4632:3270 +4632:3272 +4632:3273 +4632:3274 +4632:3275 +4632:3278 +4632:3279 +4632:3280 +4632:3283 +4632:3284 +4632:3285 +4632:3286 +4632:3287 +4632:3290 +4632:3291 +4632:3292 +4632:3293 +4632:3296 +4632:3297 +4632:3298 +4632:3301 +4632:3302 +4632:3303 +4632:3304 +4632:3305 +4632:3308 +4632:3309 +4632:3310 +4632:3311 +4632:3312 +4632:3313 +4632:3314 +4632:3315 +4632:3316 +4632:3317 +4632:3318 +4632:3319 +4632:3320 +4632:3321 +4632:3322 +4632:3323 +4632:3325 +4632:3326 +4632:3328 +4632:3329 +4632:3330 +4632:3331 +4632:3334 +4632:3335 +4632:3336 +4632:3339 +4632:3340 +4632:3341 +4632:3342 +4632:3343 +4632:3345 +4632:3347 +4633:3350 +4633:3351 +4636:3356 +4636:3357 +4636:3358 +4636:3359 +4636:3360 +4636:3361 +4636:3363 +4636:3389 +4636:3390 +4636:3391 +4636:3392 +4636:3393 +4636:3394 +4636:3395 +4636:3396 +4637:3365 +4637:3366 +4637:3367 +4637:3368 +4637:3369 +4637:3372 +4637:3373 +4637:3374 +4637:3377 +4637:3378 +4637:3379 +4637:3382 +4637:3383 +4637:3384 +4637:3385 +4637:3386 +4638:3397 +4641:3399 +4641:3401 +4641:3404 +4641:3405 +4641:3406 +4641:3407 +4641:3408 +4641:3409 +4641:3410 +4641:3411 +4641:3412 +4641:3413 +4641:3414 +4641:3415 +4641:3416 +4641:3418 +4641:3419 +4641:3421 +4641:3423 +4641:3425 +4642:3428 +4642:3429 +4644:3438 +4644:3439 +4644:3440 +4644:3441 +4644:3443 +4644:3446 +4644:3447 +4644:3448 +4644:3450 +4644:3453 +4644:3454 +4646:3465 +4646:3466 +4646:3467 +4646:3469 +4646:3470 +4646:3471 +4646:3472 +4646:3475 +4646:3476 +4646:3477 +4646:3480 +4646:3481 +4646:3482 +4646:3483 +4646:3484 +4646:3486 +4646:3487 +4646:3524 +4646:3653 +4646:3655 +4646:3656 +4647:3491 +4647:3492 +4647:3494 +4647:3495 +4647:3496 +4647:3497 +4647:3500 +4647:3501 +4647:3502 +4647:3505 +4647:3506 +4647:3507 +4647:3508 +4647:3509 +4647:3511 +4647:3512 +4648:3516 +4648:3517 +4648:3518 +4648:3519 +4648:3520 +4652:3525 +4652:3526 +4652:3527 +4652:3528 +4652:3529 +4652:3530 +4652:3532 +4652:3533 +4652:3534 +4652:3535 +4652:3536 +4652:3538 +4652:3540 +4652:3541 +4652:3542 +4652:3543 +4652:3546 +4652:3547 +4652:3548 +4652:3549 +4652:3550 +4652:3551 +4652:3552 +4652:3553 +4654:3202 +4654:3203 +4654:3204 +4654:3555 +4654:3556 +4654:3557 +4654:3558 +4654:3559 +4654:3561 +4654:3562 +4654:3563 +4654:3564 +4654:3566 +4654:3570 +4654:3571 +4654:3572 +4654:3573 +4654:3574 +4654:3575 +4654:3576 +4654:3580 +4654:3581 +4654:3582 +4654:3583 +4654:3584 +4654:3585 +4654:3589 +4654:3591 +4654:3592 +4654:3635 +4654:3636 +4654:3637 +4654:3638 +4654:3639 +4655:3205 +4655:3206 +4655:3596 +4655:3597 +4655:3598 +4655:3600 +4655:3601 +4655:3602 +4655:3603 +4655:3604 +4655:3605 +4655:3606 +4655:3610 +4655:3611 +4655:3612 +4655:3613 +4655:3614 +4655:3615 +4655:3619 +4655:3621 +4655:3622 +4656:3207 +4656:3626 +4656:3627 +4656:3628 +4656:3629 +4656:3630 +4656:3631 +4658:3641 +4659:3643 +4660:3644 +4661:3645 +4662:3646 +4663:3647 +4664:3648 +4665:3649 +4666:3650 +4673:3803 +4673:3804 +4673:3805 +4673:3806 +4673:3809 +4673:3810 +4673:3811 +4673:3812 +4673:3813 +4673:3814 +4677:3808 +4682:3665 +4682:3666 +4682:3667 +4682:3668 +4682:3730 +4682:3731 +4682:3732 +4682:3733 +4682:3734 +4682:3735 +4686:3671 +4686:3672 +4686:3673 +4686:3674 +4686:3677 +4686:3678 +4686:3679 +4686:3682 +4686:3683 +4686:3684 +4686:3685 +4686:3686 +4686:3689 +4686:3690 +4686:3691 +4686:3692 +4686:3695 +4686:3696 +4686:3697 +4686:3706 +4686:3707 +4686:3708 +4686:3709 +4686:3710 +4686:3712 +4686:3713 +4686:3714 +4686:3715 +4686:3716 +4686:3717 +4686:3718 +4686:3719 +4686:3720 +4686:3721 +4686:3722 +4686:3723 +4686:3725 +4686:3726 +4686:3728 +4691:3737 +4691:3738 +4691:3739 +4691:3740 +4691:3742 +4691:3763 +4691:3764 +4691:3765 +4691:3766 +4691:3767 +4691:3768 +4691:3769 +4691:3770 +4691:3771 +4691:3772 +4691:3773 +4695:3743 +4695:3744 +4695:3745 +4695:3748 +4695:3749 +4695:3750 +4695:3753 +4695:3754 +4695:3755 +4695:3758 +4695:3759 +4695:3760 +4699:3775 +4699:3776 +4699:3777 +4699:3778 +4699:3780 +4699:3791 +4699:3792 +4699:3793 +4699:3794 +4699:3795 +4699:3796 +4699:3797 +4699:3798 +4699:3799 +4699:3800 +4699:3801 +4703:3781 +4703:3782 +4703:3783 +4703:3786 +4703:3787 +4703:3788 *E diff --git a/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java b/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java index a291c068ad..6bd9218005 100644 --- a/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java +++ b/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java @@ -1596,13 +1596,13 @@ public final void sep() throws RecognitionException, TokenStreamException { { match(SEMI); { - _loop607: + _loop610: do { if ((LA(1)==NLS) && (_tokenSet_24.member(LA(2)))) { match(NLS); } else { - break _loop607; + break _loop610; } } while (true); @@ -1619,18 +1619,18 @@ public final void sep() throws RecognitionException, TokenStreamException { sepToken = NLS; } { - _loop611: + _loop614: do { if ((LA(1)==SEMI) && (_tokenSet_24.member(LA(2)))) { match(SEMI); { - _loop610: + _loop613: do { if ((LA(1)==NLS) && (_tokenSet_24.member(LA(2)))) { match(NLS); } else { - break _loop610; + break _loop613; } } while (true); @@ -1640,7 +1640,7 @@ public final void sep() throws RecognitionException, TokenStreamException { } } else { - break _loop611; + break _loop614; } } while (true); @@ -3789,7 +3789,7 @@ public final void balancedTokens() throws RecognitionException, TokenStreamExcep AST balancedTokens_AST = null; { - _loop604: + _loop607: do { if ((_tokenSet_40.member(LA(1)))) { balancedBrackets(); @@ -3800,7 +3800,7 @@ else if ((_tokenSet_41.member(LA(1)))) { } } else { - break _loop604; + break _loop607; } } while (true); @@ -5293,10 +5293,10 @@ public final void conditionalExpression( logicalOrExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - boolean synPredMatched468 = false; + boolean synPredMatched471 = false; if (((LA(1)==ELVIS_OPERATOR||LA(1)==NLS) && (_tokenSet_54.member(LA(2))))) { - int _m468 = mark(); - synPredMatched468 = true; + int _m471 = mark(); + synPredMatched471 = true; inputState.guessing++; try { { @@ -5305,12 +5305,12 @@ public final void conditionalExpression( } } catch (RecognitionException pe) { - synPredMatched468 = false; + synPredMatched471 = false; } - rewind(_m468); + rewind(_m471); inputState.guessing--; } - if ( synPredMatched468 ) { + if ( synPredMatched471 ) { nls(); AST tmp151_AST = null; tmp151_AST = astFactory.create(LT(1)); @@ -5321,10 +5321,10 @@ public final void conditionalExpression( astFactory.addASTChild(currentAST, returnAST); } else { - boolean synPredMatched470 = false; + boolean synPredMatched473 = false; if (((LA(1)==QUESTION||LA(1)==NLS) && (_tokenSet_55.member(LA(2))))) { - int _m470 = mark(); - synPredMatched470 = true; + int _m473 = mark(); + synPredMatched473 = true; inputState.guessing++; try { { @@ -5333,12 +5333,12 @@ public final void conditionalExpression( } } catch (RecognitionException pe) { - synPredMatched470 = false; + synPredMatched473 = false; } - rewind(_m470); + rewind(_m473); inputState.guessing--; } - if ( synPredMatched470 ) { + if ( synPredMatched473 ) { try { // for error handling nls(); AST tmp152_AST = null; @@ -7145,8 +7145,8 @@ public final void argList() throws RecognitionException, TokenStreamException { if ((LA(1)==SEMI) && (_tokenSet_71.member(LA(2)))) { { { - int _cnt572=0; - _loop572: + int _cnt575=0; + _loop575: do { if ((LA(1)==SEMI) && (_tokenSet_71.member(LA(2)))) { match(SEMI); @@ -7231,10 +7231,10 @@ public final void argList() throws RecognitionException, TokenStreamException { } } else { - if ( _cnt572>=1 ) { break _loop572; } else {throw new NoViableAltException(LT(1), getFilename());} + if ( _cnt575>=1 ) { break _loop575; } else {throw new NoViableAltException(LT(1), getFilename());} } - _cnt572++; + _cnt575++; } while (true); } if ( inputState.guessing==0 ) { @@ -7250,7 +7250,7 @@ public final void argList() throws RecognitionException, TokenStreamException { else if ((_tokenSet_72.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { { { - _loop578: + _loop581: do { if ((LA(1)==COMMA)) { if ( inputState.guessing==0 ) { @@ -7371,7 +7371,7 @@ else if ((_tokenSet_72.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { } } else { - break _loop578; + break _loop581; } } while (true); @@ -8972,10 +8972,10 @@ public final void nlsWarn() throws RecognitionException, TokenStreamException { AST nlsWarn_AST = null; { - boolean synPredMatched617 = false; + boolean synPredMatched620 = false; if (((_tokenSet_82.member(LA(1))) && (_tokenSet_2.member(LA(2))))) { - int _m617 = mark(); - synPredMatched617 = true; + int _m620 = mark(); + synPredMatched620 = true; inputState.guessing++; try { { @@ -8983,12 +8983,12 @@ public final void nlsWarn() throws RecognitionException, TokenStreamException { } } catch (RecognitionException pe) { - synPredMatched617 = false; + synPredMatched620 = false; } - rewind(_m617); + rewind(_m620); inputState.guessing--; } - if ( synPredMatched617 ) { + if ( synPredMatched620 ) { if ( inputState.guessing==0 ) { addWarning( "A newline at this point does not follow the Groovy Coding Conventions.", @@ -10049,10 +10049,10 @@ public final boolean strictContextExpression( Token first = LT(1); { - boolean synPredMatched551 = false; + boolean synPredMatched554 = false; if (((_tokenSet_16.member(LA(1))) && (_tokenSet_92.member(LA(2))))) { - int _m551 = mark(); - synPredMatched551 = true; + int _m554 = mark(); + synPredMatched554 = true; inputState.guessing++; try { { @@ -10062,12 +10062,12 @@ public final boolean strictContextExpression( } } catch (RecognitionException pe) { - synPredMatched551 = false; + synPredMatched554 = false; } - rewind(_m551); + rewind(_m554); inputState.guessing--; } - if ( synPredMatched551 ) { + if ( synPredMatched554 ) { if ( inputState.guessing==0 ) { hasDeclaration=true; } @@ -10664,7 +10664,7 @@ public final void shiftExpression( additiveExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop502: + _loop505: do { if ((_tokenSet_98.member(LA(1)))) { { @@ -10734,7 +10734,7 @@ public final void shiftExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop502; + break _loop505; } } while (true); @@ -12123,10 +12123,10 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept AST id_AST = null; AST kw_AST = null; - boolean synPredMatched587 = false; + boolean synPredMatched590 = false; if (((LA(1)==IDENT) && (LA(2)==COLON))) { - int _m587 = mark(); - synPredMatched587 = true; + int _m590 = mark(); + synPredMatched590 = true; inputState.guessing++; try { { @@ -12134,12 +12134,12 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept } } catch (RecognitionException pe) { - synPredMatched587 = false; + synPredMatched590 = false; } - rewind(_m587); + rewind(_m590); inputState.guessing--; } - if ( synPredMatched587 ) { + if ( synPredMatched590 ) { id = LT(1); id_AST = astFactory.create(id); astFactory.addASTChild(currentAST, id_AST); @@ -12150,10 +12150,10 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept argumentLabel_AST = (AST)currentAST.root; } else { - boolean synPredMatched589 = false; + boolean synPredMatched592 = false; if (((_tokenSet_109.member(LA(1))) && (LA(2)==COLON))) { - int _m589 = mark(); - synPredMatched589 = true; + int _m592 = mark(); + synPredMatched592 = true; inputState.guessing++; try { { @@ -12161,12 +12161,12 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept } } catch (RecognitionException pe) { - synPredMatched589 = false; + synPredMatched592 = false; } - rewind(_m589); + rewind(_m592); inputState.guessing--; } - if ( synPredMatched589 ) { + if ( synPredMatched592 ) { keywordPropertyNames(); kw_AST = (AST)returnAST; astFactory.addASTChild(currentAST, returnAST); @@ -12261,11 +12261,38 @@ else if ((_tokenSet_73.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { } { - if ((_tokenSet_110.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { - namePart(); - np_AST = (AST)returnAST; + boolean synPredMatched450 = false; + if (((_tokenSet_110.member(LA(1))) && (_tokenSet_57.member(LA(2))))) { + int _m450 = mark(); + synPredMatched450 = true; + inputState.guessing++; + try { + { + declarationStart(); + } + } + catch (RecognitionException pe) { + synPredMatched450 = false; + } + rewind(_m450); +inputState.guessing--; } - else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + if ( synPredMatched450 ) { + nls(); + } + else if ((_tokenSet_73.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + { + if ((_tokenSet_111.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { + namePart(); + np_AST = (AST)returnAST; + } + else if ((_tokenSet_110.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + } + else { + throw new NoViableAltException(LT(1), getFilename()); + } + + } } else { throw new NoViableAltException(LT(1), getFilename()); @@ -12273,7 +12300,6 @@ else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { } if ( inputState.guessing==0 ) { - pathElement_AST = (AST)currentAST.root; if (np_AST == null) { GroovySourceToken ident = new GroovySourceToken(IDENT); @@ -12283,9 +12309,13 @@ else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { ident.setColumnLast(((SourceInfo) LT(0)).getColumnLast()); np_AST = (AST)astFactory.make( (new ASTArray(1)).add(create(ident.getType(),ident.getText(),ident,null))); reportError(new NoViableAltException(LT(1), getFilename())); + while (LA(0) == NLS) rewind(mark() - 1); // give back spaces } - pathElement_AST = (AST)astFactory.make( (new ASTArray(4)).add(create(operator.getType(),operator.getText(),prefix,LT(1))).add(prefix).add(ta_AST).add(np_AST)); + } + if ( inputState.guessing==0 ) { + pathElement_AST = (AST)currentAST.root; + pathElement_AST = (AST)astFactory.make( (new ASTArray(4)).add(create(operator.getType(),operator.getText(),prefix,LT(1))).add(prefix).add(ta_AST).add(np_AST)); currentAST.root = pathElement_AST; currentAST.child = pathElement_AST!=null &&pathElement_AST.getFirstChild()!=null ? pathElement_AST.getFirstChild() : pathElement_AST; @@ -12491,7 +12521,6 @@ public final void namePart() throws RecognitionException, TokenStreamException { AST ats_AST = null; Token sl = null; AST sl_AST = null; - Token first = LT(1); { switch ( LA(1)) { @@ -12876,7 +12905,7 @@ public final void parenthesizedExpression() throws RecognitionException, TokenSt firstContainsDeclaration=strictContextExpression(true); astFactory.addASTChild(currentAST, returnAST); { - _loop547: + _loop550: do { if ((LA(1)==SEMI)) { match(SEMI); @@ -12958,7 +12987,7 @@ public final void parenthesizedExpression() throws RecognitionException, TokenSt } } else { - break _loop547; + break _loop550; } } while (true); @@ -13021,7 +13050,7 @@ public final void stringConstructorExpression() throws RecognitionException, Tok stringConstructorValuePart(); astFactory.addASTChild(currentAST, returnAST); { - _loop557: + _loop560: do { if ((LA(1)==STRING_CTOR_MIDDLE)) { cm = LT(1); @@ -13035,7 +13064,7 @@ public final void stringConstructorExpression() throws RecognitionException, Tok astFactory.addASTChild(currentAST, returnAST); } else { - break _loop557; + break _loop560; } } while (true); @@ -13070,7 +13099,7 @@ public final void logicalOrExpression( logicalAndExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop473: + _loop476: do { if ((LA(1)==LOR)) { AST tmp295_AST = null; @@ -13082,7 +13111,7 @@ public final void logicalOrExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop473; + break _loop476; } } while (true); @@ -13102,7 +13131,7 @@ public final void logicalAndExpression( inclusiveOrExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop476: + _loop479: do { if ((LA(1)==LAND)) { AST tmp296_AST = null; @@ -13114,7 +13143,7 @@ public final void logicalAndExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop476; + break _loop479; } } while (true); @@ -13134,7 +13163,7 @@ public final void inclusiveOrExpression( exclusiveOrExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop479: + _loop482: do { if ((LA(1)==BOR)) { AST tmp297_AST = null; @@ -13146,7 +13175,7 @@ public final void inclusiveOrExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop479; + break _loop482; } } while (true); @@ -13166,7 +13195,7 @@ public final void exclusiveOrExpression( andExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop482: + _loop485: do { if ((LA(1)==BXOR)) { AST tmp298_AST = null; @@ -13178,7 +13207,7 @@ public final void exclusiveOrExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop482; + break _loop485; } } while (true); @@ -13198,7 +13227,7 @@ public final void andExpression( regexExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop485: + _loop488: do { if ((LA(1)==BAND)) { AST tmp299_AST = null; @@ -13210,7 +13239,7 @@ public final void andExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop485; + break _loop488; } } while (true); @@ -13230,7 +13259,7 @@ public final void regexExpression( equalityExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop489: + _loop492: do { if ((LA(1)==REGEX_FIND||LA(1)==REGEX_MATCH)) { { @@ -13262,7 +13291,7 @@ public final void regexExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop489; + break _loop492; } } while (true); @@ -13282,7 +13311,7 @@ public final void equalityExpression( relationalExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop493: + _loop496: do { if (((LA(1) >= NOT_EQUAL && LA(1) <= COMPARE_TO))) { { @@ -13338,7 +13367,7 @@ public final void equalityExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop493; + break _loop496; } } while (true); @@ -13453,7 +13482,7 @@ public final void additiveExpression( multiplicativeExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop506: + _loop509: do { if ((LA(1)==PLUS||LA(1)==MINUS) && (_tokenSet_95.member(LA(2)))) { { @@ -13485,7 +13514,7 @@ public final void additiveExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop506; + break _loop509; } } while (true); @@ -13514,7 +13543,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop511: + _loop514: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13554,7 +13583,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop511; + break _loop514; } } while (true); @@ -13574,7 +13603,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop515: + _loop518: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13614,7 +13643,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop515; + break _loop518; } } while (true); @@ -13637,7 +13666,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop519: + _loop522: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13677,7 +13706,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop519; + break _loop522; } } while (true); @@ -13700,7 +13729,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop523: + _loop526: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13740,7 +13769,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop523; + break _loop526; } } while (true); @@ -13783,7 +13812,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop527: + _loop530: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13823,7 +13852,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop527; + break _loop530; } } while (true); @@ -13851,7 +13880,7 @@ public final void powerExpressionNotPlusMinus( unaryExpressionNotPlusMinus(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop534: + _loop537: do { if ((LA(1)==STAR_STAR)) { AST tmp335_AST = null; @@ -13863,7 +13892,7 @@ public final void powerExpressionNotPlusMinus( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop534; + break _loop537; } } while (true); @@ -13883,7 +13912,7 @@ public final void powerExpression( unaryExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop531: + _loop534: do { if ((LA(1)==STAR_STAR)) { AST tmp336_AST = null; @@ -13895,7 +13924,7 @@ public final void powerExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop531; + break _loop534; } } while (true); @@ -14076,10 +14105,10 @@ public final void unaryExpressionNotPlusMinus( case NUM_BIG_DECIMAL: { { - boolean synPredMatched538 = false; + boolean synPredMatched541 = false; if (((LA(1)==LPAREN) && ((LA(2) >= LITERAL_void && LA(2) <= LITERAL_double)))) { - int _m538 = mark(); - synPredMatched538 = true; + int _m541 = mark(); + synPredMatched541 = true; inputState.guessing++; try { { @@ -14090,12 +14119,12 @@ public final void unaryExpressionNotPlusMinus( } } catch (RecognitionException pe) { - synPredMatched538 = false; + synPredMatched541 = false; } - rewind(_m538); + rewind(_m541); inputState.guessing--; } - if ( synPredMatched538 ) { + if ( synPredMatched541 ) { lpb = LT(1); lpb_AST = astFactory.create(lpb); astFactory.makeASTRoot(currentAST, lpb_AST); @@ -14110,10 +14139,10 @@ public final void unaryExpressionNotPlusMinus( astFactory.addASTChild(currentAST, returnAST); } else { - boolean synPredMatched540 = false; + boolean synPredMatched543 = false; if (((LA(1)==LPAREN) && (LA(2)==IDENT))) { - int _m540 = mark(); - synPredMatched540 = true; + int _m543 = mark(); + synPredMatched543 = true; inputState.guessing++; try { { @@ -14124,12 +14153,12 @@ public final void unaryExpressionNotPlusMinus( } } catch (RecognitionException pe) { - synPredMatched540 = false; + synPredMatched543 = false; } - rewind(_m540); + rewind(_m543); inputState.guessing--; } - if ( synPredMatched540 ) { + if ( synPredMatched543 ) { lp = LT(1); lp_AST = astFactory.create(lp); astFactory.makeASTRoot(currentAST, lp_AST); @@ -14408,7 +14437,7 @@ public final void newExpression() throws RecognitionException, TokenStreamExcept cb_AST = (AST)returnAST; astFactory.addASTChild(currentAST, returnAST); } - else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + else if ((_tokenSet_110.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { } else { throw new NoViableAltException(LT(1), getFilename()); @@ -14617,8 +14646,8 @@ public final void newArrayDeclarator() throws RecognitionException, TokenStreamE AST lb_AST = null; { - int _cnt597=0; - _loop597: + int _cnt600=0; + _loop600: do { if ((LA(1)==LBRACK) && (_tokenSet_118.member(LA(2)))) { lb = LT(1); @@ -14681,10 +14710,10 @@ public final void newArrayDeclarator() throws RecognitionException, TokenStreamE match(RBRACK); } else { - if ( _cnt597>=1 ) { break _loop597; } else {throw new NoViableAltException(LT(1), getFilename());} + if ( _cnt600>=1 ) { break _loop600; } else {throw new NoViableAltException(LT(1), getFilename());} } - _cnt597++; + _cnt600++; } while (true); } newArrayDeclarator_AST = (AST)currentAST.root; @@ -14707,10 +14736,10 @@ public final byte argument() throws RecognitionException, TokenStreamException boolean sce=false; { - boolean synPredMatched583 = false; + boolean synPredMatched586 = false; if (((_tokenSet_107.member(LA(1))) && (_tokenSet_108.member(LA(2))))) { - int _m583 = mark(); - synPredMatched583 = true; + int _m586 = mark(); + synPredMatched586 = true; inputState.guessing++; try { { @@ -14718,12 +14747,12 @@ public final byte argument() throws RecognitionException, TokenStreamException } } catch (RecognitionException pe) { - synPredMatched583 = false; + synPredMatched586 = false; } - rewind(_m583); + rewind(_m586); inputState.guessing--; } - if ( synPredMatched583 ) { + if ( synPredMatched586 ) { argumentLabel(); astFactory.addASTChild(currentAST, returnAST); c = LT(1); @@ -16190,19 +16219,19 @@ private static final long[] mk_tokenSet_109() { public static final BitSet _tokenSet_109 = new BitSet(mk_tokenSet_109()); private static final long[] mk_tokenSet_110() { long[] data = new long[8]; - data[0]=17317308137472L; - data[1]=5187582781288218624L; - data[2]=16706960926L; - data[3]=32L; + data[0]=17317308137474L; + data[1]=-4295098368L; + data[2]=-33L; + data[3]=16319L; return data; } public static final BitSet _tokenSet_110 = new BitSet(mk_tokenSet_110()); private static final long[] mk_tokenSet_111() { long[] data = new long[8]; - data[0]=17317308137474L; - data[1]=-4295098368L; - data[2]=-33L; - data[3]=16319L; + data[0]=17317308137472L; + data[1]=5187582781288218624L; + data[2]=16706960926L; + data[3]=32L; return data; } public static final BitSet _tokenSet_111 = new BitSet(mk_tokenSet_111()); diff --git a/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap b/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap index 5c88edc9b7..c44285db82 100644 --- a/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap +++ b/base/org.codehaus.groovy25/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap @@ -8066,91 +8066,91 @@ groovy.g 2695:12103 2695:12104 2696:12106 -2706:12383 -2706:12391 -2706:12392 -2706:12393 -2706:12395 -2706:12396 -2706:12397 -2706:12401 -2706:12479 -2706:12480 -2707:12384 -2708:12385 -2709:12386 -2709:12398 -2709:12403 -2709:12404 -2710:12387 -2710:12405 -2710:12406 -2711:12388 -2711:12408 -2711:12409 -2711:12410 -2711:12434 -2711:12460 -2711:12461 -2711:12462 -2711:12463 +2706:12413 +2706:12421 +2706:12422 +2706:12423 +2706:12425 +2706:12426 +2706:12427 +2706:12431 +2706:12509 +2706:12510 +2707:12414 +2708:12415 +2709:12416 +2709:12428 +2709:12433 +2709:12434 +2710:12417 +2710:12435 +2710:12436 +2711:12418 +2711:12438 +2711:12439 +2711:12440 2711:12464 -2711:12465 -2711:12466 -2712:12389 -2713:12390 -2725:12411 -2725:12412 -2725:12413 -2725:12414 -2725:12415 -2725:12416 -2725:12418 -2725:12420 -2725:12421 -2725:12422 -2725:12423 -2725:12424 -2725:12425 -2725:12426 -2725:12427 -2726:12428 -2727:12399 +2711:12490 +2711:12491 +2711:12492 +2711:12493 +2711:12494 +2711:12495 +2711:12496 +2712:12419 +2713:12420 +2725:12441 +2725:12442 +2725:12443 +2725:12444 +2725:12445 +2725:12446 +2725:12448 +2725:12450 +2725:12451 +2725:12452 +2725:12453 +2725:12454 +2725:12455 +2725:12456 +2725:12457 +2726:12458 2727:12429 -2727:12430 -2728:12431 -2728:12432 -2731:12435 -2731:12436 -2731:12437 -2731:12438 -2731:12439 -2731:12440 -2731:12441 -2731:12443 -2731:12444 -2731:12446 -2731:12447 -2731:12448 -2731:12449 -2731:12450 -2731:12451 -2731:12452 -2731:12453 -2732:12454 -2733:12400 -2733:12455 -2733:12456 -2734:12457 -2734:12458 -2736:12467 -2736:12468 -2736:12473 -2736:12475 -2736:12476 -2737:12470 -2737:12478 -2738:12471 +2727:12459 +2727:12460 +2728:12461 +2728:12462 +2731:12465 +2731:12466 +2731:12467 +2731:12468 +2731:12469 +2731:12470 +2731:12471 +2731:12473 +2731:12474 +2731:12476 +2731:12477 +2731:12478 +2731:12479 +2731:12480 +2731:12481 +2731:12482 +2731:12483 +2732:12484 +2733:12430 +2733:12485 +2733:12486 +2734:12487 +2734:12488 +2736:12497 +2736:12498 +2736:12503 +2736:12505 +2736:12506 +2737:12500 +2737:12508 +2738:12501 2742:12190 2742:12191 2742:12192 @@ -8159,13 +8159,13 @@ groovy.g 2742:12196 2742:12202 2742:12204 -2742:12342 -2742:12343 -2742:12344 -2742:12345 -2742:12346 -2742:12347 -2742:12348 +2742:12372 +2742:12373 +2742:12374 +2742:12375 +2742:12376 +2742:12377 +2742:12378 2745:12205 2745:12206 2745:12207 @@ -8207,67 +8207,91 @@ groovy.g 2756:12258 2756:12259 2756:12260 -2760:12198 -2760:12264 -2760:12265 -2760:12266 -2760:12267 -2760:12269 -2760:12270 -2760:12271 -2760:12272 -2761:12275 -2761:12276 -2761:12289 -2761:12291 -2761:12292 -2762:12278 -2762:12294 -2763:12279 -2764:12280 -2765:12281 -2766:12282 -2767:12283 -2768:12284 -2769:12285 -2770:12286 -2771:12287 +2759:12198 +2759:12264 +2759:12265 +2759:12266 +2759:12267 +2759:12268 +2759:12269 +2759:12271 +2759:12273 +2759:12274 +2759:12275 +2759:12276 +2759:12277 +2759:12278 +2759:12279 +2759:12280 +2759:12281 +2759:12282 +2759:12283 +2759:12285 +2759:12286 +2759:12287 +2759:12288 +2759:12290 +2759:12291 +2759:12292 +2759:12293 +2759:12296 +2759:12297 +2759:12298 +2759:12299 +2760:12302 +2761:12304 +2762:12305 +2763:12306 +2764:12307 +2765:12308 +2766:12309 +2767:12310 +2768:12311 +2769:12312 +2770:12313 +2773:12316 +2773:12317 +2773:12318 +2773:12319 +2773:12321 +2773:12322 +2774:12324 2775:12199 -2775:12297 -2775:12298 -2775:12299 -2775:12300 -2776:12301 -2776:12302 -2776:12303 -2776:12304 -2776:12306 -2776:12307 -2777:12309 +2775:12327 +2775:12328 +2775:12329 +2775:12330 +2776:12331 +2776:12332 +2776:12333 +2776:12334 +2776:12336 +2776:12337 +2777:12339 2779:12200 -2779:12312 -2779:12313 -2779:12314 -2779:12315 -2780:12316 -2780:12317 -2780:12318 -2780:12319 -2780:12321 -2780:12322 -2781:12324 +2779:12342 +2779:12343 +2779:12344 +2779:12345 +2780:12346 +2780:12347 +2780:12348 +2780:12349 +2780:12351 +2780:12352 +2781:12354 2785:12201 -2785:12327 -2785:12328 -2785:12329 -2785:12330 -2786:12331 -2786:12332 -2786:12333 -2786:12334 -2786:12336 -2786:12337 -2787:12339 +2785:12357 +2785:12358 +2785:12359 +2785:12360 +2786:12361 +2786:12362 +2786:12363 +2786:12364 +2786:12366 +2786:12367 +2787:12369 2789:11944 2789:11946 2789:11947 @@ -8328,93 +8352,63 @@ groovy.g 2796:12014 2796:12015 2796:12016 -2802:12482 -2802:12485 -2802:12487 -2802:12488 -2802:12489 -2802:12494 -2802:12685 -2802:12686 -2803:12483 -2804:12484 -2804:12490 -2804:12491 -2804:12497 -2804:12498 -2804:12499 -2804:12500 -2804:12501 -2804:12502 -2804:12503 -2804:12504 -2804:12505 -2804:12575 -2804:12576 -2804:12577 -2804:12578 -2804:12579 -2807:12582 -2807:12583 -2807:12584 -2807:12585 -2807:12586 -2807:12587 -2807:12588 -2807:12678 -2807:12679 -2807:12680 -2807:12681 -2807:12682 -2808:12492 -2808:12493 -2808:12591 -2808:12592 -2808:12593 -2808:12594 -2808:12595 -2808:12596 -2808:12597 -2808:12598 -2808:12684 -2810:12602 -2810:12603 -2810:12604 -2810:12605 -2810:12606 -2812:12609 -2812:12610 -2812:12611 -2812:12612 -2818:12615 -2818:12616 -2818:12617 -2818:12618 -2818:12619 -2818:12620 -2818:12621 -2818:12622 -2818:12623 -2818:12624 -2818:12625 -2818:12626 -2818:12627 -2818:12628 -2818:12629 -2818:12630 -2818:12631 -2818:12632 -2818:12633 -2818:12634 -2818:12635 -2818:12636 -2818:12637 -2818:12638 -2818:12639 -2818:12640 -2818:12641 -2818:12642 -2818:12643 +2802:12512 +2802:12515 +2802:12517 +2802:12518 +2802:12519 +2802:12714 +2802:12715 +2803:12513 +2804:12514 +2804:12520 +2804:12521 +2804:12526 +2804:12527 +2804:12528 +2804:12529 +2804:12530 +2804:12531 +2804:12532 +2804:12533 +2804:12534 +2804:12604 +2804:12605 +2804:12606 +2804:12607 +2804:12608 +2807:12611 +2807:12612 +2807:12613 +2807:12614 +2807:12615 +2807:12616 +2807:12617 +2807:12707 +2807:12708 +2807:12709 +2807:12710 +2807:12711 +2808:12522 +2808:12523 +2808:12620 +2808:12621 +2808:12622 +2808:12623 +2808:12624 +2808:12625 +2808:12626 +2808:12627 +2808:12713 +2810:12631 +2810:12632 +2810:12633 +2810:12634 +2810:12635 +2812:12638 +2812:12639 +2812:12640 +2812:12641 2818:12644 2818:12645 2818:12646 @@ -8447,6 +8441,35 @@ groovy.g 2818:12673 2818:12674 2818:12675 +2818:12676 +2818:12677 +2818:12678 +2818:12679 +2818:12680 +2818:12681 +2818:12682 +2818:12683 +2818:12684 +2818:12685 +2818:12686 +2818:12687 +2818:12688 +2818:12689 +2818:12690 +2818:12691 +2818:12692 +2818:12693 +2818:12694 +2818:12695 +2818:12696 +2818:12697 +2818:12698 +2818:12699 +2818:12700 +2818:12701 +2818:12702 +2818:12703 +2818:12704 2828:4935 2828:4937 2828:4938 @@ -8712,2994 +8735,2994 @@ groovy.g 2870:5277 2870:5278 2873:5280 -2876:12808 -2876:12811 -2876:12813 -2876:12814 -2876:12815 -2876:12817 -2876:12856 -2876:12857 -2877:12809 -2877:12816 -2877:12820 -2877:12821 -2877:12822 -2877:12823 -2877:12824 -2877:12841 -2877:12842 -2877:12843 -2877:12844 +2876:12837 +2876:12840 +2876:12842 +2876:12843 +2876:12844 +2876:12846 +2876:12885 +2876:12886 +2877:12838 2877:12845 -2878:12810 -2878:12825 -2878:12826 -2878:12827 -2878:12828 -2878:12830 -2878:12831 -2879:12835 -2879:12836 -2879:12837 -2879:12838 -2881:12847 -2881:12848 -2881:12849 -2881:12850 -2881:12852 -2881:12853 -2882:12855 -2910:12688 -2910:12710 -2910:12711 -2910:12712 -2910:12714 -2910:12715 -2910:12716 -2910:12719 +2877:12849 +2877:12850 +2877:12851 +2877:12852 +2877:12853 +2877:12870 +2877:12871 +2877:12872 +2877:12873 +2877:12874 +2878:12839 +2878:12854 +2878:12855 +2878:12856 +2878:12857 +2878:12859 +2878:12860 +2879:12864 +2879:12865 +2879:12866 +2879:12867 +2881:12876 +2881:12877 +2881:12878 +2881:12879 +2881:12881 +2881:12882 +2882:12884 +2910:12717 +2910:12739 2910:12740 -2910:12762 -2910:12763 -2911:12689 -2912:12690 -2912:12720 -2913:12691 -2913:12717 -2913:12721 -2913:12722 -2914:12692 -2914:12723 -2915:12693 -2915:12724 -2915:12725 -2915:12726 -2915:12734 -2915:12736 -2915:12737 -2916:12694 -2916:12727 -2916:12739 -2917:12695 -2917:12728 -2918:12696 -2918:12729 -2919:12697 -2919:12730 -2920:12698 -2920:12731 -2921:12699 -2921:12732 -2922:12700 -2923:12701 -2924:12702 -2925:12703 -2925:12741 -2925:12742 -2925:12758 -2925:12759 -2925:12760 -2925:12761 -2926:12704 -2926:12744 -2927:12705 -2927:12745 -2928:12706 -2928:12746 -2929:12707 -2929:12747 -2930:12708 -2930:12748 -2931:12709 -2931:12749 -2932:12750 -2933:12751 -2934:12752 -2935:12753 -2936:12754 -2937:12755 -2938:12756 -2946:12350 -2946:12353 -2946:12354 -2946:12355 -2946:12357 -2946:12358 -2946:12359 +2910:12741 +2910:12743 +2910:12744 +2910:12745 +2910:12748 +2910:12769 +2910:12791 +2910:12792 +2911:12718 +2912:12719 +2912:12749 +2913:12720 +2913:12746 +2913:12750 +2913:12751 +2914:12721 +2914:12752 +2915:12722 +2915:12753 +2915:12754 +2915:12755 +2915:12763 +2915:12765 +2915:12766 +2916:12723 +2916:12756 +2916:12768 +2917:12724 +2917:12757 +2918:12725 +2918:12758 +2919:12726 +2919:12759 +2920:12727 +2920:12760 +2921:12728 +2921:12761 +2922:12729 +2923:12730 +2924:12731 +2925:12732 +2925:12770 +2925:12771 +2925:12787 +2925:12788 +2925:12789 +2925:12790 +2926:12733 +2926:12773 +2927:12734 +2927:12774 +2928:12735 +2928:12775 +2929:12736 +2929:12776 +2930:12737 +2930:12777 +2931:12738 +2931:12778 +2932:12779 +2933:12780 +2934:12781 +2935:12782 +2936:12783 +2937:12784 +2938:12785 2946:12380 -2946:12381 -2947:12351 -2948:12352 -2952:12360 -2952:12362 -2952:12363 -2953:12364 -2953:12365 -2953:12374 -2953:12376 -2953:12377 -2954:12367 -2954:12379 -2955:12368 -2956:12369 -2957:12370 -2958:12371 -2959:12372 -2970:12765 -2970:12771 -2970:12772 -2970:12773 -2970:12775 -2970:12776 -2970:12777 -2970:12805 -2970:12806 -2971:12766 -2972:12767 -2972:12778 -2972:12779 -2972:12782 -2972:12783 -2972:12784 -2972:12785 -2973:12768 -2973:12780 -2973:12786 -2973:12787 -2974:12769 -2974:12788 -2975:12770 -2975:12789 -2975:12790 -2975:12791 -2975:12799 -2975:12801 -2975:12802 -2976:12792 -2976:12804 -2977:12793 -2978:12794 -2979:12795 -2980:12796 -2981:12797 -2986:8703 -2986:8704 -2986:8705 -2986:8707 -2986:8708 -2986:8709 -2986:8962 -2986:8963 -2987:8711 -2987:8712 -2988:8714 -2988:8955 -2988:8956 -2988:8957 -2988:8958 -2988:8959 -2989:8715 -2989:8716 -2989:8717 -2989:8718 -2989:8719 -2989:8720 -2989:8721 -2989:8722 -2989:8723 -2989:8724 -2989:8725 -2989:8726 -2989:8727 -2989:8728 -2989:8729 -2989:8731 -2989:8732 -2989:8733 -2989:8734 -2989:8735 -2989:8736 -2989:8737 -2989:8836 -2989:8837 -2989:8838 -2989:8839 -2989:8840 -2989:8961 -2990:8740 -2990:8741 -2990:8742 -2990:8743 -2990:8744 -2990:8745 -2991:8748 -2991:8749 -2991:8750 -2991:8751 -2991:8752 -2991:8753 -2992:8756 -2992:8757 -2992:8758 -2992:8759 -2992:8760 -2992:8761 -2993:8764 -2993:8765 -2993:8766 -2993:8767 -2993:8768 -2993:8769 -2994:8772 -2994:8773 -2994:8774 -2994:8775 -2994:8776 -2994:8777 -2995:8780 -2995:8781 -2995:8782 -2995:8783 -2995:8784 -2995:8785 -2996:8788 -2996:8789 -2996:8790 -2996:8791 -2996:8792 -2996:8793 -2997:8796 -2997:8797 -2997:8798 -2997:8799 -2997:8800 -2997:8801 -2998:8804 -2998:8805 -2998:8806 -2998:8807 -2998:8808 -2998:8809 -2999:8812 -2999:8813 -2999:8814 -2999:8815 -2999:8816 -2999:8817 -3000:8820 -3000:8821 -3000:8822 -3000:8823 -3000:8824 -3000:8825 -3001:8828 -3001:8829 -3001:8830 -3001:8831 -3001:8832 -3001:8833 -3003:8842 -3004:8843 -3004:8844 -3010:8846 -3010:8847 -3010:8861 -3010:8862 -3010:8863 -3010:8864 -3011:8849 -3012:8850 -3013:8851 -3014:8852 -3015:8853 -3016:8854 -3017:8855 -3018:8856 -3019:8857 -3020:8858 -3021:8859 -3028:5284 -3028:5285 -3028:5286 -3028:5288 -3028:5289 -3028:5290 -3028:5292 -3028:5380 -3028:5396 -3028:5397 -3029:5293 -3029:5294 -3030:5322 -3030:5371 -3030:5373 -3030:5374 -3030:5375 -3030:5376 -3030:5377 -3031:5296 -3031:5297 -3031:5298 -3031:5299 -3031:5300 -3031:5301 -3031:5303 -3031:5304 -3031:5306 -3031:5307 -3031:5308 -3031:5309 -3031:5310 -3031:5311 -3031:5312 -3031:5313 -3031:5314 -3031:5315 -3031:5316 -3031:5317 -3031:5318 -3031:5319 -3031:5320 -3031:5321 -3031:5379 -3032:5323 -3032:5324 -3032:5325 -3032:5326 -3032:5327 -3032:5328 -3032:5329 -3032:5331 -3032:5332 -3032:5334 -3032:5335 -3032:5336 -3032:5337 -3032:5338 -3032:5339 -3032:5340 -3032:5341 -3032:5342 -3032:5343 -3032:5344 -3032:5345 -3032:5346 -3032:5347 -3032:5348 -3032:5349 -3032:5350 -3032:5351 -3032:5352 -3032:5353 -3032:5354 -3032:5355 -3035:5357 -3035:5358 -3035:5367 -3035:5368 -3035:5369 -3035:5370 -3036:5360 -3037:5361 -3038:5362 -3039:5363 -3040:5364 -3041:5365 -3048:5381 -3048:5382 -3048:5392 -3048:5393 -3048:5394 -3048:5395 -3049:5384 -3050:5385 -3051:5386 -3052:5387 -3053:5388 -3054:5389 -3055:5390 -3061:13062 -3061:13063 -3061:13064 -3061:13066 -3061:13067 -3061:13068 -3061:13091 -3061:13092 -3062:13070 -3062:13071 -3062:13072 -3062:13073 -3062:13074 -3062:13075 -3062:13076 -3062:13077 -3062:13078 -3062:13079 -3062:13080 -3062:13081 -3062:13082 -3062:13083 -3062:13084 -3062:13085 -3062:13086 -3062:13088 -3062:13089 -3062:13090 -3067:13094 -3067:13095 -3067:13096 -3067:13098 -3067:13099 -3067:13100 -3067:13123 -3067:13124 -3068:13102 -3068:13103 -3068:13104 -3068:13105 -3068:13106 -3068:13107 -3068:13108 -3068:13109 -3068:13110 -3068:13111 -3068:13112 -3068:13113 -3068:13114 -3068:13115 -3068:13116 -3068:13117 -3068:13118 -3068:13120 -3068:13121 -3068:13122 -3072:13126 -3072:13127 -3072:13128 -3072:13130 -3072:13131 -3072:13132 -3072:13155 -3072:13156 -3073:13134 -3073:13135 -3073:13136 -3073:13137 -3073:13138 -3073:13139 -3073:13140 -3073:13141 -3073:13142 -3073:13143 -3073:13144 -3073:13145 -3073:13146 -3073:13147 -3073:13148 -3073:13149 -3073:13150 -3073:13152 -3073:13153 -3073:13154 -3078:13158 -3078:13159 -3078:13160 -3078:13162 -3078:13163 -3078:13164 -3078:13187 -3078:13188 -3079:13166 -3079:13167 -3079:13168 -3079:13169 -3079:13170 -3079:13171 -3079:13172 -3079:13173 -3079:13174 -3079:13175 -3079:13176 -3079:13177 -3079:13178 -3079:13179 -3079:13180 -3079:13181 -3079:13182 -3079:13184 -3079:13185 -3079:13186 -3084:13190 -3084:13191 -3084:13192 -3084:13194 -3084:13195 -3084:13196 -3084:13219 -3084:13220 -3085:13198 -3085:13199 -3085:13200 -3085:13201 -3085:13202 -3085:13203 -3085:13204 -3085:13205 -3085:13206 -3085:13207 -3085:13208 -3085:13209 -3085:13210 -3085:13211 -3085:13212 -3085:13213 -3085:13214 -3085:13216 -3085:13217 -3085:13218 -3091:13222 -3091:13223 -3091:13224 -3091:13226 -3091:13227 -3091:13228 -3091:13271 -3091:13272 -3092:13230 -3092:13231 -3092:13232 -3092:13233 -3092:13234 -3092:13235 -3092:13237 -3092:13238 -3092:13239 -3092:13240 -3092:13241 -3092:13242 -3092:13243 -3092:13246 -3092:13247 -3092:13248 -3092:13249 -3092:13250 -3092:13251 -3092:13254 -3092:13255 -3092:13256 -3092:13257 -3092:13258 -3092:13260 -3092:13261 -3092:13262 -3092:13263 -3092:13264 -3092:13265 -3092:13266 -3092:13268 -3092:13269 -3092:13270 -3096:13274 -3096:13275 -3096:13276 -3096:13278 -3096:13279 -3096:13280 -3096:13347 -3096:13348 -3097:13282 -3097:13283 -3097:13284 -3097:13285 -3097:13286 -3097:13287 -3097:13289 -3097:13290 -3097:13291 -3097:13292 -3097:13293 -3097:13294 -3097:13295 -3097:13298 -3097:13299 -3097:13300 -3097:13301 -3097:13302 -3097:13303 -3097:13306 -3097:13307 -3097:13308 -3097:13309 -3097:13310 -3097:13311 -3097:13314 -3097:13315 -3097:13316 -3097:13317 -3097:13318 -3097:13319 -3097:13322 -3097:13323 -3097:13324 -3097:13325 -3097:13326 -3097:13327 -3097:13330 -3097:13331 -3097:13332 -3097:13333 -3097:13334 -3097:13336 -3097:13337 -3097:13338 -3097:13339 -3097:13340 -3097:13341 -3097:13342 -3097:13344 -3097:13345 -3097:13346 -3101:13350 -3101:13351 -3101:13352 -3101:13354 -3101:13355 -3101:13356 -3101:13442 -3101:13443 -3102:13358 -3102:13359 -3103:13361 -3103:13415 -3103:13424 -3103:13433 -3103:13435 -3103:13436 -3103:13437 -3103:13438 -3104:13364 -3104:13365 -3104:13366 -3104:13367 -3104:13368 -3104:13369 -3104:13370 -3104:13405 -3104:13406 -3104:13407 -3104:13408 -3104:13409 -3104:13441 -3105:13373 -3105:13374 -3105:13375 -3105:13376 -3105:13377 -3105:13378 -3106:13381 -3106:13382 -3106:13383 -3106:13384 -3106:13385 -3106:13386 -3107:13389 -3107:13390 -3107:13391 -3107:13392 -3107:13393 -3107:13394 -3108:13397 -3108:13398 -3108:13399 -3108:13400 -3108:13401 -3108:13402 -3110:13411 -3111:13412 -3111:13413 -3114:13416 -3114:13417 -3114:13418 -3114:13419 -3114:13420 -3114:13421 -3114:13422 -3114:13423 -3115:13425 -3115:13426 -3115:13427 -3115:13428 -3115:13429 -3115:13430 -3115:13431 -3115:13432 -3122:10655 -3122:10656 -3122:10657 -3122:10659 -3122:10660 -3122:10661 -3122:10663 -3122:10743 -3122:10763 -3122:10764 -3123:10664 -3123:10665 -3124:10666 -3124:10667 -3124:10668 -3124:10735 -3124:10736 -3124:10737 -3124:10738 -3124:10740 -3124:10741 -3124:10742 -3125:10669 -3125:10671 -3125:10672 -3125:10673 -3125:10674 -3125:10675 -3125:10677 -3125:10678 -3125:10679 -3125:10680 -3125:10681 -3125:10682 -3125:10683 -3125:10686 -3125:10687 -3125:10688 -3125:10689 -3125:10690 -3125:10691 -3125:10694 -3125:10695 -3125:10696 -3125:10697 -3125:10698 -3125:10699 -3125:10702 -3125:10703 -3125:10704 -3125:10705 -3125:10706 -3125:10726 -3125:10727 -3125:10728 -3125:10729 -3125:10730 -3126:10710 -3126:10711 -3126:10712 -3126:10713 -3126:10714 -3126:10715 -3127:10718 -3127:10719 -3127:10720 -3127:10721 -3127:10722 -3127:10723 -3129:10732 -3130:10733 -3130:10734 -3135:10744 -3135:10745 -3135:10759 -3135:10760 -3135:10761 -3135:10762 -3136:10747 -3137:10748 -3138:10749 -3139:10750 -3140:10751 -3141:10752 -3142:10753 -3143:10754 -3144:10755 -3145:10756 -3146:10757 -3152:13445 -3152:13446 -3152:13447 -3152:13449 -3152:13450 -3152:13451 -3152:13494 -3152:13495 -3153:13453 -3153:13454 -3154:13455 -3154:13456 -3154:13457 -3154:13486 -3154:13487 -3154:13488 -3154:13489 -3154:13491 -3154:13492 -3154:13493 -3157:13458 -3157:13460 -3157:13461 -3157:13462 -3157:13463 -3157:13464 -3157:13465 -3157:13466 -3157:13469 -3157:13470 -3157:13471 -3157:13472 -3157:13473 -3157:13474 -3157:13477 -3157:13478 -3157:13479 -3157:13480 -3157:13481 -3157:13483 -3158:13484 -3158:13485 -3164:13497 -3164:13498 -3164:13499 -3164:13501 -3164:13502 -3164:13503 -3164:13505 -3164:13835 -3164:13836 -3164:13837 -3164:13838 -3164:13839 -3164:13840 -3164:13841 -3165:13506 -3165:13507 -3165:13509 -3165:13510 -3165:13511 -3165:13512 -3165:13513 -3165:13514 -3165:13515 -3165:13516 -3165:13517 -3165:13518 -3165:13519 -3165:13521 -3165:13522 -3165:13523 -3165:13524 -3165:13525 -3165:13526 -3165:13527 -3165:13530 -3165:13531 -3165:13532 -3165:13533 -3165:13534 -3165:13535 -3165:13538 -3165:13539 -3165:13540 -3165:13541 -3165:13542 -3165:13543 -3165:13546 -3165:13547 -3165:13548 -3165:13549 -3165:13550 -3165:13552 -3165:13553 -3165:13554 -3165:13555 -3165:13556 -3165:13557 -3165:13558 -3165:13560 -3165:13561 -3166:13563 -3166:13566 -3166:13567 -3166:13569 -3166:13570 -3166:13571 -3166:13572 -3166:13573 -3166:13574 -3166:13575 -3166:13576 -3166:13577 -3166:13578 -3166:13579 -3166:13581 -3166:13582 -3166:13583 -3166:13584 -3166:13585 -3166:13586 -3166:13587 -3166:13590 -3166:13591 -3166:13592 -3166:13593 -3166:13594 -3166:13595 -3166:13598 -3166:13599 -3166:13600 -3166:13601 -3166:13602 -3166:13603 -3166:13606 -3166:13607 -3166:13608 -3166:13609 -3166:13610 -3166:13612 -3166:13613 -3166:13614 -3166:13615 -3166:13616 -3166:13617 -3166:13618 -3166:13620 -3166:13621 -3167:13623 -3167:13626 -3167:13627 -3167:13629 -3167:13630 -3167:13631 -3167:13632 -3167:13633 -3167:13634 -3167:13636 -3167:13637 -3167:13638 -3167:13639 -3167:13640 -3167:13641 -3167:13642 -3167:13644 -3167:13645 -3167:13646 -3167:13647 -3167:13648 -3167:13649 -3167:13650 -3167:13653 -3167:13654 -3167:13655 -3167:13656 -3167:13657 -3167:13658 -3167:13661 -3167:13662 -3167:13663 -3167:13664 -3167:13665 -3167:13666 -3167:13669 -3167:13670 -3167:13671 -3167:13672 -3167:13673 -3167:13675 -3167:13676 -3167:13677 -3167:13678 -3167:13679 -3167:13680 -3167:13681 -3167:13683 -3167:13684 -3168:13686 -3168:13689 -3168:13690 -3168:13692 -3168:13693 -3168:13694 -3168:13695 -3168:13696 -3168:13697 -3168:13699 -3168:13700 -3168:13701 -3168:13702 -3168:13703 -3168:13704 -3168:13705 -3168:13707 -3168:13708 -3168:13709 -3168:13710 -3168:13711 -3168:13712 -3168:13713 -3168:13716 -3168:13717 -3168:13718 -3168:13719 -3168:13720 -3168:13721 -3168:13724 -3168:13725 -3168:13726 -3168:13727 -3168:13728 -3168:13729 -3168:13732 -3168:13733 -3168:13734 -3168:13735 -3168:13736 -3168:13738 -3168:13739 -3168:13740 -3168:13741 -3168:13742 -3168:13743 -3168:13744 -3168:13746 -3168:13747 -3169:13749 -3169:13752 -3169:13753 -3169:13754 -3169:13755 -3169:13756 -3169:13757 -3169:13758 -3169:13759 -3169:13760 -3169:13761 -3169:13762 -3169:13763 -3169:13764 -3169:13765 -3169:13766 -3169:13767 -3169:13768 -3169:13769 -3169:13770 -3169:13771 -3169:13772 -3169:13773 -3169:13774 -3169:13775 -3169:13776 -3169:13777 -3169:13778 -3169:13779 -3169:13780 -3169:13781 -3169:13783 -3169:13784 -3169:13785 -3169:13786 -3169:13787 -3169:13788 -3169:13790 -3169:13791 -3169:13792 -3169:13793 -3169:13794 -3169:13795 -3169:13796 -3169:13799 -3169:13800 -3169:13801 -3169:13802 -3169:13803 -3169:13804 -3169:13807 -3169:13808 -3169:13809 -3169:13810 -3169:13811 -3169:13812 -3169:13815 -3169:13816 -3169:13817 -3169:13818 -3169:13819 -3169:13821 -3169:13822 -3169:13823 -3169:13824 -3169:13825 -3169:13826 -3169:13827 -3169:13829 -3169:13830 -3170:13832 -3173:13907 -3173:13908 -3173:13909 -3173:13911 -3173:13912 -3173:13913 -3173:13915 -3173:14005 -3173:14006 -3173:14007 -3173:14008 -3173:14009 -3173:14010 -3173:14011 -3174:13916 -3174:13917 -3174:13918 -3174:13919 -3174:13920 -3174:13921 -3174:13922 -3174:13923 -3174:13924 -3174:13925 -3175:13928 -3175:13929 -3175:13930 -3175:13931 -3175:13932 -3175:13933 -3175:13934 -3175:13935 -3175:13936 -3175:13937 -3176:13940 -3176:13941 -3176:13942 -3176:13943 -3176:13944 -3176:13945 -3176:13946 -3176:13947 -3176:13949 -3176:13950 -3176:13951 -3176:13952 -3177:13955 -3177:13956 -3177:13957 -3177:13958 -3177:13959 -3177:13960 -3177:13961 -3177:13962 -3177:13964 -3177:13965 -3177:13966 -3177:13967 -3178:13970 -3178:13971 -3178:13972 -3178:13973 -3178:13974 -3178:13975 -3178:13976 -3178:13977 -3178:13978 -3178:13979 -3178:13980 -3178:13981 -3178:13982 -3178:13983 -3178:13984 -3178:13985 -3178:13986 -3178:13987 -3178:13988 -3178:13989 -3178:13990 -3178:13991 -3178:13992 -3178:13993 -3178:13994 -3178:13995 -3178:13996 -3178:13997 -3178:13998 -3178:13999 -3178:14000 -3178:14001 -3178:14002 -3182:13875 -3182:13876 -3182:13877 -3182:13879 -3182:13880 -3182:13881 -3182:13904 -3182:13905 -3183:13883 -3183:13884 -3183:13885 -3183:13886 -3183:13887 -3183:13888 -3183:13889 -3183:13890 -3183:13891 -3183:13892 -3183:13893 -3183:13894 -3183:13895 -3183:13896 -3183:13897 -3183:13898 -3183:13899 -3183:13901 -3183:13902 -3183:13903 -3190:13843 -3190:13844 -3190:13845 -3190:13847 -3190:13848 -3190:13849 -3190:13872 -3190:13873 -3191:13851 -3191:13852 -3191:13853 -3191:13854 -3191:13855 -3191:13856 -3191:13857 -3191:13858 -3191:13859 -3191:13860 -3191:13861 -3191:13862 -3191:13863 -3191:13864 -3191:13865 -3191:13866 -3191:13867 -3191:13869 -3191:13870 -3191:13871 -3195:14013 -3195:14014 -3195:14015 -3195:14017 -3195:14018 -3195:14019 -3195:14025 -3195:14158 -3195:14159 -3195:14160 -3195:14161 -3195:14162 -3195:14163 -3195:14164 -3196:14026 -3196:14027 -3196:14028 -3196:14029 -3196:14030 -3196:14031 -3196:14032 -3196:14033 -3196:14034 -3196:14035 -3197:14038 -3197:14039 -3197:14040 -3197:14041 -3197:14042 -3197:14043 -3197:14044 -3197:14045 -3197:14046 -3197:14047 -3198:14050 -3198:14051 -3198:14052 -3198:14053 -3198:14054 -3198:14055 -3198:14056 -3198:14057 -3198:14058 -3198:14059 -3198:14060 -3198:14061 -3198:14062 -3198:14063 -3198:14064 -3198:14065 -3198:14066 -3198:14067 -3198:14068 -3198:14069 -3198:14070 -3198:14071 -3198:14072 -3198:14073 -3198:14074 -3198:14075 -3198:14076 -3198:14077 -3198:14111 -3198:14145 -3198:14149 -3198:14150 -3198:14151 -3198:14152 -3198:14153 -3199:14155 -3207:14079 -3207:14080 -3207:14081 -3207:14082 -3207:14083 -3207:14084 -3207:14086 -3207:14087 -3207:14088 -3207:14089 -3207:14091 -3207:14092 -3207:14093 -3207:14094 -3207:14095 -3207:14096 -3207:14097 -3207:14098 -3208:14020 -3208:14021 -3208:14099 -3208:14100 -3208:14101 -3208:14102 -3208:14103 -3208:14104 -3208:14106 -3208:14107 -3208:14108 -3209:14109 -3209:14110 -3216:14112 -3216:14113 -3216:14114 -3216:14115 -3216:14116 -3216:14117 -3216:14118 -3216:14120 -3216:14121 -3216:14122 -3216:14123 -3216:14125 -3216:14126 -3216:14127 -3216:14128 -3216:14129 -3216:14130 -3216:14131 -3216:14132 -3217:14022 -3217:14023 -3217:14133 -3217:14134 -3217:14135 -3217:14136 -3217:14137 -3217:14138 -3217:14140 -3217:14141 -3217:14142 -3218:14143 -3218:14144 -3220:14146 -3220:14147 -3220:14148 -3225:14166 -3225:14167 -3225:14168 -3225:14170 -3225:14171 -3225:14172 -3225:14207 -3225:14208 -3227:14178 -3227:14179 -3228:14189 -3228:14198 -3228:14200 -3228:14201 +2946:12383 +2946:12384 +2946:12385 +2946:12387 +2946:12388 +2946:12389 +2946:12410 +2946:12411 +2947:12381 +2948:12382 +2948:12390 +2948:12392 +2948:12393 +2949:12394 +2949:12395 +2949:12404 +2949:12406 +2949:12407 +2950:12397 +2950:12409 +2951:12398 +2952:12399 +2953:12400 +2954:12401 +2955:12402 +2966:12794 +2966:12800 +2966:12801 +2966:12802 +2966:12804 +2966:12805 +2966:12806 +2966:12834 +2966:12835 +2967:12795 +2968:12796 +2968:12807 +2968:12808 +2968:12811 +2968:12812 +2968:12813 +2968:12814 +2969:12797 +2969:12809 +2969:12815 +2969:12816 +2970:12798 +2970:12817 +2971:12799 +2971:12818 +2971:12819 +2971:12820 +2971:12828 +2971:12830 +2971:12831 +2972:12821 +2972:12833 +2973:12822 +2974:12823 +2975:12824 +2976:12825 +2977:12826 +2982:8703 +2982:8704 +2982:8705 +2982:8707 +2982:8708 +2982:8709 +2982:8962 +2982:8963 +2983:8711 +2983:8712 +2984:8714 +2984:8955 +2984:8956 +2984:8957 +2984:8958 +2984:8959 +2985:8715 +2985:8716 +2985:8717 +2985:8718 +2985:8719 +2985:8720 +2985:8721 +2985:8722 +2985:8723 +2985:8724 +2985:8725 +2985:8726 +2985:8727 +2985:8728 +2985:8729 +2985:8731 +2985:8732 +2985:8733 +2985:8734 +2985:8735 +2985:8736 +2985:8737 +2985:8836 +2985:8837 +2985:8838 +2985:8839 +2985:8840 +2985:8961 +2986:8740 +2986:8741 +2986:8742 +2986:8743 +2986:8744 +2986:8745 +2987:8748 +2987:8749 +2987:8750 +2987:8751 +2987:8752 +2987:8753 +2988:8756 +2988:8757 +2988:8758 +2988:8759 +2988:8760 +2988:8761 +2989:8764 +2989:8765 +2989:8766 +2989:8767 +2989:8768 +2989:8769 +2990:8772 +2990:8773 +2990:8774 +2990:8775 +2990:8776 +2990:8777 +2991:8780 +2991:8781 +2991:8782 +2991:8783 +2991:8784 +2991:8785 +2992:8788 +2992:8789 +2992:8790 +2992:8791 +2992:8792 +2992:8793 +2993:8796 +2993:8797 +2993:8798 +2993:8799 +2993:8800 +2993:8801 +2994:8804 +2994:8805 +2994:8806 +2994:8807 +2994:8808 +2994:8809 +2995:8812 +2995:8813 +2995:8814 +2995:8815 +2995:8816 +2995:8817 +2996:8820 +2996:8821 +2996:8822 +2996:8823 +2996:8824 +2996:8825 +2997:8828 +2997:8829 +2997:8830 +2997:8831 +2997:8832 +2997:8833 +2999:8842 +3000:8843 +3000:8844 +3006:8846 +3006:8847 +3006:8861 +3006:8862 +3006:8863 +3006:8864 +3007:8849 +3008:8850 +3009:8851 +3010:8852 +3011:8853 +3012:8854 +3013:8855 +3014:8856 +3015:8857 +3016:8858 +3017:8859 +3024:5284 +3024:5285 +3024:5286 +3024:5288 +3024:5289 +3024:5290 +3024:5292 +3024:5380 +3024:5396 +3024:5397 +3025:5293 +3025:5294 +3026:5322 +3026:5371 +3026:5373 +3026:5374 +3026:5375 +3026:5376 +3026:5377 +3027:5296 +3027:5297 +3027:5298 +3027:5299 +3027:5300 +3027:5301 +3027:5303 +3027:5304 +3027:5306 +3027:5307 +3027:5308 +3027:5309 +3027:5310 +3027:5311 +3027:5312 +3027:5313 +3027:5314 +3027:5315 +3027:5316 +3027:5317 +3027:5318 +3027:5319 +3027:5320 +3027:5321 +3027:5379 +3028:5323 +3028:5324 +3028:5325 +3028:5326 +3028:5327 +3028:5328 +3028:5329 +3028:5331 +3028:5332 +3028:5334 +3028:5335 +3028:5336 +3028:5337 +3028:5338 +3028:5339 +3028:5340 +3028:5341 +3028:5342 +3028:5343 +3028:5344 +3028:5345 +3028:5346 +3028:5347 +3028:5348 +3028:5349 +3028:5350 +3028:5351 +3028:5352 +3028:5353 +3028:5354 +3028:5355 +3031:5357 +3031:5358 +3031:5367 +3031:5368 +3031:5369 +3031:5370 +3032:5360 +3033:5361 +3034:5362 +3035:5363 +3036:5364 +3037:5365 +3044:5381 +3044:5382 +3044:5392 +3044:5393 +3044:5394 +3044:5395 +3045:5384 +3046:5385 +3047:5386 +3048:5387 +3049:5388 +3050:5389 +3051:5390 +3057:13091 +3057:13092 +3057:13093 +3057:13095 +3057:13096 +3057:13097 +3057:13120 +3057:13121 +3058:13099 +3058:13100 +3058:13101 +3058:13102 +3058:13103 +3058:13104 +3058:13105 +3058:13106 +3058:13107 +3058:13108 +3058:13109 +3058:13110 +3058:13111 +3058:13112 +3058:13113 +3058:13114 +3058:13115 +3058:13117 +3058:13118 +3058:13119 +3063:13123 +3063:13124 +3063:13125 +3063:13127 +3063:13128 +3063:13129 +3063:13152 +3063:13153 +3064:13131 +3064:13132 +3064:13133 +3064:13134 +3064:13135 +3064:13136 +3064:13137 +3064:13138 +3064:13139 +3064:13140 +3064:13141 +3064:13142 +3064:13143 +3064:13144 +3064:13145 +3064:13146 +3064:13147 +3064:13149 +3064:13150 +3064:13151 +3068:13155 +3068:13156 +3068:13157 +3068:13159 +3068:13160 +3068:13161 +3068:13184 +3068:13185 +3069:13163 +3069:13164 +3069:13165 +3069:13166 +3069:13167 +3069:13168 +3069:13169 +3069:13170 +3069:13171 +3069:13172 +3069:13173 +3069:13174 +3069:13175 +3069:13176 +3069:13177 +3069:13178 +3069:13179 +3069:13181 +3069:13182 +3069:13183 +3074:13187 +3074:13188 +3074:13189 +3074:13191 +3074:13192 +3074:13193 +3074:13216 +3074:13217 +3075:13195 +3075:13196 +3075:13197 +3075:13198 +3075:13199 +3075:13200 +3075:13201 +3075:13202 +3075:13203 +3075:13204 +3075:13205 +3075:13206 +3075:13207 +3075:13208 +3075:13209 +3075:13210 +3075:13211 +3075:13213 +3075:13214 +3075:13215 +3080:13219 +3080:13220 +3080:13221 +3080:13223 +3080:13224 +3080:13225 +3080:13248 +3080:13249 +3081:13227 +3081:13228 +3081:13229 +3081:13230 +3081:13231 +3081:13232 +3081:13233 +3081:13234 +3081:13235 +3081:13236 +3081:13237 +3081:13238 +3081:13239 +3081:13240 +3081:13241 +3081:13242 +3081:13243 +3081:13245 +3081:13246 +3081:13247 +3087:13251 +3087:13252 +3087:13253 +3087:13255 +3087:13256 +3087:13257 +3087:13300 +3087:13301 +3088:13259 +3088:13260 +3088:13261 +3088:13262 +3088:13263 +3088:13264 +3088:13266 +3088:13267 +3088:13268 +3088:13269 +3088:13270 +3088:13271 +3088:13272 +3088:13275 +3088:13276 +3088:13277 +3088:13278 +3088:13279 +3088:13280 +3088:13283 +3088:13284 +3088:13285 +3088:13286 +3088:13287 +3088:13289 +3088:13290 +3088:13291 +3088:13292 +3088:13293 +3088:13294 +3088:13295 +3088:13297 +3088:13298 +3088:13299 +3092:13303 +3092:13304 +3092:13305 +3092:13307 +3092:13308 +3092:13309 +3092:13376 +3092:13377 +3093:13311 +3093:13312 +3093:13313 +3093:13314 +3093:13315 +3093:13316 +3093:13318 +3093:13319 +3093:13320 +3093:13321 +3093:13322 +3093:13323 +3093:13324 +3093:13327 +3093:13328 +3093:13329 +3093:13330 +3093:13331 +3093:13332 +3093:13335 +3093:13336 +3093:13337 +3093:13338 +3093:13339 +3093:13340 +3093:13343 +3093:13344 +3093:13345 +3093:13346 +3093:13347 +3093:13348 +3093:13351 +3093:13352 +3093:13353 +3093:13354 +3093:13355 +3093:13356 +3093:13359 +3093:13360 +3093:13361 +3093:13362 +3093:13363 +3093:13365 +3093:13366 +3093:13367 +3093:13368 +3093:13369 +3093:13370 +3093:13371 +3093:13373 +3093:13374 +3093:13375 +3097:13379 +3097:13380 +3097:13381 +3097:13383 +3097:13384 +3097:13385 +3097:13471 +3097:13472 +3098:13387 +3098:13388 +3099:13390 +3099:13444 +3099:13453 +3099:13462 +3099:13464 +3099:13465 +3099:13466 +3099:13467 +3100:13393 +3100:13394 +3100:13395 +3100:13396 +3100:13397 +3100:13398 +3100:13399 +3100:13434 +3100:13435 +3100:13436 +3100:13437 +3100:13438 +3100:13470 +3101:13402 +3101:13403 +3101:13404 +3101:13405 +3101:13406 +3101:13407 +3102:13410 +3102:13411 +3102:13412 +3102:13413 +3102:13414 +3102:13415 +3103:13418 +3103:13419 +3103:13420 +3103:13421 +3103:13422 +3103:13423 +3104:13426 +3104:13427 +3104:13428 +3104:13429 +3104:13430 +3104:13431 +3106:13440 +3107:13441 +3107:13442 +3110:13445 +3110:13446 +3110:13447 +3110:13448 +3110:13449 +3110:13450 +3110:13451 +3110:13452 +3111:13454 +3111:13455 +3111:13456 +3111:13457 +3111:13458 +3111:13459 +3111:13460 +3111:13461 +3118:10655 +3118:10656 +3118:10657 +3118:10659 +3118:10660 +3118:10661 +3118:10663 +3118:10743 +3118:10763 +3118:10764 +3119:10664 +3119:10665 +3120:10666 +3120:10667 +3120:10668 +3120:10735 +3120:10736 +3120:10737 +3120:10738 +3120:10740 +3120:10741 +3120:10742 +3121:10669 +3121:10671 +3121:10672 +3121:10673 +3121:10674 +3121:10675 +3121:10677 +3121:10678 +3121:10679 +3121:10680 +3121:10681 +3121:10682 +3121:10683 +3121:10686 +3121:10687 +3121:10688 +3121:10689 +3121:10690 +3121:10691 +3121:10694 +3121:10695 +3121:10696 +3121:10697 +3121:10698 +3121:10699 +3121:10702 +3121:10703 +3121:10704 +3121:10705 +3121:10706 +3121:10726 +3121:10727 +3121:10728 +3121:10729 +3121:10730 +3122:10710 +3122:10711 +3122:10712 +3122:10713 +3122:10714 +3122:10715 +3123:10718 +3123:10719 +3123:10720 +3123:10721 +3123:10722 +3123:10723 +3125:10732 +3126:10733 +3126:10734 +3131:10744 +3131:10745 +3131:10759 +3131:10760 +3131:10761 +3131:10762 +3132:10747 +3133:10748 +3134:10749 +3135:10750 +3136:10751 +3137:10752 +3138:10753 +3139:10754 +3140:10755 +3141:10756 +3142:10757 +3148:13474 +3148:13475 +3148:13476 +3148:13478 +3148:13479 +3148:13480 +3148:13523 +3148:13524 +3149:13482 +3149:13483 +3150:13484 +3150:13485 +3150:13486 +3150:13515 +3150:13516 +3150:13517 +3150:13518 +3150:13520 +3150:13521 +3150:13522 +3153:13487 +3153:13489 +3153:13490 +3153:13491 +3153:13492 +3153:13493 +3153:13494 +3153:13495 +3153:13498 +3153:13499 +3153:13500 +3153:13501 +3153:13502 +3153:13503 +3153:13506 +3153:13507 +3153:13508 +3153:13509 +3153:13510 +3153:13512 +3154:13513 +3154:13514 +3160:13526 +3160:13527 +3160:13528 +3160:13530 +3160:13531 +3160:13532 +3160:13534 +3160:13864 +3160:13865 +3160:13866 +3160:13867 +3160:13868 +3160:13869 +3160:13870 +3161:13535 +3161:13536 +3161:13538 +3161:13539 +3161:13540 +3161:13541 +3161:13542 +3161:13543 +3161:13544 +3161:13545 +3161:13546 +3161:13547 +3161:13548 +3161:13550 +3161:13551 +3161:13552 +3161:13553 +3161:13554 +3161:13555 +3161:13556 +3161:13559 +3161:13560 +3161:13561 +3161:13562 +3161:13563 +3161:13564 +3161:13567 +3161:13568 +3161:13569 +3161:13570 +3161:13571 +3161:13572 +3161:13575 +3161:13576 +3161:13577 +3161:13578 +3161:13579 +3161:13581 +3161:13582 +3161:13583 +3161:13584 +3161:13585 +3161:13586 +3161:13587 +3161:13589 +3161:13590 +3162:13592 +3162:13595 +3162:13596 +3162:13598 +3162:13599 +3162:13600 +3162:13601 +3162:13602 +3162:13603 +3162:13604 +3162:13605 +3162:13606 +3162:13607 +3162:13608 +3162:13610 +3162:13611 +3162:13612 +3162:13613 +3162:13614 +3162:13615 +3162:13616 +3162:13619 +3162:13620 +3162:13621 +3162:13622 +3162:13623 +3162:13624 +3162:13627 +3162:13628 +3162:13629 +3162:13630 +3162:13631 +3162:13632 +3162:13635 +3162:13636 +3162:13637 +3162:13638 +3162:13639 +3162:13641 +3162:13642 +3162:13643 +3162:13644 +3162:13645 +3162:13646 +3162:13647 +3162:13649 +3162:13650 +3163:13652 +3163:13655 +3163:13656 +3163:13658 +3163:13659 +3163:13660 +3163:13661 +3163:13662 +3163:13663 +3163:13665 +3163:13666 +3163:13667 +3163:13668 +3163:13669 +3163:13670 +3163:13671 +3163:13673 +3163:13674 +3163:13675 +3163:13676 +3163:13677 +3163:13678 +3163:13679 +3163:13682 +3163:13683 +3163:13684 +3163:13685 +3163:13686 +3163:13687 +3163:13690 +3163:13691 +3163:13692 +3163:13693 +3163:13694 +3163:13695 +3163:13698 +3163:13699 +3163:13700 +3163:13701 +3163:13702 +3163:13704 +3163:13705 +3163:13706 +3163:13707 +3163:13708 +3163:13709 +3163:13710 +3163:13712 +3163:13713 +3164:13715 +3164:13718 +3164:13719 +3164:13721 +3164:13722 +3164:13723 +3164:13724 +3164:13725 +3164:13726 +3164:13728 +3164:13729 +3164:13730 +3164:13731 +3164:13732 +3164:13733 +3164:13734 +3164:13736 +3164:13737 +3164:13738 +3164:13739 +3164:13740 +3164:13741 +3164:13742 +3164:13745 +3164:13746 +3164:13747 +3164:13748 +3164:13749 +3164:13750 +3164:13753 +3164:13754 +3164:13755 +3164:13756 +3164:13757 +3164:13758 +3164:13761 +3164:13762 +3164:13763 +3164:13764 +3164:13765 +3164:13767 +3164:13768 +3164:13769 +3164:13770 +3164:13771 +3164:13772 +3164:13773 +3164:13775 +3164:13776 +3165:13778 +3165:13781 +3165:13782 +3165:13783 +3165:13784 +3165:13785 +3165:13786 +3165:13787 +3165:13788 +3165:13789 +3165:13790 +3165:13791 +3165:13792 +3165:13793 +3165:13794 +3165:13795 +3165:13796 +3165:13797 +3165:13798 +3165:13799 +3165:13800 +3165:13801 +3165:13802 +3165:13803 +3165:13804 +3165:13805 +3165:13806 +3165:13807 +3165:13808 +3165:13809 +3165:13810 +3165:13812 +3165:13813 +3165:13814 +3165:13815 +3165:13816 +3165:13817 +3165:13819 +3165:13820 +3165:13821 +3165:13822 +3165:13823 +3165:13824 +3165:13825 +3165:13828 +3165:13829 +3165:13830 +3165:13831 +3165:13832 +3165:13833 +3165:13836 +3165:13837 +3165:13838 +3165:13839 +3165:13840 +3165:13841 +3165:13844 +3165:13845 +3165:13846 +3165:13847 +3165:13848 +3165:13850 +3165:13851 +3165:13852 +3165:13853 +3165:13854 +3165:13855 +3165:13856 +3165:13858 +3165:13859 +3166:13861 +3169:13936 +3169:13937 +3169:13938 +3169:13940 +3169:13941 +3169:13942 +3169:13944 +3169:14034 +3169:14035 +3169:14036 +3169:14037 +3169:14038 +3169:14039 +3169:14040 +3170:13945 +3170:13946 +3170:13947 +3170:13948 +3170:13949 +3170:13950 +3170:13951 +3170:13952 +3170:13953 +3170:13954 +3171:13957 +3171:13958 +3171:13959 +3171:13960 +3171:13961 +3171:13962 +3171:13963 +3171:13964 +3171:13965 +3171:13966 +3172:13969 +3172:13970 +3172:13971 +3172:13972 +3172:13973 +3172:13974 +3172:13975 +3172:13976 +3172:13978 +3172:13979 +3172:13980 +3172:13981 +3173:13984 +3173:13985 +3173:13986 +3173:13987 +3173:13988 +3173:13989 +3173:13990 +3173:13991 +3173:13993 +3173:13994 +3173:13995 +3173:13996 +3174:13999 +3174:14000 +3174:14001 +3174:14002 +3174:14003 +3174:14004 +3174:14005 +3174:14006 +3174:14007 +3174:14008 +3174:14009 +3174:14010 +3174:14011 +3174:14012 +3174:14013 +3174:14014 +3174:14015 +3174:14016 +3174:14017 +3174:14018 +3174:14019 +3174:14020 +3174:14021 +3174:14022 +3174:14023 +3174:14024 +3174:14025 +3174:14026 +3174:14027 +3174:14028 +3174:14029 +3174:14030 +3174:14031 +3178:13904 +3178:13905 +3178:13906 +3178:13908 +3178:13909 +3178:13910 +3178:13933 +3178:13934 +3179:13912 +3179:13913 +3179:13914 +3179:13915 +3179:13916 +3179:13917 +3179:13918 +3179:13919 +3179:13920 +3179:13921 +3179:13922 +3179:13923 +3179:13924 +3179:13925 +3179:13926 +3179:13927 +3179:13928 +3179:13930 +3179:13931 +3179:13932 +3186:13872 +3186:13873 +3186:13874 +3186:13876 +3186:13877 +3186:13878 +3186:13901 +3186:13902 +3187:13880 +3187:13881 +3187:13882 +3187:13883 +3187:13884 +3187:13885 +3187:13886 +3187:13887 +3187:13888 +3187:13889 +3187:13890 +3187:13891 +3187:13892 +3187:13893 +3187:13894 +3187:13895 +3187:13896 +3187:13898 +3187:13899 +3187:13900 +3191:14042 +3191:14043 +3191:14044 +3191:14046 +3191:14047 +3191:14048 +3191:14054 +3191:14187 +3191:14188 +3191:14189 +3191:14190 +3191:14191 +3191:14192 +3191:14193 +3192:14055 +3192:14056 +3192:14057 +3192:14058 +3192:14059 +3192:14060 +3192:14061 +3192:14062 +3192:14063 +3192:14064 +3193:14067 +3193:14068 +3193:14069 +3193:14070 +3193:14071 +3193:14072 +3193:14073 +3193:14074 +3193:14075 +3193:14076 +3194:14079 +3194:14080 +3194:14081 +3194:14082 +3194:14083 +3194:14084 +3194:14085 +3194:14086 +3194:14087 +3194:14088 +3194:14089 +3194:14090 +3194:14091 +3194:14092 +3194:14093 +3194:14094 +3194:14095 +3194:14096 +3194:14097 +3194:14098 +3194:14099 +3194:14100 +3194:14101 +3194:14102 +3194:14103 +3194:14104 +3194:14105 +3194:14106 +3194:14140 +3194:14174 +3194:14178 +3194:14179 +3194:14180 +3194:14181 +3194:14182 +3195:14184 +3203:14108 +3203:14109 +3203:14110 +3203:14111 +3203:14112 +3203:14113 +3203:14115 +3203:14116 +3203:14117 +3203:14118 +3203:14120 +3203:14121 +3203:14122 +3203:14123 +3203:14124 +3203:14125 +3203:14126 +3203:14127 +3204:14049 +3204:14050 +3204:14128 +3204:14129 +3204:14130 +3204:14131 +3204:14132 +3204:14133 +3204:14135 +3204:14136 +3204:14137 +3205:14138 +3205:14139 +3212:14141 +3212:14142 +3212:14143 +3212:14144 +3212:14145 +3212:14146 +3212:14147 +3212:14149 +3212:14150 +3212:14151 +3212:14152 +3212:14154 +3212:14155 +3212:14156 +3212:14157 +3212:14158 +3212:14159 +3212:14160 +3212:14161 +3213:14051 +3213:14052 +3213:14162 +3213:14163 +3213:14164 +3213:14165 +3213:14166 +3213:14167 +3213:14169 +3213:14170 +3213:14171 +3214:14172 +3214:14173 +3216:14175 +3216:14176 +3216:14177 +3221:14195 +3221:14196 +3221:14197 +3221:14199 +3221:14200 +3221:14201 +3221:14236 +3221:14237 +3223:14207 +3223:14208 +3224:14218 +3224:14227 +3224:14229 +3224:14230 +3224:14231 +3224:14232 +3225:14235 3228:14202 3228:14203 -3229:14206 -3232:14173 -3232:14174 -3232:14181 -3232:14182 -3232:14183 -3232:14184 -3232:14185 -3232:14186 -3232:14187 -3233:14175 -3233:14176 -3233:14190 -3233:14191 -3233:14192 -3233:14193 -3233:14194 -3233:14195 -3233:14196 -3240:11826 -3240:11828 -3240:11829 -3240:11830 -3240:11832 -3240:11834 -3240:11936 -3240:11937 -3240:11938 -3240:11939 -3240:11940 -3240:11941 -3240:11942 -3241:11835 -3241:11836 -3241:11837 -3241:11838 -3241:11839 -3241:11840 -3242:11844 -3242:11845 -3242:11846 -3242:11847 -3242:11848 -3242:11849 -3242:11850 -3242:11851 -3242:11852 -3242:11853 -3242:11854 -3242:11855 -3242:11856 -3242:11857 -3243:11841 -3243:11860 -3243:11861 -3243:11862 -3243:11863 -3243:11864 -3244:11867 -3244:11868 -3244:11869 -3244:11870 -3244:11871 -3244:11872 -3244:11873 -3245:11876 -3245:11877 -3245:11878 -3245:11879 -3245:11880 -3245:11881 -3245:11882 -3246:11831 -3246:11885 -3246:11886 -3246:11887 -3246:11888 -3247:11889 -3247:11890 -3247:11891 -3247:11892 -3247:11894 -3247:11895 -3248:11897 -3248:11900 -3248:11901 -3248:11902 -3248:11903 -3248:11904 -3249:11907 -3249:11908 -3249:11909 -3249:11910 -3249:11911 -3250:11914 -3250:11915 -3250:11916 -3250:11917 -3250:11918 -3251:11921 -3251:11922 -3251:11923 -3251:11924 -3251:11925 -3251:11926 -3251:11927 -3251:11928 -3251:11929 -3251:11930 -3251:11931 -3251:11932 -3251:11933 -3257:12859 -3257:12861 -3257:12862 -3257:12863 -3257:12864 -3257:12871 -3257:12986 -3257:12998 -3257:12999 -3258:12865 -3259:12866 -3260:12867 -3261:12868 -3264:12872 -3265:12873 -3265:12874 -3266:12876 -3266:12877 -3267:12878 -3267:12879 -3267:12880 -3267:12881 -3267:12882 -3267:12959 -3267:12960 -3267:12961 -3267:12962 -3267:12964 -3267:12965 -3268:12883 -3268:12884 -3269:12887 -3269:12888 -3269:12889 -3269:12890 -3269:12891 -3269:12892 -3269:12893 -3269:12894 -3269:12895 -3269:12896 -3269:12897 -3269:12898 -3269:12899 -3269:12900 -3269:12901 -3269:12902 -3269:12903 -3269:12904 -3269:12905 -3269:12906 -3269:12907 -3269:12908 -3269:12909 -3269:12910 -3269:12911 -3269:12912 -3269:12913 -3269:12914 -3269:12915 -3269:12916 -3269:12917 -3269:12918 -3269:12919 -3269:12920 -3269:12921 -3269:12922 -3269:12923 -3269:12924 -3269:12925 -3269:12926 -3269:12927 -3269:12928 -3269:12929 -3269:12930 -3269:12931 -3269:12932 -3269:12933 -3269:12934 -3269:12935 -3269:12936 -3269:12937 -3269:12938 -3269:12939 -3269:12940 -3269:12941 -3269:12942 -3269:12945 -3269:12946 -3269:12947 -3269:12948 -3269:12949 -3269:12953 -3269:12954 -3269:12955 -3269:12956 -3269:12957 -3277:12966 -3278:12968 -3279:12969 -3281:12972 -3282:12973 -3282:12974 -3282:12980 -3282:12982 -3282:12983 -3283:12976 -3283:12985 -3284:12977 -3285:12978 -3289:12987 -3289:12988 -3289:12994 -3289:12995 -3289:12996 -3289:12997 -3290:12990 -3291:12991 -3292:12992 -3300:10038 -3300:10041 -3300:10042 -3300:10043 -3300:10044 -3300:10046 -3300:10047 -3300:10048 -3300:10049 -3300:10103 -3300:10104 -3300:10105 -3301:10039 -3302:10040 -3304:10052 -3304:10053 -3304:10054 -3304:10055 -3304:10056 -3304:10057 -3304:10059 -3304:10060 -3304:10061 -3304:10063 -3304:10064 -3304:10065 -3304:10066 -3304:10067 -3304:10068 -3304:10069 -3304:10070 -3304:10076 -3304:10080 -3304:10084 -3304:10088 -3304:10089 -3304:10090 -3304:10091 -3305:10071 -3305:10072 -3305:10074 -3305:10075 -3306:10077 -3306:10078 -3306:10079 -3307:10081 -3307:10082 -3307:10083 -3308:10085 -3308:10086 -3308:10087 -3311:10094 -3311:10095 -3311:10096 -3311:10097 -3311:10099 -3311:10100 -3312:10102 -3314:9688 -3314:9690 -3314:9691 -3314:9692 -3314:9693 -3314:9708 -3314:9709 -3316:9696 -3316:9697 -3319:9699 -3319:9700 -3319:9701 -3319:9702 -3319:9704 -3319:9705 -3320:9707 -3323:14481 -3323:14483 -3323:14484 -3323:14485 -3323:14490 -3323:14491 -3324:14487 -3324:14488 -3324:14489 -3328:13001 -3328:13003 -3328:13004 -3328:13005 -3328:13012 -3328:13059 -3328:13060 -3329:13006 -3329:13007 -3329:13014 -3329:13015 -3329:13016 -3329:13017 -3330:13018 -3330:13019 -3332:13021 -3332:13022 -3334:13008 -3334:13009 -3334:13023 -3334:13024 -3334:13025 -3334:13026 -3334:13027 -3334:13028 -3334:13029 -3334:13030 -3334:13036 -3334:13037 -3334:13038 -3334:13039 -3334:13041 -3334:13042 -3335:13031 -3335:13032 -3336:13034 -3336:13035 -3339:13010 -3339:13011 -3339:13043 -3339:13044 -3339:13045 -3339:13046 -3340:13047 -3340:13048 -3340:13049 -3340:13053 -3340:13055 -3340:13056 -3341:13050 -3341:13058 -3342:13051 -3346:14565 -3346:14567 -3346:14568 -3346:14569 -3346:14608 -3346:14609 -3348:14572 -3348:14573 -3348:14574 -3348:14575 -3348:14576 -3348:14601 -3348:14602 -3348:14603 -3348:14604 -3348:14605 -3349:14579 -3349:14580 -3349:14581 -3349:14582 -3349:14583 -3349:14584 -3349:14587 -3349:14588 -3349:14589 -3349:14590 -3349:14591 -3349:14592 -3349:14607 -3350:14595 -3350:14596 -3350:14597 -3350:14598 -3374:14493 -3374:14511 -3374:14513 -3374:14514 -3374:14515 -3374:14521 -3374:14545 -3374:14557 -3374:14558 -3374:14559 -3374:14560 +3228:14210 +3228:14211 +3228:14212 +3228:14213 +3228:14214 +3228:14215 +3228:14216 +3229:14204 +3229:14205 +3229:14219 +3229:14220 +3229:14221 +3229:14222 +3229:14223 +3229:14224 +3229:14225 +3236:11826 +3236:11828 +3236:11829 +3236:11830 +3236:11832 +3236:11834 +3236:11936 +3236:11937 +3236:11938 +3236:11939 +3236:11940 +3236:11941 +3236:11942 +3237:11835 +3237:11836 +3237:11837 +3237:11838 +3237:11839 +3237:11840 +3238:11844 +3238:11845 +3238:11846 +3238:11847 +3238:11848 +3238:11849 +3238:11850 +3238:11851 +3238:11852 +3238:11853 +3238:11854 +3238:11855 +3238:11856 +3238:11857 +3239:11841 +3239:11860 +3239:11861 +3239:11862 +3239:11863 +3239:11864 +3240:11867 +3240:11868 +3240:11869 +3240:11870 +3240:11871 +3240:11872 +3240:11873 +3241:11876 +3241:11877 +3241:11878 +3241:11879 +3241:11880 +3241:11881 +3241:11882 +3242:11831 +3242:11885 +3242:11886 +3242:11887 +3242:11888 +3243:11889 +3243:11890 +3243:11891 +3243:11892 +3243:11894 +3243:11895 +3244:11897 +3244:11900 +3244:11901 +3244:11902 +3244:11903 +3244:11904 +3245:11907 +3245:11908 +3245:11909 +3245:11910 +3245:11911 +3246:11914 +3246:11915 +3246:11916 +3246:11917 +3246:11918 +3247:11921 +3247:11922 +3247:11923 +3247:11924 +3247:11925 +3247:11926 +3247:11927 +3247:11928 +3247:11929 +3247:11930 +3247:11931 +3247:11932 +3247:11933 +3253:12888 +3253:12890 +3253:12891 +3253:12892 +3253:12893 +3253:12900 +3253:13015 +3253:13027 +3253:13028 +3254:12894 +3255:12895 +3256:12896 +3257:12897 +3260:12901 +3261:12902 +3261:12903 +3262:12905 +3262:12906 +3263:12907 +3263:12908 +3263:12909 +3263:12910 +3263:12911 +3263:12988 +3263:12989 +3263:12990 +3263:12991 +3263:12993 +3263:12994 +3264:12912 +3264:12913 +3265:12916 +3265:12917 +3265:12918 +3265:12919 +3265:12920 +3265:12921 +3265:12922 +3265:12923 +3265:12924 +3265:12925 +3265:12926 +3265:12927 +3265:12928 +3265:12929 +3265:12930 +3265:12931 +3265:12932 +3265:12933 +3265:12934 +3265:12935 +3265:12936 +3265:12937 +3265:12938 +3265:12939 +3265:12940 +3265:12941 +3265:12942 +3265:12943 +3265:12944 +3265:12945 +3265:12946 +3265:12947 +3265:12948 +3265:12949 +3265:12950 +3265:12951 +3265:12952 +3265:12953 +3265:12954 +3265:12955 +3265:12956 +3265:12957 +3265:12958 +3265:12959 +3265:12960 +3265:12961 +3265:12962 +3265:12963 +3265:12964 +3265:12965 +3265:12966 +3265:12967 +3265:12968 +3265:12969 +3265:12970 +3265:12971 +3265:12974 +3265:12975 +3265:12976 +3265:12977 +3265:12978 +3265:12982 +3265:12983 +3265:12984 +3265:12985 +3265:12986 +3273:12995 +3274:12997 +3275:12998 +3277:13001 +3278:13002 +3278:13003 +3278:13009 +3278:13011 +3278:13012 +3279:13005 +3279:13014 +3280:13006 +3281:13007 +3285:13016 +3285:13017 +3285:13023 +3285:13024 +3285:13025 +3285:13026 +3286:13019 +3287:13020 +3288:13021 +3296:10038 +3296:10041 +3296:10042 +3296:10043 +3296:10044 +3296:10046 +3296:10047 +3296:10048 +3296:10049 +3296:10103 +3296:10104 +3296:10105 +3297:10039 +3298:10040 +3300:10052 +3300:10053 +3300:10054 +3300:10055 +3300:10056 +3300:10057 +3300:10059 +3300:10060 +3300:10061 +3300:10063 +3300:10064 +3300:10065 +3300:10066 +3300:10067 +3300:10068 +3300:10069 +3300:10070 +3300:10076 +3300:10080 +3300:10084 +3300:10088 +3300:10089 +3300:10090 +3300:10091 +3301:10071 +3301:10072 +3301:10074 +3301:10075 +3302:10077 +3302:10078 +3302:10079 +3303:10081 +3303:10082 +3303:10083 +3304:10085 +3304:10086 +3304:10087 +3307:10094 +3307:10095 +3307:10096 +3307:10097 +3307:10099 +3307:10100 +3308:10102 +3310:9688 +3310:9690 +3310:9691 +3310:9692 +3310:9693 +3310:9708 +3310:9709 +3312:9696 +3312:9697 +3315:9699 +3315:9700 +3315:9701 +3315:9702 +3315:9704 +3315:9705 +3316:9707 +3319:14510 +3319:14512 +3319:14513 +3319:14514 +3319:14519 +3319:14520 +3320:14516 +3320:14517 +3320:14518 +3324:13030 +3324:13032 +3324:13033 +3324:13034 +3324:13041 +3324:13088 +3324:13089 +3325:13035 +3325:13036 +3325:13043 +3325:13044 +3325:13045 +3325:13046 +3326:13047 +3326:13048 +3328:13050 +3328:13051 +3330:13037 +3330:13038 +3330:13052 +3330:13053 +3330:13054 +3330:13055 +3330:13056 +3330:13057 +3330:13058 +3330:13059 +3330:13065 +3330:13066 +3330:13067 +3330:13068 +3330:13070 +3330:13071 +3331:13060 +3331:13061 +3332:13063 +3332:13064 +3335:13039 +3335:13040 +3335:13072 +3335:13073 +3335:13074 +3335:13075 +3336:13076 +3336:13077 +3336:13078 +3336:13082 +3336:13084 +3336:13085 +3337:13079 +3337:13087 +3338:13080 +3342:14594 +3342:14596 +3342:14597 +3342:14598 +3342:14637 +3342:14638 +3344:14601 +3344:14602 +3344:14603 +3344:14604 +3344:14605 +3344:14630 +3344:14631 +3344:14632 +3344:14633 +3344:14634 +3345:14608 +3345:14609 +3345:14610 +3345:14611 +3345:14612 +3345:14613 +3345:14616 +3345:14617 +3345:14618 +3345:14619 +3345:14620 +3345:14621 +3345:14636 +3346:14624 +3346:14625 +3346:14626 +3346:14627 +3370:14522 +3370:14540 +3370:14542 +3370:14543 +3370:14544 +3370:14550 +3370:14574 +3370:14586 +3370:14587 +3370:14588 +3370:14589 +3370:14591 +3370:14592 +3371:14523 +3372:14524 +3372:14545 +3372:14546 +3372:14552 +3372:14553 +3372:14554 +3372:14555 +3373:14525 +3373:14547 +3373:14556 +3373:14557 +3373:14558 +3373:14559 +3373:14560 +3374:14526 3374:14562 -3374:14563 -3375:14494 -3376:14495 -3376:14516 -3376:14517 -3376:14523 -3376:14524 -3376:14525 -3376:14526 -3377:14496 -3377:14518 -3377:14527 -3377:14528 +3375:14527 +3375:14563 +3375:14564 +3375:14565 +3375:14568 +3375:14570 +3375:14571 +3376:14528 +3376:14566 +3376:14573 3377:14529 -3377:14530 -3377:14531 -3378:14497 -3378:14533 -3379:14498 -3379:14534 -3379:14535 -3379:14536 -3379:14539 -3379:14541 -3379:14542 -3380:14499 -3380:14537 -3380:14544 -3381:14500 -3382:14501 -3383:14502 -3384:14503 -3384:14519 -3384:14520 -3384:14546 -3384:14547 -3384:14548 -3384:14549 -3384:14550 -3384:14551 -3384:14552 -3384:14553 -3384:14554 -3385:14504 -3386:14505 -3387:14506 -3387:14556 -3388:14507 -3389:14508 -3390:14509 -3391:14510 -3440:14274 -3440:14323 -3440:14325 -3440:14326 -3440:14327 -3440:14333 -3440:14335 -3440:14450 +3378:14530 +3379:14531 +3380:14532 +3380:14548 +3380:14549 +3380:14575 +3380:14576 +3380:14577 +3380:14578 +3380:14579 +3380:14580 +3380:14581 +3380:14582 +3380:14583 +3381:14533 +3382:14534 +3383:14535 +3383:14585 +3384:14536 +3385:14537 +3386:14538 +3387:14539 +3436:14303 +3436:14352 +3436:14354 +3436:14355 +3436:14356 +3436:14362 +3436:14364 +3436:14479 +3436:14507 +3436:14508 +3437:14304 +3437:14357 +3437:14358 +3437:14365 +3437:14366 +3437:14368 +3437:14369 +3437:14370 +3437:14371 +3437:14372 +3437:14391 +3437:14392 +3437:14393 +3437:14394 +3437:14395 +3437:14398 +3437:14399 +3437:14400 +3437:14401 +3437:14402 +3437:14403 +3437:14404 +3437:14405 +3437:14406 +3437:14407 +3437:14408 +3437:14409 +3437:14410 +3437:14411 +3437:14420 +3437:14421 +3437:14422 +3437:14423 +3437:14424 +3438:14305 +3439:14306 +3439:14427 +3439:14428 +3439:14429 +3439:14430 +3439:14431 +3439:14472 +3439:14473 +3439:14474 +3439:14475 +3439:14476 +3440:14307 +3440:14359 +3440:14432 +3440:14433 3440:14478 -3440:14479 -3441:14275 -3441:14328 -3441:14329 -3441:14336 -3441:14337 -3441:14339 -3441:14340 -3441:14341 -3441:14342 -3441:14343 -3441:14362 -3441:14363 -3441:14364 -3441:14365 -3441:14366 -3441:14369 -3441:14370 -3441:14371 -3441:14372 -3441:14373 -3441:14374 -3441:14375 -3441:14376 -3441:14377 -3441:14378 -3441:14379 -3441:14380 -3441:14381 -3441:14382 -3441:14391 -3441:14392 -3441:14393 -3441:14394 -3441:14395 -3442:14276 -3443:14277 -3443:14398 -3443:14399 -3443:14400 -3443:14401 -3443:14402 -3443:14443 -3443:14444 -3443:14445 -3443:14446 -3443:14447 -3444:14278 -3444:14330 -3444:14403 -3444:14404 -3444:14449 -3445:14279 -3446:14280 -3446:14410 -3446:14412 -3446:14413 -3446:14414 -3446:14415 -3447:14281 -3448:14282 -3448:14331 -3448:14406 -3448:14407 -3448:14408 -3448:14409 -3449:14283 -3450:14284 -3451:14285 -3451:14418 -3451:14419 -3451:14420 -3451:14422 -3451:14424 -3451:14425 -3452:14286 -3452:14421 -3453:14287 -3454:14288 -3455:14289 -3456:14290 -3457:14291 -3458:14292 -3459:14293 -3460:14294 -3461:14295 -3461:14332 -3461:14429 -3461:14430 -3461:14431 -3461:14432 -3462:14296 -3463:14297 -3464:14298 -3464:14433 -3464:14434 -3464:14435 -3464:14436 -3464:14438 -3464:14439 -3465:14299 -3466:14300 -3467:14301 -3468:14302 -3469:14303 -3470:14304 -3470:14451 -3470:14452 -3470:14474 -3470:14475 -3470:14476 -3470:14477 -3471:14305 -3471:14454 -3472:14306 -3472:14455 -3473:14307 -3473:14456 -3474:14308 -3474:14457 -3475:14309 -3475:14458 -3476:14310 -3476:14459 -3477:14311 -3477:14460 -3478:14312 -3478:14461 -3479:14313 -3479:14462 -3480:14314 -3480:14463 -3481:14315 -3481:14464 -3482:14316 -3482:14465 -3483:14317 -3483:14466 -3484:14318 -3484:14467 -3485:14319 -3485:14468 -3486:14320 -3486:14469 -3487:14321 -3487:14470 -3488:14322 -3488:14471 -3489:14472 -3494:7046 -3494:7048 -3494:7049 -3494:7050 -3494:7060 -3494:7424 -3494:7439 -3494:7440 -3495:7052 -3496:7053 -3497:7054 -3498:7055 -3499:7056 -3500:7057 -3506:7062 -3506:7063 -3506:7064 -3506:7065 -3506:7066 -3506:7067 -3506:7068 -3506:7069 -3506:7070 -3506:7071 -3506:7072 -3506:7073 -3506:7074 -3506:7075 -3506:7076 -3506:7077 -3506:7078 -3506:7079 -3506:7080 -3506:7081 -3506:7082 -3506:7083 -3506:7084 -3506:7085 -3506:7086 -3506:7087 -3506:7088 -3506:7089 -3506:7090 -3506:7091 -3506:7092 -3506:7093 -3506:7094 -3506:7095 -3506:7096 -3506:7097 -3506:7098 -3506:7099 -3506:7100 -3506:7101 -3506:7102 -3506:7103 -3506:7104 -3506:7105 -3506:7106 -3506:7107 -3506:7108 -3506:7109 -3506:7110 -3506:7111 -3506:7112 -3506:7113 -3506:7114 -3506:7115 -3506:7116 -3506:7117 -3506:7118 -3506:7119 -3506:7120 -3506:7121 -3506:7122 -3506:7123 -3506:7124 -3506:7125 -3506:7126 -3506:7127 -3506:7128 -3506:7129 -3506:7130 -3506:7131 -3506:7132 -3506:7133 -3506:7134 -3506:7135 -3506:7136 -3506:7137 -3506:7138 -3506:7139 -3506:7140 -3506:7141 -3506:7142 -3506:7143 -3506:7414 -3506:7415 -3506:7416 -3506:7417 -3506:7418 -3507:7145 -3507:7249 -3507:7388 -3507:7389 -3507:7390 -3507:7391 -3508:7148 -3508:7149 -3508:7150 -3508:7232 -3508:7233 -3508:7234 -3508:7235 -3508:7237 -3508:7238 -3508:7239 -3509:7151 -3509:7152 -3509:7153 -3509:7154 -3510:7157 -3510:7226 -3510:7227 -3510:7228 -3510:7229 -3510:7230 -3511:7158 -3511:7159 -3511:7160 -3511:7161 -3511:7162 -3511:7163 -3511:7164 -3511:7165 -3511:7166 -3511:7167 -3511:7168 -3511:7169 -3511:7170 -3511:7171 -3511:7172 -3511:7173 -3511:7174 -3511:7175 -3511:7176 -3511:7177 -3511:7178 -3511:7179 -3511:7180 -3511:7181 -3511:7182 -3511:7183 -3511:7184 -3511:7185 -3511:7186 -3511:7187 -3511:7188 -3511:7189 -3511:7190 -3511:7191 -3511:7192 -3511:7193 -3511:7194 -3511:7195 -3511:7196 -3511:7197 -3511:7198 -3511:7199 -3511:7200 -3511:7201 -3511:7202 -3511:7203 -3511:7204 -3511:7205 -3511:7206 -3511:7207 -3511:7208 -3511:7209 -3511:7210 -3511:7211 -3511:7212 -3512:7215 -3512:7216 -3512:7217 -3512:7218 -3512:7219 -3512:7220 -3512:7221 -3512:7222 -3515:7240 -3515:7241 -3515:7242 -3515:7243 -3515:7245 -3515:7246 -3516:7250 -3517:7252 -3517:7253 -3517:7254 -3517:7255 -3517:7256 -3517:7257 -3517:7372 -3517:7373 -3517:7374 -3517:7375 -3517:7377 -3517:7378 -3518:7259 -3519:7261 -3519:7366 -3519:7367 -3519:7368 -3519:7369 -3519:7370 -3520:7262 -3520:7263 -3520:7264 -3520:7265 -3520:7266 -3520:7267 -3520:7268 -3520:7269 -3520:7270 -3520:7271 -3520:7272 -3520:7273 -3520:7274 -3520:7275 -3520:7276 -3520:7277 -3520:7278 -3520:7279 -3520:7280 -3520:7281 -3520:7282 -3520:7283 -3520:7284 -3520:7285 -3520:7286 -3520:7287 -3520:7288 -3520:7289 -3520:7290 -3520:7291 -3520:7292 -3520:7293 -3520:7294 -3520:7295 -3520:7296 -3520:7297 -3520:7298 -3520:7299 -3520:7300 -3520:7301 -3520:7302 -3520:7303 -3520:7304 -3520:7305 -3520:7306 -3520:7307 -3520:7308 -3520:7309 -3520:7310 -3520:7311 -3520:7312 -3520:7313 -3520:7314 -3520:7315 -3520:7316 -3520:7317 -3520:7318 -3520:7319 -3520:7320 -3520:7321 -3520:7322 -3520:7323 -3520:7324 -3520:7325 -3520:7326 -3520:7327 -3520:7328 -3520:7329 -3520:7330 -3520:7331 -3520:7332 -3520:7333 -3520:7334 -3520:7335 -3520:7336 -3520:7337 -3520:7338 -3520:7339 -3520:7340 -3520:7342 -3520:7343 -3520:7344 -3520:7345 -3522:7350 -3522:7351 -3522:7352 -3522:7353 -3522:7354 -3522:7355 -3522:7356 -3523:7358 -3523:7359 -3524:7360 -3530:7379 -3530:7380 -3530:7381 -3530:7382 -3530:7384 -3530:7385 -3532:7396 -3532:7397 -3532:7398 -3532:7399 -3532:7400 -3532:7401 -3533:7403 -3533:7404 -3533:7405 -3533:7406 -3533:7408 -3533:7409 -3536:7420 -3536:7421 -3539:7423 -3539:7425 -3539:7426 -3539:7435 -3539:7436 -3539:7437 -3539:7438 -3540:7428 -3541:7429 -3542:7430 -3543:7431 -3544:7432 -3545:7433 -3553:14694 -3553:14697 -3553:14698 -3553:14700 -3553:14701 -3553:14702 -3553:14707 -3553:14843 -3553:14844 -3553:14845 -3554:14695 -3555:14696 -3559:14710 -3559:14711 -3559:14712 -3559:14713 -3559:14714 -3559:14715 -3559:14717 -3559:14719 -3559:14720 -3559:14721 -3559:14722 -3559:14723 -3559:14724 -3559:14725 -3559:14726 -3559:14739 -3559:14825 -3559:14827 -3559:14828 -3559:14829 -3559:14830 -3560:14703 -3560:14704 -3560:14727 -3560:14728 -3560:14729 -3560:14730 -3560:14731 -3560:14732 -3560:14733 -3560:14734 -3562:14736 -3562:14737 -3565:14705 -3565:14706 -3565:14740 -3565:14741 -3565:14742 -3565:14743 -3565:14744 -3565:14745 -3565:14746 -3566:14748 -3566:14749 -3568:14752 -3568:14819 -3568:14820 -3568:14821 -3568:14822 -3568:14823 -3569:14753 -3569:14754 -3569:14755 -3569:14756 -3569:14757 -3570:14759 -3570:14760 -3574:14833 -3574:14834 -3575:14835 -3576:14837 -3577:14838 -3578:14839 -3582:14842 -3589:12110 -3589:12117 -3589:12119 -3589:12120 -3589:12121 -3589:12151 -3589:12177 -3589:12182 -3589:12183 -3589:12184 -3589:12185 -3589:12186 -3589:12187 -3589:12188 -3590:12111 -3590:12126 -3590:12127 -3590:12128 -3590:12129 -3590:12130 -3590:12131 -3590:12133 -3590:12135 -3590:12136 -3590:12137 -3590:12138 -3590:12139 -3590:12140 -3590:12141 -3590:12142 -3591:12112 -3591:12122 -3591:12123 -3591:12143 -3591:12144 -3591:12145 -3591:12146 -3591:12147 -3591:12148 -3592:12113 -3592:12152 -3592:12153 -3592:12154 -3592:12155 -3592:12156 -3592:12157 -3592:12158 -3592:12160 -3592:12162 -3592:12163 -3592:12164 -3592:12165 -3592:12166 -3592:12167 -3592:12168 -3592:12169 -3593:12114 -3593:12124 -3593:12170 -3593:12171 -3593:12172 -3593:12173 -3593:12174 -3594:12115 -3594:12150 -3594:12178 -3594:12179 -3594:12180 -3594:12181 -3595:12116 -3596:12176 -3598:14847 -3598:14848 -3598:14850 -3598:14851 -3598:14852 +3441:14308 +3442:14309 +3442:14439 +3442:14441 +3442:14442 +3442:14443 +3442:14444 +3443:14310 +3444:14311 +3444:14360 +3444:14435 +3444:14436 +3444:14437 +3444:14438 +3445:14312 +3446:14313 +3447:14314 +3447:14447 +3447:14448 +3447:14449 +3447:14451 +3447:14453 +3447:14454 +3448:14315 +3448:14450 +3449:14316 +3450:14317 +3451:14318 +3452:14319 +3453:14320 +3454:14321 +3455:14322 +3456:14323 +3457:14324 +3457:14361 +3457:14458 +3457:14459 +3457:14460 +3457:14461 +3458:14325 +3459:14326 +3460:14327 +3460:14462 +3460:14463 +3460:14464 +3460:14465 +3460:14467 +3460:14468 +3461:14328 +3462:14329 +3463:14330 +3464:14331 +3465:14332 +3466:14333 +3466:14480 +3466:14481 +3466:14503 +3466:14504 +3466:14505 +3466:14506 +3467:14334 +3467:14483 +3468:14335 +3468:14484 +3469:14336 +3469:14485 +3470:14337 +3470:14486 +3471:14338 +3471:14487 +3472:14339 +3472:14488 +3473:14340 +3473:14489 +3474:14341 +3474:14490 +3475:14342 +3475:14491 +3476:14343 +3476:14492 +3477:14344 +3477:14493 +3478:14345 +3478:14494 +3479:14346 +3479:14495 +3480:14347 +3480:14496 +3481:14348 +3481:14497 +3482:14349 +3482:14498 +3483:14350 +3483:14499 +3484:14351 +3484:14500 +3485:14501 +3490:7046 +3490:7048 +3490:7049 +3490:7050 +3490:7060 +3490:7424 +3490:7439 +3490:7440 +3491:7052 +3492:7053 +3493:7054 +3494:7055 +3495:7056 +3496:7057 +3502:7062 +3502:7063 +3502:7064 +3502:7065 +3502:7066 +3502:7067 +3502:7068 +3502:7069 +3502:7070 +3502:7071 +3502:7072 +3502:7073 +3502:7074 +3502:7075 +3502:7076 +3502:7077 +3502:7078 +3502:7079 +3502:7080 +3502:7081 +3502:7082 +3502:7083 +3502:7084 +3502:7085 +3502:7086 +3502:7087 +3502:7088 +3502:7089 +3502:7090 +3502:7091 +3502:7092 +3502:7093 +3502:7094 +3502:7095 +3502:7096 +3502:7097 +3502:7098 +3502:7099 +3502:7100 +3502:7101 +3502:7102 +3502:7103 +3502:7104 +3502:7105 +3502:7106 +3502:7107 +3502:7108 +3502:7109 +3502:7110 +3502:7111 +3502:7112 +3502:7113 +3502:7114 +3502:7115 +3502:7116 +3502:7117 +3502:7118 +3502:7119 +3502:7120 +3502:7121 +3502:7122 +3502:7123 +3502:7124 +3502:7125 +3502:7126 +3502:7127 +3502:7128 +3502:7129 +3502:7130 +3502:7131 +3502:7132 +3502:7133 +3502:7134 +3502:7135 +3502:7136 +3502:7137 +3502:7138 +3502:7139 +3502:7140 +3502:7141 +3502:7142 +3502:7143 +3502:7414 +3502:7415 +3502:7416 +3502:7417 +3502:7418 +3503:7145 +3503:7249 +3503:7388 +3503:7389 +3503:7390 +3503:7391 +3504:7148 +3504:7149 +3504:7150 +3504:7232 +3504:7233 +3504:7234 +3504:7235 +3504:7237 +3504:7238 +3504:7239 +3505:7151 +3505:7152 +3505:7153 +3505:7154 +3506:7157 +3506:7226 +3506:7227 +3506:7228 +3506:7229 +3506:7230 +3507:7158 +3507:7159 +3507:7160 +3507:7161 +3507:7162 +3507:7163 +3507:7164 +3507:7165 +3507:7166 +3507:7167 +3507:7168 +3507:7169 +3507:7170 +3507:7171 +3507:7172 +3507:7173 +3507:7174 +3507:7175 +3507:7176 +3507:7177 +3507:7178 +3507:7179 +3507:7180 +3507:7181 +3507:7182 +3507:7183 +3507:7184 +3507:7185 +3507:7186 +3507:7187 +3507:7188 +3507:7189 +3507:7190 +3507:7191 +3507:7192 +3507:7193 +3507:7194 +3507:7195 +3507:7196 +3507:7197 +3507:7198 +3507:7199 +3507:7200 +3507:7201 +3507:7202 +3507:7203 +3507:7204 +3507:7205 +3507:7206 +3507:7207 +3507:7208 +3507:7209 +3507:7210 +3507:7211 +3507:7212 +3508:7215 +3508:7216 +3508:7217 +3508:7218 +3508:7219 +3508:7220 +3508:7221 +3508:7222 +3511:7240 +3511:7241 +3511:7242 +3511:7243 +3511:7245 +3511:7246 +3512:7250 +3513:7252 +3513:7253 +3513:7254 +3513:7255 +3513:7256 +3513:7257 +3513:7372 +3513:7373 +3513:7374 +3513:7375 +3513:7377 +3513:7378 +3514:7259 +3515:7261 +3515:7366 +3515:7367 +3515:7368 +3515:7369 +3515:7370 +3516:7262 +3516:7263 +3516:7264 +3516:7265 +3516:7266 +3516:7267 +3516:7268 +3516:7269 +3516:7270 +3516:7271 +3516:7272 +3516:7273 +3516:7274 +3516:7275 +3516:7276 +3516:7277 +3516:7278 +3516:7279 +3516:7280 +3516:7281 +3516:7282 +3516:7283 +3516:7284 +3516:7285 +3516:7286 +3516:7287 +3516:7288 +3516:7289 +3516:7290 +3516:7291 +3516:7292 +3516:7293 +3516:7294 +3516:7295 +3516:7296 +3516:7297 +3516:7298 +3516:7299 +3516:7300 +3516:7301 +3516:7302 +3516:7303 +3516:7304 +3516:7305 +3516:7306 +3516:7307 +3516:7308 +3516:7309 +3516:7310 +3516:7311 +3516:7312 +3516:7313 +3516:7314 +3516:7315 +3516:7316 +3516:7317 +3516:7318 +3516:7319 +3516:7320 +3516:7321 +3516:7322 +3516:7323 +3516:7324 +3516:7325 +3516:7326 +3516:7327 +3516:7328 +3516:7329 +3516:7330 +3516:7331 +3516:7332 +3516:7333 +3516:7334 +3516:7335 +3516:7336 +3516:7337 +3516:7338 +3516:7339 +3516:7340 +3516:7342 +3516:7343 +3516:7344 +3516:7345 +3518:7350 +3518:7351 +3518:7352 +3518:7353 +3518:7354 +3518:7355 +3518:7356 +3519:7358 +3519:7359 +3520:7360 +3526:7379 +3526:7380 +3526:7381 +3526:7382 +3526:7384 +3526:7385 +3528:7396 +3528:7397 +3528:7398 +3528:7399 +3528:7400 +3528:7401 +3529:7403 +3529:7404 +3529:7405 +3529:7406 +3529:7408 +3529:7409 +3532:7420 +3532:7421 +3535:7423 +3535:7425 +3535:7426 +3535:7435 +3535:7436 +3535:7437 +3535:7438 +3536:7428 +3537:7429 +3538:7430 +3539:7431 +3540:7432 +3541:7433 +3549:14723 +3549:14726 +3549:14727 +3549:14729 +3549:14730 +3549:14731 +3549:14736 +3549:14872 +3549:14873 +3549:14874 +3550:14724 +3551:14725 +3555:14739 +3555:14740 +3555:14741 +3555:14742 +3555:14743 +3555:14744 +3555:14746 +3555:14748 +3555:14749 +3555:14750 +3555:14751 +3555:14752 +3555:14753 +3555:14754 +3555:14755 +3555:14768 +3555:14854 +3555:14856 +3555:14857 +3555:14858 +3555:14859 +3556:14732 +3556:14733 +3556:14756 +3556:14757 +3556:14758 +3556:14759 +3556:14760 +3556:14761 +3556:14762 +3556:14763 +3558:14765 +3558:14766 +3561:14734 +3561:14735 +3561:14769 +3561:14770 +3561:14771 +3561:14772 +3561:14773 +3561:14774 +3561:14775 +3562:14777 +3562:14778 +3564:14781 +3564:14848 +3564:14849 +3564:14850 +3564:14851 +3564:14852 +3565:14782 +3565:14783 +3565:14784 +3565:14785 +3565:14786 +3566:14788 +3566:14789 +3570:14862 +3570:14863 +3571:14864 +3572:14866 +3573:14867 +3574:14868 +3578:14871 +3585:12110 +3585:12117 +3585:12119 +3585:12120 +3585:12121 +3585:12151 +3585:12177 +3585:12182 +3585:12183 +3585:12184 +3585:12185 +3585:12186 +3585:12187 +3585:12188 +3586:12111 +3586:12126 +3586:12127 +3586:12128 +3586:12129 +3586:12130 +3586:12131 +3586:12133 +3586:12135 +3586:12136 +3586:12137 +3586:12138 +3586:12139 +3586:12140 +3586:12141 +3586:12142 +3587:12112 +3587:12122 +3587:12123 +3587:12143 +3587:12144 +3587:12145 +3587:12146 +3587:12147 +3587:12148 +3588:12113 +3588:12152 +3588:12153 +3588:12154 +3588:12155 +3588:12156 +3588:12157 +3588:12158 +3588:12160 +3588:12162 +3588:12163 +3588:12164 +3588:12165 +3588:12166 +3588:12167 +3588:12168 +3588:12169 +3589:12114 +3589:12124 +3589:12170 +3589:12171 +3589:12172 +3589:12173 +3589:12174 +3590:12115 +3590:12150 +3590:12178 +3590:12179 +3590:12180 +3590:12181 +3591:12116 +3592:12176 +3594:14876 +3594:14877 +3594:14879 +3594:14880 +3594:14881 +3594:14988 +3594:14989 +3596:14884 +3596:14979 +3596:14980 +3596:14981 +3596:14982 +3596:14983 +3597:14885 +3597:14886 +3597:14887 +3597:14888 +3597:14889 +3597:14892 +3597:14893 +3597:14894 +3597:14895 +3597:14896 +3597:14897 +3597:14898 +3597:14899 +3597:14900 +3597:14901 +3597:14902 +3597:14903 +3597:14904 +3597:14905 +3597:14906 +3597:14907 +3597:14908 +3597:14909 +3597:14910 +3597:14911 +3597:14912 +3597:14913 +3597:14914 +3597:14915 +3597:14916 +3597:14917 +3597:14918 +3597:14919 +3597:14920 +3597:14921 +3597:14922 +3597:14923 +3597:14924 +3597:14925 +3597:14926 +3597:14927 +3597:14928 +3597:14929 +3597:14930 +3597:14931 +3597:14932 +3597:14933 +3597:14934 +3597:14935 +3597:14936 +3597:14937 +3597:14938 +3597:14939 +3597:14940 +3597:14941 +3597:14942 +3597:14943 +3597:14944 +3597:14945 +3597:14946 +3597:14947 +3597:14948 +3597:14949 +3597:14950 +3597:14951 +3598:14954 +3598:14955 +3598:14956 +3598:14957 +3598:14958 3598:14959 3598:14960 -3600:14855 -3600:14950 -3600:14951 -3600:14952 -3600:14953 -3600:14954 -3601:14856 -3601:14857 -3601:14858 -3601:14859 -3601:14860 -3601:14863 -3601:14864 -3601:14865 -3601:14866 -3601:14867 -3601:14868 -3601:14869 -3601:14870 -3601:14871 -3601:14872 -3601:14873 -3601:14874 -3601:14875 -3601:14876 -3601:14877 -3601:14878 -3601:14879 -3601:14880 -3601:14881 -3601:14882 -3601:14883 -3601:14884 -3601:14885 -3601:14886 -3601:14887 -3601:14888 -3601:14889 -3601:14890 -3601:14891 -3601:14892 -3601:14893 -3601:14894 -3601:14895 -3601:14896 -3601:14897 -3601:14898 -3601:14899 -3601:14900 -3601:14901 -3601:14902 -3601:14903 -3601:14904 -3601:14905 -3601:14906 -3601:14907 -3601:14908 -3601:14909 -3601:14910 -3601:14911 -3601:14912 -3601:14913 -3601:14914 -3601:14915 -3601:14916 -3601:14917 -3601:14918 -3601:14919 -3601:14920 -3601:14921 -3601:14922 -3602:14925 -3602:14926 -3602:14927 -3602:14928 -3602:14929 -3602:14930 -3602:14931 -3602:14932 -3602:14935 -3602:14936 -3602:14937 -3602:14938 -3602:14939 -3603:14942 -3603:14943 -3603:14944 -3603:14945 -3603:14946 -3603:14947 -3605:14956 -3605:14957 -3605:14958 -3608:14611 -3608:14613 -3608:14614 -3608:14615 -3608:14691 -3608:14692 -3609:14620 -3609:14621 -3609:14622 -3609:14682 -3609:14683 -3609:14684 -3609:14685 -3609:14687 -3609:14688 -3609:14689 -3609:14690 -3619:14616 -3619:14617 -3619:14623 -3619:14624 -3619:14625 -3619:14626 -3619:14627 -3619:14628 -3619:14629 -3620:14632 -3620:14633 -3620:14634 -3620:14635 -3620:14636 -3620:14637 -3620:14638 -3620:14639 -3620:14640 -3620:14641 -3620:14642 -3620:14643 -3620:14644 -3620:14645 -3620:14646 -3620:14647 -3620:14648 -3620:14649 -3620:14650 -3620:14651 -3620:14652 -3620:14653 -3620:14654 -3620:14655 -3620:14656 -3620:14657 -3620:14658 -3620:14659 -3620:14660 -3620:14661 -3620:14662 -3620:14663 -3620:14664 -3620:14665 -3620:14666 -3620:14667 -3620:14668 -3620:14675 -3620:14676 -3620:14677 -3620:14678 -3620:14679 -3621:14681 -3626:14210 -3626:14211 -3626:14213 -3626:14214 -3626:14215 -3626:14217 -3626:14266 -3626:14267 -3626:14268 -3626:14269 -3626:14270 -3626:14271 -3626:14272 -3627:14218 -3627:14219 -3627:14220 -3627:14221 -3627:14222 -3627:14223 -3627:14224 -3627:14225 -3627:14226 -3627:14227 -3628:14230 -3628:14231 -3628:14232 -3628:14233 -3628:14234 -3628:14235 -3629:14239 -3629:14240 -3629:14241 -3629:14242 -3629:14243 -3629:14244 -3629:14245 -3630:14236 -3630:14248 -3630:14249 -3630:14250 -3630:14251 -3630:14252 -3630:14253 -3630:14254 -3631:14257 -3631:14258 -3631:14259 -3631:14260 -3631:14261 -3631:14262 -3631:14263 -3635:14962 -3635:14963 -3635:14965 -3635:14966 -3635:14967 -3635:14969 -3635:15024 -3635:15025 +3598:14961 +3598:14964 +3598:14965 +3598:14966 +3598:14967 +3598:14968 +3599:14971 +3599:14972 +3599:14973 +3599:14974 +3599:14975 +3599:14976 +3601:14985 +3601:14986 +3601:14987 +3604:14640 +3604:14642 +3604:14643 +3604:14644 +3604:14720 +3604:14721 +3605:14649 +3605:14650 +3605:14651 +3605:14711 +3605:14712 +3605:14713 +3605:14714 +3605:14716 +3605:14717 +3605:14718 +3605:14719 +3615:14645 +3615:14646 +3615:14652 +3615:14653 +3615:14654 +3615:14655 +3615:14656 +3615:14657 +3615:14658 +3616:14661 +3616:14662 +3616:14663 +3616:14664 +3616:14665 +3616:14666 +3616:14667 +3616:14668 +3616:14669 +3616:14670 +3616:14671 +3616:14672 +3616:14673 +3616:14674 +3616:14675 +3616:14676 +3616:14677 +3616:14678 +3616:14679 +3616:14680 +3616:14681 +3616:14682 +3616:14683 +3616:14684 +3616:14685 +3616:14686 +3616:14687 +3616:14688 +3616:14689 +3616:14690 +3616:14691 +3616:14692 +3616:14693 +3616:14694 +3616:14695 +3616:14696 +3616:14697 +3616:14704 +3616:14705 +3616:14706 +3616:14707 +3616:14708 +3617:14710 +3622:14239 +3622:14240 +3622:14242 +3622:14243 +3622:14244 +3622:14246 +3622:14295 +3622:14296 +3622:14297 +3622:14298 +3622:14299 +3622:14300 +3622:14301 +3623:14247 +3623:14248 +3623:14249 +3623:14250 +3623:14251 +3623:14252 +3623:14253 +3623:14254 +3623:14255 +3623:14256 +3624:14259 +3624:14260 +3624:14261 +3624:14262 +3624:14263 +3624:14264 +3625:14268 +3625:14269 +3625:14270 +3625:14271 +3625:14272 +3625:14273 +3625:14274 +3626:14265 +3626:14277 +3626:14278 +3626:14279 +3626:14280 +3626:14281 +3626:14282 +3626:14283 +3627:14286 +3627:14287 +3627:14288 +3627:14289 +3627:14290 +3627:14291 +3627:14292 +3631:14991 +3631:14992 +3631:14994 +3631:14995 +3631:14996 +3631:14998 +3631:15053 +3631:15054 +3631:15055 +3631:15056 +3631:15057 +3631:15058 +3631:15059 +3632:14999 +3632:15000 +3632:15001 +3632:15002 +3632:15003 +3632:15004 +3633:15008 +3633:15009 +3633:15010 +3633:15011 +3633:15012 +3633:15013 +3634:15005 +3634:15017 +3634:15018 +3634:15019 +3634:15020 +3634:15021 +3634:15022 +3635:15014 3635:15026 3635:15027 3635:15028 3635:15029 3635:15030 -3636:14970 -3636:14971 -3636:14972 -3636:14973 -3636:14974 -3636:14975 -3637:14979 -3637:14980 -3637:14981 -3637:14982 -3637:14983 -3637:14984 -3638:14976 -3638:14988 -3638:14989 -3638:14990 -3638:14991 -3638:14992 -3638:14993 -3639:14985 -3639:14997 -3639:14998 -3639:14999 -3639:15000 -3639:15001 -3639:15002 -3640:14994 -3640:15006 -3640:15007 -3640:15008 -3640:15009 -3640:15010 -3640:15011 -3641:15003 -3641:15015 -3641:15016 -3641:15017 -3641:15018 -3641:15019 -3641:15020 -3642:15012 -3643:15021 -3645:15032 -3645:15033 -3645:15035 -3645:15036 -3645:15037 -3645:15039 -3645:15084 -3645:15085 -3645:15086 -3645:15087 -3645:15088 -3645:15089 -3645:15090 -3646:15040 -3646:15041 -3646:15042 -3646:15043 -3646:15044 -3646:15045 -3646:15046 -3646:15047 -3646:15048 -3647:15051 -3647:15052 -3647:15053 -3647:15054 -3647:15055 -3647:15056 -3647:15057 -3647:15058 -3647:15059 -3648:15062 -3648:15063 -3648:15064 -3648:15065 -3648:15066 -3648:15067 -3648:15068 -3648:15069 -3648:15070 -3649:15073 -3649:15074 -3649:15075 -3649:15076 -3649:15077 -3649:15078 -3649:15079 -3649:15080 -3649:15081 -3652:3785 -3652:3787 -3652:3788 -3652:3789 -3652:3808 -3652:3809 -3653:3791 -3653:3792 -3653:3793 -3653:3794 -3653:3795 -3653:3796 -3653:3801 -3653:3802 -3653:3803 -3653:3804 -3653:3806 -3653:3807 -3654:3797 -3654:3799 -3664:1585 -3664:1588 -3664:1590 -3664:1591 -3664:1592 -3664:1594 -3664:1650 -3664:1651 -3664:1652 -3664:1653 -3664:1654 -3664:1655 -3664:1656 -3665:1586 -3665:1595 -3665:1596 -3665:1597 -3666:1587 -3666:1598 -3666:1599 -3666:1600 -3666:1601 -3666:1602 -3666:1603 -3666:1604 -3666:1605 -3666:1606 -3666:1608 -3666:1609 -3667:1610 -3667:1611 -3668:1615 -3668:1616 -3668:1617 -3669:1618 -3669:1619 -3670:1621 -3670:1622 -3670:1623 -3670:1641 -3670:1642 -3670:1643 -3670:1644 -3670:1646 -3670:1647 -3672:1624 -3672:1625 -3673:1626 -3673:1627 -3673:1628 -3673:1629 -3673:1630 -3673:1631 -3673:1632 -3673:1633 -3673:1634 -3673:1636 -3673:1637 -3674:1638 -3674:1639 -3679:953 -3679:954 -3679:956 -3679:957 -3679:958 -3679:971 -3679:972 -3681:961 -3681:962 -3681:963 -3681:965 -3681:966 -3681:967 -3681:968 -3692:8965 -3692:8968 -3692:8970 -3692:8971 -3692:8972 -3692:9007 -3692:9008 -3693:8966 -3694:8967 -3694:8975 -3694:8976 -3694:8977 -3694:8978 -3694:8979 -3694:8980 -3694:8982 -3694:8984 -3694:8985 -3694:8986 -3694:8987 -3694:8988 -3694:8989 -3694:8990 -3694:8991 -3694:8998 -3694:9000 -3694:9001 -3694:9002 -3694:9003 -3695:8992 -3695:8993 -3696:8994 -3697:8995 -3698:8996 -3700:9006 +3635:15031 +3636:15023 +3636:15035 +3636:15036 +3636:15037 +3636:15038 +3636:15039 +3636:15040 +3637:15032 +3637:15044 +3637:15045 +3637:15046 +3637:15047 +3637:15048 +3637:15049 +3638:15041 +3639:15050 +3641:15061 +3641:15062 +3641:15064 +3641:15065 +3641:15066 +3641:15068 +3641:15113 +3641:15114 +3641:15115 +3641:15116 +3641:15117 +3641:15118 +3641:15119 +3642:15069 +3642:15070 +3642:15071 +3642:15072 +3642:15073 +3642:15074 +3642:15075 +3642:15076 +3642:15077 +3643:15080 +3643:15081 +3643:15082 +3643:15083 +3643:15084 +3643:15085 +3643:15086 +3643:15087 +3643:15088 +3644:15091 +3644:15092 +3644:15093 +3644:15094 +3644:15095 +3644:15096 +3644:15097 +3644:15098 +3644:15099 +3645:15102 +3645:15103 +3645:15104 +3645:15105 +3645:15106 +3645:15107 +3645:15108 +3645:15109 +3645:15110 +3648:3785 +3648:3787 +3648:3788 +3648:3789 +3648:3808 +3648:3809 +3649:3791 +3649:3792 +3649:3793 +3649:3794 +3649:3795 +3649:3796 +3649:3801 +3649:3802 +3649:3803 +3649:3804 +3649:3806 +3649:3807 +3650:3797 +3650:3799 +3660:1585 +3660:1588 +3660:1590 +3660:1591 +3660:1592 +3660:1594 +3660:1650 +3660:1651 +3660:1652 +3660:1653 +3660:1654 +3660:1655 +3660:1656 +3661:1586 +3661:1595 +3661:1596 +3661:1597 +3662:1587 +3662:1598 +3662:1599 +3662:1600 +3662:1601 +3662:1602 +3662:1603 +3662:1604 +3662:1605 +3662:1606 +3662:1608 +3662:1609 +3663:1610 +3663:1611 +3664:1615 +3664:1616 +3664:1617 +3665:1618 +3665:1619 +3666:1621 +3666:1622 +3666:1623 +3666:1641 +3666:1642 +3666:1643 +3666:1644 +3666:1646 +3666:1647 +3668:1624 +3668:1625 +3669:1626 +3669:1627 +3669:1628 +3669:1629 +3669:1630 +3669:1631 +3669:1632 +3669:1633 +3669:1634 +3669:1636 +3669:1637 +3670:1638 +3670:1639 +3675:953 +3675:954 +3675:956 +3675:957 +3675:958 +3675:971 +3675:972 +3677:961 +3677:962 +3677:963 +3677:965 +3677:966 +3677:967 +3677:968 +3688:8965 +3688:8968 +3688:8970 +3688:8971 +3688:8972 +3688:9007 +3688:9008 +3689:8966 +3690:8967 +3690:8975 +3690:8976 +3690:8977 +3690:8978 +3690:8979 +3690:8980 +3690:8982 +3690:8984 +3690:8985 +3690:8986 +3690:8987 +3690:8988 +3690:8989 +3690:8990 +3690:8991 +3690:8998 +3690:9000 +3690:9001 +3690:9002 +3690:9003 +3691:8992 +3691:8993 +3692:8994 +3693:8995 +3694:8996 +3696:9006 *E diff --git a/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/groovy.g b/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/groovy.g index af779745f6..ae018c6d78 100644 --- a/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/groovy.g +++ b/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/groovy.g @@ -2702,21 +2702,20 @@ pathElement[AST prefix] {Token operator = LT(1);} : { #pathElement = prefix; } ( nls! - ( SPREAD_DOT! // Spread operator: x*.y === x?.collect{it.y} + ( SPREAD_DOT! // Spread operator: x*.y === x?.collect{it.y} | - OPTIONAL_DOT! // Optional-null operator: x?.y === (x==null)?null:x.y + OPTIONAL_DOT! // Null-safe operator: x?.y === (x==null)?null:x.y | - MEMBER_POINTER! // Member pointer operator: foo.&y == foo.metaClass.getMethodPointer(foo, "y") + MEMBER_POINTER! // Reference operator: x.&y === x.metaClass.getMethodPointer(x,"y") | - DOT! // The all-powerful dot. + DOT! // The all-powerful dot ) ) nls! (ta:typeArguments!)? /* GRECLIPSE edit -- missing identifier recovery np:namePart! - { #pathElement = #(create(operator.getType(),operator.getText(),prefix,LT(1)), prefix, ta, np); } */ - (np:namePart!)? + ( (declarationStart) => nls! | (np:namePart!)? ) { if (#np == null) { GroovySourceToken ident = new GroovySourceToken(IDENT); @@ -2726,23 +2725,24 @@ pathElement[AST prefix] {Token operator = LT(1);} ident.setColumnLast(((SourceInfo) LT(0)).getColumnLast()); #np = #(create(ident.getType(),ident.getText(),ident,null)); reportError(new NoViableAltException(LT(1), getFilename())); + while (LA(0) == NLS) rewind(mark() - 1); // give back spaces } - #pathElement = #(create(operator.getType(),operator.getText(),prefix,LT(1)), prefix, ta, np); } // GRECLIPSE end + { #pathElement = #(create(operator.getType(),operator.getText(),prefix,LT(1)), prefix, ta, np); } | mca:methodCallArgs[prefix]! - { #pathElement = #mca; } + { #pathElement = #mca; } | // Can always append a block, as foo{bar} apb:appendedBlock[prefix]! - { #pathElement = #apb; } + { #pathElement = #apb; } | // Element selection is always an option, too. // In Groovy, the stuff between brackets is a general argument list, // since the bracket operator is transformed into a method call. ipa:indexPropertyArgs[prefix]! - { #pathElement = #ipa; } + { #pathElement = #ipa; } ; pathElementStart! @@ -2758,7 +2758,7 @@ pathElementStart! /** This is the grammar for what can follow a dot: x.a, x.@a, x.&a, x.'a', etc. * Note: typeArguments is handled by the caller of namePart. */ -namePart {Token first = LT(1);} +namePart : ( ats:AT^ {#ats.setType(SELECT_SLOT);} )? // foo.@bar selects the field (or attribute), not property diff --git a/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java b/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java index fc499acaaa..45ea024292 100644 --- a/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java +++ b/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyLexer.java @@ -1575,8 +1575,8 @@ public final void mWS(boolean _createToken) throws RecognitionException, CharStr int _saveIndex; { - int _cnt682=0; - _loop682: + int _cnt685=0; + _loop685: do { if ((LA(1)=='\\') && (LA(2)=='\n'||LA(2)=='\r') && (true) && (true)) { match('\\'); @@ -1592,10 +1592,10 @@ else if ((LA(1)=='\u000c') && (true) && (true) && (true)) { match('\f'); } else { - if ( _cnt682>=1 ) { break _loop682; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt685>=1 ) { break _loop685; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } - _cnt682++; + _cnt685++; } while (true); } if ( inputState.guessing==0 ) { @@ -1693,8 +1693,8 @@ public final void mNLS(boolean _createToken) throws RecognitionException, CharSt { if (((LA(1)=='\t'||LA(1)=='\n'||LA(1)=='\u000c'||LA(1)=='\r'||LA(1)==' '||LA(1)=='/'||LA(1)=='\\'))&&(!whitespaceIncluded)) { { - int _cnt690=0; - _loop690: + int _cnt693=0; + _loop693: do { switch ( LA(1)) { case '\n': case '\r': @@ -1715,10 +1715,10 @@ else if ((LA(1)=='/') && (LA(2)=='*')) { mML_COMMENT(false); } else { - if ( _cnt690>=1 ) { break _loop690; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt693>=1 ) { break _loop693; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } } - _cnt690++; + _cnt693++; } while (true); } } @@ -1755,7 +1755,7 @@ public final void mSL_COMMENT(boolean _createToken) throws RecognitionException, if (parser != null) parser.startComment(inputState.getLine(), inputState.getColumn() - 2); } { - _loop694: + _loop697: do { if ((_tokenSet_1.member(LA(1))) && (true) && (true) && (true)) { { @@ -1763,7 +1763,7 @@ public final void mSL_COMMENT(boolean _createToken) throws RecognitionException, } } else { - break _loop694; + break _loop697; } } while (true); @@ -1795,12 +1795,12 @@ public final void mML_COMMENT(boolean _createToken) throws RecognitionException, if (parser != null) parser.startComment(inputState.getLine(), inputState.getColumn() - 2); } { - _loop704: + _loop707: do { - boolean synPredMatched702 = false; + boolean synPredMatched705 = false; if (((LA(1)=='*') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m702 = mark(); - synPredMatched702 = true; + int _m705 = mark(); + synPredMatched705 = true; inputState.guessing++; try { { @@ -1809,12 +1809,12 @@ public final void mML_COMMENT(boolean _createToken) throws RecognitionException, } } catch (RecognitionException pe) { - synPredMatched702 = false; + synPredMatched705 = false; } - rewind(_m702); + rewind(_m705); inputState.guessing--; } - if ( synPredMatched702 ) { + if ( synPredMatched705 ) { match('*'); } else if ((LA(1)=='\n'||LA(1)=='\r')) { @@ -1826,7 +1826,7 @@ else if ((_tokenSet_2.member(LA(1)))) { } } else { - break _loop704; + break _loop707; } } while (true); @@ -1856,7 +1856,7 @@ public final void mSH_COMMENT(boolean _createToken) throws RecognitionException, throw new SemanticException("getLine() == 1 && getColumn() == 1"); match("#!"); { - _loop698: + _loop701: do { if ((_tokenSet_1.member(LA(1)))) { { @@ -1864,7 +1864,7 @@ public final void mSH_COMMENT(boolean _createToken) throws RecognitionException, } } else { - break _loop698; + break _loop701; } } while (true); @@ -1885,10 +1885,10 @@ public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionExcept int _saveIndex; int tt=0; - boolean synPredMatched707 = false; + boolean synPredMatched710 = false; if (((LA(1)=='\'') && (LA(2)=='\'') && (LA(3)=='\'') && ((LA(4) >= '\u0000' && LA(4) <= '\ufffe')))) { - int _m707 = mark(); - synPredMatched707 = true; + int _m710 = mark(); + synPredMatched710 = true; inputState.guessing++; try { { @@ -1896,17 +1896,17 @@ public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionExcept } } catch (RecognitionException pe) { - synPredMatched707 = false; + synPredMatched710 = false; } - rewind(_m707); + rewind(_m710); inputState.guessing--; } - if ( synPredMatched707 ) { + if ( synPredMatched710 ) { _saveIndex=text.length(); match("'''"); text.setLength(_saveIndex); { - _loop712: + _loop715: do { switch ( LA(1)) { case '\\': @@ -1930,10 +1930,10 @@ public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionExcept break; } default: - boolean synPredMatched711 = false; + boolean synPredMatched714 = false; if (((LA(1)=='\'') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && ((LA(4) >= '\u0000' && LA(4) <= '\ufffe')))) { - int _m711 = mark(); - synPredMatched711 = true; + int _m714 = mark(); + synPredMatched714 = true; inputState.guessing++; try { { @@ -1954,19 +1954,19 @@ else if ((LA(1)=='\'')) { } } catch (RecognitionException pe) { - synPredMatched711 = false; + synPredMatched714 = false; } - rewind(_m711); + rewind(_m714); inputState.guessing--; } - if ( synPredMatched711 ) { + if ( synPredMatched714 ) { match('\''); } else if ((_tokenSet_4.member(LA(1)))) { mSTRING_CH(false); } else { - break _loop712; + break _loop715; } } } while (true); @@ -1976,10 +1976,10 @@ else if ((_tokenSet_4.member(LA(1)))) { text.setLength(_saveIndex); } else { - boolean synPredMatched716 = false; + boolean synPredMatched719 = false; if (((LA(1)=='"') && (LA(2)=='"') && (LA(3)=='"') && ((LA(4) >= '\u0000' && LA(4) <= '\ufffe')))) { - int _m716 = mark(); - synPredMatched716 = true; + int _m719 = mark(); + synPredMatched719 = true; inputState.guessing++; try { { @@ -1987,12 +1987,12 @@ else if ((_tokenSet_4.member(LA(1)))) { } } catch (RecognitionException pe) { - synPredMatched716 = false; + synPredMatched719 = false; } - rewind(_m716); + rewind(_m719); inputState.guessing--; } - if ( synPredMatched716 ) { + if ( synPredMatched719 ) { _saveIndex=text.length(); match("\"\"\""); text.setLength(_saveIndex); @@ -2009,7 +2009,7 @@ else if ((LA(1)=='\'') && (_tokenSet_1.member(LA(2))) && (true) && (true)) { ++suppressNewline; } { - _loop714: + _loop717: do { switch ( LA(1)) { case '\\': @@ -2032,7 +2032,7 @@ else if ((LA(1)=='\'') && (_tokenSet_1.member(LA(2))) && (true) && (true)) { mSTRING_CH(false); } else { - break _loop714; + break _loop717; } } } while (true); @@ -2156,17 +2156,17 @@ protected final void mESC(boolean _createToken) throws RecognitionException, Cha case 'u': { { - int _cnt761=0; - _loop761: + int _cnt764=0; + _loop764: do { if ((LA(1)=='u')) { match('u'); } else { - if ( _cnt761>=1 ) { break _loop761; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} + if ( _cnt764>=1 ) { break _loop764; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} } - _cnt761++; + _cnt764++; } while (true); } if ( inputState.guessing==0 ) { @@ -2287,7 +2287,7 @@ protected final int mSTRING_CTOR_END(boolean _createToken, boolean dollarOK = false; { - _loop722: + _loop725: do { switch ( LA(1)) { case '\\': @@ -2306,10 +2306,10 @@ protected final int mSTRING_CTOR_END(boolean _createToken, break; } default: - boolean synPredMatched721 = false; + boolean synPredMatched724 = false; if ((((LA(1)=='"') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true))&&(tripleQuote))) { - int _m721 = mark(); - synPredMatched721 = true; + int _m724 = mark(); + synPredMatched724 = true; inputState.guessing++; try { { @@ -2330,19 +2330,19 @@ else if ((LA(1)=='"')) { } } catch (RecognitionException pe) { - synPredMatched721 = false; + synPredMatched724 = false; } - rewind(_m721); + rewind(_m724); inputState.guessing--; } - if ( synPredMatched721 ) { + if ( synPredMatched724 ) { match('"'); } else if ((_tokenSet_4.member(LA(1)))) { mSTRING_CH(false); } else { - break _loop722; + break _loop725; } } } while (true); @@ -2467,10 +2467,10 @@ else if ((LA(1)=='/') && (LA(2)=='=') && (true) && (true)) { } } else { - boolean synPredMatched731 = false; + boolean synPredMatched734 = false; if (((LA(1)=='/') && (true))) { - int _m731 = mark(); - synPredMatched731 = true; + int _m734 = mark(); + synPredMatched734 = true; inputState.guessing++; try { { @@ -2479,12 +2479,12 @@ else if ((LA(1)=='/') && (LA(2)=='=') && (true) && (true)) { } } catch (RecognitionException pe) { - synPredMatched731 = false; + synPredMatched734 = false; } - rewind(_m731); + rewind(_m734); inputState.guessing--; } - if ( synPredMatched731 ) { + if ( synPredMatched734 ) { mDIV(false); if ( inputState.guessing==0 ) { _ttype = DIV; @@ -2553,7 +2553,7 @@ protected final int mREGEXP_CTOR_END(boolean _createToken, int _saveIndex; { - _loop740: + _loop743: do { if (((LA(1)=='$') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')))&&(!atValidDollarEscape())) { match('$'); @@ -2562,7 +2562,7 @@ else if ((_tokenSet_7.member(LA(1)))) { mREGEXP_SYMBOL(false); } else { - break _loop740; + break _loop743; } } while (true); @@ -2627,10 +2627,10 @@ public final void mDOLLAR_REGEXP_LITERAL(boolean _createToken) throws Recognitio match("$/"); text.setLength(_saveIndex); { - boolean synPredMatched735 = false; + boolean synPredMatched738 = false; if (((LA(1)=='$') && (LA(2)=='/') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m735 = mark(); - synPredMatched735 = true; + int _m738 = mark(); + synPredMatched738 = true; inputState.guessing++; try { { @@ -2639,20 +2639,20 @@ public final void mDOLLAR_REGEXP_LITERAL(boolean _createToken) throws Recognitio } } catch (RecognitionException pe) { - synPredMatched735 = false; + synPredMatched738 = false; } - rewind(_m735); + rewind(_m738); inputState.guessing--; } - if ( synPredMatched735 ) { + if ( synPredMatched738 ) { mESCAPED_SLASH(false); tt=mDOLLAR_REGEXP_CTOR_END(false,true); } else { - boolean synPredMatched737 = false; + boolean synPredMatched740 = false; if (((LA(1)=='$') && (LA(2)=='$') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m737 = mark(); - synPredMatched737 = true; + int _m740 = mark(); + synPredMatched740 = true; inputState.guessing++; try { { @@ -2661,12 +2661,12 @@ public final void mDOLLAR_REGEXP_LITERAL(boolean _createToken) throws Recognitio } } catch (RecognitionException pe) { - synPredMatched737 = false; + synPredMatched740 = false; } - rewind(_m737); + rewind(_m740); inputState.guessing--; } - if ( synPredMatched737 ) { + if ( synPredMatched740 ) { mESCAPED_DOLLAR(false); tt=mDOLLAR_REGEXP_CTOR_END(false,true); } @@ -2758,12 +2758,12 @@ protected final int mDOLLAR_REGEXP_CTOR_END(boolean _createToken, int _saveIndex; { - _loop748: + _loop751: do { - boolean synPredMatched745 = false; + boolean synPredMatched748 = false; if (((LA(1)=='$') && (LA(2)=='/') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m745 = mark(); - synPredMatched745 = true; + int _m748 = mark(); + synPredMatched748 = true; inputState.guessing++; try { { @@ -2772,19 +2772,19 @@ protected final int mDOLLAR_REGEXP_CTOR_END(boolean _createToken, } } catch (RecognitionException pe) { - synPredMatched745 = false; + synPredMatched748 = false; } - rewind(_m745); + rewind(_m748); inputState.guessing--; } - if ( synPredMatched745 ) { + if ( synPredMatched748 ) { mESCAPED_SLASH(false); } else { - boolean synPredMatched747 = false; + boolean synPredMatched750 = false; if (((LA(1)=='$') && (LA(2)=='$') && ((LA(3) >= '\u0000' && LA(3) <= '\ufffe')) && (true))) { - int _m747 = mark(); - synPredMatched747 = true; + int _m750 = mark(); + synPredMatched750 = true; inputState.guessing++; try { { @@ -2793,12 +2793,12 @@ protected final int mDOLLAR_REGEXP_CTOR_END(boolean _createToken, } } catch (RecognitionException pe) { - synPredMatched747 = false; + synPredMatched750 = false; } - rewind(_m747); + rewind(_m750); inputState.guessing--; } - if ( synPredMatched747 ) { + if ( synPredMatched750 ) { mESCAPED_DOLLAR(false); } else if (((_tokenSet_9.member(LA(1))) && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) && (true))&&( !(LA(1) == '/' && LA(2) == '$') )) { @@ -2808,7 +2808,7 @@ else if (((LA(1)=='$') && ((LA(2) >= '\u0000' && LA(2) <= '\ufffe')) && (true) & match('$'); } else { - break _loop748; + break _loop751; } } } while (true); @@ -2964,7 +2964,7 @@ else if ((_tokenSet_10.member(LA(1)))) { } { - _loop773: + _loop776: do { switch ( LA(1)) { case '0': case '1': case '2': case '3': @@ -2984,7 +2984,7 @@ else if ((_tokenSet_10.member(LA(1)))) { mLETTER(false); } else { - break _loop773; + break _loop776; } } } while (true); @@ -2993,7 +2993,7 @@ else if ((_tokenSet_10.member(LA(1)))) { else if ((_tokenSet_10.member(LA(1))) && (true) && (true) && (true)) { mLETTER(false); { - _loop775: + _loop778: do { if ((_tokenSet_10.member(LA(1)))) { mLETTER(false); @@ -3002,7 +3002,7 @@ else if (((LA(1) >= '0' && LA(1) <= '9'))) { mDIGIT(false); } else { - break _loop775; + break _loop778; } } while (true); @@ -3177,7 +3177,7 @@ protected final void mDIGITS_WITH_UNDERSCORE_OPT(boolean _createToken) throws Re int _saveIndex; { - _loop782: + _loop785: do { if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) { mDIGIT(false); @@ -3186,7 +3186,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop782; + break _loop785; } } while (true); @@ -3248,7 +3248,7 @@ public final void mNUM_INT(boolean _createToken) throws RecognitionException, Ch { if ((_tokenSet_11.member(LA(1))) && (true) && (true) && (true)) { { - _loop789: + _loop792: do { if ((_tokenSet_12.member(LA(1))) && (_tokenSet_11.member(LA(2))) && (true) && (true)) { mHEX_DIGIT(false); @@ -3257,7 +3257,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop789; + break _loop792; } } while (true); @@ -3311,7 +3311,7 @@ else if ((LA(1)=='_')) { { if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='_')) { { - _loop794: + _loop797: do { if ((LA(1)=='0') && (LA(2)=='0'||LA(2)=='1'||LA(2)=='_')) { match('0'); @@ -3323,7 +3323,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop794; + break _loop797; } } while (true); @@ -3357,10 +3357,10 @@ else if ((LA(1)=='_')) { break; } default: - boolean synPredMatched798 = false; + boolean synPredMatched801 = false; if ((((LA(1) >= '0' && LA(1) <= '9')) && (true) && (true) && (true))) { - int _m798 = mark(); - synPredMatched798 = true; + int _m801 = mark(); + synPredMatched801 = true; inputState.guessing++; try { { @@ -3392,12 +3392,12 @@ else if ((LA(1)=='_')) { } } catch (RecognitionException pe) { - synPredMatched798 = false; + synPredMatched801 = false; } - rewind(_m798); + rewind(_m801); inputState.guessing--; } - if ( synPredMatched798 ) { + if ( synPredMatched801 ) { mDIGITS_WITH_UNDERSCORE(false); } else if (((LA(1) >= '0' && LA(1) <= '7')) && (true) && (true) && (true)) { @@ -3407,7 +3407,7 @@ else if (((LA(1) >= '0' && LA(1) <= '7')) && (true) && (true) && (true)) { { if ((LA(1)=='0'||LA(1)=='1'||LA(1)=='2'||LA(1)=='3'||LA(1)=='4'||LA(1)=='5'||LA(1)=='6'||LA(1)=='7'||LA(1)=='_')) { { - _loop802: + _loop805: do { if (((LA(1) >= '0' && LA(1) <= '7')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='_')) { matchRange('0','7'); @@ -3416,7 +3416,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop802; + break _loop805; } } while (true); @@ -3526,10 +3526,10 @@ else if ((LA(1)=='_')) { break; } default: - boolean synPredMatched811 = false; + boolean synPredMatched814 = false; if ((((LA(1)=='.'||LA(1)=='D'||LA(1)=='E'||LA(1)=='F'||LA(1)=='d'||LA(1)=='e'||LA(1)=='f'))&&(isDecimal))) { - int _m811 = mark(); - synPredMatched811 = true; + int _m814 = mark(); + synPredMatched814 = true; inputState.guessing++; try { { @@ -3549,12 +3549,12 @@ else if ((LA(1)=='.')) { } } catch (RecognitionException pe) { - synPredMatched811 = false; + synPredMatched814 = false; } - rewind(_m811); + rewind(_m814); inputState.guessing--; } - if ( synPredMatched811 ) { + if ( synPredMatched814 ) { { switch ( LA(1)) { case '.': @@ -3714,7 +3714,7 @@ protected final void mEXPONENT(boolean _createToken) throws RecognitionException } } { - _loop821: + _loop824: do { if (((LA(1) >= '0' && LA(1) <= '9')) && (LA(2)=='0'||LA(2)=='1'||LA(2)=='2'||LA(2)=='3'||LA(2)=='4'||LA(2)=='5'||LA(2)=='6'||LA(2)=='7'||LA(2)=='8'||LA(2)=='9'||LA(2)=='_')) { matchRange('0','9'); @@ -3723,7 +3723,7 @@ else if ((LA(1)=='_')) { match('_'); } else { - break _loop821; + break _loop824; } } while (true); diff --git a/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java b/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java index f56fd0f1d1..4b3b9eb03f 100644 --- a/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java +++ b/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.java @@ -1573,13 +1573,13 @@ public final void sep() throws RecognitionException, TokenStreamException { { match(SEMI); { - _loop607: + _loop610: do { if ((LA(1)==NLS) && (_tokenSet_24.member(LA(2)))) { match(NLS); } else { - break _loop607; + break _loop610; } } while (true); @@ -1596,18 +1596,18 @@ public final void sep() throws RecognitionException, TokenStreamException { sepToken = NLS; } { - _loop611: + _loop614: do { if ((LA(1)==SEMI) && (_tokenSet_24.member(LA(2)))) { match(SEMI); { - _loop610: + _loop613: do { if ((LA(1)==NLS) && (_tokenSet_24.member(LA(2)))) { match(NLS); } else { - break _loop610; + break _loop613; } } while (true); @@ -1617,7 +1617,7 @@ public final void sep() throws RecognitionException, TokenStreamException { } } else { - break _loop611; + break _loop614; } } while (true); @@ -3768,7 +3768,7 @@ public final void balancedTokens() throws RecognitionException, TokenStreamExcep AST balancedTokens_AST = null; { - _loop604: + _loop607: do { if ((_tokenSet_40.member(LA(1)))) { balancedBrackets(); @@ -3779,7 +3779,7 @@ else if ((_tokenSet_41.member(LA(1)))) { } } else { - break _loop604; + break _loop607; } } while (true); @@ -5272,10 +5272,10 @@ public final void conditionalExpression( logicalOrExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - boolean synPredMatched468 = false; + boolean synPredMatched471 = false; if (((LA(1)==ELVIS_OPERATOR||LA(1)==NLS) && (_tokenSet_54.member(LA(2))))) { - int _m468 = mark(); - synPredMatched468 = true; + int _m471 = mark(); + synPredMatched471 = true; inputState.guessing++; try { { @@ -5284,12 +5284,12 @@ public final void conditionalExpression( } } catch (RecognitionException pe) { - synPredMatched468 = false; + synPredMatched471 = false; } - rewind(_m468); + rewind(_m471); inputState.guessing--; } - if ( synPredMatched468 ) { + if ( synPredMatched471 ) { nls(); AST tmp151_AST = null; tmp151_AST = astFactory.create(LT(1)); @@ -5300,10 +5300,10 @@ public final void conditionalExpression( astFactory.addASTChild(currentAST, returnAST); } else { - boolean synPredMatched470 = false; + boolean synPredMatched473 = false; if (((LA(1)==QUESTION||LA(1)==NLS) && (_tokenSet_55.member(LA(2))))) { - int _m470 = mark(); - synPredMatched470 = true; + int _m473 = mark(); + synPredMatched473 = true; inputState.guessing++; try { { @@ -5312,12 +5312,12 @@ public final void conditionalExpression( } } catch (RecognitionException pe) { - synPredMatched470 = false; + synPredMatched473 = false; } - rewind(_m470); + rewind(_m473); inputState.guessing--; } - if ( synPredMatched470 ) { + if ( synPredMatched473 ) { try { // for error handling nls(); AST tmp152_AST = null; @@ -7123,8 +7123,8 @@ public final void argList() throws RecognitionException, TokenStreamException { if ((LA(1)==SEMI) && (_tokenSet_71.member(LA(2)))) { { { - int _cnt572=0; - _loop572: + int _cnt575=0; + _loop575: do { if ((LA(1)==SEMI) && (_tokenSet_71.member(LA(2)))) { match(SEMI); @@ -7209,10 +7209,10 @@ public final void argList() throws RecognitionException, TokenStreamException { } } else { - if ( _cnt572>=1 ) { break _loop572; } else {throw new NoViableAltException(LT(1), getFilename());} + if ( _cnt575>=1 ) { break _loop575; } else {throw new NoViableAltException(LT(1), getFilename());} } - _cnt572++; + _cnt575++; } while (true); } if ( inputState.guessing==0 ) { @@ -7228,7 +7228,7 @@ public final void argList() throws RecognitionException, TokenStreamException { else if ((_tokenSet_72.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { { { - _loop578: + _loop581: do { if ((LA(1)==COMMA)) { if ( inputState.guessing==0 ) { @@ -7349,7 +7349,7 @@ else if ((_tokenSet_72.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { } } else { - break _loop578; + break _loop581; } } while (true); @@ -8951,10 +8951,10 @@ public final void nlsWarn() throws RecognitionException, TokenStreamException { AST nlsWarn_AST = null; { - boolean synPredMatched617 = false; + boolean synPredMatched620 = false; if (((_tokenSet_82.member(LA(1))) && (_tokenSet_2.member(LA(2))))) { - int _m617 = mark(); - synPredMatched617 = true; + int _m620 = mark(); + synPredMatched620 = true; inputState.guessing++; try { { @@ -8962,12 +8962,12 @@ public final void nlsWarn() throws RecognitionException, TokenStreamException { } } catch (RecognitionException pe) { - synPredMatched617 = false; + synPredMatched620 = false; } - rewind(_m617); + rewind(_m620); inputState.guessing--; } - if ( synPredMatched617 ) { + if ( synPredMatched620 ) { if ( inputState.guessing==0 ) { addWarning( "A newline at this point does not follow the Groovy Coding Conventions.", @@ -10030,10 +10030,10 @@ public final boolean strictContextExpression( Token first = LT(1); { - boolean synPredMatched551 = false; + boolean synPredMatched554 = false; if (((_tokenSet_16.member(LA(1))) && (_tokenSet_92.member(LA(2))))) { - int _m551 = mark(); - synPredMatched551 = true; + int _m554 = mark(); + synPredMatched554 = true; inputState.guessing++; try { { @@ -10043,12 +10043,12 @@ public final boolean strictContextExpression( } } catch (RecognitionException pe) { - synPredMatched551 = false; + synPredMatched554 = false; } - rewind(_m551); + rewind(_m554); inputState.guessing--; } - if ( synPredMatched551 ) { + if ( synPredMatched554 ) { if ( inputState.guessing==0 ) { hasDeclaration=true; } @@ -10645,7 +10645,7 @@ public final void shiftExpression( additiveExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop502: + _loop505: do { if ((_tokenSet_98.member(LA(1)))) { { @@ -10715,7 +10715,7 @@ public final void shiftExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop502; + break _loop505; } } while (true); @@ -12104,10 +12104,10 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept AST id_AST = null; AST kw_AST = null; - boolean synPredMatched587 = false; + boolean synPredMatched590 = false; if (((LA(1)==IDENT) && (LA(2)==COLON))) { - int _m587 = mark(); - synPredMatched587 = true; + int _m590 = mark(); + synPredMatched590 = true; inputState.guessing++; try { { @@ -12115,12 +12115,12 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept } } catch (RecognitionException pe) { - synPredMatched587 = false; + synPredMatched590 = false; } - rewind(_m587); + rewind(_m590); inputState.guessing--; } - if ( synPredMatched587 ) { + if ( synPredMatched590 ) { id = LT(1); id_AST = astFactory.create(id); astFactory.addASTChild(currentAST, id_AST); @@ -12131,10 +12131,10 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept argumentLabel_AST = (AST)currentAST.root; } else { - boolean synPredMatched589 = false; + boolean synPredMatched592 = false; if (((_tokenSet_109.member(LA(1))) && (LA(2)==COLON))) { - int _m589 = mark(); - synPredMatched589 = true; + int _m592 = mark(); + synPredMatched592 = true; inputState.guessing++; try { { @@ -12142,12 +12142,12 @@ public final void argumentLabel() throws RecognitionException, TokenStreamExcept } } catch (RecognitionException pe) { - synPredMatched589 = false; + synPredMatched592 = false; } - rewind(_m589); + rewind(_m592); inputState.guessing--; } - if ( synPredMatched589 ) { + if ( synPredMatched592 ) { keywordPropertyNames(); kw_AST = (AST)returnAST; astFactory.addASTChild(currentAST, returnAST); @@ -12242,11 +12242,38 @@ else if ((_tokenSet_73.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { } { - if ((_tokenSet_110.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { - namePart(); - np_AST = (AST)returnAST; + boolean synPredMatched450 = false; + if (((_tokenSet_110.member(LA(1))) && (_tokenSet_57.member(LA(2))))) { + int _m450 = mark(); + synPredMatched450 = true; + inputState.guessing++; + try { + { + declarationStart(); + } + } + catch (RecognitionException pe) { + synPredMatched450 = false; + } + rewind(_m450); +inputState.guessing--; } - else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + if ( synPredMatched450 ) { + nls(); + } + else if ((_tokenSet_73.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + { + if ((_tokenSet_111.member(LA(1))) && (_tokenSet_73.member(LA(2)))) { + namePart(); + np_AST = (AST)returnAST; + } + else if ((_tokenSet_110.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + } + else { + throw new NoViableAltException(LT(1), getFilename()); + } + + } } else { throw new NoViableAltException(LT(1), getFilename()); @@ -12254,7 +12281,6 @@ else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { } if ( inputState.guessing==0 ) { - pathElement_AST = (AST)currentAST.root; if (np_AST == null) { GroovySourceToken ident = new GroovySourceToken(IDENT); @@ -12264,9 +12290,13 @@ else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { ident.setColumnLast(((SourceInfo) LT(0)).getColumnLast()); np_AST = (AST)astFactory.make( (new ASTArray(1)).add(create(ident.getType(),ident.getText(),ident,null))); reportError(new NoViableAltException(LT(1), getFilename())); + while (LA(0) == NLS) rewind(mark() - 1); // give back spaces } - pathElement_AST = (AST)astFactory.make( (new ASTArray(4)).add(create(operator.getType(),operator.getText(),prefix,LT(1))).add(prefix).add(ta_AST).add(np_AST)); + } + if ( inputState.guessing==0 ) { + pathElement_AST = (AST)currentAST.root; + pathElement_AST = (AST)astFactory.make( (new ASTArray(4)).add(create(operator.getType(),operator.getText(),prefix,LT(1))).add(prefix).add(ta_AST).add(np_AST)); currentAST.root = pathElement_AST; currentAST.child = pathElement_AST!=null &&pathElement_AST.getFirstChild()!=null ? pathElement_AST.getFirstChild() : pathElement_AST; @@ -12472,7 +12502,6 @@ public final void namePart() throws RecognitionException, TokenStreamException { AST ats_AST = null; Token sl = null; AST sl_AST = null; - Token first = LT(1); { switch ( LA(1)) { @@ -12857,7 +12886,7 @@ public final void parenthesizedExpression() throws RecognitionException, TokenSt firstContainsDeclaration=strictContextExpression(true); astFactory.addASTChild(currentAST, returnAST); { - _loop547: + _loop550: do { if ((LA(1)==SEMI)) { match(SEMI); @@ -12939,7 +12968,7 @@ public final void parenthesizedExpression() throws RecognitionException, TokenSt } } else { - break _loop547; + break _loop550; } } while (true); @@ -13002,7 +13031,7 @@ public final void stringConstructorExpression() throws RecognitionException, Tok stringConstructorValuePart(); astFactory.addASTChild(currentAST, returnAST); { - _loop557: + _loop560: do { if ((LA(1)==STRING_CTOR_MIDDLE)) { cm = LT(1); @@ -13016,7 +13045,7 @@ public final void stringConstructorExpression() throws RecognitionException, Tok astFactory.addASTChild(currentAST, returnAST); } else { - break _loop557; + break _loop560; } } while (true); @@ -13050,7 +13079,7 @@ public final void logicalOrExpression( logicalAndExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop473: + _loop476: do { if ((LA(1)==LOR)) { AST tmp295_AST = null; @@ -13062,7 +13091,7 @@ public final void logicalOrExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop473; + break _loop476; } } while (true); @@ -13082,7 +13111,7 @@ public final void logicalAndExpression( inclusiveOrExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop476: + _loop479: do { if ((LA(1)==LAND)) { AST tmp296_AST = null; @@ -13094,7 +13123,7 @@ public final void logicalAndExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop476; + break _loop479; } } while (true); @@ -13114,7 +13143,7 @@ public final void inclusiveOrExpression( exclusiveOrExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop479: + _loop482: do { if ((LA(1)==BOR)) { AST tmp297_AST = null; @@ -13126,7 +13155,7 @@ public final void inclusiveOrExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop479; + break _loop482; } } while (true); @@ -13146,7 +13175,7 @@ public final void exclusiveOrExpression( andExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop482: + _loop485: do { if ((LA(1)==BXOR)) { AST tmp298_AST = null; @@ -13158,7 +13187,7 @@ public final void exclusiveOrExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop482; + break _loop485; } } while (true); @@ -13178,7 +13207,7 @@ public final void andExpression( regexExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop485: + _loop488: do { if ((LA(1)==BAND)) { AST tmp299_AST = null; @@ -13190,7 +13219,7 @@ public final void andExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop485; + break _loop488; } } while (true); @@ -13210,7 +13239,7 @@ public final void regexExpression( equalityExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop489: + _loop492: do { if ((LA(1)==REGEX_FIND||LA(1)==REGEX_MATCH)) { { @@ -13242,7 +13271,7 @@ public final void regexExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop489; + break _loop492; } } while (true); @@ -13262,7 +13291,7 @@ public final void equalityExpression( relationalExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop493: + _loop496: do { if (((LA(1) >= NOT_EQUAL && LA(1) <= COMPARE_TO))) { { @@ -13318,7 +13347,7 @@ public final void equalityExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop493; + break _loop496; } } while (true); @@ -13433,7 +13462,7 @@ public final void additiveExpression( multiplicativeExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop506: + _loop509: do { if ((LA(1)==PLUS||LA(1)==MINUS) && (_tokenSet_95.member(LA(2)))) { { @@ -13465,7 +13494,7 @@ public final void additiveExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop506; + break _loop509; } } while (true); @@ -13494,7 +13523,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop511: + _loop514: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13534,7 +13563,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop511; + break _loop514; } } while (true); @@ -13554,7 +13583,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop515: + _loop518: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13594,7 +13623,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop515; + break _loop518; } } while (true); @@ -13617,7 +13646,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop519: + _loop522: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13657,7 +13686,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop519; + break _loop522; } } while (true); @@ -13680,7 +13709,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(0); astFactory.addASTChild(currentAST, returnAST); { - _loop523: + _loop526: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13720,7 +13749,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop523; + break _loop526; } } while (true); @@ -13763,7 +13792,7 @@ public final void multiplicativeExpression( powerExpressionNotPlusMinus(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop527: + _loop530: do { if ((_tokenSet_115.member(LA(1)))) { { @@ -13803,7 +13832,7 @@ public final void multiplicativeExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop527; + break _loop530; } } while (true); @@ -13831,7 +13860,7 @@ public final void powerExpressionNotPlusMinus( unaryExpressionNotPlusMinus(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop534: + _loop537: do { if ((LA(1)==STAR_STAR)) { AST tmp335_AST = null; @@ -13843,7 +13872,7 @@ public final void powerExpressionNotPlusMinus( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop534; + break _loop537; } } while (true); @@ -13863,7 +13892,7 @@ public final void powerExpression( unaryExpression(lc_stmt); astFactory.addASTChild(currentAST, returnAST); { - _loop531: + _loop534: do { if ((LA(1)==STAR_STAR)) { AST tmp336_AST = null; @@ -13875,7 +13904,7 @@ public final void powerExpression( astFactory.addASTChild(currentAST, returnAST); } else { - break _loop531; + break _loop534; } } while (true); @@ -14056,10 +14085,10 @@ public final void unaryExpressionNotPlusMinus( case NUM_BIG_DECIMAL: { { - boolean synPredMatched538 = false; + boolean synPredMatched541 = false; if (((LA(1)==LPAREN) && ((LA(2) >= LITERAL_void && LA(2) <= LITERAL_double)))) { - int _m538 = mark(); - synPredMatched538 = true; + int _m541 = mark(); + synPredMatched541 = true; inputState.guessing++; try { { @@ -14070,12 +14099,12 @@ public final void unaryExpressionNotPlusMinus( } } catch (RecognitionException pe) { - synPredMatched538 = false; + synPredMatched541 = false; } - rewind(_m538); + rewind(_m541); inputState.guessing--; } - if ( synPredMatched538 ) { + if ( synPredMatched541 ) { lpb = LT(1); lpb_AST = astFactory.create(lpb); astFactory.makeASTRoot(currentAST, lpb_AST); @@ -14090,10 +14119,10 @@ public final void unaryExpressionNotPlusMinus( astFactory.addASTChild(currentAST, returnAST); } else { - boolean synPredMatched540 = false; + boolean synPredMatched543 = false; if (((LA(1)==LPAREN) && (LA(2)==IDENT))) { - int _m540 = mark(); - synPredMatched540 = true; + int _m543 = mark(); + synPredMatched543 = true; inputState.guessing++; try { { @@ -14104,12 +14133,12 @@ public final void unaryExpressionNotPlusMinus( } } catch (RecognitionException pe) { - synPredMatched540 = false; + synPredMatched543 = false; } - rewind(_m540); + rewind(_m543); inputState.guessing--; } - if ( synPredMatched540 ) { + if ( synPredMatched543 ) { lp = LT(1); lp_AST = astFactory.create(lp); astFactory.makeASTRoot(currentAST, lp_AST); @@ -14388,7 +14417,7 @@ public final void newExpression() throws RecognitionException, TokenStreamExcept cb_AST = (AST)returnAST; astFactory.addASTChild(currentAST, returnAST); } - else if ((_tokenSet_111.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { + else if ((_tokenSet_110.member(LA(1))) && (_tokenSet_57.member(LA(2)))) { } else { throw new NoViableAltException(LT(1), getFilename()); @@ -14597,8 +14626,8 @@ public final void newArrayDeclarator() throws RecognitionException, TokenStreamE AST lb_AST = null; { - int _cnt597=0; - _loop597: + int _cnt600=0; + _loop600: do { if ((LA(1)==LBRACK) && (_tokenSet_118.member(LA(2)))) { lb = LT(1); @@ -14661,10 +14690,10 @@ public final void newArrayDeclarator() throws RecognitionException, TokenStreamE match(RBRACK); } else { - if ( _cnt597>=1 ) { break _loop597; } else {throw new NoViableAltException(LT(1), getFilename());} + if ( _cnt600>=1 ) { break _loop600; } else {throw new NoViableAltException(LT(1), getFilename());} } - _cnt597++; + _cnt600++; } while (true); } newArrayDeclarator_AST = (AST)currentAST.root; @@ -14687,10 +14716,10 @@ public final byte argument() throws RecognitionException, TokenStreamException boolean sce=false; { - boolean synPredMatched583 = false; + boolean synPredMatched586 = false; if (((_tokenSet_107.member(LA(1))) && (_tokenSet_108.member(LA(2))))) { - int _m583 = mark(); - synPredMatched583 = true; + int _m586 = mark(); + synPredMatched586 = true; inputState.guessing++; try { { @@ -14698,12 +14727,12 @@ public final byte argument() throws RecognitionException, TokenStreamException } } catch (RecognitionException pe) { - synPredMatched583 = false; + synPredMatched586 = false; } - rewind(_m583); + rewind(_m586); inputState.guessing--; } - if ( synPredMatched583 ) { + if ( synPredMatched586 ) { argumentLabel(); astFactory.addASTChild(currentAST, returnAST); c = LT(1); @@ -16170,19 +16199,19 @@ private static final long[] mk_tokenSet_109() { public static final BitSet _tokenSet_109 = new BitSet(mk_tokenSet_109()); private static final long[] mk_tokenSet_110() { long[] data = new long[8]; - data[0]=17317308137472L; - data[1]=5187582781288218624L; - data[2]=16706960926L; - data[3]=32L; + data[0]=17317308137474L; + data[1]=-4295098368L; + data[2]=-33L; + data[3]=16319L; return data; } public static final BitSet _tokenSet_110 = new BitSet(mk_tokenSet_110()); private static final long[] mk_tokenSet_111() { long[] data = new long[8]; - data[0]=17317308137474L; - data[1]=-4295098368L; - data[2]=-33L; - data[3]=16319L; + data[0]=17317308137472L; + data[1]=5187582781288218624L; + data[2]=16706960926L; + data[3]=32L; return data; } public static final BitSet _tokenSet_111 = new BitSet(mk_tokenSet_111()); diff --git a/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap b/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap index 541e33d03b..897a809a67 100644 --- a/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap +++ b/base/org.codehaus.groovy30/src/org/codehaus/groovy/antlr/parser/GroovyRecognizer.smap @@ -8050,91 +8050,91 @@ groovy.g 2653:12084 2653:12085 2654:12087 -2664:12364 -2664:12372 -2664:12373 -2664:12374 -2664:12376 -2664:12377 -2664:12378 -2664:12382 -2664:12460 -2664:12461 -2665:12365 -2666:12366 -2667:12367 -2667:12379 -2667:12384 -2667:12385 -2668:12368 -2668:12386 -2668:12387 -2669:12369 -2669:12389 -2669:12390 -2669:12391 -2669:12415 -2669:12441 -2669:12442 -2669:12443 -2669:12444 +2664:12394 +2664:12402 +2664:12403 +2664:12404 +2664:12406 +2664:12407 +2664:12408 +2664:12412 +2664:12490 +2664:12491 +2665:12395 +2666:12396 +2667:12397 +2667:12409 +2667:12414 +2667:12415 +2668:12398 +2668:12416 +2668:12417 +2669:12399 +2669:12419 +2669:12420 +2669:12421 2669:12445 -2669:12446 -2669:12447 -2670:12370 -2671:12371 -2683:12392 -2683:12393 -2683:12394 -2683:12395 -2683:12396 -2683:12397 -2683:12399 -2683:12401 -2683:12402 -2683:12403 -2683:12404 -2683:12405 -2683:12406 -2683:12407 -2683:12408 -2684:12409 -2685:12380 +2669:12471 +2669:12472 +2669:12473 +2669:12474 +2669:12475 +2669:12476 +2669:12477 +2670:12400 +2671:12401 +2683:12422 +2683:12423 +2683:12424 +2683:12425 +2683:12426 +2683:12427 +2683:12429 +2683:12431 +2683:12432 +2683:12433 +2683:12434 +2683:12435 +2683:12436 +2683:12437 +2683:12438 +2684:12439 2685:12410 -2685:12411 -2686:12412 -2686:12413 -2689:12416 -2689:12417 -2689:12418 -2689:12419 -2689:12420 -2689:12421 -2689:12422 -2689:12424 -2689:12425 -2689:12427 -2689:12428 -2689:12429 -2689:12430 -2689:12431 -2689:12432 -2689:12433 -2689:12434 -2690:12435 -2691:12381 -2691:12436 -2691:12437 -2692:12438 -2692:12439 -2694:12448 -2694:12449 -2694:12454 -2694:12456 -2694:12457 -2695:12451 -2695:12459 -2696:12452 +2685:12440 +2685:12441 +2686:12442 +2686:12443 +2689:12446 +2689:12447 +2689:12448 +2689:12449 +2689:12450 +2689:12451 +2689:12452 +2689:12454 +2689:12455 +2689:12457 +2689:12458 +2689:12459 +2689:12460 +2689:12461 +2689:12462 +2689:12463 +2689:12464 +2690:12465 +2691:12411 +2691:12466 +2691:12467 +2692:12468 +2692:12469 +2694:12478 +2694:12479 +2694:12484 +2694:12486 +2694:12487 +2695:12481 +2695:12489 +2696:12482 2700:12171 2700:12172 2700:12173 @@ -8143,13 +8143,13 @@ groovy.g 2700:12177 2700:12183 2700:12185 -2700:12323 -2700:12324 -2700:12325 -2700:12326 -2700:12327 -2700:12328 -2700:12329 +2700:12353 +2700:12354 +2700:12355 +2700:12356 +2700:12357 +2700:12358 +2700:12359 2703:12186 2703:12187 2703:12188 @@ -8191,67 +8191,91 @@ groovy.g 2714:12239 2714:12240 2714:12241 -2719:12179 -2719:12245 -2719:12246 -2719:12247 -2719:12248 -2719:12250 -2719:12251 -2719:12252 -2719:12253 -2720:12256 -2720:12257 -2720:12270 -2720:12272 -2720:12273 -2721:12259 -2721:12275 -2722:12260 -2723:12261 -2724:12262 -2725:12263 -2726:12264 -2727:12265 -2728:12266 -2729:12267 -2730:12268 +2718:12179 +2718:12245 +2718:12246 +2718:12247 +2718:12248 +2718:12249 +2718:12250 +2718:12252 +2718:12254 +2718:12255 +2718:12256 +2718:12257 +2718:12258 +2718:12259 +2718:12260 +2718:12261 +2718:12262 +2718:12263 +2718:12264 +2718:12266 +2718:12267 +2718:12268 +2718:12269 +2718:12271 +2718:12272 +2718:12273 +2718:12274 +2718:12277 +2718:12278 +2718:12279 +2718:12280 +2719:12283 +2720:12285 +2721:12286 +2722:12287 +2723:12288 +2724:12289 +2725:12290 +2726:12291 +2727:12292 +2728:12293 +2729:12294 +2732:12297 +2732:12298 +2732:12299 +2732:12300 +2732:12302 +2732:12303 +2733:12305 2734:12180 -2734:12278 -2734:12279 -2734:12280 -2734:12281 -2735:12282 -2735:12283 -2735:12284 -2735:12285 -2735:12287 -2735:12288 -2736:12290 +2734:12308 +2734:12309 +2734:12310 +2734:12311 +2735:12312 +2735:12313 +2735:12314 +2735:12315 +2735:12317 +2735:12318 +2736:12320 2738:12181 -2738:12293 -2738:12294 -2738:12295 -2738:12296 -2739:12297 -2739:12298 -2739:12299 -2739:12300 -2739:12302 -2739:12303 -2740:12305 +2738:12323 +2738:12324 +2738:12325 +2738:12326 +2739:12327 +2739:12328 +2739:12329 +2739:12330 +2739:12332 +2739:12333 +2740:12335 2744:12182 -2744:12308 -2744:12309 -2744:12310 -2744:12311 -2745:12312 -2745:12313 -2745:12314 -2745:12315 -2745:12317 -2745:12318 -2746:12320 +2744:12338 +2744:12339 +2744:12340 +2744:12341 +2745:12342 +2745:12343 +2745:12344 +2745:12345 +2745:12347 +2745:12348 +2746:12350 2748:11925 2748:11927 2748:11928 @@ -8312,93 +8336,63 @@ groovy.g 2755:11995 2755:11996 2755:11997 -2761:12463 -2761:12466 -2761:12468 -2761:12469 -2761:12470 -2761:12475 -2761:12666 -2761:12667 -2762:12464 -2763:12465 -2763:12471 -2763:12472 -2763:12478 -2763:12479 -2763:12480 -2763:12481 -2763:12482 -2763:12483 -2763:12484 -2763:12485 -2763:12486 -2763:12556 -2763:12557 -2763:12558 -2763:12559 -2763:12560 -2766:12563 -2766:12564 -2766:12565 -2766:12566 -2766:12567 -2766:12568 -2766:12569 -2766:12659 -2766:12660 -2766:12661 -2766:12662 -2766:12663 -2767:12473 -2767:12474 -2767:12572 -2767:12573 -2767:12574 -2767:12575 -2767:12576 -2767:12577 -2767:12578 -2767:12579 -2767:12665 -2769:12583 -2769:12584 -2769:12585 -2769:12586 -2769:12587 -2771:12590 -2771:12591 -2771:12592 -2771:12593 -2777:12596 -2777:12597 -2777:12598 -2777:12599 -2777:12600 -2777:12601 -2777:12602 -2777:12603 -2777:12604 -2777:12605 -2777:12606 -2777:12607 -2777:12608 -2777:12609 -2777:12610 -2777:12611 -2777:12612 -2777:12613 -2777:12614 -2777:12615 -2777:12616 -2777:12617 -2777:12618 -2777:12619 -2777:12620 -2777:12621 -2777:12622 -2777:12623 -2777:12624 +2761:12493 +2761:12496 +2761:12498 +2761:12499 +2761:12500 +2761:12695 +2761:12696 +2762:12494 +2763:12495 +2763:12501 +2763:12502 +2763:12507 +2763:12508 +2763:12509 +2763:12510 +2763:12511 +2763:12512 +2763:12513 +2763:12514 +2763:12515 +2763:12585 +2763:12586 +2763:12587 +2763:12588 +2763:12589 +2766:12592 +2766:12593 +2766:12594 +2766:12595 +2766:12596 +2766:12597 +2766:12598 +2766:12688 +2766:12689 +2766:12690 +2766:12691 +2766:12692 +2767:12503 +2767:12504 +2767:12601 +2767:12602 +2767:12603 +2767:12604 +2767:12605 +2767:12606 +2767:12607 +2767:12608 +2767:12694 +2769:12612 +2769:12613 +2769:12614 +2769:12615 +2769:12616 +2771:12619 +2771:12620 +2771:12621 +2771:12622 2777:12625 2777:12626 2777:12627 @@ -8431,6 +8425,35 @@ groovy.g 2777:12654 2777:12655 2777:12656 +2777:12657 +2777:12658 +2777:12659 +2777:12660 +2777:12661 +2777:12662 +2777:12663 +2777:12664 +2777:12665 +2777:12666 +2777:12667 +2777:12668 +2777:12669 +2777:12670 +2777:12671 +2777:12672 +2777:12673 +2777:12674 +2777:12675 +2777:12676 +2777:12677 +2777:12678 +2777:12679 +2777:12680 +2777:12681 +2777:12682 +2777:12683 +2777:12684 +2777:12685 2787:4914 2787:4916 2787:4917 @@ -8696,176 +8719,176 @@ groovy.g 2829:5256 2829:5257 2832:5259 -2835:12789 -2835:12792 -2835:12794 -2835:12795 -2835:12796 -2835:12798 -2835:12837 -2835:12838 -2836:12790 -2836:12797 -2836:12801 -2836:12802 -2836:12803 -2836:12804 -2836:12805 -2836:12822 -2836:12823 -2836:12824 -2836:12825 +2835:12818 +2835:12821 +2835:12823 +2835:12824 +2835:12825 +2835:12827 +2835:12866 +2835:12867 +2836:12819 2836:12826 -2837:12791 -2837:12806 -2837:12807 -2837:12808 -2837:12809 -2837:12811 -2837:12812 -2838:12816 -2838:12817 -2838:12818 -2838:12819 -2840:12828 -2840:12829 -2840:12830 -2840:12831 -2840:12833 -2840:12834 -2841:12836 -2869:12669 -2869:12691 -2869:12692 -2869:12693 -2869:12695 -2869:12696 -2869:12697 -2869:12700 +2836:12830 +2836:12831 +2836:12832 +2836:12833 +2836:12834 +2836:12851 +2836:12852 +2836:12853 +2836:12854 +2836:12855 +2837:12820 +2837:12835 +2837:12836 +2837:12837 +2837:12838 +2837:12840 +2837:12841 +2838:12845 +2838:12846 +2838:12847 +2838:12848 +2840:12857 +2840:12858 +2840:12859 +2840:12860 +2840:12862 +2840:12863 +2841:12865 +2869:12698 +2869:12720 2869:12721 -2869:12743 -2869:12744 -2870:12670 -2871:12671 -2871:12701 -2872:12672 -2872:12698 -2872:12702 -2872:12703 -2873:12673 -2873:12704 -2874:12674 -2874:12705 -2874:12706 -2874:12707 -2874:12715 -2874:12717 -2874:12718 -2875:12675 -2875:12708 -2875:12720 -2876:12676 -2876:12709 -2877:12677 -2877:12710 -2878:12678 -2878:12711 -2879:12679 -2879:12712 -2880:12680 -2880:12713 -2881:12681 -2882:12682 -2883:12683 -2884:12684 -2884:12722 -2884:12723 -2884:12739 -2884:12740 -2884:12741 -2884:12742 -2885:12685 -2885:12725 -2886:12686 -2886:12726 -2887:12687 -2887:12727 -2888:12688 -2888:12728 -2889:12689 -2889:12729 -2890:12690 -2890:12730 -2891:12731 -2892:12732 -2893:12733 -2894:12734 -2895:12735 -2896:12736 -2897:12737 -2905:12331 -2905:12334 -2905:12335 -2905:12336 -2905:12338 -2905:12339 -2905:12340 +2869:12722 +2869:12724 +2869:12725 +2869:12726 +2869:12729 +2869:12750 +2869:12772 +2869:12773 +2870:12699 +2871:12700 +2871:12730 +2872:12701 +2872:12727 +2872:12731 +2872:12732 +2873:12702 +2873:12733 +2874:12703 +2874:12734 +2874:12735 +2874:12736 +2874:12744 +2874:12746 +2874:12747 +2875:12704 +2875:12737 +2875:12749 +2876:12705 +2876:12738 +2877:12706 +2877:12739 +2878:12707 +2878:12740 +2879:12708 +2879:12741 +2880:12709 +2880:12742 +2881:12710 +2882:12711 +2883:12712 +2884:12713 +2884:12751 +2884:12752 +2884:12768 +2884:12769 +2884:12770 +2884:12771 +2885:12714 +2885:12754 +2886:12715 +2886:12755 +2887:12716 +2887:12756 +2888:12717 +2888:12757 +2889:12718 +2889:12758 +2890:12719 +2890:12759 +2891:12760 +2892:12761 +2893:12762 +2894:12763 +2895:12764 +2896:12765 +2897:12766 2905:12361 -2905:12362 -2906:12332 -2907:12333 -2911:12341 -2911:12343 -2911:12344 -2912:12345 -2912:12346 -2912:12355 -2912:12357 -2912:12358 -2913:12348 -2913:12360 -2914:12349 -2915:12350 -2916:12351 -2917:12352 -2918:12353 -2929:12746 -2929:12752 -2929:12753 -2929:12754 -2929:12756 -2929:12757 -2929:12758 +2905:12364 +2905:12365 +2905:12366 +2905:12368 +2905:12369 +2905:12370 +2905:12391 +2905:12392 +2906:12362 +2907:12363 +2911:12371 +2911:12373 +2911:12374 +2912:12375 +2912:12376 +2912:12385 +2912:12387 +2912:12388 +2913:12378 +2913:12390 +2914:12379 +2915:12380 +2916:12381 +2917:12382 +2918:12383 +2929:12775 +2929:12781 +2929:12782 +2929:12783 +2929:12785 2929:12786 2929:12787 -2930:12747 -2931:12748 -2931:12759 -2931:12760 -2931:12763 -2931:12764 -2931:12765 -2931:12766 -2932:12749 -2932:12761 -2932:12767 -2932:12768 -2933:12750 -2933:12769 -2934:12751 -2934:12770 -2934:12771 -2934:12772 +2929:12815 +2929:12816 +2930:12776 +2931:12777 +2931:12788 +2931:12789 +2931:12792 +2931:12793 +2931:12794 +2931:12795 +2932:12778 +2932:12790 +2932:12796 +2932:12797 +2933:12779 +2933:12798 2934:12780 -2934:12782 -2934:12783 -2935:12773 -2935:12785 -2936:12774 -2937:12775 -2938:12776 -2939:12777 -2940:12778 +2934:12799 +2934:12800 +2934:12801 +2934:12809 +2934:12811 +2934:12812 +2935:12802 +2935:12814 +2936:12803 +2937:12804 +2938:12805 +2939:12806 +2940:12807 2945:8682 2945:8683 2945:8684 @@ -9102,322 +9125,322 @@ groovy.g 3011:5367 3012:5368 3013:5369 -3018:13042 -3018:13043 -3018:13044 -3018:13046 -3018:13047 -3018:13048 3018:13071 3018:13072 -3019:13050 -3019:13051 -3019:13052 -3019:13053 -3019:13054 -3019:13055 -3019:13056 -3019:13057 -3019:13058 -3019:13059 -3019:13060 -3019:13061 -3019:13062 -3019:13063 -3019:13064 -3019:13065 -3019:13066 -3019:13068 -3019:13069 -3019:13070 -3023:13074 -3023:13075 -3023:13076 -3023:13078 -3023:13079 -3023:13080 +3018:13073 +3018:13075 +3018:13076 +3018:13077 +3018:13100 +3018:13101 +3019:13079 +3019:13080 +3019:13081 +3019:13082 +3019:13083 +3019:13084 +3019:13085 +3019:13086 +3019:13087 +3019:13088 +3019:13089 +3019:13090 +3019:13091 +3019:13092 +3019:13093 +3019:13094 +3019:13095 +3019:13097 +3019:13098 +3019:13099 3023:13103 3023:13104 -3024:13082 -3024:13083 -3024:13084 -3024:13085 -3024:13086 -3024:13087 -3024:13088 -3024:13089 -3024:13090 -3024:13091 -3024:13092 -3024:13093 -3024:13094 -3024:13095 -3024:13096 -3024:13097 -3024:13098 -3024:13100 -3024:13101 -3024:13102 -3028:13106 -3028:13107 -3028:13108 -3028:13110 -3028:13111 -3028:13112 +3023:13105 +3023:13107 +3023:13108 +3023:13109 +3023:13132 +3023:13133 +3024:13111 +3024:13112 +3024:13113 +3024:13114 +3024:13115 +3024:13116 +3024:13117 +3024:13118 +3024:13119 +3024:13120 +3024:13121 +3024:13122 +3024:13123 +3024:13124 +3024:13125 +3024:13126 +3024:13127 +3024:13129 +3024:13130 +3024:13131 3028:13135 3028:13136 -3029:13114 -3029:13115 -3029:13116 -3029:13117 -3029:13118 -3029:13119 -3029:13120 -3029:13121 -3029:13122 -3029:13123 -3029:13124 -3029:13125 -3029:13126 -3029:13127 -3029:13128 -3029:13129 -3029:13130 -3029:13132 -3029:13133 -3029:13134 -3033:13138 -3033:13139 -3033:13140 -3033:13142 -3033:13143 -3033:13144 +3028:13137 +3028:13139 +3028:13140 +3028:13141 +3028:13164 +3028:13165 +3029:13143 +3029:13144 +3029:13145 +3029:13146 +3029:13147 +3029:13148 +3029:13149 +3029:13150 +3029:13151 +3029:13152 +3029:13153 +3029:13154 +3029:13155 +3029:13156 +3029:13157 +3029:13158 +3029:13159 +3029:13161 +3029:13162 +3029:13163 3033:13167 3033:13168 -3034:13146 -3034:13147 -3034:13148 -3034:13149 -3034:13150 -3034:13151 -3034:13152 -3034:13153 -3034:13154 -3034:13155 -3034:13156 -3034:13157 -3034:13158 -3034:13159 -3034:13160 -3034:13161 -3034:13162 -3034:13164 -3034:13165 -3034:13166 -3038:13170 -3038:13171 -3038:13172 -3038:13174 -3038:13175 -3038:13176 +3033:13169 +3033:13171 +3033:13172 +3033:13173 +3033:13196 +3033:13197 +3034:13175 +3034:13176 +3034:13177 +3034:13178 +3034:13179 +3034:13180 +3034:13181 +3034:13182 +3034:13183 +3034:13184 +3034:13185 +3034:13186 +3034:13187 +3034:13188 +3034:13189 +3034:13190 +3034:13191 +3034:13193 +3034:13194 +3034:13195 3038:13199 3038:13200 -3039:13178 -3039:13179 -3039:13180 -3039:13181 -3039:13182 -3039:13183 -3039:13184 -3039:13185 -3039:13186 -3039:13187 -3039:13188 -3039:13189 -3039:13190 -3039:13191 -3039:13192 -3039:13193 -3039:13194 -3039:13196 -3039:13197 -3039:13198 -3045:13202 -3045:13203 -3045:13204 -3045:13206 -3045:13207 -3045:13208 -3045:13251 -3045:13252 -3046:13210 -3046:13211 -3046:13212 -3046:13213 -3046:13214 -3046:13215 -3046:13217 -3046:13218 -3046:13219 -3046:13220 -3046:13221 -3046:13222 -3046:13223 -3046:13226 -3046:13227 -3046:13228 -3046:13229 -3046:13230 -3046:13231 -3046:13234 -3046:13235 -3046:13236 -3046:13237 -3046:13238 +3038:13201 +3038:13203 +3038:13204 +3038:13205 +3038:13228 +3038:13229 +3039:13207 +3039:13208 +3039:13209 +3039:13210 +3039:13211 +3039:13212 +3039:13213 +3039:13214 +3039:13215 +3039:13216 +3039:13217 +3039:13218 +3039:13219 +3039:13220 +3039:13221 +3039:13222 +3039:13223 +3039:13225 +3039:13226 +3039:13227 +3045:13231 +3045:13232 +3045:13233 +3045:13235 +3045:13236 +3045:13237 +3045:13280 +3045:13281 +3046:13239 3046:13240 3046:13241 3046:13242 3046:13243 3046:13244 -3046:13245 3046:13246 +3046:13247 3046:13248 3046:13249 3046:13250 -3050:13254 -3050:13255 -3050:13256 -3050:13258 -3050:13259 -3050:13260 -3050:13327 -3050:13328 -3051:13262 -3051:13263 -3051:13264 -3051:13265 -3051:13266 -3051:13267 -3051:13269 -3051:13270 -3051:13271 -3051:13272 -3051:13273 -3051:13274 -3051:13275 -3051:13278 -3051:13279 -3051:13280 -3051:13281 -3051:13282 -3051:13283 -3051:13286 -3051:13287 -3051:13288 -3051:13289 -3051:13290 +3046:13251 +3046:13252 +3046:13255 +3046:13256 +3046:13257 +3046:13258 +3046:13259 +3046:13260 +3046:13263 +3046:13264 +3046:13265 +3046:13266 +3046:13267 +3046:13269 +3046:13270 +3046:13271 +3046:13272 +3046:13273 +3046:13274 +3046:13275 +3046:13277 +3046:13278 +3046:13279 +3050:13283 +3050:13284 +3050:13285 +3050:13287 +3050:13288 +3050:13289 +3050:13356 +3050:13357 3051:13291 +3051:13292 +3051:13293 3051:13294 3051:13295 3051:13296 -3051:13297 3051:13298 3051:13299 +3051:13300 +3051:13301 3051:13302 3051:13303 3051:13304 -3051:13305 -3051:13306 3051:13307 +3051:13308 +3051:13309 3051:13310 3051:13311 3051:13312 -3051:13313 -3051:13314 +3051:13315 3051:13316 3051:13317 3051:13318 3051:13319 3051:13320 -3051:13321 -3051:13322 +3051:13323 3051:13324 3051:13325 3051:13326 -3055:13330 -3055:13331 -3055:13332 -3055:13334 -3055:13335 -3055:13336 -3055:13422 -3055:13423 -3056:13338 -3056:13339 -3057:13341 -3057:13395 -3057:13404 -3057:13413 -3057:13415 -3057:13416 -3057:13417 -3057:13418 -3058:13344 -3058:13345 -3058:13346 -3058:13347 -3058:13348 -3058:13349 -3058:13350 -3058:13385 -3058:13386 -3058:13387 -3058:13388 -3058:13389 -3058:13421 -3059:13353 -3059:13354 -3059:13355 -3059:13356 -3059:13357 -3059:13358 -3060:13361 -3060:13362 -3060:13363 -3060:13364 -3060:13365 -3060:13366 -3061:13369 -3061:13370 -3061:13371 -3061:13372 -3061:13373 -3061:13374 -3062:13377 -3062:13378 -3062:13379 -3062:13380 -3062:13381 -3062:13382 -3064:13391 -3065:13392 -3065:13393 -3068:13396 -3068:13397 -3068:13398 -3068:13399 -3068:13400 -3068:13401 -3068:13402 -3068:13403 -3069:13405 -3069:13406 -3069:13407 -3069:13408 -3069:13409 -3069:13410 -3069:13411 -3069:13412 +3051:13327 +3051:13328 +3051:13331 +3051:13332 +3051:13333 +3051:13334 +3051:13335 +3051:13336 +3051:13339 +3051:13340 +3051:13341 +3051:13342 +3051:13343 +3051:13345 +3051:13346 +3051:13347 +3051:13348 +3051:13349 +3051:13350 +3051:13351 +3051:13353 +3051:13354 +3051:13355 +3055:13359 +3055:13360 +3055:13361 +3055:13363 +3055:13364 +3055:13365 +3055:13451 +3055:13452 +3056:13367 +3056:13368 +3057:13370 +3057:13424 +3057:13433 +3057:13442 +3057:13444 +3057:13445 +3057:13446 +3057:13447 +3058:13373 +3058:13374 +3058:13375 +3058:13376 +3058:13377 +3058:13378 +3058:13379 +3058:13414 +3058:13415 +3058:13416 +3058:13417 +3058:13418 +3058:13450 +3059:13382 +3059:13383 +3059:13384 +3059:13385 +3059:13386 +3059:13387 +3060:13390 +3060:13391 +3060:13392 +3060:13393 +3060:13394 +3060:13395 +3061:13398 +3061:13399 +3061:13400 +3061:13401 +3061:13402 +3061:13403 +3062:13406 +3062:13407 +3062:13408 +3062:13409 +3062:13410 +3062:13411 +3064:13420 +3065:13421 +3065:13422 +3068:13425 +3068:13426 +3068:13427 +3068:13428 +3068:13429 +3068:13430 +3068:13431 +3068:13432 +3069:13434 +3069:13435 +3069:13436 +3069:13437 +3069:13438 +3069:13439 +3069:13440 +3069:13441 3074:10636 3074:10637 3074:10638 @@ -9507,290 +9530,263 @@ groovy.g 3096:10736 3097:10737 3098:10738 -3103:13425 -3103:13426 -3103:13427 -3103:13429 -3103:13430 -3103:13431 -3103:13474 -3103:13475 -3104:13433 -3104:13434 -3105:13435 -3105:13436 -3105:13437 +3103:13454 +3103:13455 +3103:13456 +3103:13458 +3103:13459 +3103:13460 +3103:13503 +3103:13504 +3104:13462 +3104:13463 +3105:13464 +3105:13465 3105:13466 -3105:13467 -3105:13468 -3105:13469 -3105:13471 -3105:13472 -3105:13473 -3108:13438 -3108:13440 -3108:13441 -3108:13442 -3108:13443 -3108:13444 -3108:13445 -3108:13446 -3108:13449 -3108:13450 -3108:13451 -3108:13452 -3108:13453 -3108:13454 -3108:13457 -3108:13458 -3108:13459 -3108:13460 -3108:13461 -3108:13463 -3109:13464 -3109:13465 -3114:13477 -3114:13478 -3114:13479 -3114:13481 -3114:13482 -3114:13483 -3114:13485 -3114:13815 -3114:13816 -3114:13817 -3114:13818 -3114:13819 -3114:13820 -3114:13821 -3115:13486 -3115:13487 -3115:13489 -3115:13490 -3115:13491 -3115:13492 -3115:13493 -3115:13494 -3115:13495 -3115:13496 -3115:13497 -3115:13498 -3115:13499 -3115:13501 -3115:13502 -3115:13503 -3115:13504 -3115:13505 -3115:13506 -3115:13507 -3115:13510 -3115:13511 -3115:13512 -3115:13513 -3115:13514 +3105:13495 +3105:13496 +3105:13497 +3105:13498 +3105:13500 +3105:13501 +3105:13502 +3108:13467 +3108:13469 +3108:13470 +3108:13471 +3108:13472 +3108:13473 +3108:13474 +3108:13475 +3108:13478 +3108:13479 +3108:13480 +3108:13481 +3108:13482 +3108:13483 +3108:13486 +3108:13487 +3108:13488 +3108:13489 +3108:13490 +3108:13492 +3109:13493 +3109:13494 +3114:13506 +3114:13507 +3114:13508 +3114:13510 +3114:13511 +3114:13512 +3114:13514 +3114:13844 +3114:13845 +3114:13846 +3114:13847 +3114:13848 +3114:13849 +3114:13850 3115:13515 +3115:13516 3115:13518 3115:13519 3115:13520 3115:13521 3115:13522 3115:13523 +3115:13524 +3115:13525 3115:13526 3115:13527 3115:13528 -3115:13529 3115:13530 +3115:13531 3115:13532 3115:13533 3115:13534 3115:13535 3115:13536 -3115:13537 -3115:13538 +3115:13539 3115:13540 3115:13541 -3116:13543 -3116:13546 -3116:13547 -3116:13549 -3116:13550 -3116:13551 -3116:13552 -3116:13553 -3116:13554 -3116:13555 -3116:13556 -3116:13557 -3116:13558 -3116:13559 -3116:13561 -3116:13562 -3116:13563 -3116:13564 -3116:13565 -3116:13566 -3116:13567 -3116:13570 -3116:13571 +3115:13542 +3115:13543 +3115:13544 +3115:13547 +3115:13548 +3115:13549 +3115:13550 +3115:13551 +3115:13552 +3115:13555 +3115:13556 +3115:13557 +3115:13558 +3115:13559 +3115:13561 +3115:13562 +3115:13563 +3115:13564 +3115:13565 +3115:13566 +3115:13567 +3115:13569 +3115:13570 3116:13572 -3116:13573 -3116:13574 3116:13575 +3116:13576 3116:13578 3116:13579 3116:13580 3116:13581 3116:13582 3116:13583 +3116:13584 +3116:13585 3116:13586 3116:13587 3116:13588 -3116:13589 3116:13590 +3116:13591 3116:13592 3116:13593 3116:13594 3116:13595 3116:13596 -3116:13597 -3116:13598 +3116:13599 3116:13600 3116:13601 -3117:13603 -3117:13606 -3117:13607 -3117:13609 -3117:13610 -3117:13611 -3117:13612 -3117:13613 -3117:13614 -3117:13616 -3117:13617 -3117:13618 -3117:13619 -3117:13620 -3117:13621 -3117:13622 -3117:13624 -3117:13625 -3117:13626 -3117:13627 -3117:13628 -3117:13629 -3117:13630 -3117:13633 -3117:13634 +3116:13602 +3116:13603 +3116:13604 +3116:13607 +3116:13608 +3116:13609 +3116:13610 +3116:13611 +3116:13612 +3116:13615 +3116:13616 +3116:13617 +3116:13618 +3116:13619 +3116:13621 +3116:13622 +3116:13623 +3116:13624 +3116:13625 +3116:13626 +3116:13627 +3116:13629 +3116:13630 +3117:13632 3117:13635 3117:13636 -3117:13637 3117:13638 +3117:13639 +3117:13640 3117:13641 3117:13642 3117:13643 -3117:13644 3117:13645 3117:13646 +3117:13647 +3117:13648 3117:13649 3117:13650 3117:13651 -3117:13652 3117:13653 +3117:13654 3117:13655 3117:13656 3117:13657 3117:13658 3117:13659 -3117:13660 -3117:13661 +3117:13662 3117:13663 3117:13664 -3118:13666 -3118:13669 -3118:13670 -3118:13672 -3118:13673 -3118:13674 -3118:13675 -3118:13676 -3118:13677 -3118:13679 -3118:13680 -3118:13681 -3118:13682 -3118:13683 -3118:13684 -3118:13685 -3118:13687 -3118:13688 -3118:13689 -3118:13690 -3118:13691 -3118:13692 -3118:13693 -3118:13696 -3118:13697 +3117:13665 +3117:13666 +3117:13667 +3117:13670 +3117:13671 +3117:13672 +3117:13673 +3117:13674 +3117:13675 +3117:13678 +3117:13679 +3117:13680 +3117:13681 +3117:13682 +3117:13684 +3117:13685 +3117:13686 +3117:13687 +3117:13688 +3117:13689 +3117:13690 +3117:13692 +3117:13693 +3118:13695 3118:13698 3118:13699 -3118:13700 3118:13701 +3118:13702 +3118:13703 3118:13704 3118:13705 3118:13706 -3118:13707 3118:13708 3118:13709 +3118:13710 +3118:13711 3118:13712 3118:13713 3118:13714 -3118:13715 3118:13716 +3118:13717 3118:13718 3118:13719 3118:13720 3118:13721 3118:13722 -3118:13723 -3118:13724 +3118:13725 3118:13726 3118:13727 -3119:13729 -3119:13732 -3119:13733 -3119:13734 -3119:13735 -3119:13736 -3119:13737 -3119:13738 -3119:13739 -3119:13740 -3119:13741 -3119:13742 -3119:13743 -3119:13744 -3119:13745 -3119:13746 -3119:13747 -3119:13748 -3119:13749 -3119:13750 -3119:13751 -3119:13752 -3119:13753 -3119:13754 -3119:13755 -3119:13756 -3119:13757 +3118:13728 +3118:13729 +3118:13730 +3118:13733 +3118:13734 +3118:13735 +3118:13736 +3118:13737 +3118:13738 +3118:13741 +3118:13742 +3118:13743 +3118:13744 +3118:13745 +3118:13747 +3118:13748 +3118:13749 +3118:13750 +3118:13751 +3118:13752 +3118:13753 +3118:13755 +3118:13756 3119:13758 -3119:13759 -3119:13760 3119:13761 +3119:13762 3119:13763 3119:13764 3119:13765 3119:13766 3119:13767 3119:13768 +3119:13769 3119:13770 3119:13771 3119:13772 @@ -9798,351 +9794,378 @@ groovy.g 3119:13774 3119:13775 3119:13776 +3119:13777 +3119:13778 3119:13779 3119:13780 3119:13781 3119:13782 3119:13783 3119:13784 +3119:13785 +3119:13786 3119:13787 3119:13788 3119:13789 3119:13790 -3119:13791 3119:13792 +3119:13793 +3119:13794 3119:13795 3119:13796 3119:13797 -3119:13798 3119:13799 +3119:13800 3119:13801 3119:13802 3119:13803 3119:13804 3119:13805 -3119:13806 -3119:13807 +3119:13808 3119:13809 3119:13810 -3120:13812 -3123:13887 -3123:13888 -3123:13889 -3123:13891 -3123:13892 -3123:13893 -3123:13895 -3123:13985 -3123:13986 -3123:13987 -3123:13988 -3123:13989 -3123:13990 -3123:13991 -3124:13896 -3124:13897 -3124:13898 -3124:13899 -3124:13900 -3124:13901 -3124:13902 -3124:13903 -3124:13904 -3124:13905 -3125:13908 -3125:13909 -3125:13910 -3125:13911 -3125:13912 -3125:13913 -3125:13914 -3125:13915 -3125:13916 -3125:13917 -3126:13920 -3126:13921 -3126:13922 -3126:13923 -3126:13924 -3126:13925 -3126:13926 -3126:13927 -3126:13929 -3126:13930 -3126:13931 -3126:13932 -3127:13935 -3127:13936 -3127:13937 -3127:13938 -3127:13939 -3127:13940 -3127:13941 -3127:13942 -3127:13944 -3127:13945 -3127:13946 -3127:13947 -3128:13950 -3128:13951 -3128:13952 -3128:13953 -3128:13954 -3128:13955 -3128:13956 -3128:13957 -3128:13958 -3128:13959 -3128:13960 -3128:13961 -3128:13962 -3128:13963 -3128:13964 -3128:13965 -3128:13966 -3128:13967 -3128:13968 -3128:13969 -3128:13970 -3128:13971 -3128:13972 -3128:13973 -3128:13974 -3128:13975 -3128:13976 -3128:13977 -3128:13978 +3119:13811 +3119:13812 +3119:13813 +3119:13816 +3119:13817 +3119:13818 +3119:13819 +3119:13820 +3119:13821 +3119:13824 +3119:13825 +3119:13826 +3119:13827 +3119:13828 +3119:13830 +3119:13831 +3119:13832 +3119:13833 +3119:13834 +3119:13835 +3119:13836 +3119:13838 +3119:13839 +3120:13841 +3123:13916 +3123:13917 +3123:13918 +3123:13920 +3123:13921 +3123:13922 +3123:13924 +3123:14014 +3123:14015 +3123:14016 +3123:14017 +3123:14018 +3123:14019 +3123:14020 +3124:13925 +3124:13926 +3124:13927 +3124:13928 +3124:13929 +3124:13930 +3124:13931 +3124:13932 +3124:13933 +3124:13934 +3125:13937 +3125:13938 +3125:13939 +3125:13940 +3125:13941 +3125:13942 +3125:13943 +3125:13944 +3125:13945 +3125:13946 +3126:13949 +3126:13950 +3126:13951 +3126:13952 +3126:13953 +3126:13954 +3126:13955 +3126:13956 +3126:13958 +3126:13959 +3126:13960 +3126:13961 +3127:13964 +3127:13965 +3127:13966 +3127:13967 +3127:13968 +3127:13969 +3127:13970 +3127:13971 +3127:13973 +3127:13974 +3127:13975 +3127:13976 3128:13979 3128:13980 3128:13981 3128:13982 -3132:13855 -3132:13856 -3132:13857 -3132:13859 -3132:13860 -3132:13861 +3128:13983 +3128:13984 +3128:13985 +3128:13986 +3128:13987 +3128:13988 +3128:13989 +3128:13990 +3128:13991 +3128:13992 +3128:13993 +3128:13994 +3128:13995 +3128:13996 +3128:13997 +3128:13998 +3128:13999 +3128:14000 +3128:14001 +3128:14002 +3128:14003 +3128:14004 +3128:14005 +3128:14006 +3128:14007 +3128:14008 +3128:14009 +3128:14010 +3128:14011 3132:13884 3132:13885 -3133:13863 -3133:13864 -3133:13865 -3133:13866 -3133:13867 -3133:13868 -3133:13869 -3133:13870 -3133:13871 -3133:13872 -3133:13873 -3133:13874 -3133:13875 -3133:13876 -3133:13877 -3133:13878 -3133:13879 -3133:13881 -3133:13882 -3133:13883 -3140:13823 -3140:13824 -3140:13825 -3140:13827 -3140:13828 -3140:13829 +3132:13886 +3132:13888 +3132:13889 +3132:13890 +3132:13913 +3132:13914 +3133:13892 +3133:13893 +3133:13894 +3133:13895 +3133:13896 +3133:13897 +3133:13898 +3133:13899 +3133:13900 +3133:13901 +3133:13902 +3133:13903 +3133:13904 +3133:13905 +3133:13906 +3133:13907 +3133:13908 +3133:13910 +3133:13911 +3133:13912 3140:13852 3140:13853 -3141:13831 -3141:13832 -3141:13833 -3141:13834 -3141:13835 -3141:13836 -3141:13837 -3141:13838 -3141:13839 -3141:13840 -3141:13841 -3141:13842 -3141:13843 -3141:13844 -3141:13845 -3141:13846 -3141:13847 -3141:13849 -3141:13850 -3141:13851 -3145:13993 -3145:13994 -3145:13995 -3145:13997 -3145:13998 -3145:13999 -3145:14005 -3145:14138 -3145:14139 -3145:14140 -3145:14141 -3145:14142 -3145:14143 -3145:14144 -3146:14006 -3146:14007 -3146:14008 -3146:14009 -3146:14010 -3146:14011 -3146:14012 -3146:14013 -3146:14014 -3146:14015 -3147:14018 -3147:14019 -3147:14020 -3147:14021 -3147:14022 -3147:14023 -3147:14024 -3147:14025 -3147:14026 -3147:14027 -3148:14030 -3148:14031 -3148:14032 -3148:14033 -3148:14034 -3148:14035 -3148:14036 -3148:14037 -3148:14038 -3148:14039 -3148:14040 -3148:14041 -3148:14042 -3148:14043 -3148:14044 -3148:14045 -3148:14046 -3148:14047 -3148:14048 -3148:14049 -3148:14050 -3148:14051 -3148:14052 -3148:14053 -3148:14054 -3148:14055 -3148:14056 -3148:14057 -3148:14091 -3148:14125 -3148:14129 -3148:14130 -3148:14131 -3148:14132 -3148:14133 -3149:14135 -3157:14059 -3157:14060 -3157:14061 -3157:14062 -3157:14063 -3157:14064 -3157:14066 -3157:14067 -3157:14068 -3157:14069 -3157:14071 -3157:14072 -3157:14073 -3157:14074 -3157:14075 -3157:14076 -3157:14077 -3157:14078 -3158:14000 -3158:14001 -3158:14079 -3158:14080 -3158:14081 -3158:14082 -3158:14083 -3158:14084 -3158:14086 -3158:14087 -3158:14088 -3159:14089 -3159:14090 -3166:14092 -3166:14093 -3166:14094 -3166:14095 -3166:14096 -3166:14097 -3166:14098 -3166:14100 -3166:14101 -3166:14102 -3166:14103 -3166:14105 -3166:14106 -3166:14107 -3166:14108 -3166:14109 -3166:14110 -3166:14111 -3166:14112 -3167:14002 -3167:14003 -3167:14113 -3167:14114 -3167:14115 -3167:14116 -3167:14117 -3167:14118 -3167:14120 -3167:14121 -3167:14122 -3168:14123 -3168:14124 -3170:14126 -3170:14127 -3170:14128 -3175:14146 -3175:14147 -3175:14148 -3175:14150 -3175:14151 -3175:14152 -3175:14187 -3175:14188 -3177:14158 -3177:14159 -3178:14169 -3178:14178 -3178:14180 -3178:14181 -3178:14182 -3178:14183 -3179:14186 -3182:14153 -3182:14154 -3182:14161 -3182:14162 -3182:14163 -3182:14164 -3182:14165 -3182:14166 -3182:14167 -3183:14155 -3183:14156 -3183:14170 -3183:14171 -3183:14172 -3183:14173 -3183:14174 -3183:14175 -3183:14176 +3140:13854 +3140:13856 +3140:13857 +3140:13858 +3140:13881 +3140:13882 +3141:13860 +3141:13861 +3141:13862 +3141:13863 +3141:13864 +3141:13865 +3141:13866 +3141:13867 +3141:13868 +3141:13869 +3141:13870 +3141:13871 +3141:13872 +3141:13873 +3141:13874 +3141:13875 +3141:13876 +3141:13878 +3141:13879 +3141:13880 +3145:14022 +3145:14023 +3145:14024 +3145:14026 +3145:14027 +3145:14028 +3145:14034 +3145:14167 +3145:14168 +3145:14169 +3145:14170 +3145:14171 +3145:14172 +3145:14173 +3146:14035 +3146:14036 +3146:14037 +3146:14038 +3146:14039 +3146:14040 +3146:14041 +3146:14042 +3146:14043 +3146:14044 +3147:14047 +3147:14048 +3147:14049 +3147:14050 +3147:14051 +3147:14052 +3147:14053 +3147:14054 +3147:14055 +3147:14056 +3148:14059 +3148:14060 +3148:14061 +3148:14062 +3148:14063 +3148:14064 +3148:14065 +3148:14066 +3148:14067 +3148:14068 +3148:14069 +3148:14070 +3148:14071 +3148:14072 +3148:14073 +3148:14074 +3148:14075 +3148:14076 +3148:14077 +3148:14078 +3148:14079 +3148:14080 +3148:14081 +3148:14082 +3148:14083 +3148:14084 +3148:14085 +3148:14086 +3148:14120 +3148:14154 +3148:14158 +3148:14159 +3148:14160 +3148:14161 +3148:14162 +3149:14164 +3157:14088 +3157:14089 +3157:14090 +3157:14091 +3157:14092 +3157:14093 +3157:14095 +3157:14096 +3157:14097 +3157:14098 +3157:14100 +3157:14101 +3157:14102 +3157:14103 +3157:14104 +3157:14105 +3157:14106 +3157:14107 +3158:14029 +3158:14030 +3158:14108 +3158:14109 +3158:14110 +3158:14111 +3158:14112 +3158:14113 +3158:14115 +3158:14116 +3158:14117 +3159:14118 +3159:14119 +3166:14121 +3166:14122 +3166:14123 +3166:14124 +3166:14125 +3166:14126 +3166:14127 +3166:14129 +3166:14130 +3166:14131 +3166:14132 +3166:14134 +3166:14135 +3166:14136 +3166:14137 +3166:14138 +3166:14139 +3166:14140 +3166:14141 +3167:14031 +3167:14032 +3167:14142 +3167:14143 +3167:14144 +3167:14145 +3167:14146 +3167:14147 +3167:14149 +3167:14150 +3167:14151 +3168:14152 +3168:14153 +3170:14155 +3170:14156 +3170:14157 +3175:14175 +3175:14176 +3175:14177 +3175:14179 +3175:14180 +3175:14181 +3175:14216 +3175:14217 +3177:14187 +3177:14188 +3178:14198 +3178:14207 +3178:14209 +3178:14210 +3178:14211 +3178:14212 +3179:14215 +3182:14182 +3182:14183 +3182:14190 +3182:14191 +3182:14192 +3182:14193 +3182:14194 +3182:14195 +3182:14196 +3183:14184 +3183:14185 +3183:14199 +3183:14200 +3183:14201 +3183:14202 +3183:14203 +3183:14204 +3183:14205 3188:11807 3188:11809 3188:11810 @@ -10236,66 +10259,37 @@ groovy.g 3199:11912 3199:11913 3199:11914 -3205:12840 -3205:12842 -3205:12843 -3205:12844 -3205:12845 -3205:12852 -3205:12967 -3205:12979 -3205:12980 -3206:12846 -3207:12847 -3208:12848 -3209:12849 -3212:12853 -3213:12854 -3213:12855 -3214:12857 -3214:12858 -3215:12859 -3215:12860 -3215:12861 -3215:12862 -3215:12863 -3215:12940 -3215:12941 -3215:12942 -3215:12943 -3215:12945 -3215:12946 -3216:12864 -3216:12865 -3217:12868 -3217:12869 -3217:12870 -3217:12871 -3217:12872 -3217:12873 -3217:12874 -3217:12875 -3217:12876 -3217:12877 -3217:12878 -3217:12879 -3217:12880 -3217:12881 -3217:12882 -3217:12883 -3217:12884 -3217:12885 -3217:12886 -3217:12887 -3217:12888 -3217:12889 -3217:12890 -3217:12891 -3217:12892 -3217:12893 -3217:12894 -3217:12895 -3217:12896 +3205:12869 +3205:12871 +3205:12872 +3205:12873 +3205:12874 +3205:12881 +3205:12996 +3205:13008 +3205:13009 +3206:12875 +3207:12876 +3208:12877 +3209:12878 +3212:12882 +3213:12883 +3213:12884 +3214:12886 +3214:12887 +3215:12888 +3215:12889 +3215:12890 +3215:12891 +3215:12892 +3215:12969 +3215:12970 +3215:12971 +3215:12972 +3215:12974 +3215:12975 +3216:12893 +3216:12894 3217:12897 3217:12898 3217:12899 @@ -10323,38 +10317,67 @@ groovy.g 3217:12921 3217:12922 3217:12923 +3217:12924 +3217:12925 3217:12926 3217:12927 3217:12928 3217:12929 3217:12930 +3217:12931 +3217:12932 +3217:12933 3217:12934 3217:12935 3217:12936 3217:12937 3217:12938 -3225:12947 -3226:12949 -3227:12950 -3229:12953 -3230:12954 -3230:12955 -3230:12961 -3230:12963 -3230:12964 -3231:12957 -3231:12966 -3232:12958 -3233:12959 -3237:12968 -3237:12969 -3237:12975 -3237:12976 -3237:12977 -3237:12978 -3238:12971 -3239:12972 -3240:12973 +3217:12939 +3217:12940 +3217:12941 +3217:12942 +3217:12943 +3217:12944 +3217:12945 +3217:12946 +3217:12947 +3217:12948 +3217:12949 +3217:12950 +3217:12951 +3217:12952 +3217:12955 +3217:12956 +3217:12957 +3217:12958 +3217:12959 +3217:12963 +3217:12964 +3217:12965 +3217:12966 +3217:12967 +3225:12976 +3226:12978 +3227:12979 +3229:12982 +3230:12983 +3230:12984 +3230:12990 +3230:12992 +3230:12993 +3231:12986 +3231:12995 +3232:12987 +3233:12988 +3237:12997 +3237:12998 +3237:13004 +3237:13005 +3237:13006 +3237:13007 +3238:13000 +3239:13001 +3240:13002 3248:10019 3248:10022 3248:10023 @@ -10429,320 +10452,320 @@ groovy.g 3267:9685 3267:9686 3268:9688 -3270:14461 -3270:14463 -3270:14464 -3270:14465 -3270:14470 -3270:14471 -3271:14467 -3271:14468 -3271:14469 -3275:12982 -3275:12984 -3275:12985 -3275:12986 -3275:12993 -3275:13039 -3275:13040 -3276:12987 -3276:12988 -3276:12995 -3276:12996 -3276:12997 -3276:12998 -3277:12999 -3277:13000 -3279:13002 -3279:13003 -3281:12989 -3281:12990 -3281:13004 -3281:13005 -3281:13006 -3281:13007 -3281:13008 -3281:13009 -3281:13010 -3281:13011 -3281:13017 +3270:14490 +3270:14492 +3270:14493 +3270:14494 +3270:14499 +3270:14500 +3271:14496 +3271:14497 +3271:14498 +3275:13011 +3275:13013 +3275:13014 +3275:13015 +3275:13022 +3275:13068 +3275:13069 +3276:13016 +3276:13017 +3276:13024 +3276:13025 +3276:13026 +3276:13027 +3277:13028 +3277:13029 +3279:13031 +3279:13032 3281:13018 3281:13019 -3281:13020 -3281:13022 -3281:13023 -3282:13012 -3282:13013 -3283:13015 -3283:13016 -3286:12991 -3286:12992 -3286:13024 -3286:13025 -3286:13026 -3286:13027 -3287:13028 -3287:13029 -3287:13030 -3287:13033 -3287:13035 -3287:13036 -3288:13031 -3288:13038 -3292:14545 -3292:14547 -3292:14548 -3292:14549 -3292:14588 -3292:14589 -3294:14552 -3294:14553 -3294:14554 -3294:14555 -3294:14556 +3281:13033 +3281:13034 +3281:13035 +3281:13036 +3281:13037 +3281:13038 +3281:13039 +3281:13040 +3281:13046 +3281:13047 +3281:13048 +3281:13049 +3281:13051 +3281:13052 +3282:13041 +3282:13042 +3283:13044 +3283:13045 +3286:13020 +3286:13021 +3286:13053 +3286:13054 +3286:13055 +3286:13056 +3287:13057 +3287:13058 +3287:13059 +3287:13062 +3287:13064 +3287:13065 +3288:13060 +3288:13067 +3292:14574 +3292:14576 +3292:14577 +3292:14578 +3292:14617 +3292:14618 3294:14581 3294:14582 3294:14583 3294:14584 3294:14585 -3295:14559 -3295:14560 -3295:14561 -3295:14562 -3295:14563 -3295:14564 -3295:14567 -3295:14568 -3295:14569 -3295:14570 -3295:14571 -3295:14572 -3295:14587 -3296:14575 -3296:14576 -3296:14577 -3296:14578 -3320:14473 -3320:14491 -3320:14493 -3320:14494 -3320:14495 -3320:14501 -3320:14525 -3320:14537 -3320:14538 -3320:14539 -3320:14540 -3320:14542 -3320:14543 -3321:14474 -3322:14475 -3322:14496 -3322:14497 -3322:14503 +3294:14610 +3294:14611 +3294:14612 +3294:14613 +3294:14614 +3295:14588 +3295:14589 +3295:14590 +3295:14591 +3295:14592 +3295:14593 +3295:14596 +3295:14597 +3295:14598 +3295:14599 +3295:14600 +3295:14601 +3295:14616 +3296:14604 +3296:14605 +3296:14606 +3296:14607 +3320:14502 +3320:14520 +3320:14522 +3320:14523 +3320:14524 +3320:14530 +3320:14554 +3320:14566 +3320:14567 +3320:14568 +3320:14569 +3320:14571 +3320:14572 +3321:14503 3322:14504 -3322:14505 -3322:14506 -3323:14476 -3323:14498 -3323:14507 -3323:14508 -3323:14509 -3323:14510 -3323:14511 -3324:14477 -3324:14513 -3325:14478 -3325:14514 -3325:14515 -3325:14516 -3325:14519 -3325:14521 -3325:14522 -3326:14479 -3326:14517 -3326:14524 -3327:14480 -3328:14481 -3329:14482 -3330:14483 -3330:14499 -3330:14500 -3330:14526 -3330:14527 +3322:14525 +3322:14526 +3322:14532 +3322:14533 +3322:14534 +3322:14535 +3323:14505 +3323:14527 +3323:14536 +3323:14537 +3323:14538 +3323:14539 +3323:14540 +3324:14506 +3324:14542 +3325:14507 +3325:14543 +3325:14544 +3325:14545 +3325:14548 +3325:14550 +3325:14551 +3326:14508 +3326:14546 +3326:14553 +3327:14509 +3328:14510 +3329:14511 +3330:14512 3330:14528 3330:14529 -3330:14530 -3330:14531 -3330:14532 -3330:14533 -3330:14534 -3331:14484 -3332:14485 -3333:14486 -3333:14536 -3334:14487 -3335:14488 -3336:14489 -3337:14490 -3386:14254 -3386:14303 -3386:14305 -3386:14306 -3386:14307 -3386:14313 -3386:14315 -3386:14430 -3386:14458 +3330:14555 +3330:14556 +3330:14557 +3330:14558 +3330:14559 +3330:14560 +3330:14561 +3330:14562 +3330:14563 +3331:14513 +3332:14514 +3333:14515 +3333:14565 +3334:14516 +3335:14517 +3336:14518 +3337:14519 +3386:14283 +3386:14332 +3386:14334 +3386:14335 +3386:14336 +3386:14342 +3386:14344 3386:14459 -3387:14255 -3387:14308 -3387:14309 -3387:14316 -3387:14317 -3387:14319 -3387:14320 -3387:14321 -3387:14322 -3387:14323 -3387:14342 -3387:14343 -3387:14344 +3386:14487 +3386:14488 +3387:14284 +3387:14337 +3387:14338 3387:14345 3387:14346 +3387:14348 3387:14349 3387:14350 3387:14351 3387:14352 -3387:14353 -3387:14354 -3387:14355 -3387:14356 -3387:14357 -3387:14358 -3387:14359 -3387:14360 -3387:14361 -3387:14362 3387:14371 3387:14372 3387:14373 3387:14374 3387:14375 -3388:14256 -3389:14257 -3389:14378 -3389:14379 -3389:14380 -3389:14381 -3389:14382 -3389:14423 -3389:14424 -3389:14425 -3389:14426 -3389:14427 -3390:14258 -3390:14310 -3390:14383 -3390:14384 -3390:14429 -3391:14259 -3392:14260 -3392:14390 -3392:14392 -3392:14393 -3392:14394 -3392:14395 -3393:14261 -3394:14262 -3394:14311 -3394:14386 -3394:14387 -3394:14388 -3394:14389 -3395:14263 -3396:14264 -3397:14265 -3397:14398 -3397:14399 -3397:14400 -3397:14402 -3397:14404 -3397:14405 -3398:14266 -3398:14401 -3399:14267 -3400:14268 -3401:14269 -3402:14270 -3403:14271 -3404:14272 -3405:14273 -3406:14274 -3407:14275 -3407:14312 -3407:14409 -3407:14410 -3407:14411 -3407:14412 -3408:14276 -3409:14277 -3410:14278 -3410:14413 -3410:14414 -3410:14415 -3410:14416 -3410:14418 -3410:14419 -3411:14279 -3412:14280 -3413:14281 -3414:14282 -3415:14283 -3415:14431 -3415:14432 -3415:14454 -3415:14455 -3415:14456 -3415:14457 -3416:14284 -3416:14434 -3417:14285 -3417:14435 -3418:14286 -3418:14436 -3419:14287 -3419:14437 -3420:14288 -3420:14438 -3421:14289 -3421:14439 -3422:14290 -3422:14440 -3423:14291 -3423:14441 -3424:14292 -3424:14442 -3425:14293 -3425:14443 -3426:14294 -3426:14444 -3427:14295 -3427:14445 -3428:14296 -3428:14446 -3429:14297 -3429:14447 -3430:14298 -3430:14448 -3431:14299 -3431:14449 -3432:14300 -3432:14450 -3433:14301 -3433:14451 -3434:14302 -3434:14452 +3387:14378 +3387:14379 +3387:14380 +3387:14381 +3387:14382 +3387:14383 +3387:14384 +3387:14385 +3387:14386 +3387:14387 +3387:14388 +3387:14389 +3387:14390 +3387:14391 +3387:14400 +3387:14401 +3387:14402 +3387:14403 +3387:14404 +3388:14285 +3389:14286 +3389:14407 +3389:14408 +3389:14409 +3389:14410 +3389:14411 +3389:14452 +3389:14453 +3389:14454 +3389:14455 +3389:14456 +3390:14287 +3390:14339 +3390:14412 +3390:14413 +3390:14458 +3391:14288 +3392:14289 +3392:14419 +3392:14421 +3392:14422 +3392:14423 +3392:14424 +3393:14290 +3394:14291 +3394:14340 +3394:14415 +3394:14416 +3394:14417 +3394:14418 +3395:14292 +3396:14293 +3397:14294 +3397:14427 +3397:14428 +3397:14429 +3397:14431 +3397:14433 +3397:14434 +3398:14295 +3398:14430 +3399:14296 +3400:14297 +3401:14298 +3402:14299 +3403:14300 +3404:14301 +3405:14302 +3406:14303 +3407:14304 +3407:14341 +3407:14438 +3407:14439 +3407:14440 +3407:14441 +3408:14305 +3409:14306 +3410:14307 +3410:14442 +3410:14443 +3410:14444 +3410:14445 +3410:14447 +3410:14448 +3411:14308 +3412:14309 +3413:14310 +3414:14311 +3415:14312 +3415:14460 +3415:14461 +3415:14483 +3415:14484 +3415:14485 +3415:14486 +3416:14313 +3416:14463 +3417:14314 +3417:14464 +3418:14315 +3418:14465 +3419:14316 +3419:14466 +3420:14317 +3420:14467 +3421:14318 +3421:14468 +3422:14319 +3422:14469 +3423:14320 +3423:14470 +3424:14321 +3424:14471 +3425:14322 +3425:14472 +3426:14323 +3426:14473 +3427:14324 +3427:14474 +3428:14325 +3428:14475 +3429:14326 +3429:14476 +3430:14327 +3430:14477 +3431:14328 +3431:14478 +3432:14329 +3432:14479 +3433:14330 +3433:14480 +3434:14331 +3434:14481 3439:7024 3439:7026 3439:7027 @@ -11085,82 +11108,82 @@ groovy.g 3488:7409 3489:7410 3490:7411 -3498:14674 -3498:14677 -3498:14678 -3498:14680 -3498:14681 -3498:14682 -3498:14687 -3498:14823 -3498:14824 -3498:14825 -3499:14675 -3500:14676 -3504:14690 -3504:14691 -3504:14692 -3504:14693 -3504:14694 -3504:14695 -3504:14697 -3504:14699 -3504:14700 -3504:14701 -3504:14702 -3504:14703 -3504:14704 -3504:14705 -3504:14706 +3498:14703 +3498:14706 +3498:14707 +3498:14709 +3498:14710 +3498:14711 +3498:14716 +3498:14852 +3498:14853 +3498:14854 +3499:14704 +3500:14705 3504:14719 -3504:14805 -3504:14807 -3504:14808 -3504:14809 -3504:14810 -3505:14683 -3505:14684 -3505:14707 -3505:14708 -3505:14709 -3505:14710 -3505:14711 +3504:14720 +3504:14721 +3504:14722 +3504:14723 +3504:14724 +3504:14726 +3504:14728 +3504:14729 +3504:14730 +3504:14731 +3504:14732 +3504:14733 +3504:14734 +3504:14735 +3504:14748 +3504:14834 +3504:14836 +3504:14837 +3504:14838 +3504:14839 3505:14712 3505:14713 -3505:14714 -3507:14716 -3507:14717 -3510:14685 -3510:14686 -3510:14720 -3510:14721 -3510:14722 -3510:14723 -3510:14724 -3510:14725 -3510:14726 -3511:14728 -3511:14729 -3513:14732 -3513:14799 -3513:14800 -3513:14801 -3513:14802 -3513:14803 -3514:14733 -3514:14734 -3514:14735 -3514:14736 -3514:14737 -3515:14739 -3515:14740 -3519:14813 -3519:14814 -3520:14815 -3521:14817 -3522:14818 -3523:14819 -3527:14822 +3505:14736 +3505:14737 +3505:14738 +3505:14739 +3505:14740 +3505:14741 +3505:14742 +3505:14743 +3507:14745 +3507:14746 +3510:14714 +3510:14715 +3510:14749 +3510:14750 +3510:14751 +3510:14752 +3510:14753 +3510:14754 +3510:14755 +3511:14757 +3511:14758 +3513:14761 +3513:14828 +3513:14829 +3513:14830 +3513:14831 +3513:14832 +3514:14762 +3514:14763 +3514:14764 +3514:14765 +3514:14766 +3515:14768 +3515:14769 +3519:14842 +3519:14843 +3520:14844 +3521:14846 +3522:14847 +3523:14848 +3527:14851 3534:12091 3534:12098 3534:12100 @@ -11232,53 +11255,24 @@ groovy.g 3539:12162 3540:12097 3541:12157 -3543:14827 -3543:14828 -3543:14830 -3543:14831 -3543:14832 -3543:14939 -3543:14940 -3545:14835 -3545:14930 -3545:14931 -3545:14932 -3545:14933 -3545:14934 -3546:14836 -3546:14837 -3546:14838 -3546:14839 -3546:14840 -3546:14843 -3546:14844 -3546:14845 -3546:14846 -3546:14847 -3546:14848 -3546:14849 -3546:14850 -3546:14851 -3546:14852 -3546:14853 -3546:14854 -3546:14855 -3546:14856 -3546:14857 -3546:14858 -3546:14859 -3546:14860 -3546:14861 -3546:14862 -3546:14863 -3546:14864 +3543:14856 +3543:14857 +3543:14859 +3543:14860 +3543:14861 +3543:14968 +3543:14969 +3545:14864 +3545:14959 +3545:14960 +3545:14961 +3545:14962 +3545:14963 3546:14865 3546:14866 3546:14867 3546:14868 3546:14869 -3546:14870 -3546:14871 3546:14872 3546:14873 3546:14874 @@ -11310,83 +11304,83 @@ groovy.g 3546:14900 3546:14901 3546:14902 -3547:14905 -3547:14906 -3547:14907 -3547:14908 -3547:14909 -3547:14910 -3547:14911 -3547:14912 -3547:14915 -3547:14916 -3547:14917 -3547:14918 -3547:14919 -3548:14922 -3548:14923 -3548:14924 -3548:14925 -3548:14926 -3548:14927 -3550:14936 -3550:14937 -3550:14938 -3553:14591 -3553:14593 -3553:14594 -3553:14595 -3553:14671 -3553:14672 -3554:14600 -3554:14601 -3554:14602 -3554:14662 -3554:14663 -3554:14664 -3554:14665 -3554:14667 -3554:14668 -3554:14669 -3554:14670 -3564:14596 -3564:14597 -3564:14603 -3564:14604 -3564:14605 -3564:14606 -3564:14607 -3564:14608 -3564:14609 -3565:14612 -3565:14613 -3565:14614 -3565:14615 -3565:14616 -3565:14617 -3565:14618 -3565:14619 -3565:14620 -3565:14621 -3565:14622 -3565:14623 -3565:14624 -3565:14625 -3565:14626 -3565:14627 -3565:14628 -3565:14629 -3565:14630 -3565:14631 -3565:14632 -3565:14633 -3565:14634 -3565:14635 -3565:14636 -3565:14637 -3565:14638 -3565:14639 -3565:14640 +3546:14903 +3546:14904 +3546:14905 +3546:14906 +3546:14907 +3546:14908 +3546:14909 +3546:14910 +3546:14911 +3546:14912 +3546:14913 +3546:14914 +3546:14915 +3546:14916 +3546:14917 +3546:14918 +3546:14919 +3546:14920 +3546:14921 +3546:14922 +3546:14923 +3546:14924 +3546:14925 +3546:14926 +3546:14927 +3546:14928 +3546:14929 +3546:14930 +3546:14931 +3547:14934 +3547:14935 +3547:14936 +3547:14937 +3547:14938 +3547:14939 +3547:14940 +3547:14941 +3547:14944 +3547:14945 +3547:14946 +3547:14947 +3547:14948 +3548:14951 +3548:14952 +3548:14953 +3548:14954 +3548:14955 +3548:14956 +3550:14965 +3550:14966 +3550:14967 +3553:14620 +3553:14622 +3553:14623 +3553:14624 +3553:14700 +3553:14701 +3554:14629 +3554:14630 +3554:14631 +3554:14691 +3554:14692 +3554:14693 +3554:14694 +3554:14696 +3554:14697 +3554:14698 +3554:14699 +3564:14625 +3564:14626 +3564:14632 +3564:14633 +3564:14634 +3564:14635 +3564:14636 +3564:14637 +3564:14638 3565:14641 3565:14642 3565:14643 @@ -11395,167 +11389,196 @@ groovy.g 3565:14646 3565:14647 3565:14648 +3565:14649 +3565:14650 +3565:14651 +3565:14652 +3565:14653 +3565:14654 3565:14655 3565:14656 3565:14657 3565:14658 3565:14659 -3566:14661 -3571:14190 -3571:14191 -3571:14193 -3571:14194 -3571:14195 -3571:14197 -3571:14246 -3571:14247 -3571:14248 -3571:14249 -3571:14250 -3571:14251 -3571:14252 -3572:14198 -3572:14199 -3572:14200 -3572:14201 -3572:14202 -3572:14203 -3572:14204 -3572:14205 -3572:14206 -3572:14207 -3573:14210 -3573:14211 -3573:14212 -3573:14213 -3573:14214 -3573:14215 -3574:14219 -3574:14220 -3574:14221 -3574:14222 -3574:14223 -3574:14224 -3574:14225 -3575:14216 -3575:14228 -3575:14229 -3575:14230 -3575:14231 -3575:14232 -3575:14233 -3575:14234 -3576:14237 -3576:14238 -3576:14239 -3576:14240 -3576:14241 -3576:14242 -3576:14243 -3580:14942 -3580:14943 -3580:14945 -3580:14946 -3580:14947 -3580:14949 -3580:15004 -3580:15005 -3580:15006 -3580:15007 -3580:15008 -3580:15009 -3580:15010 -3581:14950 -3581:14951 -3581:14952 -3581:14953 -3581:14954 -3581:14955 -3582:14959 -3582:14960 -3582:14961 -3582:14962 -3582:14963 -3582:14964 -3583:14956 -3583:14968 -3583:14969 -3583:14970 -3583:14971 -3583:14972 -3583:14973 -3584:14965 -3584:14977 -3584:14978 -3584:14979 -3584:14980 -3584:14981 -3584:14982 -3585:14974 -3585:14986 -3585:14987 -3585:14988 -3585:14989 -3585:14990 -3585:14991 -3586:14983 -3586:14995 -3586:14996 -3586:14997 -3586:14998 -3586:14999 -3586:15000 -3587:14992 -3588:15001 -3590:15012 -3590:15013 -3590:15015 -3590:15016 -3590:15017 -3590:15019 -3590:15064 -3590:15065 -3590:15066 -3590:15067 -3590:15068 -3590:15069 -3590:15070 -3591:15020 -3591:15021 -3591:15022 -3591:15023 -3591:15024 -3591:15025 -3591:15026 -3591:15027 -3591:15028 -3592:15031 -3592:15032 -3592:15033 -3592:15034 -3592:15035 -3592:15036 -3592:15037 -3592:15038 -3592:15039 -3593:15042 -3593:15043 -3593:15044 -3593:15045 -3593:15046 -3593:15047 -3593:15048 -3593:15049 -3593:15050 -3594:15053 -3594:15054 -3594:15055 -3594:15056 -3594:15057 -3594:15058 -3594:15059 -3594:15060 -3594:15061 +3565:14660 +3565:14661 +3565:14662 +3565:14663 +3565:14664 +3565:14665 +3565:14666 +3565:14667 +3565:14668 +3565:14669 +3565:14670 +3565:14671 +3565:14672 +3565:14673 +3565:14674 +3565:14675 +3565:14676 +3565:14677 +3565:14684 +3565:14685 +3565:14686 +3565:14687 +3565:14688 +3566:14690 +3571:14219 +3571:14220 +3571:14222 +3571:14223 +3571:14224 +3571:14226 +3571:14275 +3571:14276 +3571:14277 +3571:14278 +3571:14279 +3571:14280 +3571:14281 +3572:14227 +3572:14228 +3572:14229 +3572:14230 +3572:14231 +3572:14232 +3572:14233 +3572:14234 +3572:14235 +3572:14236 +3573:14239 +3573:14240 +3573:14241 +3573:14242 +3573:14243 +3573:14244 +3574:14248 +3574:14249 +3574:14250 +3574:14251 +3574:14252 +3574:14253 +3574:14254 +3575:14245 +3575:14257 +3575:14258 +3575:14259 +3575:14260 +3575:14261 +3575:14262 +3575:14263 +3576:14266 +3576:14267 +3576:14268 +3576:14269 +3576:14270 +3576:14271 +3576:14272 +3580:14971 +3580:14972 +3580:14974 +3580:14975 +3580:14976 +3580:14978 +3580:15033 +3580:15034 +3580:15035 +3580:15036 +3580:15037 +3580:15038 +3580:15039 +3581:14979 +3581:14980 +3581:14981 +3581:14982 +3581:14983 +3581:14984 +3582:14988 +3582:14989 +3582:14990 +3582:14991 +3582:14992 +3582:14993 +3583:14985 +3583:14997 +3583:14998 +3583:14999 +3583:15000 +3583:15001 +3583:15002 +3584:14994 +3584:15006 +3584:15007 +3584:15008 +3584:15009 +3584:15010 +3584:15011 +3585:15003 +3585:15015 +3585:15016 +3585:15017 +3585:15018 +3585:15019 +3585:15020 +3586:15012 +3586:15024 +3586:15025 +3586:15026 +3586:15027 +3586:15028 +3586:15029 +3587:15021 +3588:15030 +3590:15041 +3590:15042 +3590:15044 +3590:15045 +3590:15046 +3590:15048 +3590:15093 +3590:15094 +3590:15095 +3590:15096 +3590:15097 +3590:15098 +3590:15099 +3591:15049 +3591:15050 +3591:15051 +3591:15052 +3591:15053 +3591:15054 +3591:15055 +3591:15056 +3591:15057 +3592:15060 +3592:15061 +3592:15062 +3592:15063 +3592:15064 +3592:15065 +3592:15066 +3592:15067 +3592:15068 +3593:15071 +3593:15072 +3593:15073 +3593:15074 +3593:15075 +3593:15076 +3593:15077 +3593:15078 +3593:15079 +3594:15082 +3594:15083 +3594:15084 +3594:15085 +3594:15086 +3594:15087 +3594:15088 +3594:15089 +3594:15090 3597:3764 3597:3766 3597:3767 diff --git a/ide-test/org.codehaus.groovy.eclipse.codeassist.test/src/org/codehaus/groovy/eclipse/codeassist/tests/ContentAssistLocationTests.groovy b/ide-test/org.codehaus.groovy.eclipse.codeassist.test/src/org/codehaus/groovy/eclipse/codeassist/tests/ContentAssistLocationTests.groovy index d9a75aabe4..0b40ccec11 100644 --- a/ide-test/org.codehaus.groovy.eclipse.codeassist.test/src/org/codehaus/groovy/eclipse/codeassist/tests/ContentAssistLocationTests.groovy +++ b/ide-test/org.codehaus.groovy.eclipse.codeassist.test/src/org/codehaus/groovy/eclipse/codeassist/tests/ContentAssistLocationTests.groovy @@ -566,8 +566,36 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } } - @Test + @Test // https://github.com/groovy/groovy-eclipse/issues/1129 void testExpression12() { + String contents = '''\ + |void meth(String a) { + | print a.# + | def b = null + |} + |'''.stripMargin() + assertLocation(contents, ContentAssistLocation.EXPRESSION) { + assert completionNode instanceof VariableExpression + assert fullCompletionExpression == 'a.' + } + } + + @Test + void testExpression13() { + String contents = '''\ + |void meth(String a) { + | print a.# + | Object b = null + |} + |'''.stripMargin() + assertLocation(contents, ContentAssistLocation.EXPRESSION) { + assert completionNode instanceof VariableExpression + assert fullCompletionExpression == 'a.' + } + } + + @Test + void testExpression14() { String contents = '''\ |0.# |'''.stripMargin() @@ -577,7 +605,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression13() { + void testExpression15() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { @@ -594,7 +622,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression13a() { + void testExpression16() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { @@ -610,7 +638,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression14() { + void testExpression17() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { @@ -627,7 +655,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression14a() { + void testExpression18() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { @@ -643,7 +671,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression15() { + void testExpression19() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { @@ -661,7 +689,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression15a() { + void testExpression20() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { @@ -678,7 +706,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression16() { + void testExpression21() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { @@ -696,7 +724,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression16a() { + void testExpression22() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { @@ -713,7 +741,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression17() { + void testExpression23() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { @@ -732,7 +760,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression17a() { + void testExpression24() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { @@ -750,7 +778,7 @@ final class ContentAssistLocationTests extends CompletionTestSuite { } @Test - void testExpression18() { + void testExpression25() { addGroovySource 'enum E { ONE, TWO, THREE }' String contents = '''\ |void meth(E e) { diff --git a/ide-test/org.codehaus.groovy.eclipse.codeassist.test/src/org/codehaus/groovy/eclipse/codeassist/tests/MethodCompletionTests.groovy b/ide-test/org.codehaus.groovy.eclipse.codeassist.test/src/org/codehaus/groovy/eclipse/codeassist/tests/MethodCompletionTests.groovy index 95321c73e5..ad56090b53 100644 --- a/ide-test/org.codehaus.groovy.eclipse.codeassist.test/src/org/codehaus/groovy/eclipse/codeassist/tests/MethodCompletionTests.groovy +++ b/ide-test/org.codehaus.groovy.eclipse.codeassist.test/src/org/codehaus/groovy/eclipse/codeassist/tests/MethodCompletionTests.groovy @@ -214,6 +214,51 @@ final class MethodCompletionTests extends CompletionTestSuite { proposalExists(proposals, 'time', 1) } + @Test // https://github.com/groovy/groovy-eclipse/issues/1129 + void testObjectExpr9() { + String contents = '''\ + |class C { + | void meth(Number n) { + | n. + | def x = 1 + | } + |} + |'''.stripMargin() + ICompletionProposal[] proposals = createProposalsAtOffset(contents, getLastIndexOf(contents, '.')) + proposalExists(proposals, 'byteValue()', 1) + proposalExists(proposals, 'intValue()', 1) + } + + @Test // https://github.com/groovy/groovy-eclipse/issues/1129 + void testObjectExpr9a() { + String contents = '''\ + |class C { + | void meth(Number n) { + | println n. + | def x = 1 + | } + |} + |'''.stripMargin() + ICompletionProposal[] proposals = createProposalsAtOffset(contents, getLastIndexOf(contents, '.')) + proposalExists(proposals, 'byteValue()', 1) + proposalExists(proposals, 'intValue()', 1) + } + + @Test // https://github.com/groovy/groovy-eclipse/issues/1129 + void testObjectExpr9b() { + String contents = '''\ + |class C { + | void meth(Number n) { + | println n. + | Number x = 1 + | } + |} + |'''.stripMargin() + ICompletionProposal[] proposals = createProposalsAtOffset(contents, getLastIndexOf(contents, '.')) + proposalExists(proposals, 'byteValue()', 1) + proposalExists(proposals, 'intValue()', 1) + } + @Test // GRECLIPSE-1374 void testParensExpr1() { String contents = '''\