From 453fd420d48f8dc5bfb013fb50124103ec0b372e Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Sun, 24 Aug 2014 21:29:33 +0200 Subject: [PATCH] imports & code formatting 2 --- .../com/jpexs/decompiler/flash/abc/ABC.java | 2 +- .../decompiler/flash/abc/avm2/AVM2Code.java | 2 +- .../flash/abc/avm2/ConstantPool.java | 5 +- .../avm2/parser/script/ActionScriptLexer.java | 4064 ++++++++------- .../avm2/parser/script/PropertyAVM2Item.java | 10 +- .../parser/script/UnresolvedAVM2Item.java | 6 +- .../flash/abc/types/ABCException.java | 4 +- .../flash/abc/types/InstanceInfo.java | 6 +- .../flash/abc/types/MethodInfo.java | 4 +- .../decompiler/flash/abc/types/Multiname.java | 12 +- .../flash/abc/types/traits/Trait.java | 2 +- .../flash/abc/types/traits/TraitClass.java | 22 +- .../flash/abc/types/traits/TraitFunction.java | 6 +- .../types/traits/TraitMethodGetterSetter.java | 7 +- .../flash/action/Deobfuscation.java | 60 +- .../parser/script/ActionScriptLexer.java | 4594 +++++++++-------- .../flash/gui/abc/DecompiledEditorPane.java | 8 +- .../decompiler/flash/gui/abc/DetailPanel.java | 2 +- .../flash/gui/abc/TraitsListItem.java | 4 +- .../decompiler/flash/gui/abc/UsageFrame.java | 4 +- .../abc/tablemodels/MultinameTableModel.java | 2 +- 21 files changed, 4633 insertions(+), 4193 deletions(-) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java index cf4a5a28e..0b86f4136 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java @@ -694,7 +694,7 @@ public class ABC { public MethodBody findBodyByClassAndName(String className, String methodName) { for (int i = 0; i < instance_info.size(); i++) { - if (className.equals(constants.getMultiname(instance_info.get(i).name_index).getName(constants, new ArrayList(),true))) { + if (className.equals(constants.getMultiname(instance_info.get(i).name_index).getName(constants, new ArrayList(), true))) { for (Trait t : instance_info.get(i).instance_traits.traits) { if (t instanceof TraitMethodGetterSetter) { TraitMethodGetterSetter t2 = (TraitMethodGetterSetter) t; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java index f38fbfdf3..982a688d7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java @@ -1465,7 +1465,7 @@ public class AVM2Code implements Serializable { if (code.get(ip + plus + 2).definition instanceof SwapIns) { if (code.get(ip + plus + 4).definition instanceof PopScopeIns) { if (code.get(ip + plus + 3).definition instanceof SetPropertyIns) { - functionName = abc.constants.getMultiname(code.get(ip + plus + 3).operands[0]).getName(constants, fullyQualifiedNames,true); + functionName = abc.constants.getMultiname(code.get(ip + plus + 3).operands[0]).getName(constants, fullyQualifiedNames, true); scopeStack.pop();//with output.remove(output.size() - 1); //with ip = ip + plus + 4; //+1 below diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConstantPool.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConstantPool.java index c73cf61fe..6b1e795a0 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConstantPool.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConstantPool.java @@ -20,12 +20,9 @@ import com.jpexs.decompiler.flash.abc.types.Decimal; import com.jpexs.decompiler.flash.abc.types.Multiname; import com.jpexs.decompiler.flash.abc.types.Namespace; import com.jpexs.decompiler.flash.abc.types.NamespaceSet; -import com.jpexs.decompiler.flash.action.Deobfuscation; import com.jpexs.helpers.utf8.Utf8PrintWriter; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; public class ConstantPool { @@ -38,7 +35,7 @@ public class ConstantPool { public List constant_namespace = new ArrayList<>(); public List constant_namespace_set = new ArrayList<>(); public List constant_multiname = new ArrayList<>(); - + public synchronized int addInt(long value) { constant_int.add(value); return constant_int.size() - 1; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java index ad4805d5d..f0db3d47f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/ActionScriptLexer.java @@ -12,939 +12,980 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.abc.avm2.parser.script; -import com.jpexs.decompiler.flash.abc.avm2.parser.ParseException; -import java.util.Stack; -import java.util.List; -import java.util.ArrayList; -import java.io.StringReader; +import com.jpexs.decompiler.flash.abc.avm2.parser.ParseException; +import java.io.StringReader; +import java.util.ArrayList; +import java.util.List; +import java.util.Stack; /** - * This class is a scanner generated by - * JFlex 1.5.0-SNAPSHOT - * from the specification file D:/Dropbox/Programovani/JavaSE/FFDec/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/actionscript.flex + * This class is a scanner generated by + * JFlex 1.5.0-SNAPSHOT from the + * specification file + * D:/Dropbox/Programovani/JavaSE/FFDec/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/actionscript.flex */ public final class ActionScriptLexer { - /** This character denotes the end of file */ - public static final int YYEOF = -1; + /** + * This character denotes the end of file + */ + public static final int YYEOF = -1; - /** initial size of the lookahead buffer */ - private static final int ZZ_BUFFERSIZE = 16384; + /** + * initial size of the lookahead buffer + */ + private static final int ZZ_BUFFERSIZE = 16384; - /** lexical states */ - public static final int YYINITIAL = 0; - public static final int STRING = 2; - public static final int CHARLITERAL = 4; - public static final int XMLOPENTAG = 6; - public static final int XMLOPENTAGATTRIB = 8; - public static final int XMLINSTROPENTAG = 10; - public static final int XMLINSTRATTRIB = 12; - public static final int XMLCDATA = 14; - public static final int XMLCOMMENT = 16; - public static final int XML = 18; - public static final int OIDENTIFIER = 20; + /** + * lexical states + */ + public static final int YYINITIAL = 0; + public static final int STRING = 2; + public static final int CHARLITERAL = 4; + public static final int XMLOPENTAG = 6; + public static final int XMLOPENTAGATTRIB = 8; + public static final int XMLINSTROPENTAG = 10; + public static final int XMLINSTRATTRIB = 12; + public static final int XMLCDATA = 14; + public static final int XMLCOMMENT = 16; + public static final int XML = 18; + public static final int OIDENTIFIER = 20; - /** - * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l - * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l - * at the beginning of a line - * l is of the form l = 2*k, k a non negative integer - */ - private static final int ZZ_LEXSTATE[] = { - 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, - 8, 8, 9, 9, 10, 10 - }; + /** + * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l + * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the + * beginning of a line l is of the form l = 2*k, k a non negative integer + */ + private static final int ZZ_LEXSTATE[] = { + 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, + 8, 8, 9, 9, 10, 10 + }; - /** - * Translates characters to character classes - */ - private static final String ZZ_CMAP_PACKED = - "\11\7\1\12\1\2\1\112\1\3\1\1\16\7\4\0\1\12\1\13"+ - "\1\33\1\0\1\6\1\110\1\105\1\34\1\76\1\77\1\5\1\45"+ - "\1\103\1\14\1\10\1\4\1\35\3\41\4\42\2\21\1\16\1\102"+ - "\1\11\1\32\1\15\1\23\1\111\1\27\1\17\1\25\1\26\1\43"+ - "\1\17\2\20\1\74\4\20\1\75\5\20\1\30\3\20\1\37\2\20"+ - "\1\24\1\46\1\31\1\107\1\20\1\0\1\52\1\50\1\54\1\63"+ - "\1\44\1\40\1\73\1\66\1\61\1\20\1\53\1\64\1\71\1\57"+ - "\1\56\1\67\1\20\1\51\1\55\1\60\1\62\1\72\1\65\1\36"+ - "\1\70\1\20\1\100\1\106\1\101\1\104\6\7\1\113\32\7\2\0"+ - "\4\6\1\0\1\47\2\0\1\6\2\0\1\7\7\0\1\6\1\0"+ - "\1\22\2\0\1\6\5\0\2\6\1\114\24\6\1\0\37\6\1\0"+ - "\u01ca\6\4\0\14\6\16\0\5\6\7\0\1\6\1\0\1\6\21\0"+ - "\160\7\5\6\1\0\2\6\2\0\4\6\1\0\7\0\1\6\1\0"+ - "\3\6\1\0\1\6\1\0\24\6\1\0\123\6\1\0\213\6\1\0"+ - "\5\7\2\0\236\6\11\0\46\6\2\0\1\6\7\0\47\6\11\0"+ - "\55\7\1\0\1\7\1\0\2\7\1\0\2\7\1\0\1\7\10\0"+ - "\33\6\5\0\3\6\15\0\4\7\7\0\1\6\4\0\13\7\5\0"+ - "\53\6\37\7\4\0\2\6\1\7\143\6\1\0\1\6\10\7\1\0"+ - "\6\7\2\6\2\7\1\0\4\7\2\6\12\7\3\6\2\0\1\6"+ - "\17\0\1\7\1\6\1\7\36\6\33\7\2\0\131\6\13\7\1\6"+ - "\16\0\12\7\41\6\11\7\2\6\4\0\1\6\5\0\26\6\4\7"+ - "\1\6\11\7\1\6\3\7\1\6\5\7\22\0\31\6\3\7\244\0"+ - "\4\7\66\6\3\7\1\6\22\7\1\6\7\7\12\6\2\7\2\0"+ - "\12\7\1\0\7\6\1\0\7\6\1\0\3\7\1\0\10\6\2\0"+ - "\2\6\2\0\26\6\1\0\7\6\1\0\1\6\3\0\4\6\2\0"+ - "\1\7\1\6\7\7\2\0\2\7\2\0\3\7\1\6\10\0\1\7"+ - "\4\0\2\6\1\0\3\6\2\7\2\0\12\7\4\6\7\0\1\6"+ - "\5\0\3\7\1\0\6\6\4\0\2\6\2\0\26\6\1\0\7\6"+ - "\1\0\2\6\1\0\2\6\1\0\2\6\2\0\1\7\1\0\5\7"+ - "\4\0\2\7\2\0\3\7\3\0\1\7\7\0\4\6\1\0\1\6"+ - "\7\0\14\7\3\6\1\7\13\0\3\7\1\0\11\6\1\0\3\6"+ - "\1\0\26\6\1\0\7\6\1\0\2\6\1\0\5\6\2\0\1\7"+ - "\1\6\10\7\1\0\3\7\1\0\3\7\2\0\1\6\17\0\2\6"+ - "\2\7\2\0\12\7\1\0\1\6\17\0\3\7\1\0\10\6\2\0"+ - "\2\6\2\0\26\6\1\0\7\6\1\0\2\6\1\0\5\6\2\0"+ - "\1\7\1\6\7\7\2\0\2\7\2\0\3\7\10\0\2\7\4\0"+ - "\2\6\1\0\3\6\2\7\2\0\12\7\1\0\1\6\20\0\1\7"+ - "\1\6\1\0\6\6\3\0\3\6\1\0\4\6\3\0\2\6\1\0"+ - "\1\6\1\0\2\6\3\0\2\6\3\0\3\6\3\0\14\6\4\0"+ - "\5\7\3\0\3\7\1\0\4\7\2\0\1\6\6\0\1\7\16\0"+ - "\12\7\11\0\1\6\7\0\3\7\1\0\10\6\1\0\3\6\1\0"+ - "\27\6\1\0\12\6\1\0\5\6\3\0\1\6\7\7\1\0\3\7"+ - "\1\0\4\7\7\0\2\7\1\0\2\6\6\0\2\6\2\7\2\0"+ - "\12\7\22\0\2\7\1\0\10\6\1\0\3\6\1\0\27\6\1\0"+ - "\12\6\1\0\5\6\2\0\1\7\1\6\7\7\1\0\3\7\1\0"+ - "\4\7\7\0\2\7\7\0\1\6\1\0\2\6\2\7\2\0\12\7"+ - "\1\0\2\6\17\0\2\7\1\0\10\6\1\0\3\6\1\0\51\6"+ - "\2\0\1\6\7\7\1\0\3\7\1\0\4\7\1\6\10\0\1\7"+ - "\10\0\2\6\2\7\2\0\12\7\12\0\6\6\2\0\2\7\1\0"+ - "\22\6\3\0\30\6\1\0\11\6\1\0\1\6\2\0\7\6\3\0"+ - "\1\7\4\0\6\7\1\0\1\7\1\0\10\7\22\0\2\7\15\0"+ - "\60\6\1\7\2\6\7\7\4\0\10\6\10\7\1\0\12\7\47\0"+ - "\2\6\1\0\1\6\2\0\2\6\1\0\1\6\2\0\1\6\6\0"+ - "\4\6\1\0\7\6\1\0\3\6\1\0\1\6\1\0\1\6\2\0"+ - "\2\6\1\0\4\6\1\7\2\6\6\7\1\0\2\7\1\6\2\0"+ - "\5\6\1\0\1\6\1\0\6\7\2\0\12\7\2\0\2\6\42\0"+ - "\1\6\27\0\2\7\6\0\12\7\13\0\1\7\1\0\1\7\1\0"+ - "\1\7\4\0\2\7\10\6\1\0\44\6\4\0\24\7\1\0\2\7"+ - "\5\6\13\7\1\0\44\7\11\0\1\7\71\0\53\6\24\7\1\6"+ - "\12\7\6\0\6\6\4\7\4\6\3\7\1\6\3\7\2\6\7\7"+ - "\3\6\4\7\15\6\14\7\1\6\17\7\2\0\46\6\12\0\53\6"+ - "\1\0\1\6\3\0\u0149\6\1\0\4\6\2\0\7\6\1\0\1\6"+ - "\1\0\4\6\2\0\51\6\1\0\4\6\2\0\41\6\1\0\4\6"+ - "\2\0\7\6\1\0\1\6\1\0\4\6\2\0\17\6\1\0\71\6"+ - "\1\0\4\6\2\0\103\6\2\0\3\7\40\0\20\6\20\0\125\6"+ - "\14\0\u026c\6\2\0\21\6\1\0\32\6\5\0\113\6\3\0\3\6"+ - "\17\0\15\6\1\0\4\6\3\7\13\0\22\6\3\7\13\0\22\6"+ - "\2\7\14\0\15\6\1\0\3\6\1\0\2\7\14\0\64\6\40\7"+ - "\3\0\1\6\3\0\2\6\1\7\2\0\12\7\41\0\3\7\2\0"+ - "\12\7\6\0\130\6\10\0\51\6\1\7\1\6\5\0\106\6\12\0"+ - "\35\6\3\0\14\7\4\0\14\7\12\0\12\7\36\6\2\0\5\6"+ - "\13\0\54\6\4\0\21\7\7\6\2\7\6\0\12\7\46\0\27\6"+ - "\5\7\4\0\65\6\12\7\1\0\35\7\2\0\13\7\6\0\12\7"+ - "\15\0\1\6\130\0\5\7\57\6\21\7\7\6\4\0\12\7\21\0"+ - "\11\7\14\0\3\7\36\6\12\7\3\0\2\6\12\7\6\0\46\6"+ - "\16\7\14\0\44\6\24\7\10\0\12\7\3\0\3\6\12\7\44\6"+ - "\122\0\3\7\1\0\25\7\4\6\1\7\4\6\1\7\15\0\300\6"+ - "\47\7\25\0\4\7\u0116\6\2\0\6\6\2\0\46\6\2\0\6\6"+ - "\2\0\10\6\1\0\1\6\1\0\1\6\1\0\1\6\1\0\37\6"+ - "\2\0\65\6\1\0\7\6\1\0\1\6\3\0\3\6\1\0\7\6"+ - "\3\0\4\6\2\0\6\6\4\0\15\6\5\0\3\6\1\0\7\6"+ - "\3\0\13\0\1\7\2\7\2\7\30\0\1\112\1\112\5\7\20\0"+ - "\2\6\23\0\1\6\13\0\5\7\5\0\6\7\1\0\1\6\15\0"+ - "\1\6\20\0\15\6\3\0\32\6\26\0\15\7\4\0\1\7\3\0"+ - "\14\7\21\0\1\6\4\0\1\6\2\0\12\6\1\0\1\6\3\0"+ - "\5\6\6\0\1\6\1\0\1\6\1\0\1\6\1\0\4\6\1\0"+ - "\13\6\2\0\4\6\5\0\5\6\4\0\1\6\21\0\51\6\7\0"+ - "\u0a70\0\57\6\1\0\57\6\1\0\205\6\6\0\4\6\3\7\16\0"+ - "\46\6\12\0\66\6\11\0\1\6\17\0\1\7\27\6\11\0\7\6"+ - "\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6"+ - "\1\0\7\6\1\0\7\6\1\0\40\7\57\0\1\6\u01c0\0\21\0"+ - "\4\0\3\6\31\0\11\6\6\7\1\0\5\6\2\0\5\6\4\0"+ - "\126\6\2\0\2\7\2\0\3\6\1\0\132\6\1\0\4\6\5\0"+ - "\51\6\3\0\136\6\21\0\33\6\65\0\20\6\u0200\0\u19b6\6\112\0"+ - "\u51cc\6\64\0\u048d\6\103\0\56\6\2\0\u010d\6\3\0\20\6\12\7"+ - "\2\6\24\0\57\6\1\7\14\0\2\7\1\0\31\6\10\0\120\6"+ - "\2\7\45\0\11\6\2\0\147\6\2\0\4\6\1\0\2\6\16\0"+ - "\12\6\120\0\10\6\1\7\3\6\1\7\4\6\1\7\27\6\5\7"+ - "\20\0\1\6\7\0\64\6\14\0\2\7\62\6\21\7\13\0\12\7"+ - "\6\0\22\7\6\6\3\0\1\6\4\0\12\7\34\6\10\7\2\0"+ - "\27\6\15\7\14\0\35\6\3\0\4\7\57\6\16\7\16\0\1\6"+ - "\12\7\46\0\51\6\16\7\11\0\3\6\1\7\10\6\2\7\2\0"+ - "\12\7\6\0\27\6\3\0\1\6\1\7\4\0\60\6\1\7\1\6"+ - "\3\7\2\6\2\7\5\6\2\7\1\6\1\7\1\6\30\0\3\6"+ - "\43\0\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6"+ - "\221\0\43\6\10\7\1\0\2\7\2\0\12\7\6\0\u2ba4\6\14\0"+ - "\27\6\4\0\61\6\4\0\u1800\0\u0900\0\u012e\6\2\0\76\6\2\0"+ - "\152\6\46\0\7\6\14\0\5\6\5\0\1\6\1\7\12\6\1\0"+ - "\15\6\1\0\5\6\1\0\1\6\1\0\2\6\1\0\2\6\1\0"+ - "\154\6\41\0\u016b\6\22\0\100\6\2\0\66\6\10\0\40\0\15\6"+ - "\3\0\20\7\20\0\7\7\14\0\2\6\30\0\3\6\31\0\1\6"+ - "\6\0\5\6\1\0\207\6\2\0\1\7\4\0\1\6\13\0\12\7"+ - "\7\0\32\6\4\0\1\6\1\0\32\6\13\0\131\6\3\0\6\6"+ - "\2\0\6\6\2\0\6\6\2\0\3\6\3\0\2\6\3\0\2\6"+ - "\22\0\3\7\2\0\2\0"; + /** + * Translates characters to character classes + */ + private static final String ZZ_CMAP_PACKED + = "\11\7\1\12\1\2\1\112\1\3\1\1\16\7\4\0\1\12\1\13" + + "\1\33\1\0\1\6\1\110\1\105\1\34\1\76\1\77\1\5\1\45" + + "\1\103\1\14\1\10\1\4\1\35\3\41\4\42\2\21\1\16\1\102" + + "\1\11\1\32\1\15\1\23\1\111\1\27\1\17\1\25\1\26\1\43" + + "\1\17\2\20\1\74\4\20\1\75\5\20\1\30\3\20\1\37\2\20" + + "\1\24\1\46\1\31\1\107\1\20\1\0\1\52\1\50\1\54\1\63" + + "\1\44\1\40\1\73\1\66\1\61\1\20\1\53\1\64\1\71\1\57" + + "\1\56\1\67\1\20\1\51\1\55\1\60\1\62\1\72\1\65\1\36" + + "\1\70\1\20\1\100\1\106\1\101\1\104\6\7\1\113\32\7\2\0" + + "\4\6\1\0\1\47\2\0\1\6\2\0\1\7\7\0\1\6\1\0" + + "\1\22\2\0\1\6\5\0\2\6\1\114\24\6\1\0\37\6\1\0" + + "\u01ca\6\4\0\14\6\16\0\5\6\7\0\1\6\1\0\1\6\21\0" + + "\160\7\5\6\1\0\2\6\2\0\4\6\1\0\7\0\1\6\1\0" + + "\3\6\1\0\1\6\1\0\24\6\1\0\123\6\1\0\213\6\1\0" + + "\5\7\2\0\236\6\11\0\46\6\2\0\1\6\7\0\47\6\11\0" + + "\55\7\1\0\1\7\1\0\2\7\1\0\2\7\1\0\1\7\10\0" + + "\33\6\5\0\3\6\15\0\4\7\7\0\1\6\4\0\13\7\5\0" + + "\53\6\37\7\4\0\2\6\1\7\143\6\1\0\1\6\10\7\1\0" + + "\6\7\2\6\2\7\1\0\4\7\2\6\12\7\3\6\2\0\1\6" + + "\17\0\1\7\1\6\1\7\36\6\33\7\2\0\131\6\13\7\1\6" + + "\16\0\12\7\41\6\11\7\2\6\4\0\1\6\5\0\26\6\4\7" + + "\1\6\11\7\1\6\3\7\1\6\5\7\22\0\31\6\3\7\244\0" + + "\4\7\66\6\3\7\1\6\22\7\1\6\7\7\12\6\2\7\2\0" + + "\12\7\1\0\7\6\1\0\7\6\1\0\3\7\1\0\10\6\2\0" + + "\2\6\2\0\26\6\1\0\7\6\1\0\1\6\3\0\4\6\2\0" + + "\1\7\1\6\7\7\2\0\2\7\2\0\3\7\1\6\10\0\1\7" + + "\4\0\2\6\1\0\3\6\2\7\2\0\12\7\4\6\7\0\1\6" + + "\5\0\3\7\1\0\6\6\4\0\2\6\2\0\26\6\1\0\7\6" + + "\1\0\2\6\1\0\2\6\1\0\2\6\2\0\1\7\1\0\5\7" + + "\4\0\2\7\2\0\3\7\3\0\1\7\7\0\4\6\1\0\1\6" + + "\7\0\14\7\3\6\1\7\13\0\3\7\1\0\11\6\1\0\3\6" + + "\1\0\26\6\1\0\7\6\1\0\2\6\1\0\5\6\2\0\1\7" + + "\1\6\10\7\1\0\3\7\1\0\3\7\2\0\1\6\17\0\2\6" + + "\2\7\2\0\12\7\1\0\1\6\17\0\3\7\1\0\10\6\2\0" + + "\2\6\2\0\26\6\1\0\7\6\1\0\2\6\1\0\5\6\2\0" + + "\1\7\1\6\7\7\2\0\2\7\2\0\3\7\10\0\2\7\4\0" + + "\2\6\1\0\3\6\2\7\2\0\12\7\1\0\1\6\20\0\1\7" + + "\1\6\1\0\6\6\3\0\3\6\1\0\4\6\3\0\2\6\1\0" + + "\1\6\1\0\2\6\3\0\2\6\3\0\3\6\3\0\14\6\4\0" + + "\5\7\3\0\3\7\1\0\4\7\2\0\1\6\6\0\1\7\16\0" + + "\12\7\11\0\1\6\7\0\3\7\1\0\10\6\1\0\3\6\1\0" + + "\27\6\1\0\12\6\1\0\5\6\3\0\1\6\7\7\1\0\3\7" + + "\1\0\4\7\7\0\2\7\1\0\2\6\6\0\2\6\2\7\2\0" + + "\12\7\22\0\2\7\1\0\10\6\1\0\3\6\1\0\27\6\1\0" + + "\12\6\1\0\5\6\2\0\1\7\1\6\7\7\1\0\3\7\1\0" + + "\4\7\7\0\2\7\7\0\1\6\1\0\2\6\2\7\2\0\12\7" + + "\1\0\2\6\17\0\2\7\1\0\10\6\1\0\3\6\1\0\51\6" + + "\2\0\1\6\7\7\1\0\3\7\1\0\4\7\1\6\10\0\1\7" + + "\10\0\2\6\2\7\2\0\12\7\12\0\6\6\2\0\2\7\1\0" + + "\22\6\3\0\30\6\1\0\11\6\1\0\1\6\2\0\7\6\3\0" + + "\1\7\4\0\6\7\1\0\1\7\1\0\10\7\22\0\2\7\15\0" + + "\60\6\1\7\2\6\7\7\4\0\10\6\10\7\1\0\12\7\47\0" + + "\2\6\1\0\1\6\2\0\2\6\1\0\1\6\2\0\1\6\6\0" + + "\4\6\1\0\7\6\1\0\3\6\1\0\1\6\1\0\1\6\2\0" + + "\2\6\1\0\4\6\1\7\2\6\6\7\1\0\2\7\1\6\2\0" + + "\5\6\1\0\1\6\1\0\6\7\2\0\12\7\2\0\2\6\42\0" + + "\1\6\27\0\2\7\6\0\12\7\13\0\1\7\1\0\1\7\1\0" + + "\1\7\4\0\2\7\10\6\1\0\44\6\4\0\24\7\1\0\2\7" + + "\5\6\13\7\1\0\44\7\11\0\1\7\71\0\53\6\24\7\1\6" + + "\12\7\6\0\6\6\4\7\4\6\3\7\1\6\3\7\2\6\7\7" + + "\3\6\4\7\15\6\14\7\1\6\17\7\2\0\46\6\12\0\53\6" + + "\1\0\1\6\3\0\u0149\6\1\0\4\6\2\0\7\6\1\0\1\6" + + "\1\0\4\6\2\0\51\6\1\0\4\6\2\0\41\6\1\0\4\6" + + "\2\0\7\6\1\0\1\6\1\0\4\6\2\0\17\6\1\0\71\6" + + "\1\0\4\6\2\0\103\6\2\0\3\7\40\0\20\6\20\0\125\6" + + "\14\0\u026c\6\2\0\21\6\1\0\32\6\5\0\113\6\3\0\3\6" + + "\17\0\15\6\1\0\4\6\3\7\13\0\22\6\3\7\13\0\22\6" + + "\2\7\14\0\15\6\1\0\3\6\1\0\2\7\14\0\64\6\40\7" + + "\3\0\1\6\3\0\2\6\1\7\2\0\12\7\41\0\3\7\2\0" + + "\12\7\6\0\130\6\10\0\51\6\1\7\1\6\5\0\106\6\12\0" + + "\35\6\3\0\14\7\4\0\14\7\12\0\12\7\36\6\2\0\5\6" + + "\13\0\54\6\4\0\21\7\7\6\2\7\6\0\12\7\46\0\27\6" + + "\5\7\4\0\65\6\12\7\1\0\35\7\2\0\13\7\6\0\12\7" + + "\15\0\1\6\130\0\5\7\57\6\21\7\7\6\4\0\12\7\21\0" + + "\11\7\14\0\3\7\36\6\12\7\3\0\2\6\12\7\6\0\46\6" + + "\16\7\14\0\44\6\24\7\10\0\12\7\3\0\3\6\12\7\44\6" + + "\122\0\3\7\1\0\25\7\4\6\1\7\4\6\1\7\15\0\300\6" + + "\47\7\25\0\4\7\u0116\6\2\0\6\6\2\0\46\6\2\0\6\6" + + "\2\0\10\6\1\0\1\6\1\0\1\6\1\0\1\6\1\0\37\6" + + "\2\0\65\6\1\0\7\6\1\0\1\6\3\0\3\6\1\0\7\6" + + "\3\0\4\6\2\0\6\6\4\0\15\6\5\0\3\6\1\0\7\6" + + "\3\0\13\0\1\7\2\7\2\7\30\0\1\112\1\112\5\7\20\0" + + "\2\6\23\0\1\6\13\0\5\7\5\0\6\7\1\0\1\6\15\0" + + "\1\6\20\0\15\6\3\0\32\6\26\0\15\7\4\0\1\7\3\0" + + "\14\7\21\0\1\6\4\0\1\6\2\0\12\6\1\0\1\6\3\0" + + "\5\6\6\0\1\6\1\0\1\6\1\0\1\6\1\0\4\6\1\0" + + "\13\6\2\0\4\6\5\0\5\6\4\0\1\6\21\0\51\6\7\0" + + "\u0a70\0\57\6\1\0\57\6\1\0\205\6\6\0\4\6\3\7\16\0" + + "\46\6\12\0\66\6\11\0\1\6\17\0\1\7\27\6\11\0\7\6" + + "\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6" + + "\1\0\7\6\1\0\7\6\1\0\40\7\57\0\1\6\u01c0\0\21\0" + + "\4\0\3\6\31\0\11\6\6\7\1\0\5\6\2\0\5\6\4\0" + + "\126\6\2\0\2\7\2\0\3\6\1\0\132\6\1\0\4\6\5\0" + + "\51\6\3\0\136\6\21\0\33\6\65\0\20\6\u0200\0\u19b6\6\112\0" + + "\u51cc\6\64\0\u048d\6\103\0\56\6\2\0\u010d\6\3\0\20\6\12\7" + + "\2\6\24\0\57\6\1\7\14\0\2\7\1\0\31\6\10\0\120\6" + + "\2\7\45\0\11\6\2\0\147\6\2\0\4\6\1\0\2\6\16\0" + + "\12\6\120\0\10\6\1\7\3\6\1\7\4\6\1\7\27\6\5\7" + + "\20\0\1\6\7\0\64\6\14\0\2\7\62\6\21\7\13\0\12\7" + + "\6\0\22\7\6\6\3\0\1\6\4\0\12\7\34\6\10\7\2\0" + + "\27\6\15\7\14\0\35\6\3\0\4\7\57\6\16\7\16\0\1\6" + + "\12\7\46\0\51\6\16\7\11\0\3\6\1\7\10\6\2\7\2\0" + + "\12\7\6\0\27\6\3\0\1\6\1\7\4\0\60\6\1\7\1\6" + + "\3\7\2\6\2\7\5\6\2\7\1\6\1\7\1\6\30\0\3\6" + + "\43\0\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6" + + "\221\0\43\6\10\7\1\0\2\7\2\0\12\7\6\0\u2ba4\6\14\0" + + "\27\6\4\0\61\6\4\0\u1800\0\u0900\0\u012e\6\2\0\76\6\2\0" + + "\152\6\46\0\7\6\14\0\5\6\5\0\1\6\1\7\12\6\1\0" + + "\15\6\1\0\5\6\1\0\1\6\1\0\2\6\1\0\2\6\1\0" + + "\154\6\41\0\u016b\6\22\0\100\6\2\0\66\6\10\0\40\0\15\6" + + "\3\0\20\7\20\0\7\7\14\0\2\6\30\0\3\6\31\0\1\6" + + "\6\0\5\6\1\0\207\6\2\0\1\7\4\0\1\6\13\0\12\7" + + "\7\0\32\6\4\0\1\6\1\0\32\6\13\0\131\6\3\0\6\6" + + "\2\0\6\6\2\0\6\6\2\0\3\6\3\0\2\6\3\0\2\6" + + "\22\0\3\7\2\0\2\0"; - /** - * Translates characters to character classes - */ - private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); + /** + * Translates characters to character classes + */ + private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); - /** - * Translates DFA states to action switch labels. - */ - private static final int [] ZZ_ACTION = zzUnpackAction(); + /** + * Translates DFA states to action switch labels. + */ + private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = - "\13\0\1\1\2\2\1\3\1\4\1\5\1\6\1\7"+ - "\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17"+ - "\1\20\1\21\1\22\1\23\1\15\2\6\1\24\1\25"+ - "\21\6\1\26\1\27\1\30\1\31\1\32\1\33\1\34"+ - "\1\35\1\36\1\37\1\40\1\41\1\42\2\43\1\44"+ - "\1\1\1\42\2\45\1\42\1\1\1\46\1\1\1\47"+ - "\1\1\1\50\2\1\1\51\1\1\1\52\2\42\2\53"+ - "\1\42\1\54\1\42\1\1\1\55\1\3\1\0\1\56"+ - "\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66"+ - "\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\0"+ - "\1\76\1\62\1\77\1\0\2\77\7\6\1\100\1\101"+ - "\2\6\1\102\16\6\1\103\1\104\1\105\4\6\1\106"+ - "\13\6\1\107\1\110\1\111\1\112\1\113\1\114\1\115"+ - "\1\116\1\117\1\120\1\121\1\120\1\122\1\123\1\124"+ - "\1\125\1\126\1\127\1\0\1\130\1\0\1\131\1\0"+ - "\1\132\1\133\1\0\1\134\5\0\1\135\1\0\1\136"+ - "\1\115\2\3\2\0\1\137\1\140\1\141\1\142\1\143"+ - "\1\0\1\62\1\144\2\145\1\77\1\6\1\146\13\6"+ - "\1\147\4\6\1\150\3\6\1\151\6\6\1\152\12\6"+ - "\1\153\1\6\1\154\1\6\1\155\1\120\1\0\1\134"+ - "\1\156\1\157\1\0\1\160\2\0\1\161\1\162\1\163"+ - "\1\0\1\164\1\145\1\77\4\6\1\165\1\166\2\6"+ - "\1\167\11\6\1\170\1\171\1\6\1\172\11\6\1\173"+ - "\5\6\1\174\1\6\1\0\1\175\1\176\1\0\1\145"+ - "\1\77\1\177\1\200\2\6\1\201\1\6\1\202\1\203"+ - "\1\6\1\204\1\6\1\205\3\6\1\206\11\6\1\207"+ - "\5\6\1\0\1\145\1\77\3\6\1\210\1\6\1\211"+ - "\1\212\2\6\1\213\3\6\1\214\3\6\1\215\4\6"+ - "\1\216\1\6\1\0\1\145\1\77\1\217\1\6\1\220"+ - "\10\6\1\221\1\222\1\6\1\223\1\224\1\6\1\0"+ - "\1\145\1\77\1\225\1\226\1\227\3\6\1\230\3\6"+ - "\1\231\1\0\1\145\1\77\1\232\1\6\1\233\1\6"+ - "\1\234\1\235\1\236\1\145\1\77\1\237\1\240\6\77"; + private static final String ZZ_ACTION_PACKED_0 + = "\13\0\1\1\2\2\1\3\1\4\1\5\1\6\1\7" + + "\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17" + + "\1\20\1\21\1\22\1\23\1\15\2\6\1\24\1\25" + + "\21\6\1\26\1\27\1\30\1\31\1\32\1\33\1\34" + + "\1\35\1\36\1\37\1\40\1\41\1\42\2\43\1\44" + + "\1\1\1\42\2\45\1\42\1\1\1\46\1\1\1\47" + + "\1\1\1\50\2\1\1\51\1\1\1\52\2\42\2\53" + + "\1\42\1\54\1\42\1\1\1\55\1\3\1\0\1\56" + + "\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66" + + "\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\0" + + "\1\76\1\62\1\77\1\0\2\77\7\6\1\100\1\101" + + "\2\6\1\102\16\6\1\103\1\104\1\105\4\6\1\106" + + "\13\6\1\107\1\110\1\111\1\112\1\113\1\114\1\115" + + "\1\116\1\117\1\120\1\121\1\120\1\122\1\123\1\124" + + "\1\125\1\126\1\127\1\0\1\130\1\0\1\131\1\0" + + "\1\132\1\133\1\0\1\134\5\0\1\135\1\0\1\136" + + "\1\115\2\3\2\0\1\137\1\140\1\141\1\142\1\143" + + "\1\0\1\62\1\144\2\145\1\77\1\6\1\146\13\6" + + "\1\147\4\6\1\150\3\6\1\151\6\6\1\152\12\6" + + "\1\153\1\6\1\154\1\6\1\155\1\120\1\0\1\134" + + "\1\156\1\157\1\0\1\160\2\0\1\161\1\162\1\163" + + "\1\0\1\164\1\145\1\77\4\6\1\165\1\166\2\6" + + "\1\167\11\6\1\170\1\171\1\6\1\172\11\6\1\173" + + "\5\6\1\174\1\6\1\0\1\175\1\176\1\0\1\145" + + "\1\77\1\177\1\200\2\6\1\201\1\6\1\202\1\203" + + "\1\6\1\204\1\6\1\205\3\6\1\206\11\6\1\207" + + "\5\6\1\0\1\145\1\77\3\6\1\210\1\6\1\211" + + "\1\212\2\6\1\213\3\6\1\214\3\6\1\215\4\6" + + "\1\216\1\6\1\0\1\145\1\77\1\217\1\6\1\220" + + "\10\6\1\221\1\222\1\6\1\223\1\224\1\6\1\0" + + "\1\145\1\77\1\225\1\226\1\227\3\6\1\230\3\6" + + "\1\231\1\0\1\145\1\77\1\232\1\6\1\233\1\6" + + "\1\234\1\235\1\236\1\145\1\77\1\237\1\240\6\77"; - private static int [] zzUnpackAction() { - int [] result = new int[433]; - int offset = 0; - offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); - return result; - } - - private static int zzUnpackAction(String packed, int offset, int [] result) { - int i = 0; /* index in packed string */ - int j = offset; /* index in unpacked array */ - int l = packed.length(); - while (i < l) { - int count = packed.charAt(i++); - int value = packed.charAt(i++); - do result[j++] = value; while (--count > 0); + private static int[] zzUnpackAction() { + int[] result = new int[433]; + int offset = 0; + offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); + return result; } - return j; - } + private static int zzUnpackAction(String packed, int offset, int[] result) { + int i = 0; /* index in packed string */ - /** - * Translates a state to a row index in the transition table - */ - private static final int [] ZZ_ROWMAP = zzUnpackRowMap(); + int j = offset; /* index in unpacked array */ - private static final String ZZ_ROWMAP_PACKED_0 = - "\0\0\0\115\0\232\0\347\0\u0134\0\u0181\0\u01ce\0\u021b"+ - "\0\u0268\0\u02b5\0\u0302\0\u034f\0\u039c\0\u034f\0\u03e9\0\u0436"+ - "\0\u0483\0\u04d0\0\u051d\0\u056a\0\u05b7\0\u0604\0\u0651\0\u069e"+ - "\0\u06eb\0\u034f\0\u034f\0\u034f\0\u0738\0\u034f\0\u034f\0\u0785"+ - "\0\u07d2\0\u081f\0\u086c\0\u034f\0\u08b9\0\u0906\0\u0953\0\u09a0"+ - "\0\u09ed\0\u0a3a\0\u0a87\0\u0ad4\0\u0b21\0\u0b6e\0\u0bbb\0\u0c08"+ - "\0\u0c55\0\u0ca2\0\u0cef\0\u0d3c\0\u0d89\0\u034f\0\u034f\0\u034f"+ - "\0\u034f\0\u034f\0\u034f\0\u034f\0\u0dd6\0\u0e23\0\u0e70\0\u0ebd"+ - "\0\u034f\0\u0f0a\0\u0f57\0\u034f\0\u034f\0\u0fa4\0\u0ff1\0\u103e"+ - "\0\u034f\0\u108b\0\u10d8\0\u034f\0\u1125\0\u034f\0\u1172\0\u034f"+ - "\0\u11bf\0\u120c\0\u034f\0\u1259\0\u034f\0\u034f\0\u12a6\0\u034f"+ - "\0\u12f3\0\u1340\0\u034f\0\u138d\0\u13da\0\u034f\0\u1427\0\u1474"+ - "\0\u034f\0\u034f\0\u14c1\0\u034f\0\u150e\0\u034f\0\u155b\0\u15a8"+ - "\0\u034f\0\u034f\0\u15f5\0\u034f\0\u034f\0\u1642\0\u034f\0\u034f"+ - "\0\u168f\0\u16dc\0\u1729\0\u1776\0\u17c3\0\u1810\0\u185d\0\u18aa"+ - "\0\u18f7\0\u1944\0\u1991\0\u19de\0\u1a2b\0\u1a78\0\u034f\0\u034f"+ - "\0\u1ac5\0\u1b12\0\u04d0\0\u1b5f\0\u1bac\0\u1bf9\0\u1c46\0\u1c93"+ - "\0\u1ce0\0\u1d2d\0\u1d7a\0\u1dc7\0\u1e14\0\u1e61\0\u1eae\0\u1efb"+ - "\0\u1f48\0\u04d0\0\u04d0\0\u1f95\0\u1fe2\0\u202f\0\u207c\0\u20c9"+ - "\0\u04d0\0\u2116\0\u2163\0\u21b0\0\u21fd\0\u224a\0\u2297\0\u22e4"+ - "\0\u2331\0\u237e\0\u23cb\0\u2418\0\u034f\0\u034f\0\u034f\0\u034f"+ - "\0\u034f\0\u034f\0\u034f\0\u034f\0\u034f\0\u2465\0\u034f\0\u24b2"+ - "\0\u034f\0\u034f\0\u034f\0\u034f\0\u034f\0\u034f\0\u1125\0\u034f"+ - "\0\u1172\0\u034f\0\u11bf\0\u034f\0\u034f\0\u1259\0\u24ff\0\u254c"+ - "\0\u2599\0\u25e6\0\u2633\0\u2680\0\u26cd\0\u271a\0\u034f\0\u2767"+ - "\0\u27b4\0\u034f\0\u2801\0\u284e\0\u034f\0\u034f\0\u034f\0\u289b"+ - "\0\u034f\0\u28e8\0\u28e8\0\u034f\0\u2935\0\u17c3\0\u2982\0\u29cf"+ - "\0\u04d0\0\u2a1c\0\u2a69\0\u2ab6\0\u2b03\0\u2b50\0\u2b9d\0\u2bea"+ - "\0\u2c37\0\u2c84\0\u2cd1\0\u2d1e\0\u04d0\0\u2d6b\0\u2db8\0\u2e05"+ - "\0\u2e52\0\u04d0\0\u2e9f\0\u2eec\0\u2f39\0\u04d0\0\u2f86\0\u2fd3"+ - "\0\u3020\0\u306d\0\u30ba\0\u3107\0\u04d0\0\u3154\0\u31a1\0\u31ee"+ - "\0\u323b\0\u3288\0\u32d5\0\u3322\0\u336f\0\u33bc\0\u3409\0\u04d0"+ - "\0\u3456\0\u04d0\0\u34a3\0\u04d0\0\u034f\0\u24ff\0\u034f\0\u034f"+ - "\0\u034f\0\u34f0\0\u034f\0\u353d\0\u358a\0\u35d7\0\u034f\0\u034f"+ - "\0\u3624\0\u034f\0\u3671\0\u36be\0\u370b\0\u3758\0\u37a5\0\u37f2"+ - "\0\u04d0\0\u04d0\0\u383f\0\u388c\0\u04d0\0\u38d9\0\u3926\0\u3973"+ - "\0\u39c0\0\u3a0d\0\u3a5a\0\u3aa7\0\u3af4\0\u3b41\0\u04d0\0\u04d0"+ - "\0\u3b8e\0\u04d0\0\u3bdb\0\u3c28\0\u3c75\0\u3cc2\0\u3d0f\0\u3d5c"+ - "\0\u3da9\0\u3df6\0\u3e43\0\u04d0\0\u3e90\0\u3edd\0\u3f2a\0\u3f77"+ - "\0\u3fc4\0\u04d0\0\u4011\0\u405e\0\u034f\0\u034f\0\u40ab\0\u40f8"+ - "\0\u4145\0\u04d0\0\u4192\0\u41df\0\u422c\0\u04d0\0\u4279\0\u04d0"+ - "\0\u04d0\0\u42c6\0\u04d0\0\u4313\0\u04d0\0\u4360\0\u43ad\0\u43fa"+ - "\0\u04d0\0\u4447\0\u4494\0\u44e1\0\u452e\0\u457b\0\u45c8\0\u4615"+ - "\0\u4662\0\u46af\0\u04d0\0\u46fc\0\u4749\0\u4796\0\u47e3\0\u4830"+ - "\0\u487d\0\u48ca\0\u4917\0\u4964\0\u49b1\0\u49fe\0\u04d0\0\u4a4b"+ - "\0\u04d0\0\u04d0\0\u4a98\0\u4ae5\0\u04d0\0\u4b32\0\u4b7f\0\u4bcc"+ - "\0\u04d0\0\u4c19\0\u4c66\0\u4cb3\0\u04d0\0\u4d00\0\u4d4d\0\u4d9a"+ - "\0\u4de7\0\u04d0\0\u4e34\0\u4e81\0\u4ece\0\u4f1b\0\u04d0\0\u4f68"+ - "\0\u04d0\0\u4fb5\0\u5002\0\u504f\0\u509c\0\u50e9\0\u5136\0\u5183"+ - "\0\u51d0\0\u04d0\0\u04d0\0\u521d\0\u04d0\0\u04d0\0\u526a\0\u52b7"+ - "\0\u5304\0\u5351\0\u04d0\0\u04d0\0\u04d0\0\u539e\0\u53eb\0\u5438"+ - "\0\u04d0\0\u5485\0\u54d2\0\u551f\0\u04d0\0\u556c\0\u55b9\0\u5606"+ - "\0\u04d0\0\u5653\0\u04d0\0\u56a0\0\u04d0\0\u04d0\0\u034f\0\u034f"+ - "\0\u56ed\0\u04d0\0\u04d0\0\u573a\0\u5787\0\u57d4\0\u5821\0\u586e"+ - "\0\u1729"; - - private static int [] zzUnpackRowMap() { - int [] result = new int[433]; - int offset = 0; - offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); - return result; - } - - private static int zzUnpackRowMap(String packed, int offset, int [] result) { - int i = 0; /* index in packed string */ - int j = offset; /* index in unpacked array */ - int l = packed.length(); - while (i < l) { - int high = packed.charAt(i++) << 16; - result[j++] = high | packed.charAt(i++); + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do { + result[j++] = value; + } while (--count > 0); + } + return j; } - return j; - } - /** - * The transition table of the DFA - */ - private static final int [] ZZ_TRANS = zzUnpackTrans(); + /** + * Translates a state to a row index in the transition table + */ + private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); - private static final String ZZ_TRANS_PACKED_0 = - "\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\14"+ - "\1\23\1\24\1\17\1\25\1\26\1\27\1\30\2\22"+ - "\1\31\1\14\1\32\1\33\4\22\1\34\1\35\1\36"+ - "\1\37\1\40\2\22\1\41\2\31\1\22\1\42\1\43"+ - "\1\14\1\44\1\45\1\46\1\47\1\22\1\50\1\51"+ - "\1\52\1\53\1\54\1\55\1\56\1\57\1\22\1\60"+ - "\1\22\1\61\2\22\1\62\1\63\1\64\1\65\1\66"+ - "\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76"+ - "\1\77\1\100\1\101\2\0\1\22\1\102\1\103\1\104"+ - "\30\102\1\105\12\102\1\106\46\102\1\107\1\103\1\104"+ - "\31\107\1\105\11\107\1\106\46\107\1\14\1\110\1\111"+ - "\1\112\1\113\5\14\1\112\2\14\1\114\3\115\4\14"+ - "\4\115\5\14\3\115\2\14\2\115\3\14\26\115\2\14"+ - "\1\116\11\14\2\0\2\14\1\0\1\14\1\0\27\14"+ - "\1\117\44\14\1\120\11\14\2\0\2\14\1\110\1\111"+ - "\1\112\6\14\1\112\3\14\3\121\2\14\1\122\1\14"+ - "\4\121\5\14\3\121\2\14\2\121\3\14\26\121\2\14"+ - "\1\123\11\14\2\0\2\14\1\0\1\14\1\0\27\14"+ - "\1\124\44\14\1\125\11\14\2\0\1\14\1\126\1\110"+ - "\1\111\1\0\25\126\1\127\60\126\2\0\1\126\1\130"+ - "\1\110\1\111\1\0\10\130\1\131\75\130\2\0\1\130"+ - "\1\126\1\110\1\111\1\0\5\126\1\132\66\126\1\133"+ - "\11\126\2\0\1\126\1\134\1\103\1\104\43\134\1\135"+ - "\1\136\45\134\117\0\1\16\115\0\1\17\6\0\1\17"+ - "\106\0\1\137\1\140\24\0\1\141\114\0\1\142\70\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\26\22\15\0\2\22\10\0\1\143\1\144\7\0\1\145"+ - "\13\0\1\145\3\0\2\145\33\0\1\146\27\0\1\147"+ - "\4\0\3\150\4\0\4\150\1\0\1\151\3\0\3\150"+ - "\2\0\2\150\3\0\26\150\2\0\1\152\46\0\1\153"+ - "\76\0\1\154\15\0\1\155\77\0\1\156\14\0\1\157"+ - "\100\0\1\160\106\0\1\145\10\0\1\31\13\0\1\31"+ - "\3\0\2\31\2\161\102\0\1\162\72\0\1\145\10\0"+ - "\1\163\13\0\1\164\2\165\1\0\1\166\1\167\2\161"+ - "\56\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\2\22\1\170\3\22\1\171\2\22\1\172\1\173"+ - "\13\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\1\22\1\174\6\22\3\0\2\22\1\175"+ - "\11\22\1\176\11\22\15\0\2\22\32\0\1\177\12\0"+ - "\1\200\55\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\1\22\1\201\24\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\7\22\1\202"+ - "\3\0\26\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\5\22\1\203\20\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\2\22\1\204\3\22\1\205\5\22"+ - "\1\206\11\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\7\22\1\207\3\0\10\22\1\210"+ - "\1\22\1\211\2\22\1\212\10\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\22\22\1\213\3\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\7\22\1\214\3\0\2\22"+ - "\1\215\7\22\1\216\13\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\1\22"+ - "\1\217\14\22\1\220\1\22\1\221\5\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\3\22"+ - "\1\222\4\22\3\0\5\22\1\223\1\22\1\224\11\22"+ - "\1\225\4\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\5\22\1\226\1\22"+ - "\1\227\16\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\7\22\1\230\3\0\6\22\1\231"+ - "\11\22\1\232\5\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\11\22\1\233"+ - "\4\22\1\234\7\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\1\22\1\235"+ - "\1\236\7\22\1\237\13\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\2\22"+ - "\1\240\3\22\1\241\17\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\7\22\1\242\3\0"+ - "\26\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\7\22\1\243\16\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\2\22\1\244\23\22\15\0\2\22\32\0"+ - "\1\245\52\0\1\246\41\0\1\247\53\0\1\250\40\0"+ - "\1\251\114\0\1\252\62\0\1\102\2\0\30\102\1\0"+ - "\12\102\1\0\46\102\2\0\1\104\112\0\1\253\3\0"+ - "\27\253\1\254\1\255\1\256\2\253\1\257\1\256\1\260"+ - "\3\253\1\261\1\253\1\262\1\263\5\253\1\264\1\265"+ - "\31\253\2\0\1\253\1\107\2\0\31\107\1\0\11\107"+ - "\1\0\46\107\2\0\1\111\115\0\1\112\6\0\1\112"+ - "\117\0\1\266\107\0\1\267\3\0\1\267\1\0\5\267"+ - "\2\0\4\267\1\0\1\270\2\0\10\267\3\0\26\267"+ - "\17\0\1\271\2\0\30\271\1\272\61\271\10\0\1\273"+ - "\3\0\1\273\1\0\5\273\2\0\4\273\1\0\1\274"+ - "\2\0\10\273\3\0\26\273\34\0\1\275\77\0\1\276"+ - "\2\0\30\276\1\277\1\300\60\276\31\0\1\301\77\0"+ - "\1\302\104\0\1\303\6\0\1\304\2\0\3\305\2\0"+ - "\1\306\1\0\4\305\5\0\3\305\2\0\2\305\3\0"+ - "\26\305\2\0\1\307\14\0\1\134\2\0\43\134\2\0"+ - "\45\134\1\253\3\0\34\253\1\257\5\253\1\261\1\253"+ - "\1\262\1\263\5\253\1\264\1\265\31\253\2\0\1\310"+ - "\1\137\1\311\1\312\112\137\5\313\1\314\107\313\10\0"+ - "\1\315\125\0\1\145\13\0\1\145\3\0\2\145\2\161"+ - "\102\0\1\316\72\0\1\150\3\0\1\150\1\0\5\150"+ - "\2\0\4\150\4\0\10\150\3\0\26\150\51\0\1\317"+ - "\77\0\1\320\14\0\1\321\76\0\1\322\4\0\1\323"+ - "\13\0\1\323\3\0\2\323\2\0\1\322\101\0\1\324"+ - "\72\0\1\145\10\0\1\163\13\0\1\163\3\0\2\163"+ - "\2\161\60\0\1\145\10\0\1\163\13\0\1\164\3\0"+ - "\1\166\1\167\2\161\67\0\1\325\1\0\1\325\3\0"+ - "\3\325\5\0\1\326\2\0\5\325\3\0\1\325\1\0"+ - "\1\325\1\0\1\325\6\0\1\325\41\0\1\145\10\0"+ - "\1\163\13\0\1\167\3\0\2\167\2\161\60\0\1\145"+ - "\10\0\1\163\13\0\1\327\3\0\2\327\2\161\56\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\14\22\1\330\11\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\1\22\1\331"+ - "\24\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\7\22\1\332\16\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\7\22\1\333\16\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\10\22\1\334\15\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\4\22\1\335"+ - "\21\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\5\22\1\336\20\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\7\22\1\337\3\0\26\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\10\22"+ - "\1\340\15\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\5\22\1\341\2\22"+ - "\1\342\15\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\7\22\1\343\16\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\2\22\1\344\23\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\10\22\1\345\15\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\2\22"+ - "\1\346\23\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\17\22\1\347\6\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\11\22\1\350\14\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\7\22"+ - "\1\351\3\0\26\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\15\22\1\352"+ - "\10\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\21\22\1\353\4\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\14\22\1\354\11\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\12\22\1\355\5\22\1\356\5\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\1\22\1\357\7\22\1\360\14\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\17\22\1\361\6\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\5\22\1\362"+ - "\2\22\1\363\15\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\17\22\1\364"+ - "\6\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\7\22\1\365\3\0\26\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\13\22\1\366\12\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\3\22\1\367\4\22"+ - "\3\0\14\22\1\370\11\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\7\22"+ - "\1\371\16\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\10\22\1\372\15\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\11\22\1\373\14\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\6\22\1\374\2\22\1\375\14\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\4\22\1\376\21\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\1\377"+ - "\25\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\1\22\1\u0100\24\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\11\22\1\u0101\14\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\10\22\1\u0102\15\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\3\22\1\u0103\4\22\3\0"+ - "\26\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\25\22\1\u0104\15\0\2\22"+ - "\35\0\1\260\3\0\2\260\107\0\1\u0105\3\0\2\u0105"+ - "\52\0\1\u0106\2\0\30\u0106\1\277\1\0\60\u0106\1\300"+ - "\2\0\30\300\1\u0107\61\300\15\0\1\u0108\114\0\1\u0109"+ - "\115\0\3\u010a\4\0\4\u010a\5\0\3\u010a\2\0\2\u010a"+ - "\3\0\26\u010a\2\0\1\u010b\30\0\1\u010c\7\0\1\u010d"+ - "\100\0\1\305\3\0\1\305\1\0\5\305\2\0\4\305"+ - "\4\0\10\305\3\0\26\305\35\0\3\u010e\4\0\4\u010e"+ - "\5\0\3\u010e\2\0\2\u010e\3\0\26\u010e\2\0\1\u010f"+ - "\63\0\1\u0110\47\0\1\312\112\0\5\313\1\u0111\107\313"+ - "\4\0\1\312\1\314\141\0\1\u0112\103\0\1\323\13\0"+ - "\1\323\3\0\2\323\71\0\1\u0113\1\0\1\u0113\3\0"+ - "\3\u0113\5\0\1\u0113\2\0\5\u0113\3\0\1\u0113\1\0"+ - "\1\u0113\1\0\1\u0113\6\0\1\u0113\41\0\1\145\10\0"+ - "\1\163\13\0\1\u0114\3\0\2\u0114\2\161\56\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\5\22"+ - "\1\u0115\20\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\2\22\1\u0116\23\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\4\22\1\u0117\21\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\7\22"+ - "\1\u0118\3\0\26\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\16\22\1\u0119"+ - "\7\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\7\22\1\u011a\3\0\26\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\2\22\1\u011b\23\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\12\22"+ - "\1\u011c\13\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\7\22\1\u011d\3\0\26\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\4\22\1\u011e\21\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\5\22\1\u011f\2\22\1\u0120\15\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\5\22\1\u0121\20\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u0122"+ - "\15\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\7\22\1\u0123\3\0\26\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\10\22\1\u0124\15\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\1\22"+ - "\1\u0125\24\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\7\22\1\u0126\3\0\26\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\14\22\1\u0127\11\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\7\22\1\u0128"+ - "\3\0\26\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\6\22\1\u0129\17\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\5\22\1\u012a\20\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\7\22"+ - "\1\u012b\3\0\26\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u012c"+ - "\15\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\7\22\1\u012d\3\0\26\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\6\22\1\u012e\5\22\1\u012f\11\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\7\22"+ - "\1\u0130\3\0\26\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\2\22\1\u0131"+ - "\23\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\7\22\1\u0132\3\0\26\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\2\22\1\u0133\23\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\16\22"+ - "\1\u0134\7\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\14\22\1\u0135\11\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\10\22\1\u0136\15\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\22\22\1\u0137\3\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\3\22"+ - "\1\u0138\22\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\14\22\1\u0139\11\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\13\22\1\u013a\12\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\11\22\1\u013b\14\22\15\0\2\22\1\0\2\u013c"+ - "\5\0\1\u010a\1\0\1\u013c\1\0\1\u010a\1\u013d\5\u010a"+ - "\2\0\4\u010a\4\0\10\u010a\3\0\26\u010a\33\0\1\u013e"+ - "\125\0\1\u013f\77\0\1\u010e\3\0\1\u010e\1\0\5\u010e"+ - "\2\0\4\u010e\4\0\10\u010e\3\0\26\u010e\17\0\4\313"+ - "\1\312\1\u0111\107\313\17\0\1\u0140\1\0\1\u0140\3\0"+ - "\3\u0140\5\0\1\u0140\2\0\5\u0140\3\0\1\u0140\1\0"+ - "\1\u0140\1\0\1\u0140\6\0\1\u0140\41\0\1\145\10\0"+ - "\1\163\13\0\1\u0141\3\0\2\u0141\2\161\56\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\7\22\1\u0142\3\0"+ - "\26\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\14\22\1\u0143\11\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\10\22\1\u0144\15\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\7\22\1\u0145\16\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\3\22\1\u0146"+ - "\22\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\1\22\1\u0147\24\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\16\22\1\u0148\7\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\10\22\1\u0149\15\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u014a"+ - "\14\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\5\22\1\u014b\20\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\11\22\1\u014c\14\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\1\22\1\u014d\24\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\4\22\1\u014e"+ - "\21\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\1\22\1\u014f\24\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\5\22\1\u0150\20\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\15\22\1\u0151\10\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\6\22\1\u0152"+ - "\17\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\2\22\1\u0153\23\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\1\22\1\u0154\24\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\1\22\1\u0155\24\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\7\22\1\u0156\3\0\26\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\3\22\1\u0157\4\22\3\0\26\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\12\22\1\u0158\13\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\10\22"+ - "\1\u0159\15\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\21\22\1\u015a\4\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\7\22\1\u015b\3\0\26\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\7\22\1\u015c"+ - "\3\0\26\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\2\22\1\u015d\23\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\2\22\1\u015e\23\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\11\22\1\u015f\14\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\7\22"+ - "\1\u0160\16\22\15\0\2\22\1\0\2\u013c\7\0\1\u013c"+ - "\2\0\1\u013d\125\0\1\u0161\105\0\1\u0162\1\0\1\u0162"+ - "\3\0\3\u0162\5\0\1\u0162\2\0\5\u0162\3\0\1\u0162"+ - "\1\0\1\u0162\1\0\1\u0162\6\0\1\u0162\41\0\1\145"+ - "\10\0\1\163\13\0\1\u0163\3\0\2\u0163\2\161\56\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\14\22\1\u0164\11\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0165"+ - "\14\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\13\22\1\u0166\12\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\7\22\1\u0167\16\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\7\22\1\u0168\16\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\4\22\1\u0169"+ - "\21\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\16\22\1\u016a\7\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\11\22\1\u016b\14\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\17\22\1\u016c\6\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\3\22\1\u016d\4\22\3\0"+ - "\26\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\7\22\1\u016e\16\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\3\22\1\u016f\4\22\3\0\7\22\1\u0170\16\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\10\22\1\u0171\15\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\21\22\1\u0172\4\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0173"+ - "\14\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\14\22\1\u0174\11\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\7\22\1\u0175\3\0\26\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\11\22"+ - "\1\u0176\14\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\4\22\1\u0177\21\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\10\22\1\u0178\15\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\23\22\1\u0179\2\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\4\22"+ - "\1\u017a\21\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\11\22\1\u017b\14\22"+ - "\15\0\2\22\27\0\1\u017c\104\0\1\u017d\1\0\1\u017d"+ - "\3\0\3\u017d\5\0\1\u017d\2\0\5\u017d\3\0\1\u017d"+ - "\1\0\1\u017d\1\0\1\u017d\6\0\1\u017d\41\0\1\145"+ - "\10\0\1\163\13\0\1\u017e\3\0\2\u017e\2\161\56\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\20\22\1\u017f\5\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\6\22\1\u0180"+ - "\17\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\5\22\1\u0181\20\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\12\22\1\u0182\13\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\13\22\1\u0183\12\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\2\22\1\u0184"+ - "\23\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0"+ - "\4\22\4\0\10\22\3\0\4\22\1\u0185\21\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\2\22\1\u0186\23\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\2\22\1\u0187\23\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\7\22\1\u0188\3\0\26\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\7\22\1\u0189\16\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\10\22\1\u018a\15\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\4\22"+ - "\1\u018b\21\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\10\22\1\u018c\15\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\7\22\1\u018d\3\0\26\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\7\22\1\u018e"+ - "\3\0\26\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\10\22\3\0\10\22\1\u018f\15\22"+ - "\15\0\2\22\30\0\1\u0190\103\0\1\u0191\1\0\1\u0191"+ - "\3\0\3\u0191\5\0\1\u0191\2\0\5\u0191\3\0\1\u0191"+ - "\1\0\1\u0191\1\0\1\u0191\6\0\1\u0191\41\0\1\145"+ - "\10\0\1\163\13\0\1\u0192\3\0\2\u0192\2\161\56\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\7\22\1\u0193\16\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\7\22\1\u0194\3\0\26\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\7\22\1\u0195\3\0\26\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\4\22\1\u0196\21\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\7\22\1\u0197\3\0\26\22"+ - "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22"+ - "\4\0\10\22\3\0\4\22\1\u0198\21\22\15\0\2\22"+ - "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22"+ - "\3\0\14\22\1\u0199\11\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\7\22"+ - "\1\u019a\16\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\7\22\1\u019b\3\0\26\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\7\22\1\u019c\3\0\26\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\20\22"+ - "\1\u019d\5\22\15\0\2\22\27\0\1\u019e\104\0\1\u019f"+ - "\1\0\1\u019f\3\0\3\u019f\5\0\1\u019f\2\0\5\u019f"+ - "\3\0\1\u019f\1\0\1\u019f\1\0\1\u019f\6\0\1\u019f"+ - "\41\0\1\145\10\0\1\163\13\0\1\u01a0\3\0\2\u01a0"+ - "\2\161\56\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\7\22\1\u01a1\3\0\26\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\6\22"+ - "\1\u01a2\17\22\15\0\2\22\6\0\2\22\7\0\3\22"+ - "\3\0\4\22\4\0\7\22\1\u01a3\3\0\26\22\15\0"+ - "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0"+ - "\10\22\3\0\10\22\1\u01a4\15\22\15\0\2\22\6\0"+ - "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0"+ - "\13\22\1\u01a5\12\22\15\0\2\22\6\0\2\22\7\0"+ - "\3\22\3\0\4\22\4\0\10\22\3\0\13\22\1\u01a6"+ - "\12\22\15\0\2\22\24\0\1\u01a7\107\0\1\u01a8\1\0"+ - "\1\u01a8\3\0\3\u01a8\5\0\1\u01a8\2\0\5\u01a8\3\0"+ - "\1\u01a8\1\0\1\u01a8\1\0\1\u01a8\6\0\1\u01a8\41\0"+ - "\1\145\10\0\1\163\13\0\1\u01a9\3\0\2\u01a9\2\161"+ - "\56\0\2\22\7\0\3\22\3\0\4\22\4\0\3\22"+ - "\1\u01aa\4\22\3\0\26\22\15\0\2\22\6\0\2\22"+ - "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\5\22"+ - "\1\u01ab\20\22\15\0\2\22\10\0\1\145\10\0\1\163"+ - "\13\0\1\u01ac\3\0\2\u01ac\2\161\60\0\1\145\10\0"+ - "\1\163\13\0\1\u01ad\3\0\2\u01ad\2\161\60\0\1\145"+ - "\10\0\1\163\13\0\1\u01ae\3\0\2\u01ae\2\161\60\0"+ - "\1\145\10\0\1\163\13\0\1\u01af\3\0\2\u01af\2\161"+ - "\60\0\1\145\10\0\1\163\13\0\1\u01b0\3\0\2\u01b0"+ - "\2\161\60\0\1\145\10\0\1\163\13\0\1\u01b1\3\0"+ - "\2\u01b1\2\161\50\0"; + private static final String ZZ_ROWMAP_PACKED_0 + = "\0\0\0\115\0\232\0\347\0\u0134\0\u0181\0\u01ce\0\u021b" + + "\0\u0268\0\u02b5\0\u0302\0\u034f\0\u039c\0\u034f\0\u03e9\0\u0436" + + "\0\u0483\0\u04d0\0\u051d\0\u056a\0\u05b7\0\u0604\0\u0651\0\u069e" + + "\0\u06eb\0\u034f\0\u034f\0\u034f\0\u0738\0\u034f\0\u034f\0\u0785" + + "\0\u07d2\0\u081f\0\u086c\0\u034f\0\u08b9\0\u0906\0\u0953\0\u09a0" + + "\0\u09ed\0\u0a3a\0\u0a87\0\u0ad4\0\u0b21\0\u0b6e\0\u0bbb\0\u0c08" + + "\0\u0c55\0\u0ca2\0\u0cef\0\u0d3c\0\u0d89\0\u034f\0\u034f\0\u034f" + + "\0\u034f\0\u034f\0\u034f\0\u034f\0\u0dd6\0\u0e23\0\u0e70\0\u0ebd" + + "\0\u034f\0\u0f0a\0\u0f57\0\u034f\0\u034f\0\u0fa4\0\u0ff1\0\u103e" + + "\0\u034f\0\u108b\0\u10d8\0\u034f\0\u1125\0\u034f\0\u1172\0\u034f" + + "\0\u11bf\0\u120c\0\u034f\0\u1259\0\u034f\0\u034f\0\u12a6\0\u034f" + + "\0\u12f3\0\u1340\0\u034f\0\u138d\0\u13da\0\u034f\0\u1427\0\u1474" + + "\0\u034f\0\u034f\0\u14c1\0\u034f\0\u150e\0\u034f\0\u155b\0\u15a8" + + "\0\u034f\0\u034f\0\u15f5\0\u034f\0\u034f\0\u1642\0\u034f\0\u034f" + + "\0\u168f\0\u16dc\0\u1729\0\u1776\0\u17c3\0\u1810\0\u185d\0\u18aa" + + "\0\u18f7\0\u1944\0\u1991\0\u19de\0\u1a2b\0\u1a78\0\u034f\0\u034f" + + "\0\u1ac5\0\u1b12\0\u04d0\0\u1b5f\0\u1bac\0\u1bf9\0\u1c46\0\u1c93" + + "\0\u1ce0\0\u1d2d\0\u1d7a\0\u1dc7\0\u1e14\0\u1e61\0\u1eae\0\u1efb" + + "\0\u1f48\0\u04d0\0\u04d0\0\u1f95\0\u1fe2\0\u202f\0\u207c\0\u20c9" + + "\0\u04d0\0\u2116\0\u2163\0\u21b0\0\u21fd\0\u224a\0\u2297\0\u22e4" + + "\0\u2331\0\u237e\0\u23cb\0\u2418\0\u034f\0\u034f\0\u034f\0\u034f" + + "\0\u034f\0\u034f\0\u034f\0\u034f\0\u034f\0\u2465\0\u034f\0\u24b2" + + "\0\u034f\0\u034f\0\u034f\0\u034f\0\u034f\0\u034f\0\u1125\0\u034f" + + "\0\u1172\0\u034f\0\u11bf\0\u034f\0\u034f\0\u1259\0\u24ff\0\u254c" + + "\0\u2599\0\u25e6\0\u2633\0\u2680\0\u26cd\0\u271a\0\u034f\0\u2767" + + "\0\u27b4\0\u034f\0\u2801\0\u284e\0\u034f\0\u034f\0\u034f\0\u289b" + + "\0\u034f\0\u28e8\0\u28e8\0\u034f\0\u2935\0\u17c3\0\u2982\0\u29cf" + + "\0\u04d0\0\u2a1c\0\u2a69\0\u2ab6\0\u2b03\0\u2b50\0\u2b9d\0\u2bea" + + "\0\u2c37\0\u2c84\0\u2cd1\0\u2d1e\0\u04d0\0\u2d6b\0\u2db8\0\u2e05" + + "\0\u2e52\0\u04d0\0\u2e9f\0\u2eec\0\u2f39\0\u04d0\0\u2f86\0\u2fd3" + + "\0\u3020\0\u306d\0\u30ba\0\u3107\0\u04d0\0\u3154\0\u31a1\0\u31ee" + + "\0\u323b\0\u3288\0\u32d5\0\u3322\0\u336f\0\u33bc\0\u3409\0\u04d0" + + "\0\u3456\0\u04d0\0\u34a3\0\u04d0\0\u034f\0\u24ff\0\u034f\0\u034f" + + "\0\u034f\0\u34f0\0\u034f\0\u353d\0\u358a\0\u35d7\0\u034f\0\u034f" + + "\0\u3624\0\u034f\0\u3671\0\u36be\0\u370b\0\u3758\0\u37a5\0\u37f2" + + "\0\u04d0\0\u04d0\0\u383f\0\u388c\0\u04d0\0\u38d9\0\u3926\0\u3973" + + "\0\u39c0\0\u3a0d\0\u3a5a\0\u3aa7\0\u3af4\0\u3b41\0\u04d0\0\u04d0" + + "\0\u3b8e\0\u04d0\0\u3bdb\0\u3c28\0\u3c75\0\u3cc2\0\u3d0f\0\u3d5c" + + "\0\u3da9\0\u3df6\0\u3e43\0\u04d0\0\u3e90\0\u3edd\0\u3f2a\0\u3f77" + + "\0\u3fc4\0\u04d0\0\u4011\0\u405e\0\u034f\0\u034f\0\u40ab\0\u40f8" + + "\0\u4145\0\u04d0\0\u4192\0\u41df\0\u422c\0\u04d0\0\u4279\0\u04d0" + + "\0\u04d0\0\u42c6\0\u04d0\0\u4313\0\u04d0\0\u4360\0\u43ad\0\u43fa" + + "\0\u04d0\0\u4447\0\u4494\0\u44e1\0\u452e\0\u457b\0\u45c8\0\u4615" + + "\0\u4662\0\u46af\0\u04d0\0\u46fc\0\u4749\0\u4796\0\u47e3\0\u4830" + + "\0\u487d\0\u48ca\0\u4917\0\u4964\0\u49b1\0\u49fe\0\u04d0\0\u4a4b" + + "\0\u04d0\0\u04d0\0\u4a98\0\u4ae5\0\u04d0\0\u4b32\0\u4b7f\0\u4bcc" + + "\0\u04d0\0\u4c19\0\u4c66\0\u4cb3\0\u04d0\0\u4d00\0\u4d4d\0\u4d9a" + + "\0\u4de7\0\u04d0\0\u4e34\0\u4e81\0\u4ece\0\u4f1b\0\u04d0\0\u4f68" + + "\0\u04d0\0\u4fb5\0\u5002\0\u504f\0\u509c\0\u50e9\0\u5136\0\u5183" + + "\0\u51d0\0\u04d0\0\u04d0\0\u521d\0\u04d0\0\u04d0\0\u526a\0\u52b7" + + "\0\u5304\0\u5351\0\u04d0\0\u04d0\0\u04d0\0\u539e\0\u53eb\0\u5438" + + "\0\u04d0\0\u5485\0\u54d2\0\u551f\0\u04d0\0\u556c\0\u55b9\0\u5606" + + "\0\u04d0\0\u5653\0\u04d0\0\u56a0\0\u04d0\0\u04d0\0\u034f\0\u034f" + + "\0\u56ed\0\u04d0\0\u04d0\0\u573a\0\u5787\0\u57d4\0\u5821\0\u586e" + + "\0\u1729"; - private static int [] zzUnpackTrans() { - int [] result = new int[22715]; - int offset = 0; - offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); - return result; - } - - private static int zzUnpackTrans(String packed, int offset, int [] result) { - int i = 0; /* index in packed string */ - int j = offset; /* index in unpacked array */ - int l = packed.length(); - while (i < l) { - int count = packed.charAt(i++); - int value = packed.charAt(i++); - value--; - do result[j++] = value; while (--count > 0); + private static int[] zzUnpackRowMap() { + int[] result = new int[433]; + int offset = 0; + offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); + return result; } - return j; - } + private static int zzUnpackRowMap(String packed, int offset, int[] result) { + int i = 0; /* index in packed string */ - /* error codes */ - private static final int ZZ_UNKNOWN_ERROR = 0; - private static final int ZZ_NO_MATCH = 1; - private static final int ZZ_PUSHBACK_2BIG = 2; + int j = offset; /* index in unpacked array */ - /* error messages for the codes above */ - private static final String ZZ_ERROR_MSG[] = { - "Unkown internal scanner error", - "Error: could not match input", - "Error: pushback value was too large" - }; - - /** - * ZZ_ATTRIBUTE[aState] contains the attributes of state aState - */ - private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); - - private static final String ZZ_ATTRIBUTE_PACKED_0 = - "\13\0\1\11\1\1\1\11\13\1\3\11\1\1\2\11"+ - "\4\1\1\11\21\1\7\11\4\1\1\11\2\1\2\11"+ - "\3\1\1\11\2\1\1\11\1\1\1\11\1\1\1\11"+ - "\2\1\1\11\1\1\2\11\1\1\1\11\2\1\1\11"+ - "\2\1\1\11\1\1\1\0\2\11\1\1\1\11\1\1"+ - "\1\11\2\1\2\11\1\1\2\11\1\1\2\11\1\0"+ - "\3\1\1\0\11\1\2\11\44\1\11\11\1\1\1\11"+ - "\1\1\6\11\1\0\1\11\1\0\1\11\1\0\2\11"+ - "\1\0\1\1\5\0\1\1\1\0\1\11\2\1\1\11"+ - "\2\0\3\11\1\1\1\11\1\0\1\1\1\11\60\1"+ - "\1\11\1\0\3\11\1\0\1\11\2\0\1\1\2\11"+ - "\1\0\1\11\51\1\1\0\2\11\1\0\41\1\1\0"+ - "\32\1\1\0\23\1\1\0\15\1\1\0\10\1\2\11"+ - "\11\1"; - - private static int [] zzUnpackAttribute() { - int [] result = new int[433]; - int offset = 0; - offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); - return result; - } - - private static int zzUnpackAttribute(String packed, int offset, int [] result) { - int i = 0; /* index in packed string */ - int j = offset; /* index in unpacked array */ - int l = packed.length(); - while (i < l) { - int count = packed.charAt(i++); - int value = packed.charAt(i++); - do result[j++] = value; while (--count > 0); + int l = packed.length(); + while (i < l) { + int high = packed.charAt(i++) << 16; + result[j++] = high | packed.charAt(i++); + } + return j; } - return j; - } - /** the input device */ - private java.io.Reader zzReader; + /** + * The transition table of the DFA + */ + private static final int[] ZZ_TRANS = zzUnpackTrans(); - /** the current state of the DFA */ - private int zzState; + private static final String ZZ_TRANS_PACKED_0 + = "\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\14" + + "\1\23\1\24\1\17\1\25\1\26\1\27\1\30\2\22" + + "\1\31\1\14\1\32\1\33\4\22\1\34\1\35\1\36" + + "\1\37\1\40\2\22\1\41\2\31\1\22\1\42\1\43" + + "\1\14\1\44\1\45\1\46\1\47\1\22\1\50\1\51" + + "\1\52\1\53\1\54\1\55\1\56\1\57\1\22\1\60" + + "\1\22\1\61\2\22\1\62\1\63\1\64\1\65\1\66" + + "\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76" + + "\1\77\1\100\1\101\2\0\1\22\1\102\1\103\1\104" + + "\30\102\1\105\12\102\1\106\46\102\1\107\1\103\1\104" + + "\31\107\1\105\11\107\1\106\46\107\1\14\1\110\1\111" + + "\1\112\1\113\5\14\1\112\2\14\1\114\3\115\4\14" + + "\4\115\5\14\3\115\2\14\2\115\3\14\26\115\2\14" + + "\1\116\11\14\2\0\2\14\1\0\1\14\1\0\27\14" + + "\1\117\44\14\1\120\11\14\2\0\2\14\1\110\1\111" + + "\1\112\6\14\1\112\3\14\3\121\2\14\1\122\1\14" + + "\4\121\5\14\3\121\2\14\2\121\3\14\26\121\2\14" + + "\1\123\11\14\2\0\2\14\1\0\1\14\1\0\27\14" + + "\1\124\44\14\1\125\11\14\2\0\1\14\1\126\1\110" + + "\1\111\1\0\25\126\1\127\60\126\2\0\1\126\1\130" + + "\1\110\1\111\1\0\10\130\1\131\75\130\2\0\1\130" + + "\1\126\1\110\1\111\1\0\5\126\1\132\66\126\1\133" + + "\11\126\2\0\1\126\1\134\1\103\1\104\43\134\1\135" + + "\1\136\45\134\117\0\1\16\115\0\1\17\6\0\1\17" + + "\106\0\1\137\1\140\24\0\1\141\114\0\1\142\70\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\26\22\15\0\2\22\10\0\1\143\1\144\7\0\1\145" + + "\13\0\1\145\3\0\2\145\33\0\1\146\27\0\1\147" + + "\4\0\3\150\4\0\4\150\1\0\1\151\3\0\3\150" + + "\2\0\2\150\3\0\26\150\2\0\1\152\46\0\1\153" + + "\76\0\1\154\15\0\1\155\77\0\1\156\14\0\1\157" + + "\100\0\1\160\106\0\1\145\10\0\1\31\13\0\1\31" + + "\3\0\2\31\2\161\102\0\1\162\72\0\1\145\10\0" + + "\1\163\13\0\1\164\2\165\1\0\1\166\1\167\2\161" + + "\56\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\2\22\1\170\3\22\1\171\2\22\1\172\1\173" + + "\13\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\1\22\1\174\6\22\3\0\2\22\1\175" + + "\11\22\1\176\11\22\15\0\2\22\32\0\1\177\12\0" + + "\1\200\55\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\1\22\1\201\24\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\7\22\1\202" + + "\3\0\26\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\5\22\1\203\20\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\2\22\1\204\3\22\1\205\5\22" + + "\1\206\11\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\7\22\1\207\3\0\10\22\1\210" + + "\1\22\1\211\2\22\1\212\10\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\22\22\1\213\3\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\7\22\1\214\3\0\2\22" + + "\1\215\7\22\1\216\13\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\1\22" + + "\1\217\14\22\1\220\1\22\1\221\5\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\3\22" + + "\1\222\4\22\3\0\5\22\1\223\1\22\1\224\11\22" + + "\1\225\4\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\5\22\1\226\1\22" + + "\1\227\16\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\7\22\1\230\3\0\6\22\1\231" + + "\11\22\1\232\5\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\11\22\1\233" + + "\4\22\1\234\7\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\1\22\1\235" + + "\1\236\7\22\1\237\13\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\2\22" + + "\1\240\3\22\1\241\17\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\7\22\1\242\3\0" + + "\26\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\7\22\1\243\16\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\2\22\1\244\23\22\15\0\2\22\32\0" + + "\1\245\52\0\1\246\41\0\1\247\53\0\1\250\40\0" + + "\1\251\114\0\1\252\62\0\1\102\2\0\30\102\1\0" + + "\12\102\1\0\46\102\2\0\1\104\112\0\1\253\3\0" + + "\27\253\1\254\1\255\1\256\2\253\1\257\1\256\1\260" + + "\3\253\1\261\1\253\1\262\1\263\5\253\1\264\1\265" + + "\31\253\2\0\1\253\1\107\2\0\31\107\1\0\11\107" + + "\1\0\46\107\2\0\1\111\115\0\1\112\6\0\1\112" + + "\117\0\1\266\107\0\1\267\3\0\1\267\1\0\5\267" + + "\2\0\4\267\1\0\1\270\2\0\10\267\3\0\26\267" + + "\17\0\1\271\2\0\30\271\1\272\61\271\10\0\1\273" + + "\3\0\1\273\1\0\5\273\2\0\4\273\1\0\1\274" + + "\2\0\10\273\3\0\26\273\34\0\1\275\77\0\1\276" + + "\2\0\30\276\1\277\1\300\60\276\31\0\1\301\77\0" + + "\1\302\104\0\1\303\6\0\1\304\2\0\3\305\2\0" + + "\1\306\1\0\4\305\5\0\3\305\2\0\2\305\3\0" + + "\26\305\2\0\1\307\14\0\1\134\2\0\43\134\2\0" + + "\45\134\1\253\3\0\34\253\1\257\5\253\1\261\1\253" + + "\1\262\1\263\5\253\1\264\1\265\31\253\2\0\1\310" + + "\1\137\1\311\1\312\112\137\5\313\1\314\107\313\10\0" + + "\1\315\125\0\1\145\13\0\1\145\3\0\2\145\2\161" + + "\102\0\1\316\72\0\1\150\3\0\1\150\1\0\5\150" + + "\2\0\4\150\4\0\10\150\3\0\26\150\51\0\1\317" + + "\77\0\1\320\14\0\1\321\76\0\1\322\4\0\1\323" + + "\13\0\1\323\3\0\2\323\2\0\1\322\101\0\1\324" + + "\72\0\1\145\10\0\1\163\13\0\1\163\3\0\2\163" + + "\2\161\60\0\1\145\10\0\1\163\13\0\1\164\3\0" + + "\1\166\1\167\2\161\67\0\1\325\1\0\1\325\3\0" + + "\3\325\5\0\1\326\2\0\5\325\3\0\1\325\1\0" + + "\1\325\1\0\1\325\6\0\1\325\41\0\1\145\10\0" + + "\1\163\13\0\1\167\3\0\2\167\2\161\60\0\1\145" + + "\10\0\1\163\13\0\1\327\3\0\2\327\2\161\56\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\14\22\1\330\11\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\1\22\1\331" + + "\24\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\7\22\1\332\16\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\7\22\1\333\16\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\10\22\1\334\15\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\4\22\1\335" + + "\21\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\5\22\1\336\20\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\7\22\1\337\3\0\26\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\10\22" + + "\1\340\15\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\5\22\1\341\2\22" + + "\1\342\15\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\7\22\1\343\16\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\2\22\1\344\23\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\10\22\1\345\15\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\2\22" + + "\1\346\23\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\17\22\1\347\6\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\11\22\1\350\14\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\7\22" + + "\1\351\3\0\26\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\15\22\1\352" + + "\10\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\21\22\1\353\4\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\14\22\1\354\11\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\12\22\1\355\5\22\1\356\5\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\1\22\1\357\7\22\1\360\14\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\17\22\1\361\6\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\5\22\1\362" + + "\2\22\1\363\15\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\17\22\1\364" + + "\6\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\7\22\1\365\3\0\26\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\13\22\1\366\12\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\3\22\1\367\4\22" + + "\3\0\14\22\1\370\11\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\7\22" + + "\1\371\16\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\10\22\1\372\15\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\11\22\1\373\14\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\6\22\1\374\2\22\1\375\14\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\4\22\1\376\21\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\1\377" + + "\25\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\1\22\1\u0100\24\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\11\22\1\u0101\14\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\10\22\1\u0102\15\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\3\22\1\u0103\4\22\3\0" + + "\26\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\25\22\1\u0104\15\0\2\22" + + "\35\0\1\260\3\0\2\260\107\0\1\u0105\3\0\2\u0105" + + "\52\0\1\u0106\2\0\30\u0106\1\277\1\0\60\u0106\1\300" + + "\2\0\30\300\1\u0107\61\300\15\0\1\u0108\114\0\1\u0109" + + "\115\0\3\u010a\4\0\4\u010a\5\0\3\u010a\2\0\2\u010a" + + "\3\0\26\u010a\2\0\1\u010b\30\0\1\u010c\7\0\1\u010d" + + "\100\0\1\305\3\0\1\305\1\0\5\305\2\0\4\305" + + "\4\0\10\305\3\0\26\305\35\0\3\u010e\4\0\4\u010e" + + "\5\0\3\u010e\2\0\2\u010e\3\0\26\u010e\2\0\1\u010f" + + "\63\0\1\u0110\47\0\1\312\112\0\5\313\1\u0111\107\313" + + "\4\0\1\312\1\314\141\0\1\u0112\103\0\1\323\13\0" + + "\1\323\3\0\2\323\71\0\1\u0113\1\0\1\u0113\3\0" + + "\3\u0113\5\0\1\u0113\2\0\5\u0113\3\0\1\u0113\1\0" + + "\1\u0113\1\0\1\u0113\6\0\1\u0113\41\0\1\145\10\0" + + "\1\163\13\0\1\u0114\3\0\2\u0114\2\161\56\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\5\22" + + "\1\u0115\20\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\2\22\1\u0116\23\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\4\22\1\u0117\21\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\7\22" + + "\1\u0118\3\0\26\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\16\22\1\u0119" + + "\7\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\7\22\1\u011a\3\0\26\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\2\22\1\u011b\23\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\12\22" + + "\1\u011c\13\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\7\22\1\u011d\3\0\26\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\4\22\1\u011e\21\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\5\22\1\u011f\2\22\1\u0120\15\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\5\22\1\u0121\20\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u0122" + + "\15\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\7\22\1\u0123\3\0\26\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\10\22\1\u0124\15\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\1\22" + + "\1\u0125\24\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\7\22\1\u0126\3\0\26\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\14\22\1\u0127\11\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\7\22\1\u0128" + + "\3\0\26\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\6\22\1\u0129\17\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\5\22\1\u012a\20\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\7\22" + + "\1\u012b\3\0\26\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u012c" + + "\15\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\7\22\1\u012d\3\0\26\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\6\22\1\u012e\5\22\1\u012f\11\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\7\22" + + "\1\u0130\3\0\26\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\2\22\1\u0131" + + "\23\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\7\22\1\u0132\3\0\26\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\2\22\1\u0133\23\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\16\22" + + "\1\u0134\7\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\14\22\1\u0135\11\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\10\22\1\u0136\15\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\22\22\1\u0137\3\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\3\22" + + "\1\u0138\22\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\14\22\1\u0139\11\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\13\22\1\u013a\12\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\11\22\1\u013b\14\22\15\0\2\22\1\0\2\u013c" + + "\5\0\1\u010a\1\0\1\u013c\1\0\1\u010a\1\u013d\5\u010a" + + "\2\0\4\u010a\4\0\10\u010a\3\0\26\u010a\33\0\1\u013e" + + "\125\0\1\u013f\77\0\1\u010e\3\0\1\u010e\1\0\5\u010e" + + "\2\0\4\u010e\4\0\10\u010e\3\0\26\u010e\17\0\4\313" + + "\1\312\1\u0111\107\313\17\0\1\u0140\1\0\1\u0140\3\0" + + "\3\u0140\5\0\1\u0140\2\0\5\u0140\3\0\1\u0140\1\0" + + "\1\u0140\1\0\1\u0140\6\0\1\u0140\41\0\1\145\10\0" + + "\1\163\13\0\1\u0141\3\0\2\u0141\2\161\56\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\7\22\1\u0142\3\0" + + "\26\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\14\22\1\u0143\11\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\10\22\1\u0144\15\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\7\22\1\u0145\16\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\3\22\1\u0146" + + "\22\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\1\22\1\u0147\24\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\16\22\1\u0148\7\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\10\22\1\u0149\15\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u014a" + + "\14\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\5\22\1\u014b\20\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\11\22\1\u014c\14\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\1\22\1\u014d\24\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\4\22\1\u014e" + + "\21\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\1\22\1\u014f\24\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\5\22\1\u0150\20\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\15\22\1\u0151\10\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\6\22\1\u0152" + + "\17\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\2\22\1\u0153\23\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\1\22\1\u0154\24\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\1\22\1\u0155\24\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\7\22\1\u0156\3\0\26\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\3\22\1\u0157\4\22\3\0\26\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\12\22\1\u0158\13\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\10\22" + + "\1\u0159\15\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\21\22\1\u015a\4\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\7\22\1\u015b\3\0\26\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\7\22\1\u015c" + + "\3\0\26\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\2\22\1\u015d\23\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\2\22\1\u015e\23\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\11\22\1\u015f\14\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\7\22" + + "\1\u0160\16\22\15\0\2\22\1\0\2\u013c\7\0\1\u013c" + + "\2\0\1\u013d\125\0\1\u0161\105\0\1\u0162\1\0\1\u0162" + + "\3\0\3\u0162\5\0\1\u0162\2\0\5\u0162\3\0\1\u0162" + + "\1\0\1\u0162\1\0\1\u0162\6\0\1\u0162\41\0\1\145" + + "\10\0\1\163\13\0\1\u0163\3\0\2\u0163\2\161\56\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\14\22\1\u0164\11\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0165" + + "\14\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\13\22\1\u0166\12\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\7\22\1\u0167\16\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\7\22\1\u0168\16\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\4\22\1\u0169" + + "\21\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\16\22\1\u016a\7\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\11\22\1\u016b\14\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\17\22\1\u016c\6\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\3\22\1\u016d\4\22\3\0" + + "\26\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\7\22\1\u016e\16\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\3\22\1\u016f\4\22\3\0\7\22\1\u0170\16\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\10\22\1\u0171\15\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\21\22\1\u0172\4\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0173" + + "\14\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\14\22\1\u0174\11\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\7\22\1\u0175\3\0\26\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\11\22" + + "\1\u0176\14\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\4\22\1\u0177\21\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\10\22\1\u0178\15\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\23\22\1\u0179\2\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\4\22" + + "\1\u017a\21\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\11\22\1\u017b\14\22" + + "\15\0\2\22\27\0\1\u017c\104\0\1\u017d\1\0\1\u017d" + + "\3\0\3\u017d\5\0\1\u017d\2\0\5\u017d\3\0\1\u017d" + + "\1\0\1\u017d\1\0\1\u017d\6\0\1\u017d\41\0\1\145" + + "\10\0\1\163\13\0\1\u017e\3\0\2\u017e\2\161\56\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\20\22\1\u017f\5\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\6\22\1\u0180" + + "\17\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\5\22\1\u0181\20\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\12\22\1\u0182\13\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\13\22\1\u0183\12\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\2\22\1\u0184" + + "\23\22\15\0\2\22\6\0\2\22\7\0\3\22\3\0" + + "\4\22\4\0\10\22\3\0\4\22\1\u0185\21\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\2\22\1\u0186\23\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\2\22\1\u0187\23\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\7\22\1\u0188\3\0\26\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\7\22\1\u0189\16\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\10\22\1\u018a\15\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\4\22" + + "\1\u018b\21\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\10\22\1\u018c\15\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\7\22\1\u018d\3\0\26\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\7\22\1\u018e" + + "\3\0\26\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\10\22\3\0\10\22\1\u018f\15\22" + + "\15\0\2\22\30\0\1\u0190\103\0\1\u0191\1\0\1\u0191" + + "\3\0\3\u0191\5\0\1\u0191\2\0\5\u0191\3\0\1\u0191" + + "\1\0\1\u0191\1\0\1\u0191\6\0\1\u0191\41\0\1\145" + + "\10\0\1\163\13\0\1\u0192\3\0\2\u0192\2\161\56\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\7\22\1\u0193\16\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\7\22\1\u0194\3\0\26\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\7\22\1\u0195\3\0\26\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\4\22\1\u0196\21\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\7\22\1\u0197\3\0\26\22" + + "\15\0\2\22\6\0\2\22\7\0\3\22\3\0\4\22" + + "\4\0\10\22\3\0\4\22\1\u0198\21\22\15\0\2\22" + + "\6\0\2\22\7\0\3\22\3\0\4\22\4\0\10\22" + + "\3\0\14\22\1\u0199\11\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\7\22" + + "\1\u019a\16\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\7\22\1\u019b\3\0\26\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\7\22\1\u019c\3\0\26\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\20\22" + + "\1\u019d\5\22\15\0\2\22\27\0\1\u019e\104\0\1\u019f" + + "\1\0\1\u019f\3\0\3\u019f\5\0\1\u019f\2\0\5\u019f" + + "\3\0\1\u019f\1\0\1\u019f\1\0\1\u019f\6\0\1\u019f" + + "\41\0\1\145\10\0\1\163\13\0\1\u01a0\3\0\2\u01a0" + + "\2\161\56\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\7\22\1\u01a1\3\0\26\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\6\22" + + "\1\u01a2\17\22\15\0\2\22\6\0\2\22\7\0\3\22" + + "\3\0\4\22\4\0\7\22\1\u01a3\3\0\26\22\15\0" + + "\2\22\6\0\2\22\7\0\3\22\3\0\4\22\4\0" + + "\10\22\3\0\10\22\1\u01a4\15\22\15\0\2\22\6\0" + + "\2\22\7\0\3\22\3\0\4\22\4\0\10\22\3\0" + + "\13\22\1\u01a5\12\22\15\0\2\22\6\0\2\22\7\0" + + "\3\22\3\0\4\22\4\0\10\22\3\0\13\22\1\u01a6" + + "\12\22\15\0\2\22\24\0\1\u01a7\107\0\1\u01a8\1\0" + + "\1\u01a8\3\0\3\u01a8\5\0\1\u01a8\2\0\5\u01a8\3\0" + + "\1\u01a8\1\0\1\u01a8\1\0\1\u01a8\6\0\1\u01a8\41\0" + + "\1\145\10\0\1\163\13\0\1\u01a9\3\0\2\u01a9\2\161" + + "\56\0\2\22\7\0\3\22\3\0\4\22\4\0\3\22" + + "\1\u01aa\4\22\3\0\26\22\15\0\2\22\6\0\2\22" + + "\7\0\3\22\3\0\4\22\4\0\10\22\3\0\5\22" + + "\1\u01ab\20\22\15\0\2\22\10\0\1\145\10\0\1\163" + + "\13\0\1\u01ac\3\0\2\u01ac\2\161\60\0\1\145\10\0" + + "\1\163\13\0\1\u01ad\3\0\2\u01ad\2\161\60\0\1\145" + + "\10\0\1\163\13\0\1\u01ae\3\0\2\u01ae\2\161\60\0" + + "\1\145\10\0\1\163\13\0\1\u01af\3\0\2\u01af\2\161" + + "\60\0\1\145\10\0\1\163\13\0\1\u01b0\3\0\2\u01b0" + + "\2\161\60\0\1\145\10\0\1\163\13\0\1\u01b1\3\0" + + "\2\u01b1\2\161\50\0"; - /** the current lexical state */ - private int zzLexicalState = YYINITIAL; + private static int[] zzUnpackTrans() { + int[] result = new int[22715]; + int offset = 0; + offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); + return result; + } - /** this buffer contains the current text to be matched and is - the source of the yytext() string */ - private char zzBuffer[] = new char[ZZ_BUFFERSIZE]; + private static int zzUnpackTrans(String packed, int offset, int[] result) { + int i = 0; /* index in packed string */ - /** the textposition at the last accepting state */ - private int zzMarkedPos; + int j = offset; /* index in unpacked array */ - /** the current text position in the buffer */ - private int zzCurrentPos; + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + value--; + do { + result[j++] = value; + } while (--count > 0); + } + return j; + } - /** startRead marks the beginning of the yytext() string in the buffer */ - private int zzStartRead; - /** endRead marks the last character in the buffer, that has been read - from input */ - private int zzEndRead; + /* error codes */ + private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; - /** number of newlines encountered up to the start of the matched text */ - private int yyline; + /* error messages for the codes above */ + private static final String ZZ_ERROR_MSG[] = { + "Unkown internal scanner error", + "Error: could not match input", + "Error: pushback value was too large" + }; - /** the number of characters up to the start of the matched text */ - private int yychar; + /** + * ZZ_ATTRIBUTE[aState] contains the attributes of state aState + */ + private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - /** - * the number of characters from the last newline up to the start of the - * matched text - */ - private int yycolumn; + private static final String ZZ_ATTRIBUTE_PACKED_0 + = "\13\0\1\11\1\1\1\11\13\1\3\11\1\1\2\11" + + "\4\1\1\11\21\1\7\11\4\1\1\11\2\1\2\11" + + "\3\1\1\11\2\1\1\11\1\1\1\11\1\1\1\11" + + "\2\1\1\11\1\1\2\11\1\1\1\11\2\1\1\11" + + "\2\1\1\11\1\1\1\0\2\11\1\1\1\11\1\1" + + "\1\11\2\1\2\11\1\1\2\11\1\1\2\11\1\0" + + "\3\1\1\0\11\1\2\11\44\1\11\11\1\1\1\11" + + "\1\1\6\11\1\0\1\11\1\0\1\11\1\0\2\11" + + "\1\0\1\1\5\0\1\1\1\0\1\11\2\1\1\11" + + "\2\0\3\11\1\1\1\11\1\0\1\1\1\11\60\1" + + "\1\11\1\0\3\11\1\0\1\11\2\0\1\1\2\11" + + "\1\0\1\11\51\1\1\0\2\11\1\0\41\1\1\0" + + "\32\1\1\0\23\1\1\0\15\1\1\0\10\1\2\11" + + "\11\1"; - /** - * zzAtBOL == true <=> the scanner is currently at the beginning of a line - */ - private boolean zzAtBOL = true; + private static int[] zzUnpackAttribute() { + int[] result = new int[433]; + int offset = 0; + offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); + return result; + } - /** zzAtEOF == true <=> the scanner is at the EOF */ - private boolean zzAtEOF; + private static int zzUnpackAttribute(String packed, int offset, int[] result) { + int i = 0; /* index in packed string */ - /** denotes if the user-EOF-code has already been executed */ - private boolean zzEOFDone; + int j = offset; /* index in unpacked array */ - /* user code: */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do { + result[j++] = value; + } while (--count > 0); + } + return j; + } + /** + * the input device + */ + private java.io.Reader zzReader; + + /** + * the current state of the DFA + */ + private int zzState; + + /** + * the current lexical state + */ + private int zzLexicalState = YYINITIAL; + + /** + * this buffer contains the current text to be matched and is the source of + * the yytext() string + */ + private char zzBuffer[] = new char[ZZ_BUFFERSIZE]; + + /** + * the textposition at the last accepting state + */ + private int zzMarkedPos; + + /** + * the current text position in the buffer + */ + private int zzCurrentPos; + + /** + * startRead marks the beginning of the yytext() string in the buffer + */ + private int zzStartRead; + + /** + * endRead marks the last character in the buffer, that has been read from + * input + */ + private int zzEndRead; + + /** + * number of newlines encountered up to the start of the matched text + */ + private int yyline; + + /** + * the number of characters up to the start of the matched text + */ + private int yychar; + + /** + * the number of characters from the last newline up to the start of the + * matched text + */ + private int yycolumn; + + /** + * zzAtBOL == true <=> the scanner is currently at the beginning of a line + */ + private boolean zzAtBOL = true; + + /** + * zzAtEOF == true <=> the scanner is at the EOF + */ + private boolean zzAtEOF; + + /** + * denotes if the user-EOF-code has already been executed + */ + private boolean zzEOFDone; + + /* user code: */ private String sourceCode; - public ActionScriptLexer(String sourceCode){ + public ActionScriptLexer(String sourceCode) { this(new StringReader(sourceCode)); - this.sourceCode = sourceCode; + this.sourceCode = sourceCode; } - public void yypushbackstr(String s, int state) - { - sourceCode=s+sourceCode.substring(yychar+yylength()); + public void yypushbackstr(String s, int state) { + sourceCode = s + sourceCode.substring(yychar + yylength()); yyreset(new StringReader(sourceCode)); yybegin(state); } - public void yypushbackstr(String s) - { - yypushbackstr(s,YYINITIAL); + public void yypushbackstr(String s) { + yypushbackstr(s, YYINITIAL); } StringBuffer string = new StringBuffer(); - private static String xmlTagName=""; + private static String xmlTagName = ""; public int yychar() { return yychar; } - private Stack pushedBack=new Stack(); + private Stack pushedBack = new Stack<>(); public int yyline() { - return yyline+1; + return yyline + 1; } - private List listeners=new ArrayList<>(); + private List listeners = new ArrayList<>(); - public void addListener(LexListener listener){ + public void addListener(LexListener listener) { listeners.add(listener); } - public void removeListener(LexListener listener){ + public void removeListener(LexListener listener) { listeners.remove(listener); } - public void informListenersLex(ParsedSymbol s){ - for(LexListener l:listeners){ + public void informListenersLex(ParsedSymbol s) { + for (LexListener l : listeners) { l.onLex(s); } } - public void informListenersPushBack(ParsedSymbol s){ - for(LexListener l:listeners){ + public void informListenersPushBack(ParsedSymbol s) { + for (LexListener l : listeners) { l.onPushBack(s); } } @@ -955,1089 +996,1262 @@ public final class ActionScriptLexer { informListenersPushBack(symb); } ParsedSymbol last; - public ParsedSymbol lex() throws java.io.IOException, ParseException{ - ParsedSymbol ret=null; - if(!pushedBack.isEmpty()){ + + public ParsedSymbol lex() throws java.io.IOException, ParseException { + ParsedSymbol ret = null; + if (!pushedBack.isEmpty()) { ret = last = pushedBack.pop(); - }else{ + } else { ret = last = yylex(); } informListenersLex(ret); return ret; } - - - /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. - * - * @param in the java.io.Reader to read input from. - */ - public ActionScriptLexer(java.io.Reader in) { - this.zzReader = in; - } - - /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. - * - * @param in the java.io.Inputstream to read input from. - */ - public ActionScriptLexer(java.io.InputStream in) { - this(new java.io.InputStreamReader - (in, java.nio.charset.Charset.forName("UTF-8"))); - } - - /** - * Unpacks the compressed character translation table. - * - * @param packed the packed character translation table - * @return the unpacked character translation table - */ - private static char [] zzUnpackCMap(String packed) { - char [] map = new char[0x10000]; - int i = 0; /* index in packed string */ - int j = 0; /* index in unpacked array */ - while (i < 2288) { - int count = packed.charAt(i++); - char value = packed.charAt(i++); - do map[j++] = value; while (--count > 0); - } - return map; - } - - - /** - * Refills the input buffer. - * - * @return false, iff there was new input. - * - * @exception java.io.IOException if any I/O-Error occurs - */ - private boolean zzRefill() throws java.io.IOException { - - /* first: make room (if you can) */ - if (zzStartRead > 0) { - System.arraycopy(zzBuffer, zzStartRead, - zzBuffer, 0, - zzEndRead-zzStartRead); - - /* translate stored positions */ - zzEndRead-= zzStartRead; - zzCurrentPos-= zzStartRead; - zzMarkedPos-= zzStartRead; - zzStartRead = 0; + /** + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. + * + * @param in the java.io.Reader to read input from. + */ + public ActionScriptLexer(java.io.Reader in) { + this.zzReader = in; } - /* is the buffer big enough? */ - if (zzCurrentPos >= zzBuffer.length) { - /* if not: blow it up */ - char newBuffer[] = new char[zzCurrentPos*2]; - System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length); - zzBuffer = newBuffer; + /** + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. + * + * @param in the java.io.Inputstream to read input from. + */ + public ActionScriptLexer(java.io.InputStream in) { + this(new java.io.InputStreamReader(in, java.nio.charset.Charset.forName("UTF-8"))); } - /* finally: fill the buffer with new input */ - int numRead = zzReader.read(zzBuffer, zzEndRead, - zzBuffer.length-zzEndRead); + /** + * Unpacks the compressed character translation table. + * + * @param packed the packed character translation table + * @return the unpacked character translation table + */ + private static char[] zzUnpackCMap(String packed) { + char[] map = new char[0x10000]; + int i = 0; /* index in packed string */ - if (numRead > 0) { - zzEndRead+= numRead; - return false; - } - // unlikely but not impossible: read 0 characters, but not at end of stream - if (numRead == 0) { - int c = zzReader.read(); - if (c == -1) { - return true; - } else { - zzBuffer[zzEndRead++] = (char) c; - return false; - } - } - - // numRead < 0 - return true; - } - - - /** - * Closes the input stream. - */ - public final void yyclose() throws java.io.IOException { - zzAtEOF = true; /* indicate end of file */ - zzEndRead = zzStartRead; /* invalidate buffer */ - - if (zzReader != null) - zzReader.close(); - } - - - /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. - * - * All internal variables are reset, the old input stream - * cannot be reused (internal buffer is discarded and lost). - * Lexical state is set to ZZ_INITIAL. - * - * Internal scan buffer is resized down to its initial length, if it has grown. - * - * @param reader the new input stream - */ - public final void yyreset(java.io.Reader reader) { - zzReader = reader; - zzAtBOL = true; - zzAtEOF = false; - zzEOFDone = false; - zzEndRead = zzStartRead = 0; - zzCurrentPos = zzMarkedPos = 0; - yyline = yychar = yycolumn = 0; - zzLexicalState = YYINITIAL; - if (zzBuffer.length > ZZ_BUFFERSIZE) - zzBuffer = new char[ZZ_BUFFERSIZE]; - } - - - /** - * Returns the current lexical state. - */ - public final int yystate() { - return zzLexicalState; - } - - - /** - * Enters a new lexical state - * - * @param newState the new lexical state - */ - public final void yybegin(int newState) { - zzLexicalState = newState; - } - - - /** - * Returns the text matched by the current regular expression. - */ - public final String yytext() { - return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead ); - } - - - /** - * Returns the character at position pos from the - * matched text. - * - * It is equivalent to yytext().charAt(pos), but faster - * - * @param pos the position of the character to fetch. - * A value from 0 to yylength()-1. - * - * @return the character at position pos - */ - public final char yycharat(int pos) { - return zzBuffer[zzStartRead+pos]; - } - - - /** - * Returns the length of the matched text region. - */ - public final int yylength() { - return zzMarkedPos-zzStartRead; - } - - - /** - * Reports an error that occured while scanning. - * - * In a wellformed scanner (no or only correct usage of - * yypushback(int) and a match-all fallback rule) this method - * will only be called with things that "Can't Possibly Happen". - * If this method is called, something is seriously wrong - * (e.g. a JFlex bug producing a faulty scanner etc.). - * - * Usual syntax/scanner level error handling should be done - * in error fallback rules. - * - * @param errorCode the code of the errormessage to display - */ - private void zzScanError(int errorCode) { - String message; - try { - message = ZZ_ERROR_MSG[errorCode]; - } - catch (ArrayIndexOutOfBoundsException e) { - message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; - } - - throw new Error(message); - } - - - /** - * Pushes the specified amount of characters back into the input stream. - * - * They will be read again by then next call of the scanning method - * - * @param number the number of characters to be read again. - * This number must not be greater than yylength()! - */ - public void yypushback(int number) { - if ( number > yylength() ) - zzScanError(ZZ_PUSHBACK_2BIG); - - zzMarkedPos -= number; - } - - - /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. - * - * @return the next token - * @exception java.io.IOException if any I/O-Error occurs - */ - public ParsedSymbol yylex() throws java.io.IOException, ParseException { - int zzInput; - int zzAction; - - // cached fields: - int zzCurrentPosL; - int zzMarkedPosL; - int zzEndReadL = zzEndRead; - char [] zzBufferL = zzBuffer; - char [] zzCMapL = ZZ_CMAP; - - int [] zzTransL = ZZ_TRANS; - int [] zzRowMapL = ZZ_ROWMAP; - int [] zzAttrL = ZZ_ATTRIBUTE; - - while (true) { - zzMarkedPosL = zzMarkedPos; - - yychar+= zzMarkedPosL-zzStartRead; - - zzAction = -1; - - zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; - - zzState = ZZ_LEXSTATE[zzLexicalState]; - - // set up zzAction for empty match case: - int zzAttributes = zzAttrL[zzState]; - if ( (zzAttributes & 1) == 1 ) { - zzAction = zzState; - } - - - zzForAction: { - while (true) { - - if (zzCurrentPosL < zzEndReadL) - zzInput = zzBufferL[zzCurrentPosL++]; - else if (zzAtEOF) { - zzInput = YYEOF; - break zzForAction; - } - else { - // store back cached positions - zzCurrentPos = zzCurrentPosL; - zzMarkedPos = zzMarkedPosL; - boolean eof = zzRefill(); - // get translated positions and possibly new buffer - zzCurrentPosL = zzCurrentPos; - zzMarkedPosL = zzMarkedPos; - zzBufferL = zzBuffer; - zzEndReadL = zzEndRead; - if (eof) { - zzInput = YYEOF; - break zzForAction; - } - else { - zzInput = zzBufferL[zzCurrentPosL++]; - } - } - int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; - if (zzNext == -1) break zzForAction; - zzState = zzNext; - - zzAttributes = zzAttrL[zzState]; - if ( (zzAttributes & 1) == 1 ) { - zzAction = zzState; - zzMarkedPosL = zzCurrentPosL; - if ( (zzAttributes & 8) == 8 ) break zzForAction; - } + int j = 0; /* index in unpacked array */ + while (i < 2288) { + int count = packed.charAt(i++); + char value = packed.charAt(i++); + do { + map[j++] = value; + } while (--count > 0); } - } - - // store back cached position - zzMarkedPos = zzMarkedPosL; - - switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 1: - { - } - case 161: break; - case 2: - { yyline++; - } - case 162: break; - case 3: - { /*ignore*/ - } - case 163: break; - case 4: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DIVIDE,yytext()); - } - case 164: break; - case 5: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MULTIPLY,yytext()); - } - case 165: break; - case 6: - { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.IDENTIFIER, yytext()); - } - case 166: break; - case 7: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DOT,yytext()); - } - case 167: break; - case 8: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_THAN,yytext()); - } - case 168: break; - case 9: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT,yytext()); - } - case 169: break; - case 10: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MINUS,yytext()); - } - case 170: break; - case 11: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_THAN,yytext()); - } - case 171: break; - case 12: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COLON,yytext()); - } - case 172: break; - case 13: - { return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,new Long(Long.parseLong((yytext())))); - } - case 173: break; - case 14: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TERNAR,yytext()); - } - case 174: break; - case 15: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_OPEN,yytext()); - } - case 175: break; - case 16: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_CLOSE,yytext()); - } - case 176: break; - case 17: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN,yytext()); - } - case 177: break; - case 18: - { string.setLength(0); - yybegin(STRING); - } - case 178: break; - case 19: - { string.setLength(0); - yybegin(CHARLITERAL); - } - case 179: break; - case 20: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PLUS,yytext()); - } - case 180: break; - case 21: - { string.setLength(0); - yybegin(OIDENTIFIER); - } - case 181: break; - case 22: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_OPEN,yytext()); - } - case 182: break; - case 23: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_CLOSE,yytext()); - } - case 183: break; - case 24: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_OPEN,yytext()); - } - case 184: break; - case 25: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_CLOSE,yytext()); - } - case 185: break; - case 26: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SEMICOLON,yytext()); - } - case 186: break; - case 27: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COMMA,yytext()); - } - case 187: break; - case 28: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEGATE,yytext()); - } - case 188: break; - case 29: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITAND,yytext()); - } - case 189: break; - case 30: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITOR,yytext()); - } - case 190: break; - case 31: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.XOR,yytext()); - } - case 191: break; - case 32: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MODULO,yytext()); - } - case 192: break; - case 33: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ATTRIBUTE,yytext()); - } - case 193: break; - case 34: - { string.append( yytext() ); - } - case 194: break; - case 35: - { yybegin(YYINITIAL); yyline++; - } - case 195: break; - case 36: - { yybegin(YYINITIAL); - // length also includes the trailing quote - return new ParsedSymbol(SymbolGroup.STRING,SymbolType.STRING,string.toString()); - } - case 196: break; - case 37: - { string.append( yytext() ); yyline++; - } - case 197: break; - case 38: - { yybegin(XML); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_STARTTAG_END, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 198: break; - case 39: - { yybegin(YYINITIAL); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_ATTRNAMEVAR_BEGIN, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 199: break; - case 40: - { yybegin(YYINITIAL); - return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_ATTRVALVAR_BEGIN, yytext()); - } - case 200: break; - case 41: - { yybegin(YYINITIAL); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_INSTRATTRNAMEVAR_BEGIN, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 201: break; - case 42: - { yybegin(YYINITIAL); - return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_INSTRATTRVALVAR_BEGIN, yytext()); - } - case 202: break; - case 43: - { string.append(yytext()); - } - case 203: break; - case 44: - { yybegin(YYINITIAL); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_VAR_BEGIN, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 204: break; - case 45: - { yybegin(YYINITIAL); - // length also includes the trailing quote - return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.IDENTIFIER,string.toString()); - } - case 205: break; - case 46: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_DIVIDE,yytext()); - } - case 206: break; - case 47: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MULTIPLY,yytext()); - } - case 207: break; - case 48: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DESCENDANTS,yytext()); - } - case 208: break; - case 49: - { return new ParsedSymbol(SymbolGroup.TYPENAME,SymbolType.TYPENAME,yytext()); - } - case 209: break; - case 50: - { return new ParsedSymbol(SymbolGroup.DOUBLE,SymbolType.DOUBLE,new Double(Double.parseDouble((yytext())))); - } - case 210: break; - case 51: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FILTER,yytext()); - } - case 211: break; - case 52: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_LEFT,yytext()); - } - case 212: break; - case 53: - { yybegin(XMLOPENTAG); - string.setLength(0); - return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_STARTTAG_BEGIN, yytext()); - } - case 213: break; - case 54: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_EQUAL,yytext()); - } - case 214: break; - case 55: - { return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_STARTVARTAG_BEGIN, yytext()); - } - case 215: break; - case 56: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT_EQUAL,yytext()); - } - case 216: break; - case 57: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DECREMENT,yytext()); - } - case 217: break; - case 58: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MINUS,yytext()); - } - case 218: break; - case 59: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_RIGHT,yytext()); - } - case 219: break; - case 60: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_EQUAL,yytext()); - } - case 220: break; - case 61: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NAMESPACE_OP,yytext()); - } - case 221: break; - case 62: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.EQUALS,yytext()); - } - case 222: break; - case 63: - { return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,new Long(Long.parseLong(yytext(),8))); - } - case 223: break; - case 64: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_PLUS,yytext()); - } - case 224: break; - case 65: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INCREMENT,yytext()); - } - case 225: break; - case 66: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AS,yytext()); - } - case 226: break; - case 67: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IF,yytext()); - } - case 227: break; - case 68: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.IS,yytext()); - } - case 228: break; - case 69: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IN,yytext()); - } - case 229: break; - case 70: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DO,yytext()); - } - case 230: break; - case 71: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITAND,yytext()); - } - case 231: break; - case 72: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AND,yytext()); - } - case 232: break; - case 73: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITOR,yytext()); - } - case 233: break; - case 74: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.OR,yytext()); - } - case 234: break; - case 75: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_XOR,yytext()); - } - case 235: break; - case 76: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MODULO,yytext()); - } - case 236: break; - case 77: - { throw new ParseException("Illegal escape sequence \""+yytext()+"\"",yyline+1); - } - case 237: break; - case 78: - { string.append( '\"' ); - } - case 238: break; - case 79: - { string.append( '\'' ); - } - case 239: break; - case 80: - { char val = (char) Integer.parseInt(yytext().substring(1),8); - string.append( val ); - } - case 240: break; - case 81: - { string.append( '\f' ); - } - case 241: break; - case 82: - { string.append( '\\' ); - } - case 242: break; - case 83: - { string.append( '\b' ); - } - case 243: break; - case 84: - { string.append( '\r' ); - } - case 244: break; - case 85: - { string.append( '\n' ); - } - case 245: break; - case 86: - { string.append( '\t' ); - } - case 246: break; - case 87: - { yybegin(XML); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_STARTFINISHTAG_END, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 247: break; - case 88: - { yybegin(XMLOPENTAGATTRIB); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_ATTRIBUTENAME, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 248: break; - case 89: - { yybegin(XMLOPENTAG); - return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_ATTRIBUTEVALUE, yytext()); - } - case 249: break; - case 90: - { yybegin(XMLINSTRATTRIB); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_ATTRIBUTENAME, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 250: break; - case 91: - { yybegin(XML); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_INSTR_END, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 251: break; - case 92: - { yybegin(XMLINSTROPENTAG); - return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_ATTRIBUTEVALUE, yytext()); - } - case 252: break; - case 93: - { yybegin(XMLOPENTAG); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_STARTTAG_BEGIN, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 253: break; - case 94: - { yybegin(YYINITIAL); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_STARTVARTAG_BEGIN, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 254: break; - case 95: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.REST,yytext()); - } - case 255: break; - case 96: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_LEFT,yytext()); - } - case 256: break; - case 97: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_NOT_EQUAL,yytext()); - } - case 257: break; - case 98: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.USHIFT_RIGHT,yytext()); - } - case 258: break; - case 99: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_RIGHT,yytext()); - } - case 259: break; - case 100: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_EQUALS,yytext()); - } - case 260: break; - case 101: - { return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,new Long(Long.parseLong(yytext().substring(2),16))); - } - case 261: break; - case 102: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FOR,yytext()); - } - case 262: break; - case 103: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SET,yytext()); - } - case 263: break; - case 104: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEW,yytext()); - } - case 264: break; - case 105: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRY,yytext()); - } - case 265: break; - case 106: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.USE,yytext()); - } - case 266: break; - case 107: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.VAR,yytext()); - } - case 267: break; - case 108: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.GET,yytext()); - } - case 268: break; - case 109: - { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NAN,yytext()); - } - case 269: break; - case 110: - { string.append(yytext()); - yybegin(XML); - String ret = string.toString(); - string.setLength(0); - return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_CDATA, ret); - } - case 270: break; - case 111: - { string.append(yytext()); - yybegin(XML); - String ret = string.toString(); - string.setLength(0); - return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_COMMENT, ret); - } - case 271: break; - case 112: - { yybegin(YYINITIAL); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_FINISHVARTAG_BEGIN, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 272: break; - case 113: - { yybegin(XMLINSTROPENTAG); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_INSTR_BEGIN, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 273: break; - case 114: - { yybegin(YYINITIAL); - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_INSTRVARTAG_BEGIN, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 274: break; - case 115: - { string.append( '\u00A7' ); - } - case 275: break; - case 116: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_USHIFT_RIGHT,yytext()); - } - case 276: break; - case 117: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EACH,yytext()); - } - case 277: break; - case 118: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.ELSE,yytext()); - } - case 278: break; - case 119: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CASE,yytext()); - } - case 279: break; - case 120: - { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NULL,yytext()); - } - case 280: break; - case 121: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRUE,yytext()); - } - case 281: break; - case 122: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THIS,yytext()); - } - case 282: break; - case 123: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WITH,yytext()); - } - case 283: break; - case 124: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.VOID,yytext()); - } - case 284: break; - case 125: - { pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_FINISHTAG, yytext())); - if(string.length()>0){ - pushback(new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT, string.toString())); - string.setLength(0); - } - return lex(); - } - case 285: break; - case 126: - { String ret=string.toString(); string.setLength(0); string.append(yytext()); yybegin(XMLCOMMENT); - if(!ret.isEmpty()) return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT,ret); - } - case 286: break; - case 127: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FALSE,yytext()); - } - case 287: break; - case 128: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FINAL,yytext()); - } - case 288: break; - case 129: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.BREAK,yytext()); - } - case 289: break; - case 130: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CATCH,yytext()); - } - case 290: break; - case 131: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONST,yytext()); - } - case 291: break; - case 132: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CLASS,yytext()); - } - case 292: break; - case 133: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SUPER,yytext()); - } - case 293: break; - case 134: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THROW,yytext()); - } - case 294: break; - case 135: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE,yytext()); - } - case 295: break; - case 136: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.RETURN,yytext()); - } - case 296: break; - case 137: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.STATIC,yytext()); - } - case 297: break; - case 138: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SWITCH,yytext()); - } - case 298: break; - case 139: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TYPEOF,yytext()); - } - case 299: break; - case 140: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPORT,yytext()); - } - case 300: break; - case 141: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DELETE,yytext()); - } - case 301: break; - case 142: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PUBLIC,yytext()); - } - case 302: break; - case 143: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FINALLY,yytext()); - } - case 303: break; - case 144: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EXTENDS,yytext()); - } - case 304: break; - case 145: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DEFAULT,yytext()); - } - case 305: break; - case 146: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DYNAMIC,yytext()); - } - case 306: break; - case 147: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PRIVATE,yytext()); - } - case 307: break; - case 148: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PACKAGE,yytext()); - } - case 308: break; - case 149: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FUNCTION,yytext()); - } - case 309: break; - case 150: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONTINUE,yytext()); - } - case 310: break; - case 151: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.OVERRIDE,yytext()); - } - case 311: break; - case 152: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERNAL,yytext()); - } - case 312: break; - case 153: - { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.INFINITY,yytext()); - } - case 313: break; - case 154: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.NAMESPACE,yytext()); - } - case 314: break; - case 155: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERFACE,yytext()); - } - case 315: break; - case 156: - { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.UNDEFINED,yytext()); - } - case 316: break; - case 157: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PROTECTED,yytext()); - } - case 317: break; - case 158: - { String ret=string.toString(); string.setLength(0); string.append(yytext() ); yybegin(XMLCDATA); - if(!ret.isEmpty()) return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML_TEXT,ret); - } - case 318: break; - case 159: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INSTANCEOF,yytext()); - } - case 319: break; - case 160: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPLEMENTS,yytext()); - } - case 320: break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - { - return new ParsedSymbol(SymbolGroup.EOF,SymbolType.EOF,null); - } - } - else { - zzScanError(ZZ_NO_MATCH); - } - } + return map; } - } + /** + * Refills the input buffer. + * + * @return false, iff there was new input. + * + * @exception java.io.IOException if any I/O-Error occurs + */ + private boolean zzRefill() throws java.io.IOException { + + /* first: make room (if you can) */ + if (zzStartRead > 0) { + System.arraycopy(zzBuffer, zzStartRead, + zzBuffer, 0, + zzEndRead - zzStartRead); + + /* translate stored positions */ + zzEndRead -= zzStartRead; + zzCurrentPos -= zzStartRead; + zzMarkedPos -= zzStartRead; + zzStartRead = 0; + } + + /* is the buffer big enough? */ + if (zzCurrentPos >= zzBuffer.length) { + /* if not: blow it up */ + char newBuffer[] = new char[zzCurrentPos * 2]; + System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length); + zzBuffer = newBuffer; + } + + /* finally: fill the buffer with new input */ + int numRead = zzReader.read(zzBuffer, zzEndRead, + zzBuffer.length - zzEndRead); + + if (numRead > 0) { + zzEndRead += numRead; + return false; + } + // unlikely but not impossible: read 0 characters, but not at end of stream + if (numRead == 0) { + int c = zzReader.read(); + if (c == -1) { + return true; + } else { + zzBuffer[zzEndRead++] = (char) c; + return false; + } + } + + // numRead < 0 + return true; + } + + /** + * Closes the input stream. + * + * @throws java.io.IOException + */ + public final void yyclose() throws java.io.IOException { + zzAtEOF = true; /* indicate end of file */ + + zzEndRead = zzStartRead; /* invalidate buffer */ + + if (zzReader != null) { + zzReader.close(); + } + } + + /** + * Resets the scanner to read from a new input stream. Does not close the + * old reader. + * + * All internal variables are reset, the old input stream + * cannot be reused (internal buffer is discarded and lost). Lexical + * state is set to ZZ_INITIAL. + * + * Internal scan buffer is resized down to its initial length, if it has + * grown. + * + * @param reader the new input stream + */ + public final void yyreset(java.io.Reader reader) { + zzReader = reader; + zzAtBOL = true; + zzAtEOF = false; + zzEOFDone = false; + zzEndRead = zzStartRead = 0; + zzCurrentPos = zzMarkedPos = 0; + yyline = yychar = yycolumn = 0; + zzLexicalState = YYINITIAL; + if (zzBuffer.length > ZZ_BUFFERSIZE) { + zzBuffer = new char[ZZ_BUFFERSIZE]; + } + } + + /** + * Returns the current lexical state. + * + * @return + */ + public final int yystate() { + return zzLexicalState; + } + + /** + * Enters a new lexical state + * + * @param newState the new lexical state + */ + public final void yybegin(int newState) { + zzLexicalState = newState; + } + + /** + * Returns the text matched by the current regular expression. + * + * @return + */ + public final String yytext() { + return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead); + } + + /** + * Returns the character at position pos from the matched text. + * + * It is equivalent to yytext().charAt(pos), but faster + * + * @param pos the position of the character to fetch. A value from 0 to + * yylength()-1. + * + * @return the character at position pos + */ + public final char yycharat(int pos) { + return zzBuffer[zzStartRead + pos]; + } + + /** + * Returns the length of the matched text region. + * + * @return + */ + public final int yylength() { + return zzMarkedPos - zzStartRead; + } + + /** + * Reports an error that occured while scanning. + * + * In a wellformed scanner (no or only correct usage of yypushback(int) and + * a match-all fallback rule) this method will only be called with things + * that "Can't Possibly Happen". If this method is called, something is + * seriously wrong (e.g. a JFlex bug producing a faulty scanner etc.). + * + * Usual syntax/scanner level error handling should be done in error + * fallback rules. + * + * @param errorCode the code of the errormessage to display + */ + private void zzScanError(int errorCode) { + String message; + try { + message = ZZ_ERROR_MSG[errorCode]; + } catch (ArrayIndexOutOfBoundsException e) { + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; + } + + throw new Error(message); + } + + /** + * Pushes the specified amount of characters back into the input stream. + * + * They will be read again by then next call of the scanning method + * + * @param number the number of characters to be read again. This number must + * not be greater than yylength()! + */ + public void yypushback(int number) { + if (number > yylength()) { + zzScanError(ZZ_PUSHBACK_2BIG); + } + + zzMarkedPos -= number; + } + + /** + * Resumes scanning until the next regular expression is matched, the end of + * input is encountered or an I/O-Error occurs. + * + * @return the next token + * @exception java.io.IOException if any I/O-Error occurs + * @throws com.jpexs.decompiler.flash.abc.avm2.parser.ParseException + */ + public ParsedSymbol yylex() throws java.io.IOException, ParseException { + int zzInput; + int zzAction; + + // cached fields: + int zzCurrentPosL; + int zzMarkedPosL; + int zzEndReadL = zzEndRead; + char[] zzBufferL = zzBuffer; + char[] zzCMapL = ZZ_CMAP; + + int[] zzTransL = ZZ_TRANS; + int[] zzRowMapL = ZZ_ROWMAP; + int[] zzAttrL = ZZ_ATTRIBUTE; + + while (true) { + zzMarkedPosL = zzMarkedPos; + + yychar += zzMarkedPosL - zzStartRead; + + zzAction = -1; + + zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; + + zzState = ZZ_LEXSTATE[zzLexicalState]; + + // set up zzAction for empty match case: + int zzAttributes = zzAttrL[zzState]; + if ((zzAttributes & 1) == 1) { + zzAction = zzState; + } + + zzForAction: + { + while (true) { + + if (zzCurrentPosL < zzEndReadL) { + zzInput = zzBufferL[zzCurrentPosL++]; + } else if (zzAtEOF) { + zzInput = YYEOF; + break zzForAction; + } else { + // store back cached positions + zzCurrentPos = zzCurrentPosL; + zzMarkedPos = zzMarkedPosL; + boolean eof = zzRefill(); + // get translated positions and possibly new buffer + zzCurrentPosL = zzCurrentPos; + zzMarkedPosL = zzMarkedPos; + zzBufferL = zzBuffer; + zzEndReadL = zzEndRead; + if (eof) { + zzInput = YYEOF; + break zzForAction; + } else { + zzInput = zzBufferL[zzCurrentPosL++]; + } + } + int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput]]; + if (zzNext == -1) { + break zzForAction; + } + zzState = zzNext; + + zzAttributes = zzAttrL[zzState]; + if ((zzAttributes & 1) == 1) { + zzAction = zzState; + zzMarkedPosL = zzCurrentPosL; + if ((zzAttributes & 8) == 8) { + break zzForAction; + } + } + + } + } + + // store back cached position + zzMarkedPos = zzMarkedPosL; + + switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { + case 1: { + } + case 161: + break; + case 2: { + yyline++; + } + case 162: + break; + case 3: { /*ignore*/ + + } + case 163: + break; + case 4: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DIVIDE, yytext()); + } + case 164: + break; + case 5: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MULTIPLY, yytext()); + } + case 165: + break; + case 6: { + return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, yytext()); + } + case 166: + break; + case 7: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DOT, yytext()); + } + case 167: + break; + case 8: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_THAN, yytext()); + } + case 168: + break; + case 9: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT, yytext()); + } + case 169: + break; + case 10: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MINUS, yytext()); + } + case 170: + break; + case 11: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_THAN, yytext()); + } + case 171: + break; + case 12: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COLON, yytext()); + } + case 172: + break; + case 13: { + return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, new Long(Long.parseLong((yytext())))); + } + case 173: + break; + case 14: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TERNAR, yytext()); + } + case 174: + break; + case 15: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_OPEN, yytext()); + } + case 175: + break; + case 16: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_CLOSE, yytext()); + } + case 176: + break; + case 17: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN, yytext()); + } + case 177: + break; + case 18: { + string.setLength(0); + yybegin(STRING); + } + case 178: + break; + case 19: { + string.setLength(0); + yybegin(CHARLITERAL); + } + case 179: + break; + case 20: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PLUS, yytext()); + } + case 180: + break; + case 21: { + string.setLength(0); + yybegin(OIDENTIFIER); + } + case 181: + break; + case 22: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_OPEN, yytext()); + } + case 182: + break; + case 23: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_CLOSE, yytext()); + } + case 183: + break; + case 24: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_OPEN, yytext()); + } + case 184: + break; + case 25: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_CLOSE, yytext()); + } + case 185: + break; + case 26: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SEMICOLON, yytext()); + } + case 186: + break; + case 27: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COMMA, yytext()); + } + case 187: + break; + case 28: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEGATE, yytext()); + } + case 188: + break; + case 29: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITAND, yytext()); + } + case 189: + break; + case 30: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITOR, yytext()); + } + case 190: + break; + case 31: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.XOR, yytext()); + } + case 191: + break; + case 32: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MODULO, yytext()); + } + case 192: + break; + case 33: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ATTRIBUTE, yytext()); + } + case 193: + break; + case 34: { + string.append(yytext()); + } + case 194: + break; + case 35: { + yybegin(YYINITIAL); + yyline++; + } + case 195: + break; + case 36: { + yybegin(YYINITIAL); + // length also includes the trailing quote + return new ParsedSymbol(SymbolGroup.STRING, SymbolType.STRING, string.toString()); + } + case 196: + break; + case 37: { + string.append(yytext()); + yyline++; + } + case 197: + break; + case 38: { + yybegin(XML); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_END, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 198: + break; + case 39: { + yybegin(YYINITIAL); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRNAMEVAR_BEGIN, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 199: + break; + case 40: { + yybegin(YYINITIAL); + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRVALVAR_BEGIN, yytext()); + } + case 200: + break; + case 41: { + yybegin(YYINITIAL); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRATTRNAMEVAR_BEGIN, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 201: + break; + case 42: { + yybegin(YYINITIAL); + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRATTRVALVAR_BEGIN, yytext()); + } + case 202: + break; + case 43: { + string.append(yytext()); + } + case 203: + break; + case 44: { + yybegin(YYINITIAL); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_VAR_BEGIN, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 204: + break; + case 45: { + yybegin(YYINITIAL); + // length also includes the trailing quote + return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, string.toString()); + } + case 205: + break; + case 46: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_DIVIDE, yytext()); + } + case 206: + break; + case 47: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MULTIPLY, yytext()); + } + case 207: + break; + case 48: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DESCENDANTS, yytext()); + } + case 208: + break; + case 49: { + return new ParsedSymbol(SymbolGroup.TYPENAME, SymbolType.TYPENAME, yytext()); + } + case 209: + break; + case 50: { + return new ParsedSymbol(SymbolGroup.DOUBLE, SymbolType.DOUBLE, new Double(Double.parseDouble((yytext())))); + } + case 210: + break; + case 51: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FILTER, yytext()); + } + case 211: + break; + case 52: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_LEFT, yytext()); + } + case 212: + break; + case 53: { + yybegin(XMLOPENTAG); + string.setLength(0); + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_BEGIN, yytext()); + } + case 213: + break; + case 54: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_EQUAL, yytext()); + } + case 214: + break; + case 55: { + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTVARTAG_BEGIN, yytext()); + } + case 215: + break; + case 56: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT_EQUAL, yytext()); + } + case 216: + break; + case 57: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DECREMENT, yytext()); + } + case 217: + break; + case 58: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MINUS, yytext()); + } + case 218: + break; + case 59: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_RIGHT, yytext()); + } + case 219: + break; + case 60: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_EQUAL, yytext()); + } + case 220: + break; + case 61: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NAMESPACE_OP, yytext()); + } + case 221: + break; + case 62: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.EQUALS, yytext()); + } + case 222: + break; + case 63: { + return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, new Long(Long.parseLong(yytext(), 8))); + } + case 223: + break; + case 64: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_PLUS, yytext()); + } + case 224: + break; + case 65: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INCREMENT, yytext()); + } + case 225: + break; + case 66: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AS, yytext()); + } + case 226: + break; + case 67: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IF, yytext()); + } + case 227: + break; + case 68: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.IS, yytext()); + } + case 228: + break; + case 69: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IN, yytext()); + } + case 229: + break; + case 70: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DO, yytext()); + } + case 230: + break; + case 71: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITAND, yytext()); + } + case 231: + break; + case 72: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AND, yytext()); + } + case 232: + break; + case 73: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITOR, yytext()); + } + case 233: + break; + case 74: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.OR, yytext()); + } + case 234: + break; + case 75: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_XOR, yytext()); + } + case 235: + break; + case 76: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MODULO, yytext()); + } + case 236: + break; + case 77: { + throw new ParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1); + } + case 237: + break; + case 78: { + string.append('\"'); + } + case 238: + break; + case 79: { + string.append('\''); + } + case 239: + break; + case 80: { + char val = (char) Integer.parseInt(yytext().substring(1), 8); + string.append(val); + } + case 240: + break; + case 81: { + string.append('\f'); + } + case 241: + break; + case 82: { + string.append('\\'); + } + case 242: + break; + case 83: { + string.append('\b'); + } + case 243: + break; + case 84: { + string.append('\r'); + } + case 244: + break; + case 85: { + string.append('\n'); + } + case 245: + break; + case 86: { + string.append('\t'); + } + case 246: + break; + case 87: { + yybegin(XML); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTFINISHTAG_END, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 247: + break; + case 88: { + yybegin(XMLOPENTAGATTRIB); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTENAME, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 248: + break; + case 89: { + yybegin(XMLOPENTAG); + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTEVALUE, yytext()); + } + case 249: + break; + case 90: { + yybegin(XMLINSTRATTRIB); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTENAME, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 250: + break; + case 91: { + yybegin(XML); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTR_END, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 251: + break; + case 92: { + yybegin(XMLINSTROPENTAG); + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTEVALUE, yytext()); + } + case 252: + break; + case 93: { + yybegin(XMLOPENTAG); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_BEGIN, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 253: + break; + case 94: { + yybegin(YYINITIAL); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTVARTAG_BEGIN, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 254: + break; + case 95: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.REST, yytext()); + } + case 255: + break; + case 96: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_LEFT, yytext()); + } + case 256: + break; + case 97: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_NOT_EQUAL, yytext()); + } + case 257: + break; + case 98: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.USHIFT_RIGHT, yytext()); + } + case 258: + break; + case 99: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_RIGHT, yytext()); + } + case 259: + break; + case 100: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_EQUALS, yytext()); + } + case 260: + break; + case 101: { + return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, new Long(Long.parseLong(yytext().substring(2), 16))); + } + case 261: + break; + case 102: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FOR, yytext()); + } + case 262: + break; + case 103: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SET, yytext()); + } + case 263: + break; + case 104: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEW, yytext()); + } + case 264: + break; + case 105: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRY, yytext()); + } + case 265: + break; + case 106: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.USE, yytext()); + } + case 266: + break; + case 107: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext()); + } + case 267: + break; + case 108: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.GET, yytext()); + } + case 268: + break; + case 109: { + return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NAN, yytext()); + } + case 269: + break; + case 110: { + string.append(yytext()); + yybegin(XML); + String ret = string.toString(); + string.setLength(0); + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_CDATA, ret); + } + case 270: + break; + case 111: { + string.append(yytext()); + yybegin(XML); + String ret = string.toString(); + string.setLength(0); + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_COMMENT, ret); + } + case 271: + break; + case 112: { + yybegin(YYINITIAL); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_FINISHVARTAG_BEGIN, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 272: + break; + case 113: { + yybegin(XMLINSTROPENTAG); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTR_BEGIN, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 273: + break; + case 114: { + yybegin(YYINITIAL); + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRVARTAG_BEGIN, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 274: + break; + case 115: { + string.append('\u00A7'); + } + case 275: + break; + case 116: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_USHIFT_RIGHT, yytext()); + } + case 276: + break; + case 117: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EACH, yytext()); + } + case 277: + break; + case 118: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.ELSE, yytext()); + } + case 278: + break; + case 119: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CASE, yytext()); + } + case 279: + break; + case 120: { + return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext()); + } + case 280: + break; + case 121: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRUE, yytext()); + } + case 281: + break; + case 122: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext()); + } + case 282: + break; + case 123: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext()); + } + case 283: + break; + case 124: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.VOID, yytext()); + } + case 284: + break; + case 125: { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_FINISHTAG, yytext())); + if (string.length() > 0) { + pushback(new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, string.toString())); + string.setLength(0); + } + return lex(); + } + case 285: + break; + case 126: { + String ret = string.toString(); + string.setLength(0); + string.append(yytext()); + yybegin(XMLCOMMENT); + if (!ret.isEmpty()) { + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, ret); + } + } + case 286: + break; + case 127: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext()); + } + case 287: + break; + case 128: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINAL, yytext()); + } + case 288: + break; + case 129: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.BREAK, yytext()); + } + case 289: + break; + case 130: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CATCH, yytext()); + } + case 290: + break; + case 131: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONST, yytext()); + } + case 291: + break; + case 132: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CLASS, yytext()); + } + case 292: + break; + case 133: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SUPER, yytext()); + } + case 293: + break; + case 134: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THROW, yytext()); + } + case 294: + break; + case 135: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext()); + } + case 295: + break; + case 136: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.RETURN, yytext()); + } + case 296: + break; + case 137: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.STATIC, yytext()); + } + case 297: + break; + case 138: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SWITCH, yytext()); + } + case 298: + break; + case 139: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TYPEOF, yytext()); + } + case 299: + break; + case 140: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext()); + } + case 300: + break; + case 141: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DELETE, yytext()); + } + case 301: + break; + case 142: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext()); + } + case 302: + break; + case 143: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINALLY, yytext()); + } + case 303: + break; + case 144: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EXTENDS, yytext()); + } + case 304: + break; + case 145: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DEFAULT, yytext()); + } + case 305: + break; + case 146: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DYNAMIC, yytext()); + } + case 306: + break; + case 147: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext()); + } + case 307: + break; + case 148: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PACKAGE, yytext()); + } + case 308: + break; + case 149: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FUNCTION, yytext()); + } + case 309: + break; + case 150: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONTINUE, yytext()); + } + case 310: + break; + case 151: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.OVERRIDE, yytext()); + } + case 311: + break; + case 152: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERNAL, yytext()); + } + case 312: + break; + case 153: { + return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.INFINITY, yytext()); + } + case 313: + break; + case 154: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.NAMESPACE, yytext()); + } + case 314: + break; + case 155: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERFACE, yytext()); + } + case 315: + break; + case 156: { + return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.UNDEFINED, yytext()); + } + case 316: + break; + case 157: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext()); + } + case 317: + break; + case 158: { + String ret = string.toString(); + string.setLength(0); + string.append(yytext()); + yybegin(XMLCDATA); + if (!ret.isEmpty()) { + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_TEXT, ret); + } + } + case 318: + break; + case 159: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INSTANCEOF, yytext()); + } + case 319: + break; + case 160: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPLEMENTS, yytext()); + } + case 320: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + { + return new ParsedSymbol(SymbolGroup.EOF, SymbolType.EOF, null); + } + } else { + zzScanError(ZZ_NO_MATCH); + } + } + } + } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PropertyAVM2Item.java index d594d754b..9b89c9f08 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PropertyAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/PropertyAVM2Item.java @@ -109,7 +109,7 @@ public class PropertyAVM2Item extends AssignableAVM2Item { } return new ApplyTypeAVM2Item(null, obj, params); } else { - return new TypeItem(m.getNameWithNamespace(constants,true)); + return new TypeItem(m.getNameWithNamespace(constants, true)); } } @@ -219,7 +219,7 @@ public class PropertyAVM2Item extends AssignableAVM2Item { Reference outPropNsIndex = new Reference<>(0); Reference outPropType = new Reference<>(null); Reference outPropValue = new Reference<>(null); - if (AVM2SourceGenerator.searchPrototypeChain(false, abcs, m.getNamespace(a.constants).getName(a.constants), m.getName(a.constants, new ArrayList(),true), propertyName, outName, outNs, outPropNs, outPropNsKind, outPropNsIndex, outPropType, outPropValue)) { + if (AVM2SourceGenerator.searchPrototypeChain(false, abcs, m.getNamespace(a.constants).getName(a.constants), m.getName(a.constants, new ArrayList(), true), propertyName, outName, outNs, outPropNs, outPropNsKind, outPropNsIndex, outPropType, outPropValue)) { objType = new TypeItem("".equals(outNs.getVal()) ? outName.getVal() : outNs.getVal() + "." + outName.getVal()); propType = outPropType.getVal(); propIndex = abc.constants.getMultinameId(new Multiname(Multiname.QNAME, @@ -239,7 +239,7 @@ public class PropertyAVM2Item extends AssignableAVM2Item { for (MethodBody b : callStack) { for (int i = 0; i < b.traits.traits.size(); i++) { Trait t = b.traits.traits.get(i); - if (t.getName(abc).getName(abc.constants, new ArrayList(),true).equals(propertyName)) { + if (t.getName(abc).getName(abc.constants, new ArrayList(), true).equals(propertyName)) { if (t instanceof TraitSlotConst) { TraitSlotConst tsc = (TraitSlotConst) t; objType = new TypeItem("Function"); @@ -262,7 +262,7 @@ public class PropertyAVM2Item extends AssignableAVM2Item { int name_index = 0; for (int m = 1; m < abc.constants.constant_multiname.size(); m++) { Multiname mname = abc.constants.constant_multiname.get(m); - if (mname.kind == Multiname.QNAME && mname.getName(abc.constants, new ArrayList(),true).equals(propertyName) && mname.namespace_index == nsindex) { + if (mname.kind == Multiname.QNAME && mname.getName(abc.constants, new ArrayList(), true).equals(propertyName) && mname.namespace_index == nsindex) { name_index = m; break; } @@ -337,7 +337,7 @@ public class PropertyAVM2Item extends AssignableAVM2Item { Reference outPropType = new Reference<>(null); Reference outPropValue = new Reference<>(null); - if (propertyName != null && AVM2SourceGenerator.searchPrototypeChain(false, abcs, nsname, n.getName(a.constants, new ArrayList(),true), propertyName, outName, outNs, outPropNs, outPropNsKind, outPropNsIndex, outPropType, outPropValue)) { + if (propertyName != null && AVM2SourceGenerator.searchPrototypeChain(false, abcs, nsname, n.getName(a.constants, new ArrayList(), true), propertyName, outName, outNs, outPropNs, outPropNsKind, outPropNsIndex, outPropType, outPropValue)) { objType = new TypeItem("".equals(outNs.getVal()) ? outName.getVal() : outNs.getVal() + "." + outName.getVal()); propType = outPropType.getVal(); propIndex = abc.constants.getMultinameId(new Multiname(Multiname.QNAME, diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/UnresolvedAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/UnresolvedAVM2Item.java index 5ffb91b1f..acb0b349f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/UnresolvedAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/parser/script/UnresolvedAVM2Item.java @@ -364,7 +364,7 @@ public class UnresolvedAVM2Item extends AssignableAVM2Item { if (a.instance_info.get(c).deleted) { continue; } - if (a.instance_info.get(c).name_index > 0 && fname.equals(a.instance_info.get(c).getName(a.constants).getNameWithNamespace(a.constants,true))) { + if (a.instance_info.get(c).name_index > 0 && fname.equals(a.instance_info.get(c).getName(a.constants).getNameWithNamespace(a.constants, true))) { if (!subtypes.isEmpty() && parts.size() > i + 1) { continue; } @@ -408,12 +408,12 @@ public class UnresolvedAVM2Item extends AssignableAVM2Item { } if ((a.instance_info.get(c).getName(a.constants) != null && a == abc && a.instance_info.get(c).getName(a.constants).namespace_index == ni) || (ons.kind != Namespace.KIND_PRIVATE && a.instance_info.get(c).getName(a.constants) != null && a.instance_info.get(c).getName(a.constants).getNamespace(a.constants) != null && a.instance_info.get(c).getName(a.constants).getNamespace(a.constants).hasName(ons.getName(abc.constants), a.constants))) { - String cname = a.instance_info.get(c).getName(a.constants).getName(a.constants, new ArrayList(),true); + String cname = a.instance_info.get(c).getName(a.constants).getName(a.constants, new ArrayList(), true); if (parts.get(0).equals(cname)) { if (!subtypes.isEmpty() && parts.size() > 1) { continue; } - TypeItem ret = new TypeItem(a.instance_info.get(c).getName(a.constants).getNameWithNamespace(a.constants,true)); + TypeItem ret = new TypeItem(a.instance_info.get(c).getName(a.constants).getNameWithNamespace(a.constants, true)); /*for (String s : subtypes) { UnresolvedAVM2Item su = new UnresolvedAVM2Item(new ArrayList(), importedClasses, true, null, line, s, null, openedNamespaces); su.resolve(thisType, paramTypes, paramNames, abc, otherAbcs, callStack, variables); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ABCException.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ABCException.java index 578b2938a..8d45de849 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ABCException.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ABCException.java @@ -56,13 +56,13 @@ public class ABCException implements Serializable { if (name_index == 0) { return ""; } - return constants.getMultiname(name_index).getName(constants, fullyQualifiedNames,false); + return constants.getMultiname(name_index).getName(constants, fullyQualifiedNames, false); } public String getTypeName(ConstantPool constants, List fullyQualifiedNames) { if (type_index == 0) { return "*"; } - return constants.getMultiname(type_index).getName(constants, fullyQualifiedNames,false); + return constants.getMultiname(type_index).getName(constants, fullyQualifiedNames, false); } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/InstanceInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/InstanceInfo.java index 83cf7cb1e..23c7dea8b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/InstanceInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/InstanceInfo.java @@ -55,7 +55,7 @@ public class InstanceInfo { public String getClassHeaderStr(ABC abc, List fullyQualifiedNames) { String supIndexStr = ""; if (super_index > 0) { - supIndexStr = " extends " + abc.constants.getMultiname(super_index).getName(abc.constants, fullyQualifiedNames,false);////+" flags="+flags+" protectedNS="+protectedNS+" interfaces="+Helper.intArrToString(interfaces)+" method_index="+iinit_index + supIndexStr = " extends " + abc.constants.getMultiname(super_index).getName(abc.constants, fullyQualifiedNames, false);////+" flags="+flags+" protectedNS="+protectedNS+" interfaces="+Helper.intArrToString(interfaces)+" method_index="+iinit_index } String implStr = ""; if (interfaces.length > 0) { @@ -68,7 +68,7 @@ public class InstanceInfo { if (i > 0) { implStr += ", "; } - implStr += abc.constants.getMultiname(interfaces[i]).getName(abc.constants, fullyQualifiedNames,false); + implStr += abc.constants.getMultiname(interfaces[i]).getName(abc.constants, fullyQualifiedNames, false); } } String modifiers; @@ -88,7 +88,7 @@ public class InstanceInfo { if (isInterface()) { objType = "interface "; } - return modifiers + objType + abc.constants.getMultiname(name_index).getName(abc.constants, new ArrayList()/* No full names here*/,false) + supIndexStr + implStr; + return modifiers + objType + abc.constants.getMultiname(name_index).getName(abc.constants, new ArrayList()/* No full names here*/, false) + supIndexStr + implStr; } public Multiname getName(ConstantPool constants) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodInfo.java index 80bacddd1..bad71767f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodInfo.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodInfo.java @@ -286,7 +286,7 @@ public class MethodInfo { if (param_types[i] == 0) { writer.hilightSpecial("*", "param", i); } else { - writer.hilightSpecial(constants.getMultiname(param_types[i]).getName(constants, fullyQualifiedNames,false), "param", i); + writer.hilightSpecial(constants.getMultiname(param_types[i]).getName(constants, fullyQualifiedNames, false), "param", i); } if (optional != null) { if (i >= param_types.length - optional.length) { @@ -313,7 +313,7 @@ public class MethodInfo { } public GraphTextWriter getReturnTypeStr(GraphTextWriter writer, ConstantPool constants, List fullyQualifiedNames) { - return writer.hilightSpecial(ret_type == 0 ? "*" : constants.getMultiname(ret_type).getName(constants, fullyQualifiedNames,false), "returns"); + return writer.hilightSpecial(ret_type == 0 ? "*" : constants.getMultiname(ret_type).getName(constants, fullyQualifiedNames, false), "returns"); } public void setBody(MethodBody body) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java index b679439fd..932c0afc1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java @@ -232,7 +232,7 @@ public class Multiname { if (constants.getMultiname(qname_index).name_index == name_index) { return "ambiguousTypeName"; } - String typeNameStr = constants.getMultiname(qname_index).getName(constants, fullyQualifiedNames,raw); + String typeNameStr = constants.getMultiname(qname_index).getName(constants, fullyQualifiedNames, raw); if (!params.isEmpty()) { typeNameStr += ".<"; for (int i = 0; i < params.size(); i++) { @@ -242,7 +242,7 @@ public class Multiname { if (params.get(i) == 0) { typeNameStr += "*"; } else { - typeNameStr += constants.getMultiname(params.get(i)).getName(constants, fullyQualifiedNames,raw); + typeNameStr += constants.getMultiname(params.get(i)).getName(constants, fullyQualifiedNames, raw); } } typeNameStr += ">"; @@ -252,7 +252,7 @@ public class Multiname { public String getName(ConstantPool constants, List fullyQualifiedNames, boolean raw) { if (kind == TYPENAME) { - return typeNameToStr(constants, fullyQualifiedNames,raw); + return typeNameToStr(constants, fullyQualifiedNames, raw); } if (name_index == -1) { return ""; @@ -262,13 +262,13 @@ public class Multiname { } else { String name = constants.getString(name_index); if ((fullyQualifiedNames != null) && fullyQualifiedNames.contains(name)) { - return getNameWithNamespace(constants,raw); + return getNameWithNamespace(constants, raw); } - return (isAttribute() ? "@" : "") + (raw?name:Deobfuscation.printIdentifier(name)); + return (isAttribute() ? "@" : "") + (raw ? name : Deobfuscation.printIdentifier(name)); } } - public String getNameWithNamespace(ConstantPool constants,boolean raw) { + public String getNameWithNamespace(ConstantPool constants, boolean raw) { String ret = ""; Namespace ns = getNamespace(constants); if (ns != null) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java index 047ca6743..f4b82c2dd 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Trait.java @@ -175,7 +175,7 @@ public abstract class Trait implements Serializable { Multiname name = getName(abc); Namespace ns = name.getNamespace(abc.constants); String packageName = ns.getName(abc.constants); - String objectName = name.getName(abc.constants, new ArrayList(),false); + String objectName = name.getName(abc.constants, new ArrayList(), false); return packageName + "." + objectName; //assume not null name } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java index cb41ec544..760185775 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java @@ -203,7 +203,7 @@ public class TraitClass extends Trait implements TraitWithSlot { return; } Namespace ns = m.getNamespace(abc.constants); - String name = m.getName(abc.constants, fullyQualifiedNames,false); + String name = m.getName(abc.constants, fullyQualifiedNames, false); NamespaceSet nss = m.getNamespaceSet(abc.constants); if (ns != null) { parseUsagesFromNS(abcTags, abc, imports, uses, m.namespace_index, ignorePackage, name); @@ -234,7 +234,7 @@ public class TraitClass extends Trait implements TraitWithSlot { return; } Namespace ns = m.getNamespace(abc.constants); - String name = m.getName(abc.constants, fullyQualifiedNames,false); + String name = m.getName(abc.constants, fullyQualifiedNames, false); NamespaceSet nss = m.getNamespaceSet(abc.constants); if (ns != null) { parseImportsUsagesFromNS(abcTags, abc, imports, uses, m.namespace_index, ignorePackage, name); @@ -459,7 +459,7 @@ public class TraitClass extends Trait implements TraitWithSlot { writer.newLine(); writer.startTrait(abc.class_info.get(class_info).static_traits.traits.size() + abc.instance_info.get(class_info).instance_traits.traits.size() + 1); writer.appendNoHilight("{").newLine(); - abc.bodies.get(bodyIndex).toString(path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames,false) + ".staticinitializer", exportMode, abc, this, abc.constants, abc.method_info, writer, fullyQualifiedNames); + abc.bodies.get(bodyIndex).toString(path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false) + ".staticinitializer", exportMode, abc, this, abc.constants, abc.method_info, writer, fullyQualifiedNames); writer.appendNoHilight("}").newLine(); writer.endTrait(); } @@ -488,7 +488,7 @@ public class TraitClass extends Trait implements TraitWithSlot { writer.startTrait(abc.class_info.get(class_info).static_traits.traits.size() + abc.instance_info.get(class_info).instance_traits.traits.size()); writer.appendNoHilight(modifier); writer.appendNoHilight("function "); - writer.appendNoHilight(abc.constants.getMultiname(abc.instance_info.get(class_info).name_index).getName(abc.constants, new ArrayList()/*do not want full names here*/,false)); + writer.appendNoHilight(abc.constants.getMultiname(abc.instance_info.get(class_info).name_index).getName(abc.constants, new ArrayList()/*do not want full names here*/, false)); writer.appendNoHilight("("); bodyIndex = abc.findBodyIndex(abc.instance_info.get(class_info).iinit_index); if (bodyIndex != -1) { @@ -498,16 +498,16 @@ public class TraitClass extends Trait implements TraitWithSlot { } writer.appendNoHilight(")").startBlock(); if (bodyIndex != -1) { - abc.bodies.get(bodyIndex).toString(path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames,false) + ".initializer", exportMode, abc, this, abc.constants, abc.method_info, writer, fullyQualifiedNames); + abc.bodies.get(bodyIndex).toString(path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false) + ".initializer", exportMode, abc, this, abc.constants, abc.method_info, writer, fullyQualifiedNames); } writer.endBlock().newLine(); writer.endTrait(); } //static variables,constants & methods - abc.class_info.get(class_info).static_traits.toString(this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames,false), abcTags, abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel); + abc.class_info.get(class_info).static_traits.toString(this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abcTags, abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel); - abc.instance_info.get(class_info).instance_traits.toString(this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames,false), abcTags, abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel); + abc.instance_info.get(class_info).instance_traits.toString(this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abcTags, abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel); writer.endBlock(); // class writer.endClass(); @@ -523,7 +523,7 @@ public class TraitClass extends Trait implements TraitWithSlot { int bodyIndex = abc.findBodyIndex(abc.class_info.get(class_info).cinit_index); if (bodyIndex != -1) { writer.mark(); - abc.bodies.get(bodyIndex).convert(path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames,false) + ".staticinitializer", exportMode, true, scriptIndex, class_info, abc, this, abc.constants, abc.method_info, new ScopeStack(), true, writer, fullyQualifiedNames, abc.class_info.get(class_info).static_traits, true); + abc.bodies.get(bodyIndex).convert(path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false) + ".staticinitializer", exportMode, true, scriptIndex, class_info, abc, this, abc.constants, abc.method_info, new ScopeStack(), true, writer, fullyQualifiedNames, abc.class_info.get(class_info).static_traits, true); classInitializerIsEmpty = !writer.getMark(); } @@ -531,14 +531,14 @@ public class TraitClass extends Trait implements TraitWithSlot { if (!abc.instance_info.get(class_info).isInterface()) { bodyIndex = abc.findBodyIndex(abc.instance_info.get(class_info).iinit_index); if (bodyIndex != -1) { - abc.bodies.get(bodyIndex).convert(path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames,false) + ".initializer", exportMode, false, scriptIndex, class_info, abc, this, abc.constants, abc.method_info, new ScopeStack(), false, writer, fullyQualifiedNames, abc.instance_info.get(class_info).instance_traits, true); + abc.bodies.get(bodyIndex).convert(path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false) + ".initializer", exportMode, false, scriptIndex, class_info, abc, this, abc.constants, abc.method_info, new ScopeStack(), false, writer, fullyQualifiedNames, abc.instance_info.get(class_info).instance_traits, true); } } //static variables,constants & methods - abc.class_info.get(class_info).static_traits.convert(this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames,false), abcTags, abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel); + abc.class_info.get(class_info).static_traits.convert(this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abcTags, abc, true, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel); - abc.instance_info.get(class_info).instance_traits.convert(this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames,false), abcTags, abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel); + abc.instance_info.get(class_info).instance_traits.convert(this, path +/*packageName +*/ "/" + abc.instance_info.get(class_info).getName(abc.constants).getName(abc.constants, fullyQualifiedNames, false), abcTags, abc, false, exportMode, false, scriptIndex, class_info, writer, fullyQualifiedNames, parallel); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitFunction.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitFunction.java index 2ae0e7e10..df43f607d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitFunction.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitFunction.java @@ -59,7 +59,7 @@ public class TraitFunction extends Trait implements TraitWithSlot { } writer.appendNoHilight(modifier); writer.hilightSpecial("function ", "traittype"); - writer.hilightSpecial(abc.constants.getMultiname(name_index).getName(abc.constants, fullyQualifiedNames,false), "traitname"); + writer.hilightSpecial(abc.constants.getMultiname(name_index).getName(abc.constants, fullyQualifiedNames, false), "traitname"); writer.appendNoHilight("("); abc.method_info.get(method_info).getParamStr(writer, abc.constants, body, abc, fullyQualifiedNames); writer.appendNoHilight(") : "); @@ -80,7 +80,7 @@ public class TraitFunction extends Trait implements TraitWithSlot { writer.appendNoHilight(" {").newLine(); int bodyIndex = abc.findBodyIndex(method_info); if (bodyIndex != -1) { - abc.bodies.get(bodyIndex).toString(path + "." + abc.constants.getMultiname(name_index).getName(abc.constants, fullyQualifiedNames,false), exportMode, abc, this, abc.constants, abc.method_info, writer, fullyQualifiedNames); + abc.bodies.get(bodyIndex).toString(path + "." + abc.constants.getMultiname(name_index).getName(abc.constants, fullyQualifiedNames, false), exportMode, abc, this, abc.constants, abc.method_info, writer, fullyQualifiedNames); } writer.newLine(); writer.appendNoHilight("}"); @@ -95,7 +95,7 @@ public class TraitFunction extends Trait implements TraitWithSlot { if (!abc.instance_info.get(classIndex).isInterface()) { int bodyIndex = abc.findBodyIndex(method_info); if (bodyIndex != -1) { - abc.bodies.get(bodyIndex).convert(path + "." + abc.constants.getMultiname(name_index).getName(abc.constants, fullyQualifiedNames,false), exportMode, isStatic, scriptIndex, classIndex, abc, this, abc.constants, abc.method_info, new ScopeStack(), false, writer, fullyQualifiedNames, null, true); + abc.bodies.get(bodyIndex).convert(path + "." + abc.constants.getMultiname(name_index).getName(abc.constants, fullyQualifiedNames, false), exportMode, isStatic, scriptIndex, classIndex, abc, this, abc.constants, abc.method_info, new ScopeStack(), false, writer, fullyQualifiedNames, null, true); } } } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitMethodGetterSetter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitMethodGetterSetter.java index dc9e87868..69d42dae9 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitMethodGetterSetter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitMethodGetterSetter.java @@ -18,7 +18,6 @@ package com.jpexs.decompiler.flash.abc.types.traits; import com.jpexs.decompiler.flash.abc.ABC; import com.jpexs.decompiler.flash.abc.types.MethodBody; -import com.jpexs.decompiler.flash.action.Deobfuscation; import com.jpexs.decompiler.flash.exporters.modes.ScriptExportMode; import com.jpexs.decompiler.flash.helpers.GraphTextWriter; import com.jpexs.decompiler.flash.helpers.NulWriter; @@ -68,7 +67,7 @@ public class TraitMethodGetterSetter extends Trait { writer.appendNoHilight(modifier); writer.hilightSpecial("function " + addKind, "traittype"); - writer.hilightSpecial(getName(abc).getName(abc.constants, fullyQualifiedNames,false), "traitname"); + writer.hilightSpecial(getName(abc).getName(abc.constants, fullyQualifiedNames, false), "traitname"); writer.appendNoHilight("("); abc.method_info.get(method_info).getParamStr(writer, abc.constants, body, abc, fullyQualifiedNames); writer.appendNoHilight(") : "); @@ -78,7 +77,7 @@ public class TraitMethodGetterSetter extends Trait { @Override public void convert(Trait parent, String path, List abcTags, ABC abc, boolean isStatic, ScriptExportMode exportMode, int scriptIndex, int classIndex, NulWriter writer, List fullyQualifiedNames, boolean parallel) throws InterruptedException { - path = path + "." + getName(abc).getName(abc.constants, fullyQualifiedNames,false); + path = path + "." + getName(abc).getName(abc.constants, fullyQualifiedNames, false); convertHeader(parent, path, abcTags, abc, isStatic, exportMode, scriptIndex, classIndex, writer, fullyQualifiedNames, parallel); int bodyIndex = abc.findBodyIndex(method_info); if (!(classIndex != -1 && abc.instance_info.get(classIndex).isInterface() || bodyIndex == -1)) { @@ -90,7 +89,7 @@ public class TraitMethodGetterSetter extends Trait { @Override public GraphTextWriter toString(Trait parent, String path, List abcTags, ABC abc, boolean isStatic, ScriptExportMode exportMode, int scriptIndex, int classIndex, GraphTextWriter writer, List fullyQualifiedNames, boolean parallel) throws InterruptedException { - path = path + "." + getName(abc).getName(abc.constants, fullyQualifiedNames,false); + path = path + "." + getName(abc).getName(abc.constants, fullyQualifiedNames, false); toStringHeader(parent, path, abcTags, abc, isStatic, exportMode, scriptIndex, classIndex, writer, fullyQualifiedNames, parallel); int bodyIndex = abc.findBodyIndex(method_info); if (classIndex != -1 && abc.instance_info.get(classIndex).isInterface() || bodyIndex == -1) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Deobfuscation.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Deobfuscation.java index 6e5b078b9..b5763db90 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Deobfuscation.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/Deobfuscation.java @@ -175,18 +175,18 @@ public class Deobfuscation { } return null; } - - public static boolean isValidName(String s,String ...exceptions) { + + public static boolean isValidName(String s, String... exceptions) { boolean isValid = true; - - for(String e:exceptions){ - if(e.equals(s)){ + + for (String e : exceptions) { + if (e.equals(s)) { return true; } } - - if (Action.isReservedWord(s)) { - isValid = false; + + if (Action.isReservedWord(s)) { + isValid = false; } if (isValid) { @@ -249,28 +249,29 @@ public class Deobfuscation { } return null; } - - public static String makeObfuscatedIdentifier(String s){ + + public static String makeObfuscatedIdentifier(String s) { return "\u00A7" + escapeOIdentifier(s) + "\u00A7"; } - - - private static Cache nameCache = Cache.getInstance(false); - + + private static final Cache nameCache = Cache.getInstance(false); + /** * Ensures identifier is valid and if not, uses paragraph syntax + * * @param s Identifier - * @param validExceptions Exceptions which are valid (e.g. some reserved words) - * @return + * @param validExceptions Exceptions which are valid (e.g. some reserved + * words) + * @return */ - public static String printIdentifier(String s,String ...validExceptions){ - if(s.startsWith("\u00A7")&&s.endsWith("\u00A7")){ //Assuming already printed - TODO:detect better + public static String printIdentifier(String s, String... validExceptions) { + if (s.startsWith("\u00A7") && s.endsWith("\u00A7")) { //Assuming already printed - TODO:detect better return s; } - if(nameCache.contains(s)){ + if (nameCache.contains(s)) { return nameCache.get(s); - } - if(isValidName(s, validExceptions)){ + } + if (isValidName(s, validExceptions)) { nameCache.put(s, s); return s; } @@ -279,11 +280,11 @@ public class Deobfuscation { return ret; } - public static String printNamespace(String pkg,String ...validNameExceptions){ - if(nameCache.contains(pkg)){ + public static String printNamespace(String pkg, String... validNameExceptions) { + if (nameCache.contains(pkg)) { return nameCache.get(pkg); } - if(pkg.equals("")){ + if (pkg.isEmpty()) { nameCache.put(pkg, pkg); return pkg; } @@ -293,18 +294,17 @@ public class Deobfuscation { } else { parts = new String[]{pkg}; } - String ret=""; - for(int i=0;i0){ - ret+="."; + String ret = ""; + for (int i = 0; i < parts.length; i++) { + if (i > 0) { + ret += "."; } ret += printIdentifier(parts[i], validNameExceptions); } nameCache.put(pkg, ret); return ret; } - - + public static String escapeOIdentifier(String s) { StringBuilder ret = new StringBuilder(s.length()); for (int i = 0; i < s.length(); i++) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java index 7ea698f9c..ad22b5ca1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/action/parser/script/ActionScriptLexer.java @@ -12,1182 +12,1225 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library. */ + * License along with this library. + */ package com.jpexs.decompiler.flash.action.parser.script; -import com.jpexs.decompiler.flash.action.parser.ParseException; -import java.util.Stack; -import java.util.List; -import java.util.ArrayList; +import com.jpexs.decompiler.flash.action.parser.ParseException; +import java.util.ArrayList; +import java.util.List; +import java.util.Stack; /** - * This class is a scanner generated by - * JFlex 1.5.0-SNAPSHOT - * from the specification file D:/Dropbox/Programovani/JavaSE/FFDec/src/com/jpexs/decompiler/flash/action/parser/script/actionscript.flex + * This class is a scanner generated by + * JFlex 1.5.0-SNAPSHOT from the + * specification file + * D:/Dropbox/Programovani/JavaSE/FFDec/src/com/jpexs/decompiler/flash/action/parser/script/actionscript.flex */ public final class ActionScriptLexer { - /** This character denotes the end of file */ - public static final int YYEOF = -1; + /** + * This character denotes the end of file + */ + public static final int YYEOF = -1; - /** initial size of the lookahead buffer */ - private static final int ZZ_BUFFERSIZE = 16384; + /** + * initial size of the lookahead buffer + */ + private static final int ZZ_BUFFERSIZE = 16384; - /** lexical states */ - public static final int YYINITIAL = 0; - public static final int STRING = 2; - public static final int CHARLITERAL = 4; - public static final int XMLSTARTTAG = 6; - public static final int XML = 8; - public static final int OIDENTIFIER = 10; + /** + * lexical states + */ + public static final int YYINITIAL = 0; + public static final int STRING = 2; + public static final int CHARLITERAL = 4; + public static final int XMLSTARTTAG = 6; + public static final int XML = 8; + public static final int OIDENTIFIER = 10; - /** - * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l - * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l - * at the beginning of a line - * l is of the form l = 2*k, k a non negative integer - */ - private static final int ZZ_LEXSTATE[] = { - 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5 - }; + /** + * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l + * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the + * beginning of a line l is of the form l = 2*k, k a non negative integer + */ + private static final int ZZ_LEXSTATE[] = { + 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5 + }; - /** - * Translates characters to character classes - */ - private static final String ZZ_CMAP_PACKED = - "\11\7\1\3\1\2\1\121\1\122\1\1\16\7\4\0\1\14\1\110"+ - "\1\16\1\0\1\6\1\117\1\113\1\30\1\100\1\101\1\5\1\115"+ - "\1\107\1\26\1\11\1\4\1\17\3\23\4\24\2\20\1\10\1\106"+ - "\1\12\1\15\1\13\1\112\1\120\1\62\1\22\1\72\1\73\1\25"+ - "\1\64\1\6\1\66\1\77\2\6\1\70\1\71\1\76\1\6\1\75"+ - "\1\67\1\6\1\63\1\65\1\61\1\74\1\6\1\21\2\6\1\104"+ - "\1\27\1\105\1\116\1\6\1\0\1\35\1\32\1\37\1\46\1\34"+ - "\1\47\1\60\1\52\1\44\1\6\1\36\1\50\1\55\1\42\1\41"+ - "\1\53\1\6\1\33\1\40\1\43\1\45\1\56\1\51\1\57\1\54"+ - "\1\6\1\102\1\114\1\103\1\111\6\7\1\123\32\7\2\0\4\6"+ - "\1\0\1\31\2\0\1\6\2\0\1\7\7\0\1\6\4\0\1\6"+ - "\5\0\27\6\1\0\37\6\1\0\u01ca\6\4\0\14\6\16\0\5\6"+ - "\7\0\1\6\1\0\1\6\21\0\160\7\5\6\1\0\2\6\2\0"+ - "\4\6\10\0\1\6\1\0\3\6\1\0\1\6\1\0\24\6\1\0"+ - "\123\6\1\0\213\6\1\0\5\7\2\0\236\6\11\0\46\6\2\0"+ - "\1\6\7\0\47\6\11\0\55\7\1\0\1\7\1\0\2\7\1\0"+ - "\2\7\1\0\1\7\10\0\33\6\5\0\3\6\15\0\4\7\7\0"+ - "\1\6\4\0\13\7\5\0\53\6\37\7\4\0\2\6\1\7\143\6"+ - "\1\0\1\6\10\7\1\0\6\7\2\6\2\7\1\0\4\7\2\6"+ - "\12\7\3\6\2\0\1\6\17\0\1\7\1\6\1\7\36\6\33\7"+ - "\2\0\131\6\13\7\1\6\16\0\12\7\41\6\11\7\2\6\4\0"+ - "\1\6\5\0\26\6\4\7\1\6\11\7\1\6\3\7\1\6\5\7"+ - "\22\0\31\6\3\7\244\0\4\7\66\6\3\7\1\6\22\7\1\6"+ - "\7\7\12\6\2\7\2\0\12\7\1\0\7\6\1\0\7\6\1\0"+ - "\3\7\1\0\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0"+ - "\1\6\3\0\4\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0"+ - "\3\7\1\6\10\0\1\7\4\0\2\6\1\0\3\6\2\7\2\0"+ - "\12\7\4\6\7\0\1\6\5\0\3\7\1\0\6\6\4\0\2\6"+ - "\2\0\26\6\1\0\7\6\1\0\2\6\1\0\2\6\1\0\2\6"+ - "\2\0\1\7\1\0\5\7\4\0\2\7\2\0\3\7\3\0\1\7"+ - "\7\0\4\6\1\0\1\6\7\0\14\7\3\6\1\7\13\0\3\7"+ - "\1\0\11\6\1\0\3\6\1\0\26\6\1\0\7\6\1\0\2\6"+ - "\1\0\5\6\2\0\1\7\1\6\10\7\1\0\3\7\1\0\3\7"+ - "\2\0\1\6\17\0\2\6\2\7\2\0\12\7\1\0\1\6\17\0"+ - "\3\7\1\0\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0"+ - "\2\6\1\0\5\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0"+ - "\3\7\10\0\2\7\4\0\2\6\1\0\3\6\2\7\2\0\12\7"+ - "\1\0\1\6\20\0\1\7\1\6\1\0\6\6\3\0\3\6\1\0"+ - "\4\6\3\0\2\6\1\0\1\6\1\0\2\6\3\0\2\6\3\0"+ - "\3\6\3\0\14\6\4\0\5\7\3\0\3\7\1\0\4\7\2\0"+ - "\1\6\6\0\1\7\16\0\12\7\11\0\1\6\7\0\3\7\1\0"+ - "\10\6\1\0\3\6\1\0\27\6\1\0\12\6\1\0\5\6\3\0"+ - "\1\6\7\7\1\0\3\7\1\0\4\7\7\0\2\7\1\0\2\6"+ - "\6\0\2\6\2\7\2\0\12\7\22\0\2\7\1\0\10\6\1\0"+ - "\3\6\1\0\27\6\1\0\12\6\1\0\5\6\2\0\1\7\1\6"+ - "\7\7\1\0\3\7\1\0\4\7\7\0\2\7\7\0\1\6\1\0"+ - "\2\6\2\7\2\0\12\7\1\0\2\6\17\0\2\7\1\0\10\6"+ - "\1\0\3\6\1\0\51\6\2\0\1\6\7\7\1\0\3\7\1\0"+ - "\4\7\1\6\10\0\1\7\10\0\2\6\2\7\2\0\12\7\12\0"+ - "\6\6\2\0\2\7\1\0\22\6\3\0\30\6\1\0\11\6\1\0"+ - "\1\6\2\0\7\6\3\0\1\7\4\0\6\7\1\0\1\7\1\0"+ - "\10\7\22\0\2\7\15\0\60\6\1\7\2\6\7\7\4\0\10\6"+ - "\10\7\1\0\12\7\47\0\2\6\1\0\1\6\2\0\2\6\1\0"+ - "\1\6\2\0\1\6\6\0\4\6\1\0\7\6\1\0\3\6\1\0"+ - "\1\6\1\0\1\6\2\0\2\6\1\0\4\6\1\7\2\6\6\7"+ - "\1\0\2\7\1\6\2\0\5\6\1\0\1\6\1\0\6\7\2\0"+ - "\12\7\2\0\2\6\42\0\1\6\27\0\2\7\6\0\12\7\13\0"+ - "\1\7\1\0\1\7\1\0\1\7\4\0\2\7\10\6\1\0\44\6"+ - "\4\0\24\7\1\0\2\7\5\6\13\7\1\0\44\7\11\0\1\7"+ - "\71\0\53\6\24\7\1\6\12\7\6\0\6\6\4\7\4\6\3\7"+ - "\1\6\3\7\2\6\7\7\3\6\4\7\15\6\14\7\1\6\17\7"+ - "\2\0\46\6\12\0\53\6\1\0\1\6\3\0\u0149\6\1\0\4\6"+ - "\2\0\7\6\1\0\1\6\1\0\4\6\2\0\51\6\1\0\4\6"+ - "\2\0\41\6\1\0\4\6\2\0\7\6\1\0\1\6\1\0\4\6"+ - "\2\0\17\6\1\0\71\6\1\0\4\6\2\0\103\6\2\0\3\7"+ - "\40\0\20\6\20\0\125\6\14\0\u026c\6\2\0\21\6\1\0\32\6"+ - "\5\0\113\6\3\0\3\6\17\0\15\6\1\0\4\6\3\7\13\0"+ - "\22\6\3\7\13\0\22\6\2\7\14\0\15\6\1\0\3\6\1\0"+ - "\2\7\14\0\64\6\40\7\3\0\1\6\3\0\2\6\1\7\2\0"+ - "\12\7\41\0\3\7\2\0\12\7\6\0\130\6\10\0\51\6\1\7"+ - "\1\6\5\0\106\6\12\0\35\6\3\0\14\7\4\0\14\7\12\0"+ - "\12\7\36\6\2\0\5\6\13\0\54\6\4\0\21\7\7\6\2\7"+ - "\6\0\12\7\46\0\27\6\5\7\4\0\65\6\12\7\1\0\35\7"+ - "\2\0\13\7\6\0\12\7\15\0\1\6\130\0\5\7\57\6\21\7"+ - "\7\6\4\0\12\7\21\0\11\7\14\0\3\7\36\6\12\7\3\0"+ - "\2\6\12\7\6\0\46\6\16\7\14\0\44\6\24\7\10\0\12\7"+ - "\3\0\3\6\12\7\44\6\122\0\3\7\1\0\25\7\4\6\1\7"+ - "\4\6\1\7\15\0\300\6\47\7\25\0\4\7\u0116\6\2\0\6\6"+ - "\2\0\46\6\2\0\6\6\2\0\10\6\1\0\1\6\1\0\1\6"+ - "\1\0\1\6\1\0\37\6\2\0\65\6\1\0\7\6\1\0\1\6"+ - "\3\0\3\6\1\0\7\6\3\0\4\6\2\0\6\6\4\0\15\6"+ - "\5\0\3\6\1\0\7\6\16\0\5\7\30\0\1\121\1\121\5\7"+ - "\20\0\2\6\23\0\1\6\13\0\5\7\5\0\6\7\1\0\1\6"+ - "\15\0\1\6\20\0\15\6\3\0\32\6\26\0\15\7\4\0\1\7"+ - "\3\0\14\7\21\0\1\6\4\0\1\6\2\0\12\6\1\0\1\6"+ - "\3\0\5\6\6\0\1\6\1\0\1\6\1\0\1\6\1\0\4\6"+ - "\1\0\13\6\2\0\4\6\5\0\5\6\4\0\1\6\21\0\51\6"+ - "\u0a77\0\57\6\1\0\57\6\1\0\205\6\6\0\4\6\3\7\16\0"+ - "\46\6\12\0\66\6\11\0\1\6\17\0\1\7\27\6\11\0\7\6"+ - "\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6"+ - "\1\0\7\6\1\0\7\6\1\0\40\7\57\0\1\6\u01d5\0\3\6"+ - "\31\0\11\6\6\7\1\0\5\6\2\0\5\6\4\0\126\6\2\0"+ - "\2\7\2\0\3\6\1\0\132\6\1\0\4\6\5\0\51\6\3\0"+ - "\136\6\21\0\33\6\65\0\20\6\u0200\0\u19b6\6\112\0\u51cc\6\64\0"+ - "\u048d\6\103\0\56\6\2\0\u010d\6\3\0\20\6\12\7\2\6\24\0"+ - "\57\6\1\7\14\0\2\7\1\0\31\6\10\0\120\6\2\7\45\0"+ - "\11\6\2\0\147\6\2\0\4\6\1\0\2\6\16\0\12\6\120\0"+ - "\10\6\1\7\3\6\1\7\4\6\1\7\27\6\5\7\20\0\1\6"+ - "\7\0\64\6\14\0\2\7\62\6\21\7\13\0\12\7\6\0\22\7"+ - "\6\6\3\0\1\6\4\0\12\7\34\6\10\7\2\0\27\6\15\7"+ - "\14\0\35\6\3\0\4\7\57\6\16\7\16\0\1\6\12\7\46\0"+ - "\51\6\16\7\11\0\3\6\1\7\10\6\2\7\2\0\12\7\6\0"+ - "\27\6\3\0\1\6\1\7\4\0\60\6\1\7\1\6\3\7\2\6"+ - "\2\7\5\6\2\7\1\6\1\7\1\6\30\0\3\6\43\0\6\6"+ - "\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6\221\0\43\6"+ - "\10\7\1\0\2\7\2\0\12\7\6\0\u2ba4\6\14\0\27\6\4\0"+ - "\61\6\u2104\0\u012e\6\2\0\76\6\2\0\152\6\46\0\7\6\14\0"+ - "\5\6\5\0\1\6\1\7\12\6\1\0\15\6\1\0\5\6\1\0"+ - "\1\6\1\0\2\6\1\0\2\6\1\0\154\6\41\0\u016b\6\22\0"+ - "\100\6\2\0\66\6\50\0\15\6\3\0\20\7\20\0\7\7\14\0"+ - "\2\6\30\0\3\6\31\0\1\6\6\0\5\6\1\0\207\6\2\0"+ - "\1\7\4\0\1\6\13\0\12\7\7\0\32\6\4\0\1\6\1\0"+ - "\32\6\13\0\131\6\3\0\6\6\2\0\6\6\2\0\6\6\2\0"+ - "\3\6\3\0\2\6\3\0\2\6\22\0\3\7\4\0"; + /** + * Translates characters to character classes + */ + private static final String ZZ_CMAP_PACKED + = "\11\7\1\3\1\2\1\121\1\122\1\1\16\7\4\0\1\14\1\110" + + "\1\16\1\0\1\6\1\117\1\113\1\30\1\100\1\101\1\5\1\115" + + "\1\107\1\26\1\11\1\4\1\17\3\23\4\24\2\20\1\10\1\106" + + "\1\12\1\15\1\13\1\112\1\120\1\62\1\22\1\72\1\73\1\25" + + "\1\64\1\6\1\66\1\77\2\6\1\70\1\71\1\76\1\6\1\75" + + "\1\67\1\6\1\63\1\65\1\61\1\74\1\6\1\21\2\6\1\104" + + "\1\27\1\105\1\116\1\6\1\0\1\35\1\32\1\37\1\46\1\34" + + "\1\47\1\60\1\52\1\44\1\6\1\36\1\50\1\55\1\42\1\41" + + "\1\53\1\6\1\33\1\40\1\43\1\45\1\56\1\51\1\57\1\54" + + "\1\6\1\102\1\114\1\103\1\111\6\7\1\123\32\7\2\0\4\6" + + "\1\0\1\31\2\0\1\6\2\0\1\7\7\0\1\6\4\0\1\6" + + "\5\0\27\6\1\0\37\6\1\0\u01ca\6\4\0\14\6\16\0\5\6" + + "\7\0\1\6\1\0\1\6\21\0\160\7\5\6\1\0\2\6\2\0" + + "\4\6\10\0\1\6\1\0\3\6\1\0\1\6\1\0\24\6\1\0" + + "\123\6\1\0\213\6\1\0\5\7\2\0\236\6\11\0\46\6\2\0" + + "\1\6\7\0\47\6\11\0\55\7\1\0\1\7\1\0\2\7\1\0" + + "\2\7\1\0\1\7\10\0\33\6\5\0\3\6\15\0\4\7\7\0" + + "\1\6\4\0\13\7\5\0\53\6\37\7\4\0\2\6\1\7\143\6" + + "\1\0\1\6\10\7\1\0\6\7\2\6\2\7\1\0\4\7\2\6" + + "\12\7\3\6\2\0\1\6\17\0\1\7\1\6\1\7\36\6\33\7" + + "\2\0\131\6\13\7\1\6\16\0\12\7\41\6\11\7\2\6\4\0" + + "\1\6\5\0\26\6\4\7\1\6\11\7\1\6\3\7\1\6\5\7" + + "\22\0\31\6\3\7\244\0\4\7\66\6\3\7\1\6\22\7\1\6" + + "\7\7\12\6\2\7\2\0\12\7\1\0\7\6\1\0\7\6\1\0" + + "\3\7\1\0\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0" + + "\1\6\3\0\4\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0" + + "\3\7\1\6\10\0\1\7\4\0\2\6\1\0\3\6\2\7\2\0" + + "\12\7\4\6\7\0\1\6\5\0\3\7\1\0\6\6\4\0\2\6" + + "\2\0\26\6\1\0\7\6\1\0\2\6\1\0\2\6\1\0\2\6" + + "\2\0\1\7\1\0\5\7\4\0\2\7\2\0\3\7\3\0\1\7" + + "\7\0\4\6\1\0\1\6\7\0\14\7\3\6\1\7\13\0\3\7" + + "\1\0\11\6\1\0\3\6\1\0\26\6\1\0\7\6\1\0\2\6" + + "\1\0\5\6\2\0\1\7\1\6\10\7\1\0\3\7\1\0\3\7" + + "\2\0\1\6\17\0\2\6\2\7\2\0\12\7\1\0\1\6\17\0" + + "\3\7\1\0\10\6\2\0\2\6\2\0\26\6\1\0\7\6\1\0" + + "\2\6\1\0\5\6\2\0\1\7\1\6\7\7\2\0\2\7\2\0" + + "\3\7\10\0\2\7\4\0\2\6\1\0\3\6\2\7\2\0\12\7" + + "\1\0\1\6\20\0\1\7\1\6\1\0\6\6\3\0\3\6\1\0" + + "\4\6\3\0\2\6\1\0\1\6\1\0\2\6\3\0\2\6\3\0" + + "\3\6\3\0\14\6\4\0\5\7\3\0\3\7\1\0\4\7\2\0" + + "\1\6\6\0\1\7\16\0\12\7\11\0\1\6\7\0\3\7\1\0" + + "\10\6\1\0\3\6\1\0\27\6\1\0\12\6\1\0\5\6\3\0" + + "\1\6\7\7\1\0\3\7\1\0\4\7\7\0\2\7\1\0\2\6" + + "\6\0\2\6\2\7\2\0\12\7\22\0\2\7\1\0\10\6\1\0" + + "\3\6\1\0\27\6\1\0\12\6\1\0\5\6\2\0\1\7\1\6" + + "\7\7\1\0\3\7\1\0\4\7\7\0\2\7\7\0\1\6\1\0" + + "\2\6\2\7\2\0\12\7\1\0\2\6\17\0\2\7\1\0\10\6" + + "\1\0\3\6\1\0\51\6\2\0\1\6\7\7\1\0\3\7\1\0" + + "\4\7\1\6\10\0\1\7\10\0\2\6\2\7\2\0\12\7\12\0" + + "\6\6\2\0\2\7\1\0\22\6\3\0\30\6\1\0\11\6\1\0" + + "\1\6\2\0\7\6\3\0\1\7\4\0\6\7\1\0\1\7\1\0" + + "\10\7\22\0\2\7\15\0\60\6\1\7\2\6\7\7\4\0\10\6" + + "\10\7\1\0\12\7\47\0\2\6\1\0\1\6\2\0\2\6\1\0" + + "\1\6\2\0\1\6\6\0\4\6\1\0\7\6\1\0\3\6\1\0" + + "\1\6\1\0\1\6\2\0\2\6\1\0\4\6\1\7\2\6\6\7" + + "\1\0\2\7\1\6\2\0\5\6\1\0\1\6\1\0\6\7\2\0" + + "\12\7\2\0\2\6\42\0\1\6\27\0\2\7\6\0\12\7\13\0" + + "\1\7\1\0\1\7\1\0\1\7\4\0\2\7\10\6\1\0\44\6" + + "\4\0\24\7\1\0\2\7\5\6\13\7\1\0\44\7\11\0\1\7" + + "\71\0\53\6\24\7\1\6\12\7\6\0\6\6\4\7\4\6\3\7" + + "\1\6\3\7\2\6\7\7\3\6\4\7\15\6\14\7\1\6\17\7" + + "\2\0\46\6\12\0\53\6\1\0\1\6\3\0\u0149\6\1\0\4\6" + + "\2\0\7\6\1\0\1\6\1\0\4\6\2\0\51\6\1\0\4\6" + + "\2\0\41\6\1\0\4\6\2\0\7\6\1\0\1\6\1\0\4\6" + + "\2\0\17\6\1\0\71\6\1\0\4\6\2\0\103\6\2\0\3\7" + + "\40\0\20\6\20\0\125\6\14\0\u026c\6\2\0\21\6\1\0\32\6" + + "\5\0\113\6\3\0\3\6\17\0\15\6\1\0\4\6\3\7\13\0" + + "\22\6\3\7\13\0\22\6\2\7\14\0\15\6\1\0\3\6\1\0" + + "\2\7\14\0\64\6\40\7\3\0\1\6\3\0\2\6\1\7\2\0" + + "\12\7\41\0\3\7\2\0\12\7\6\0\130\6\10\0\51\6\1\7" + + "\1\6\5\0\106\6\12\0\35\6\3\0\14\7\4\0\14\7\12\0" + + "\12\7\36\6\2\0\5\6\13\0\54\6\4\0\21\7\7\6\2\7" + + "\6\0\12\7\46\0\27\6\5\7\4\0\65\6\12\7\1\0\35\7" + + "\2\0\13\7\6\0\12\7\15\0\1\6\130\0\5\7\57\6\21\7" + + "\7\6\4\0\12\7\21\0\11\7\14\0\3\7\36\6\12\7\3\0" + + "\2\6\12\7\6\0\46\6\16\7\14\0\44\6\24\7\10\0\12\7" + + "\3\0\3\6\12\7\44\6\122\0\3\7\1\0\25\7\4\6\1\7" + + "\4\6\1\7\15\0\300\6\47\7\25\0\4\7\u0116\6\2\0\6\6" + + "\2\0\46\6\2\0\6\6\2\0\10\6\1\0\1\6\1\0\1\6" + + "\1\0\1\6\1\0\37\6\2\0\65\6\1\0\7\6\1\0\1\6" + + "\3\0\3\6\1\0\7\6\3\0\4\6\2\0\6\6\4\0\15\6" + + "\5\0\3\6\1\0\7\6\16\0\5\7\30\0\1\121\1\121\5\7" + + "\20\0\2\6\23\0\1\6\13\0\5\7\5\0\6\7\1\0\1\6" + + "\15\0\1\6\20\0\15\6\3\0\32\6\26\0\15\7\4\0\1\7" + + "\3\0\14\7\21\0\1\6\4\0\1\6\2\0\12\6\1\0\1\6" + + "\3\0\5\6\6\0\1\6\1\0\1\6\1\0\1\6\1\0\4\6" + + "\1\0\13\6\2\0\4\6\5\0\5\6\4\0\1\6\21\0\51\6" + + "\u0a77\0\57\6\1\0\57\6\1\0\205\6\6\0\4\6\3\7\16\0" + + "\46\6\12\0\66\6\11\0\1\6\17\0\1\7\27\6\11\0\7\6" + + "\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6" + + "\1\0\7\6\1\0\7\6\1\0\40\7\57\0\1\6\u01d5\0\3\6" + + "\31\0\11\6\6\7\1\0\5\6\2\0\5\6\4\0\126\6\2\0" + + "\2\7\2\0\3\6\1\0\132\6\1\0\4\6\5\0\51\6\3\0" + + "\136\6\21\0\33\6\65\0\20\6\u0200\0\u19b6\6\112\0\u51cc\6\64\0" + + "\u048d\6\103\0\56\6\2\0\u010d\6\3\0\20\6\12\7\2\6\24\0" + + "\57\6\1\7\14\0\2\7\1\0\31\6\10\0\120\6\2\7\45\0" + + "\11\6\2\0\147\6\2\0\4\6\1\0\2\6\16\0\12\6\120\0" + + "\10\6\1\7\3\6\1\7\4\6\1\7\27\6\5\7\20\0\1\6" + + "\7\0\64\6\14\0\2\7\62\6\21\7\13\0\12\7\6\0\22\7" + + "\6\6\3\0\1\6\4\0\12\7\34\6\10\7\2\0\27\6\15\7" + + "\14\0\35\6\3\0\4\7\57\6\16\7\16\0\1\6\12\7\46\0" + + "\51\6\16\7\11\0\3\6\1\7\10\6\2\7\2\0\12\7\6\0" + + "\27\6\3\0\1\6\1\7\4\0\60\6\1\7\1\6\3\7\2\6" + + "\2\7\5\6\2\7\1\6\1\7\1\6\30\0\3\6\43\0\6\6" + + "\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6\221\0\43\6" + + "\10\7\1\0\2\7\2\0\12\7\6\0\u2ba4\6\14\0\27\6\4\0" + + "\61\6\u2104\0\u012e\6\2\0\76\6\2\0\152\6\46\0\7\6\14\0" + + "\5\6\5\0\1\6\1\7\12\6\1\0\15\6\1\0\5\6\1\0" + + "\1\6\1\0\2\6\1\0\2\6\1\0\154\6\41\0\u016b\6\22\0" + + "\100\6\2\0\66\6\50\0\15\6\3\0\20\7\20\0\7\7\14\0" + + "\2\6\30\0\3\6\31\0\1\6\6\0\5\6\1\0\207\6\2\0" + + "\1\7\4\0\1\6\13\0\12\7\7\0\32\6\4\0\1\6\1\0" + + "\32\6\13\0\131\6\3\0\6\6\2\0\6\6\2\0\6\6\2\0" + + "\3\6\3\0\2\6\3\0\2\6\22\0\3\7\4\0"; - /** - * Translates characters to character classes - */ - private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); + /** + * Translates characters to character classes + */ + private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); - /** - * Translates DFA states to action switch labels. - */ - private static final int [] ZZ_ACTION = zzUnpackAction(); + /** + * Translates DFA states to action switch labels. + */ + private static final int[] ZZ_ACTION = zzUnpackAction(); - private static final String ZZ_ACTION_PACKED_0 = - "\6\0\1\1\2\2\1\3\1\4\1\5\1\6\1\7"+ - "\1\10\1\11\1\12\1\13\1\14\2\15\1\16\1\17"+ - "\1\20\26\6\1\21\1\22\1\23\1\24\1\25\1\26"+ - "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36"+ - "\1\37\1\40\1\41\1\42\2\43\1\44\1\1\1\42"+ - "\2\45\1\42\1\1\1\46\4\42\1\1\1\47\1\3"+ - "\1\0\1\50\1\51\1\52\2\0\1\53\1\0\1\54"+ - "\1\55\1\56\1\57\1\60\1\61\1\62\1\53\1\0"+ - "\2\62\1\0\1\63\1\64\7\6\1\65\11\6\1\66"+ - "\12\6\1\67\1\70\1\71\4\6\1\72\30\6\1\55"+ - "\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102"+ - "\1\103\1\104\2\105\1\106\1\107\1\110\1\111\1\112"+ - "\1\113\1\114\6\0\1\115\2\3\2\0\1\116\3\0"+ - "\1\117\1\0\1\120\1\121\1\122\1\123\2\124\1\62"+ - "\1\53\1\0\10\6\1\125\5\6\1\126\1\127\5\6"+ - "\1\130\1\6\1\131\5\6\1\132\7\6\1\133\2\6"+ - "\1\134\10\6\1\135\20\6\1\136\1\6\1\137\2\6"+ - "\1\140\2\6\1\141\1\105\7\0\1\142\5\0\1\143"+ - "\1\124\1\62\4\6\1\144\1\145\1\146\1\6\1\147"+ - "\1\6\1\150\5\6\1\151\7\6\1\152\1\6\1\153"+ - "\4\6\1\154\22\6\1\155\7\6\1\156\4\6\1\157"+ - "\7\6\1\42\1\0\1\160\12\0\1\124\1\62\1\161"+ - "\4\6\1\162\1\163\1\6\1\164\5\6\1\165\5\6"+ - "\1\166\3\6\1\167\14\6\1\170\6\6\1\171\2\6"+ - "\1\172\3\6\1\173\1\6\1\174\10\6\10\0\1\124"+ - "\1\62\1\175\1\6\1\176\3\6\1\177\2\6\1\200"+ - "\1\201\7\6\1\202\4\6\1\203\4\6\1\204\5\6"+ - "\1\205\10\6\1\206\2\6\1\207\3\6\1\210\1\211"+ - "\1\6\2\0\1\117\1\124\1\62\1\6\1\212\5\6"+ - "\1\213\14\6\1\214\1\6\1\215\1\6\1\216\7\6"+ - "\1\217\1\220\6\6\1\42\1\124\1\62\1\6\1\221"+ - "\2\6\1\222\1\223\6\6\1\224\7\6\1\225\5\6"+ - "\1\226\1\6\1\227\1\230\3\6\1\231\1\124\1\62"+ - "\1\6\1\232\1\6\1\233\1\234\4\6\1\235\2\6"+ - "\1\236\2\6\1\237\1\240\1\6\1\241\1\242\5\6"+ - "\1\124\1\62\2\6\1\243\1\244\1\6\1\245\1\6"+ - "\1\246\6\6\1\247\2\6\1\62\4\6\1\250\4\6"+ - "\1\251\1\252\1\253\1\62\6\6\1\254\2\6\1\62"+ - "\1\6\1\255\1\6\1\256\2\6\1\257\1\260\1\62"+ - "\2\6\1\261\3\6\1\62\1\262\4\6\1\62\2\6"+ - "\1\263\1\264\1\265\1\6\1\266"; + private static final String ZZ_ACTION_PACKED_0 + = "\6\0\1\1\2\2\1\3\1\4\1\5\1\6\1\7" + + "\1\10\1\11\1\12\1\13\1\14\2\15\1\16\1\17" + + "\1\20\26\6\1\21\1\22\1\23\1\24\1\25\1\26" + + "\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36" + + "\1\37\1\40\1\41\1\42\2\43\1\44\1\1\1\42" + + "\2\45\1\42\1\1\1\46\4\42\1\1\1\47\1\3" + + "\1\0\1\50\1\51\1\52\2\0\1\53\1\0\1\54" + + "\1\55\1\56\1\57\1\60\1\61\1\62\1\53\1\0" + + "\2\62\1\0\1\63\1\64\7\6\1\65\11\6\1\66" + + "\12\6\1\67\1\70\1\71\4\6\1\72\30\6\1\55" + + "\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1\102" + + "\1\103\1\104\2\105\1\106\1\107\1\110\1\111\1\112" + + "\1\113\1\114\6\0\1\115\2\3\2\0\1\116\3\0" + + "\1\117\1\0\1\120\1\121\1\122\1\123\2\124\1\62" + + "\1\53\1\0\10\6\1\125\5\6\1\126\1\127\5\6" + + "\1\130\1\6\1\131\5\6\1\132\7\6\1\133\2\6" + + "\1\134\10\6\1\135\20\6\1\136\1\6\1\137\2\6" + + "\1\140\2\6\1\141\1\105\7\0\1\142\5\0\1\143" + + "\1\124\1\62\4\6\1\144\1\145\1\146\1\6\1\147" + + "\1\6\1\150\5\6\1\151\7\6\1\152\1\6\1\153" + + "\4\6\1\154\22\6\1\155\7\6\1\156\4\6\1\157" + + "\7\6\1\42\1\0\1\160\12\0\1\124\1\62\1\161" + + "\4\6\1\162\1\163\1\6\1\164\5\6\1\165\5\6" + + "\1\166\3\6\1\167\14\6\1\170\6\6\1\171\2\6" + + "\1\172\3\6\1\173\1\6\1\174\10\6\10\0\1\124" + + "\1\62\1\175\1\6\1\176\3\6\1\177\2\6\1\200" + + "\1\201\7\6\1\202\4\6\1\203\4\6\1\204\5\6" + + "\1\205\10\6\1\206\2\6\1\207\3\6\1\210\1\211" + + "\1\6\2\0\1\117\1\124\1\62\1\6\1\212\5\6" + + "\1\213\14\6\1\214\1\6\1\215\1\6\1\216\7\6" + + "\1\217\1\220\6\6\1\42\1\124\1\62\1\6\1\221" + + "\2\6\1\222\1\223\6\6\1\224\7\6\1\225\5\6" + + "\1\226\1\6\1\227\1\230\3\6\1\231\1\124\1\62" + + "\1\6\1\232\1\6\1\233\1\234\4\6\1\235\2\6" + + "\1\236\2\6\1\237\1\240\1\6\1\241\1\242\5\6" + + "\1\124\1\62\2\6\1\243\1\244\1\6\1\245\1\6" + + "\1\246\6\6\1\247\2\6\1\62\4\6\1\250\4\6" + + "\1\251\1\252\1\253\1\62\6\6\1\254\2\6\1\62" + + "\1\6\1\255\1\6\1\256\2\6\1\257\1\260\1\62" + + "\2\6\1\261\3\6\1\62\1\262\4\6\1\62\2\6" + + "\1\263\1\264\1\265\1\6\1\266"; - private static int [] zzUnpackAction() { - int [] result = new int[693]; - int offset = 0; - offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); - return result; - } - - private static int zzUnpackAction(String packed, int offset, int [] result) { - int i = 0; /* index in packed string */ - int j = offset; /* index in unpacked array */ - int l = packed.length(); - while (i < l) { - int count = packed.charAt(i++); - int value = packed.charAt(i++); - do result[j++] = value; while (--count > 0); + private static int[] zzUnpackAction() { + int[] result = new int[693]; + int offset = 0; + offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); + return result; } - return j; - } + private static int zzUnpackAction(String packed, int offset, int[] result) { + int i = 0; /* index in packed string */ - /** - * Translates a state to a row index in the transition table - */ - private static final int [] ZZ_ROWMAP = zzUnpackRowMap(); + int j = offset; /* index in unpacked array */ - private static final String ZZ_ROWMAP_PACKED_0 = - "\0\0\0\124\0\250\0\374\0\u0150\0\u01a4\0\u01f8\0\u024c"+ - "\0\u01f8\0\u02a0\0\u02f4\0\u0348\0\u039c\0\u03f0\0\u0444\0\u0498"+ - "\0\u04ec\0\u0540\0\u01f8\0\u0594\0\u05e8\0\u063c\0\u01f8\0\u01f8"+ - "\0\u0690\0\u06e4\0\u0738\0\u078c\0\u07e0\0\u0834\0\u0888\0\u08dc"+ - "\0\u0930\0\u0984\0\u09d8\0\u0a2c\0\u0a80\0\u0ad4\0\u0b28\0\u0b7c"+ - "\0\u0bd0\0\u0c24\0\u0c78\0\u0ccc\0\u0d20\0\u0d74\0\u01f8\0\u01f8"+ - "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u0dc8\0\u01f8"+ - "\0\u01f8\0\u0e1c\0\u0e70\0\u0ec4\0\u0f18\0\u0f6c\0\u01f8\0\u0fc0"+ - "\0\u1014\0\u01f8\0\u01f8\0\u1068\0\u10bc\0\u1110\0\u01f8\0\u1164"+ - "\0\u11b8\0\u01f8\0\u120c\0\u01f8\0\u1260\0\u12b4\0\u1308\0\u01f8"+ - "\0\u135c\0\u13b0\0\u01f8\0\u01f8\0\u01f8\0\u1404\0\u1458\0\u14ac"+ - "\0\u1500\0\u1554\0\u01f8\0\u01f8\0\u15a8\0\u01f8\0\u15fc\0\u1650"+ - "\0\u16a4\0\u16f8\0\u174c\0\u17a0\0\u17f4\0\u01f8\0\u01f8\0\u1848"+ - "\0\u189c\0\u18f0\0\u1944\0\u1998\0\u19ec\0\u1a40\0\u039c\0\u1a94"+ - "\0\u1ae8\0\u1b3c\0\u1b90\0\u1be4\0\u1c38\0\u1c8c\0\u1ce0\0\u1d34"+ - "\0\u1d88\0\u1ddc\0\u1e30\0\u1e84\0\u1ed8\0\u1f2c\0\u1f80\0\u1fd4"+ - "\0\u2028\0\u207c\0\u20d0\0\u039c\0\u2124\0\u2178\0\u21cc\0\u2220"+ - "\0\u2274\0\u22c8\0\u039c\0\u231c\0\u2370\0\u23c4\0\u2418\0\u246c"+ - "\0\u24c0\0\u2514\0\u2568\0\u25bc\0\u2610\0\u2664\0\u26b8\0\u270c"+ - "\0\u2760\0\u27b4\0\u2808\0\u285c\0\u28b0\0\u2904\0\u2958\0\u29ac"+ - "\0\u2a00\0\u2a54\0\u2aa8\0\u2afc\0\u01f8\0\u01f8\0\u01f8\0\u01f8"+ - "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u2b50\0\u2ba4"+ - "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u11b8"+ - "\0\u2bf8\0\u2c4c\0\u2ca0\0\u2cf4\0\u2d48\0\u01f8\0\u2d9c\0\u01f8"+ - "\0\u2df0\0\u2e44\0\u01f8\0\u2e98\0\u2eec\0\u2f40\0\u01f8\0\u2f94"+ - "\0\u01f8\0\u2fe8\0\u01f8\0\u01f8\0\u16f8\0\u303c\0\u3090\0\u30e4"+ - "\0\u30e4\0\u3138\0\u318c\0\u31e0\0\u3234\0\u3288\0\u32dc\0\u3330"+ - "\0\u3384\0\u039c\0\u33d8\0\u342c\0\u3480\0\u34d4\0\u3528\0\u039c"+ - "\0\u039c\0\u357c\0\u35d0\0\u3624\0\u3678\0\u36cc\0\u039c\0\u3720"+ - "\0\u3774\0\u37c8\0\u381c\0\u3870\0\u38c4\0\u3918\0\u039c\0\u396c"+ - "\0\u39c0\0\u3a14\0\u3a68\0\u3abc\0\u3b10\0\u3b64\0\u3bb8\0\u3c0c"+ - "\0\u3c60\0\u039c\0\u3cb4\0\u3d08\0\u3d5c\0\u3db0\0\u3e04\0\u3e58"+ - "\0\u3eac\0\u3f00\0\u039c\0\u3f54\0\u3fa8\0\u3ffc\0\u4050\0\u40a4"+ - "\0\u40f8\0\u414c\0\u41a0\0\u41f4\0\u4248\0\u429c\0\u42f0\0\u4344"+ - "\0\u4398\0\u43ec\0\u4440\0\u039c\0\u4494\0\u44e8\0\u453c\0\u4590"+ - "\0\u039c\0\u45e4\0\u4638\0\u01f8\0\u01f8\0\u468c\0\u46e0\0\u4734"+ - "\0\u4788\0\u47dc\0\u4830\0\u4884\0\u01f8\0\u48d8\0\u492c\0\u4980"+ - "\0\u49d4\0\u4a28\0\u01f8\0\u4a7c\0\u4ad0\0\u4b24\0\u4b78\0\u4bcc"+ - "\0\u4c20\0\u039c\0\u039c\0\u039c\0\u4c74\0\u039c\0\u4cc8\0\u039c"+ - "\0\u4d1c\0\u4d70\0\u4dc4\0\u4e18\0\u4e6c\0\u4ec0\0\u4f14\0\u4f68"+ - "\0\u4fbc\0\u5010\0\u5064\0\u50b8\0\u510c\0\u039c\0\u5160\0\u039c"+ - "\0\u51b4\0\u5208\0\u525c\0\u52b0\0\u039c\0\u5304\0\u5358\0\u53ac"+ - "\0\u5400\0\u5454\0\u54a8\0\u54fc\0\u5550\0\u55a4\0\u55f8\0\u564c"+ - "\0\u56a0\0\u56f4\0\u5748\0\u579c\0\u57f0\0\u5844\0\u5898\0\u039c"+ - "\0\u58ec\0\u5940\0\u5994\0\u59e8\0\u5a3c\0\u5a90\0\u5ae4\0\u039c"+ - "\0\u5b38\0\u5b8c\0\u5be0\0\u5c34\0\u039c\0\u5c88\0\u5cdc\0\u5d30"+ - "\0\u5d84\0\u5dd8\0\u5e2c\0\u5e80\0\u5ed4\0\u5f28\0\u01f8\0\u5f7c"+ - "\0\u5fd0\0\u6024\0\u6078\0\u60cc\0\u6120\0\u6174\0\u61c8\0\u621c"+ - "\0\u6270\0\u62c4\0\u6318\0\u039c\0\u636c\0\u63c0\0\u6414\0\u6468"+ - "\0\u039c\0\u039c\0\u64bc\0\u039c\0\u6510\0\u6564\0\u65b8\0\u660c"+ - "\0\u6660\0\u039c\0\u66b4\0\u6708\0\u675c\0\u67b0\0\u6804\0\u039c"+ - "\0\u6858\0\u68ac\0\u6900\0\u039c\0\u6954\0\u69a8\0\u69fc\0\u6a50"+ - "\0\u6aa4\0\u6af8\0\u6b4c\0\u6ba0\0\u6bf4\0\u6c48\0\u6c9c\0\u6cf0"+ - "\0\u039c\0\u6d44\0\u6d98\0\u6dec\0\u6e40\0\u6e94\0\u6ee8\0\u039c"+ - "\0\u6f3c\0\u6f90\0\u6fe4\0\u7038\0\u708c\0\u70e0\0\u039c\0\u7134"+ - "\0\u039c\0\u7188\0\u71dc\0\u7230\0\u7284\0\u72d8\0\u732c\0\u7380"+ - "\0\u73d4\0\u7428\0\u747c\0\u74d0\0\u7524\0\u7578\0\u75cc\0\u7620"+ - "\0\u7674\0\u76c8\0\u771c\0\u039c\0\u7770\0\u039c\0\u77c4\0\u7818"+ - "\0\u786c\0\u039c\0\u78c0\0\u7914\0\u039c\0\u039c\0\u7968\0\u79bc"+ - "\0\u7a10\0\u7a64\0\u7ab8\0\u7b0c\0\u7b60\0\u039c\0\u7bb4\0\u7c08"+ - "\0\u7c5c\0\u7cb0\0\u039c\0\u7d04\0\u7d58\0\u7dac\0\u7e00\0\u039c"+ - "\0\u7e54\0\u7ea8\0\u7efc\0\u7f50\0\u7fa4\0\u039c\0\u7ff8\0\u804c"+ - "\0\u80a0\0\u80f4\0\u8148\0\u819c\0\u81f0\0\u8244\0\u039c\0\u8298"+ - "\0\u82ec\0\u039c\0\u8340\0\u8394\0\u83e8\0\u039c\0\u039c\0\u843c"+ - "\0\u8490\0\u84e4\0\u6174\0\u8538\0\u858c\0\u85e0\0\u039c\0\u8634"+ - "\0\u8688\0\u86dc\0\u8730\0\u8784\0\u039c\0\u87d8\0\u882c\0\u8880"+ - "\0\u88d4\0\u8928\0\u897c\0\u89d0\0\u8a24\0\u8a78\0\u8acc\0\u8b20"+ - "\0\u8b74\0\u039c\0\u8bc8\0\u039c\0\u8c1c\0\u039c\0\u8c70\0\u8cc4"+ - "\0\u8d18\0\u8d6c\0\u8dc0\0\u8e14\0\u8e68\0\u039c\0\u039c\0\u8ebc"+ - "\0\u8f10\0\u8f64\0\u8fb8\0\u900c\0\u9060\0\u74d0\0\u90b4\0\u9108"+ - "\0\u915c\0\u039c\0\u91b0\0\u9204\0\u039c\0\u039c\0\u9258\0\u92ac"+ - "\0\u9300\0\u9354\0\u93a8\0\u93fc\0\u039c\0\u9450\0\u94a4\0\u94f8"+ - "\0\u954c\0\u95a0\0\u95f4\0\u9648\0\u039c\0\u969c\0\u96f0\0\u9744"+ - "\0\u9798\0\u97ec\0\u039c\0\u9840\0\u039c\0\u039c\0\u9894\0\u98e8"+ - "\0\u993c\0\u039c\0\u9990\0\u99e4\0\u9a38\0\u039c\0\u9a8c\0\u039c"+ - "\0\u039c\0\u9ae0\0\u9b34\0\u9b88\0\u9bdc\0\u039c\0\u9c30\0\u9c84"+ - "\0\u039c\0\u9cd8\0\u9d2c\0\u039c\0\u9d80\0\u9dd4\0\u039c\0\u039c"+ - "\0\u9e28\0\u9e7c\0\u9ed0\0\u9f24\0\u9f78\0\u01f8\0\u9fcc\0\ua020"+ - "\0\ua074\0\u039c\0\u039c\0\ua0c8\0\u039c\0\ua11c\0\u039c\0\ua170"+ - "\0\ua1c4\0\ua218\0\ua26c\0\ua2c0\0\ua314\0\u039c\0\ua368\0\ua3bc"+ - "\0\ua410\0\ua464\0\ua4b8\0\ua50c\0\ua560\0\ua5b4\0\ua608\0\ua65c"+ - "\0\ua6b0\0\ua704\0\u039c\0\u039c\0\u039c\0\ua758\0\ua7ac\0\ua800"+ - "\0\ua854\0\ua8a8\0\ua8fc\0\ua950\0\u039c\0\ua9a4\0\ua9f8\0\uaa4c"+ - "\0\uaaa0\0\u039c\0\uaaf4\0\u039c\0\uab48\0\uab9c\0\uabf0\0\uac44"+ - "\0\uac98\0\uacec\0\uad40\0\u039c\0\uad94\0\uade8\0\uae3c\0\uae90"+ - "\0\u039c\0\uaee4\0\uaf38\0\uaf8c\0\uafe0\0\u16a4\0\ub034\0\ub088"+ - "\0\u039c\0\u039c\0\u039c\0\ub0dc\0\u039c"; - - private static int [] zzUnpackRowMap() { - int [] result = new int[693]; - int offset = 0; - offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); - return result; - } - - private static int zzUnpackRowMap(String packed, int offset, int [] result) { - int i = 0; /* index in packed string */ - int j = offset; /* index in unpacked array */ - int l = packed.length(); - while (i < l) { - int high = packed.charAt(i++) << 16; - result[j++] = high | packed.charAt(i++); + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do { + result[j++] = value; + } while (--count > 0); + } + return j; } - return j; - } - /** - * The transition table of the DFA - */ - private static final int [] ZZ_TRANS = zzUnpackTrans(); + /** + * Translates a state to a row index in the transition table + */ + private static final int[] ZZ_ROWMAP = zzUnpackRowMap(); - private static final String ZZ_TRANS_PACKED_0 = - "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\7"+ - "\1\16\1\17\1\20\1\21\1\12\1\22\1\23\1\24"+ - "\1\25\2\15\2\25\1\15\1\26\1\7\1\27\1\30"+ - "\1\31\1\32\1\33\1\34\1\15\1\35\1\36\1\37"+ - "\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47"+ - "\1\15\1\50\1\15\1\51\1\52\1\15\1\53\2\15"+ - "\1\54\12\15\1\55\1\56\1\57\1\60\1\61\1\62"+ - "\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72"+ - "\1\73\1\74\1\75\1\76\1\77\1\0\1\12\1\0"+ - "\1\100\1\101\1\102\13\100\1\103\10\100\1\104\74\100"+ - "\1\105\1\101\1\102\24\105\1\104\1\103\73\105\1\7"+ - "\1\106\1\107\1\110\2\7\1\111\4\7\1\112\1\113"+ - "\4\7\2\111\2\7\1\111\4\7\46\111\21\7\1\0"+ - "\1\110\1\0\1\114\1\106\1\107\7\114\1\115\106\114"+ - "\3\0\1\116\1\101\1\102\24\116\1\117\1\116\1\120"+ - "\72\116\126\0\1\11\124\0\1\12\10\0\1\12\105\0"+ - "\1\12\5\0\1\121\1\122\7\0\1\123\123\0\1\124"+ - "\114\0\2\15\7\0\7\15\4\0\46\15\23\0\1\15"+ - "\10\0\1\125\124\0\1\126\1\127\4\0\2\130\2\0"+ - "\2\130\105\0\1\131\3\0\1\132\1\133\1\0\1\134"+ - "\3\0\2\131\2\0\1\131\4\0\46\131\37\0\1\135"+ - "\1\0\1\136\123\0\1\137\117\0\1\130\5\0\1\140"+ - "\1\141\1\142\1\0\1\143\1\144\1\145\6\0\1\145"+ - "\22\0\1\142\55\0\1\130\5\0\2\25\2\0\2\25"+ - "\1\145\6\0\1\145\104\0\1\146\10\0\1\147\103\0"+ - "\2\15\7\0\7\15\4\0\1\15\1\150\44\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\151"+ - "\1\152\42\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\3\15\1\153\12\15\1\154\5\15\1\155\1\156"+ - "\20\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\6\15\1\157\1\15\1\160\35\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\3\15\1\161\3\15\1\162"+ - "\6\15\1\163\1\15\1\164\25\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\2\15\1\165\6\15\1\166"+ - "\1\15\1\167\3\15\1\170\26\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\1\15\1\171\22\15\1\172"+ - "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\2\15\1\173\1\174\7\15\1\175\32\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\1\15\1\176\1\177"+ - "\1\200\3\15\1\201\10\15\1\202\1\15\1\203\23\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"+ - "\1\204\1\15\1\205\4\15\1\206\5\15\1\207\22\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"+ - "\1\210\1\15\1\211\35\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\2\15\1\212\4\15\1\213\3\15"+ - "\1\214\6\15\1\215\23\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\3\15\1\216\2\15\1\217\1\220"+ - "\2\15\1\221\1\222\32\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\2\15\1\223\4\15\1\224\36\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15"+ - "\1\225\5\15\1\226\25\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\1\15\1\227\1\15\1\230\7\15"+ - "\1\231\2\15\1\232\27\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\1\233\45\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\3\15\1\234\3\15\1\235"+ - "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\2\15\1\236\4\15\1\237\36\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\11\15\1\240\34\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\241"+ - "\7\15\1\242\32\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\10\15\1\243\35\15\23\0\1\15\15\0"+ - "\1\244\123\0\1\245\75\0\1\246\25\0\1\247\76\0"+ - "\1\250\24\0\1\251\77\0\1\252\23\0\1\253\123\0"+ - "\1\254\106\0\1\100\2\0\13\100\1\0\10\100\1\0"+ - "\74\100\2\0\1\102\121\0\1\255\2\0\13\255\1\256"+ - "\1\257\3\255\1\257\1\260\2\255\1\261\1\262\1\255"+ - "\1\263\1\264\6\255\1\265\1\266\3\255\1\267\51\255"+ - "\3\0\1\105\2\0\24\105\2\0\73\105\2\0\1\107"+ - "\124\0\1\110\10\0\1\110\105\0\1\110\7\0\2\270"+ - "\1\271\3\0\1\272\1\273\1\0\7\270\4\0\46\270"+ - "\23\0\1\270\3\0\1\110\2\0\1\270\5\0\1\113"+ - "\4\0\2\270\2\0\1\270\4\0\46\270\22\0\1\110"+ - "\5\0\1\274\1\0\1\275\12\0\2\275\2\0\1\275"+ - "\4\0\46\275\24\0\1\116\2\0\24\116\1\0\1\116"+ - "\1\0\72\116\1\255\2\0\24\255\1\261\1\255\1\276"+ - "\1\263\1\264\6\255\1\265\1\266\3\255\1\267\51\255"+ - "\3\0\1\121\1\277\1\300\121\121\5\301\1\302\116\301"+ - "\11\0\1\303\120\0\1\304\12\0\2\304\2\0\1\304"+ - "\4\0\46\304\43\0\2\130\2\0\2\130\1\145\6\0"+ - "\1\145\75\0\1\305\1\131\1\306\2\0\1\307\1\310"+ - "\2\0\2\131\2\305\2\131\1\305\4\0\46\305\23\0"+ - "\1\131\15\0\1\311\121\0\1\312\1\0\1\313\123\0"+ - "\1\314\117\0\1\130\5\0\1\140\1\141\2\0\1\143"+ - "\1\144\1\145\6\0\1\145\100\0\1\130\5\0\2\141"+ - "\2\0\2\141\1\145\6\0\1\145\106\0\1\315\1\316"+ - "\1\0\4\316\4\0\1\316\1\0\2\316\1\0\1\316"+ - "\6\0\2\316\12\0\1\316\1\0\1\316\5\0\2\316"+ - "\41\0\1\130\5\0\1\144\1\141\2\0\2\144\1\145"+ - "\6\0\1\145\100\0\1\130\5\0\1\317\1\141\2\0"+ - "\2\317\1\145\6\0\1\145\106\0\2\320\2\0\2\320"+ - "\1\0\1\321\66\0\1\321\14\0\2\15\7\0\7\15"+ - "\4\0\2\15\1\322\43\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\11\15\1\323\11\15\1\324\22\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+ - "\1\325\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\5\15\1\326\40\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\6\15\1\327\37\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\3\15\1\330\42\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+ - "\1\331\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\14\15\1\332\31\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\6\15\1\333\2\15\1\334\4\15"+ - "\1\335\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\10\15\1\336\35\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\3\15\1\337\42\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\1\15\1\340\44\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+ - "\1\341\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\3\15\1\342\3\15\1\343\36\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\1\344\20\15\1\345"+ - "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\12\15\1\346\33\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\14\15\1\347\31\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\2\15\1\350\43\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\17\15\1\351"+ - "\5\15\1\352\20\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\23\15\1\353\22\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\16\15\1\354\27\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\355"+ - "\7\15\1\356\6\15\1\357\23\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\16\15\1\360\27\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\361"+ - "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\26\15\1\362\17\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\1\15\1\363\10\15\1\364\33\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\365"+ - "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\6\15\1\366\2\15\1\367\34\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\32\15\1\370\13\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\371"+ - "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\2\15\1\372\43\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\14\15\1\373\1\15\1\374\27\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\15\15\1\375"+ - "\1\376\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\21\15\1\377\24\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\10\15\1\u0100\35\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\16\15\1\u0101\27\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15"+ - "\1\u0102\40\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\1\15\1\u0103\44\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\10\15\1\u0104\35\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\10\15\1\u0105\35\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+ - "\1\u0106\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\3\15\1\u0107\42\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\11\15\1\u0108\34\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\12\15\1\u0109\33\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+ - "\1\u010a\4\15\1\u010b\2\15\1\u010c\33\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\5\15\1\u010d\40\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\u010e"+ - "\45\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\3\15\1\u010f\42\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\5\15\1\u0110\1\u0111\1\u0112\6\15\1\u0113"+ - "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\1\15\1\u0114\44\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\12\15\1\u0115\33\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\11\15\1\u0116\34\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0117"+ - "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\1\15\1\u0118\44\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\44\15\1\u0119\1\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\23\15\1\u011a\22\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\15\15\1\u011b"+ - "\30\15\23\0\1\15\15\0\1\u011c\125\0\1\260\3\0"+ - "\2\260\116\0\1\u011d\3\0\2\u011d\105\0\1\u011e\12\0"+ - "\2\u011e\2\0\1\u011e\4\0\46\u011e\40\0\1\272\1\273"+ - "\122\0\1\273\1\0\1\u011f\113\0\1\u0120\12\0\2\u0120"+ - "\2\0\1\u0120\4\0\46\u0120\32\0\1\u0121\1\275\1\u0122"+ - "\2\0\1\114\1\u0123\2\0\2\275\2\u0121\2\275\1\u0121"+ - "\4\0\46\u0121\23\0\1\275\2\0\1\300\121\0\5\301"+ - "\1\u0124\116\301\4\0\1\300\1\302\124\0\2\304\3\0"+ - "\1\u0125\3\0\7\304\4\0\46\304\23\0\1\304\6\0"+ - "\2\305\1\u0126\2\0\1\307\1\u0127\1\u0128\1\0\7\305"+ - "\4\0\46\305\23\0\1\305\6\0\1\u0129\12\0\2\u0129"+ - "\2\0\1\u0129\4\0\46\u0129\32\0\1\u012a\5\0\1\310"+ - "\4\0\2\u012a\2\0\1\u012a\4\0\46\u012a\41\0\1\u012b"+ - "\125\0\2\u012c\1\0\4\u012c\4\0\1\u012c\1\0\2\u012c"+ - "\1\0\1\u012c\6\0\2\u012c\12\0\1\u012c\1\0\1\u012c"+ - "\5\0\2\u012c\41\0\1\130\5\0\1\u012d\1\141\2\0"+ - "\2\u012d\1\145\6\0\1\145\106\0\2\320\2\0\2\320"+ - "\105\0\2\15\7\0\7\15\4\0\3\15\1\u012e\42\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\13\15"+ - "\1\u012f\32\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\7\15\1\u0130\36\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\14\15\1\u0131\31\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\20\15\1\u0132\25\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+ - "\1\u0133\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\16\15\1\u0134\27\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\2\15\1\u0135\43\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0136\43\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15"+ - "\1\u0137\40\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\16\15\1\u0138\27\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\6\15\1\u0139\2\15\1\u013a\34\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"+ - "\1\u013b\37\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\1\15\1\u013c\7\15\1\u013d\34\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\21\15\1\u013e\24\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"+ - "\1\u013f\37\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\2\15\1\u0140\43\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\11\15\1\u0141\34\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\1\15\1\u0142\44\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"+ - "\1\u0143\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\11\15\1\u0144\34\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\2\15\1\u0145\43\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\16\15\1\u0146\27\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15"+ - "\1\u0147\40\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\2\15\1\u0148\43\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\16\15\1\u0149\27\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\26\15\1\u014a\17\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15"+ - "\1\u014b\17\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\7\15\1\u014c\36\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\6\15\1\u014d\37\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\2\15\1\u014e\43\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+ - "\1\u014f\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\2\15\1\u0150\43\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\1\15\1\u0151\44\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\7\15\1\u0152\6\15"+ - "\1\u0153\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\2\15\1\u0154\43\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\7\15\1\u0155\36\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\3\15\1\u0156\42\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+ - "\1\u0157\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\16\15\1\u0158\27\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\3\15\1\u0159\42\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\6\15\1\u015a\37\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15"+ - "\1\u015b\36\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\3\15\1\u015c\42\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\5\15\1\u015d\40\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\26\15\1\u015e\17\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15"+ - "\1\u015f\31\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\20\15\1\u0160\25\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\16\15\1\u0161\27\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\24\15\1\u0162\21\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+ - "\1\u0163\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\10\15\1\u0164\13\15\1\u0165\21\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\4\15\1\u0166\41\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"+ - "\1\u0167\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\22\15\1\u0168\23\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\20\15\1\u0169\25\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\13\15\1\u016a\32\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"+ - "\1\u016b\44\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\2\15\1\u016c\43\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\14\15\1\u016d\31\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\27\15\1\u016e\3\15"+ - "\1\u016f\6\15\1\u0170\3\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\7\15\1\u0171\36\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\12\15\1\u0172\33\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\u0173"+ - "\45\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\12\15\1\u0174\33\15\23\0\1\15\6\0\2\u011e\4\0"+ - "\1\272\1\273\1\0\7\u011e\4\0\46\u011e\23\0\1\u011e"+ - "\1\u011f\2\0\13\u011f\1\u0175\105\u011f\6\0\2\u0120\1\u0176"+ - "\2\0\1\u0177\3\0\7\u0120\4\0\46\u0120\23\0\1\u0120"+ - "\6\0\2\u0121\1\u0178\2\0\1\114\1\u0179\1\u017a\1\0"+ - "\7\u0121\4\0\46\u0121\23\0\1\u0121\6\0\1\u017b\12\0"+ - "\2\u017b\2\0\1\u017b\4\0\46\u017b\32\0\1\u017c\5\0"+ - "\1\u0123\4\0\2\u017c\2\0\1\u017c\4\0\46\u017c\24\0"+ - "\4\301\1\300\1\u0124\116\301\6\0\1\u017d\12\0\2\u017d"+ - "\2\0\1\u017d\4\0\46\u017d\32\0\1\u012a\5\0\1\u0127"+ - "\1\u0128\3\0\2\u012a\2\0\1\u012a\4\0\46\u012a\40\0"+ - "\1\u0128\1\0\1\u017e\113\0\1\u017f\1\u0129\3\0\1\307"+ - "\1\310\2\0\2\u0129\2\u017f\2\u0129\1\u017f\4\0\46\u017f"+ - "\23\0\1\u0129\6\0\2\u012a\1\u0180\3\0\1\u0181\1\u0128"+ - "\1\0\7\u012a\4\0\46\u012a\23\0\1\u012a\17\0\2\u0182"+ - "\1\0\4\u0182\4\0\1\u0182\1\0\2\u0182\1\0\1\u0182"+ - "\6\0\2\u0182\12\0\1\u0182\1\0\1\u0182\5\0\2\u0182"+ - "\41\0\1\130\5\0\1\u0183\1\141\2\0\2\u0183\1\145"+ - "\6\0\1\145\75\0\2\15\7\0\7\15\4\0\4\15"+ - "\1\u0184\41\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\1\15\1\u0185\44\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\24\15\1\u0186\21\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\7\15\1\u0187\36\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+ - "\1\u0188\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\20\15\1\u0189\25\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\11\15\1\u018a\34\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\12\15\1\u018b\33\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"+ - "\1\u018c\37\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\11\15\1\u018d\34\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\12\15\1\u018e\33\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\30\15\1\u018f\10\15"+ - "\1\u0190\4\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\11\15\1\u0191\34\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\1\15\1\u0192\44\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\5\15\1\u0193\40\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15"+ - "\1\u0194\44\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\12\15\1\u0195\33\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\32\15\1\u0196\13\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\6\15\1\u0197\37\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+ - "\1\u0198\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\33\15\1\u0199\12\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\2\15\1\u019a\43\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\16\15\1\u019b\27\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\17\15"+ - "\1\u019c\26\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\7\15\1\u019d\36\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\3\15\1\u019e\42\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\1\15\1\u019f\44\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+ - "\1\u01a0\42\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\1\15\1\u01a1\44\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\2\15\1\u01a2\43\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\15\15\1\u01a3\30\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+ - "\1\u01a4\42\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\13\15\1\u01a5\32\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\11\15\1\u01a6\34\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\12\15\1\u01a7\33\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15"+ - "\1\u01a8\22\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\2\15\1\u01a9\43\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\23\15\1\u01aa\22\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\16\15\1\u01ab\27\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+ - "\1\u01ac\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\11\15\1\u01ad\34\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\37\15\1\u01ae\2\15\1\u01af\3\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+ - "\1\u01b0\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\32\15\1\u01b1\13\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\2\15\1\u01b2\43\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\11\15\1\u01b3\34\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+ - "\1\u01b4\42\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\3\15\1\u01b5\42\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\12\15\1\u01b6\33\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\1\15\1\u01b7\44\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\u01b8"+ - "\45\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\14\15\1\u01b9\31\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\10\15\1\u01ba\35\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\1\15\1\u01bb\44\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u01bc"+ - "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\2\15\1\u01bd\43\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\30\15\1\u01be\15\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\10\15\1\u01bf\35\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01c0"+ - "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\10\15\1\u01c1\35\15\23\0\1\15\1\u011f\2\0\11\u011f"+ - "\1\u0175\1\u011f\1\u0175\105\u011f\6\0\1\u01c2\12\0\2\u01c2"+ - "\2\0\1\u01c2\4\0\46\u01c2\32\0\1\u01c3\12\0\2\u01c3"+ - "\2\0\1\u01c3\4\0\46\u01c3\32\0\1\u017c\5\0\1\u0179"+ - "\1\u017a\3\0\2\u017c\2\0\1\u017c\4\0\46\u017c\40\0"+ - "\1\u017a\1\0\1\u01c4\113\0\1\u01c5\1\u017b\3\0\1\114"+ - "\1\u0123\2\0\2\u017b\2\u01c5\2\u017b\1\u01c5\4\0\46\u01c5"+ - "\23\0\1\u017b\6\0\2\u017c\1\u01c6\3\0\1\u01c7\1\u017a"+ - "\1\0\7\u017c\4\0\46\u017c\23\0\1\u017c\6\0\1\u017f"+ - "\1\u017d\3\0\1\307\1\u0127\1\u0128\1\0\2\u017d\2\u017f"+ - "\2\u017d\1\u017f\4\0\46\u017f\23\0\1\u017d\1\u017e\2\0"+ - "\13\u017e\1\u01c8\105\u017e\6\0\2\u017f\1\u0180\2\0\1\307"+ - "\1\u0127\1\u0128\1\0\7\u017f\4\0\46\u017f\23\0\1\u017f"+ - "\6\0\1\u01c9\12\0\2\u01c9\2\0\1\u01c9\4\0\46\u01c9"+ - "\40\0\1\u0181\1\u0128\125\0\2\u01ca\1\0\4\u01ca\4\0"+ - "\1\u01ca\1\0\2\u01ca\1\0\1\u01ca\6\0\2\u01ca\12\0"+ - "\1\u01ca\1\0\1\u01ca\5\0\2\u01ca\41\0\1\130\5\0"+ - "\1\u01cb\1\141\2\0\2\u01cb\1\145\6\0\1\145\75\0"+ - "\2\15\7\0\7\15\4\0\10\15\1\u01cc\35\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01cd"+ - "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\23\15\1\u01ce\22\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\14\15\1\u01cf\31\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\10\15\1\u01d0\35\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\41\15\1\u01d1"+ - "\4\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\5\15\1\u01d2\40\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\16\15\1\u01d3\27\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\1\15\1\u01d4\44\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u01d5"+ - "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\20\15\1\u01d6\25\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\12\15\1\u01d7\33\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\10\15\1\u01d8\35\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u01d9"+ - "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\21\15\1\u01da\24\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\3\15\1\u01db\42\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\11\15\1\u01dc\34\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01dd"+ - "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\15\15\1\u01de\30\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\10\15\1\u01df\35\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\10\15\1\u01e0\4\15\1\u01e1"+ - "\30\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\23\15\1\u01e2\22\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\11\15\1\u01e3\34\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\23\15\1\u01e4\22\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u01e5"+ - "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\14\15\1\u01e6\31\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\16\15\1\u01e7\27\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\2\15\1\u01e8\43\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\5\15\1\u01e9"+ - "\40\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\12\15\1\u01ea\33\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\23\15\1\u01eb\22\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\16\15\1\u01ec\27\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u01ed"+ - "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\20\15\1\u01ee\25\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\7\15\1\u01ef\36\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\3\15\1\u01f0\42\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u01f1"+ - "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\5\15\1\u01f2\40\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\30\15\1\u01f3\13\15\1\u01f4\1\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u01f5"+ - "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\26\15\1\u01f6\17\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\5\15\1\u01f7\40\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\6\15\1\u01f8\37\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\26\15\1\u01f9"+ - "\17\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\16\15\1\u01fa\27\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\23\15\1\u01fb\22\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\1\15\1\u01fc\44\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\u01fd"+ - "\35\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\26\15\1\u01fe\17\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\1\15\1\u01ff\44\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\12\15\1\u0200\33\15\23\0"+ - "\1\15\6\0\2\u01c2\3\0\1\u0177\3\0\7\u01c2\4\0"+ - "\46\u01c2\23\0\1\u01c2\6\0\1\u01c5\1\u01c3\3\0\1\114"+ - "\1\u0179\1\u017a\1\0\2\u01c3\2\u01c5\2\u01c3\1\u01c5\4\0"+ - "\46\u01c5\23\0\1\u01c3\1\u01c4\2\0\13\u01c4\1\u0201\105\u01c4"+ - "\6\0\2\u01c5\1\u01c6\2\0\1\114\1\u0179\1\u017a\1\0"+ - "\7\u01c5\4\0\46\u01c5\23\0\1\u01c5\6\0\1\u0202\12\0"+ - "\2\u0202\2\0\1\u0202\4\0\46\u0202\40\0\1\u01c7\1\u017a"+ - "\106\0\1\u017e\2\0\10\u017e\1\u0203\1\u01c8\1\u017e\1\u01c8"+ - "\105\u017e\6\0\2\u01c9\4\0\1\u0181\1\u0128\1\0\7\u01c9"+ - "\4\0\46\u01c9\23\0\1\u01c9\17\0\2\u0204\1\0\4\u0204"+ - "\4\0\1\u0204\1\0\2\u0204\1\0\1\u0204\6\0\2\u0204"+ - "\12\0\1\u0204\1\0\1\u0204\5\0\2\u0204\41\0\1\130"+ - "\5\0\1\u0205\1\141\2\0\2\u0205\1\145\6\0\1\145"+ - "\75\0\2\15\7\0\7\15\4\0\37\15\1\u0206\6\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"+ - "\1\u0207\37\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\13\15\1\u0208\32\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\1\15\1\u0209\44\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\16\15\1\u020a\27\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+ - "\1\u020b\42\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\14\15\1\u020c\31\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\2\15\1\u020d\43\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\3\15\1\u020e\42\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+ - "\1\u020f\42\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\1\15\1\u0210\44\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\43\15\1\u0211\2\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\34\15\1\u0212\11\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15"+ - "\1\u0213\40\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\3\15\1\u0214\42\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\3\15\1\u0215\42\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0216\43\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+ - "\1\u0217\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\10\15\1\u0218\35\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\37\15\1\u0219\6\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\11\15\1\u021a\34\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+ - "\1\u021b\42\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\5\15\1\u021c\40\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\3\15\1\u021d\42\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\22\15\1\u021e\23\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15"+ - "\1\u021f\36\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\24\15\1\u0220\21\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\1\15\1\u0221\44\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\3\15\1\u0222\42\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15"+ - "\1\u0223\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\6\15\1\u0224\37\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\13\15\1\u0225\32\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0226\43\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15"+ - "\1\u0227\43\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\11\15\1\u0228\34\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\11\15\1\u0229\34\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\2\15\1\u022a\43\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"+ - "\1\u022b\37\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\14\15\1\u022c\31\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\11\15\1\u022d\34\15\23\0\1\15"+ - "\1\u01c4\2\0\10\u01c4\1\u022e\1\u0201\1\u01c4\1\u0201\105\u01c4"+ - "\6\0\2\u0202\4\0\1\u01c7\1\u017a\1\0\7\u0202\4\0"+ - "\46\u0202\23\0\1\u0202\17\0\2\u022f\1\0\4\u022f\4\0"+ - "\1\u022f\1\0\2\u022f\1\0\1\u022f\6\0\2\u022f\12\0"+ - "\1\u022f\1\0\1\u022f\5\0\2\u022f\41\0\1\130\5\0"+ - "\1\u0230\1\141\2\0\2\u0230\1\145\6\0\1\145\75\0"+ - "\2\15\7\0\7\15\4\0\7\15\1\u0231\36\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u0232"+ - "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\3\15\1\u0233\42\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\31\15\1\u0234\14\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\26\15\1\u0235\17\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u0236"+ - "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\23\15\1\u0237\22\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\5\15\1\u0238\40\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\26\15\1\u0239\17\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u023a"+ - "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\12\15\1\u023b\33\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\2\15\1\u023c\43\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\16\15\1\u023d\27\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\5\15\1\u023e"+ - "\40\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\36\15\1\u023f\7\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\10\15\1\u0240\35\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\2\15\1\u0241\43\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u0242"+ - "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\11\15\1\u0243\34\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\10\15\1\u0244\35\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\10\15\1\u0245\35\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u0246"+ - "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\12\15\1\u0247\33\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\23\15\1\u0248\22\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\2\15\1\u0249\43\15\23\0"+ - "\1\15\6\0\2\15\7\0\3\15\1\u024a\3\15\4\0"+ - "\46\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\23\15\1\u024b\22\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\1\15\1\u024c\44\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\20\15\1\u024d\25\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u024e"+ - "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\12\15\1\u024f\33\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\31\15\1\u0250\11\15\1\u0251\2\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\22\15\1\u0252"+ - "\23\15\23\0\1\15\17\0\2\u0253\1\0\4\u0253\4\0"+ - "\1\u0253\1\0\2\u0253\1\0\1\u0253\6\0\2\u0253\12\0"+ - "\1\u0253\1\0\1\u0253\5\0\2\u0253\41\0\1\130\5\0"+ - "\1\u0254\1\141\2\0\2\u0254\1\145\6\0\1\145\75\0"+ - "\2\15\7\0\7\15\4\0\24\15\1\u0255\21\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\26\15\1\u0256"+ - "\17\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\7\15\1\u0257\36\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\2\15\1\u0258\43\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\2\15\1\u0259\43\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u025a"+ - "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\11\15\1\u025b\34\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\26\15\1\u025c\17\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\7\15\1\u025d\36\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u025e"+ - "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\7\15\1\u025f\36\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\11\15\1\u0260\34\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\14\15\1\u0261\31\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\24\15\1\u0262"+ - "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\2\15\1\u0263\43\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\14\15\1\u0264\31\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\2\15\1\u0265\43\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0266"+ - "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\2\15\1\u0267\43\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\14\15\1\u0268\31\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\12\15\1\u0269\33\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u026a"+ - "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\7\15\1\u026b\36\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\11\15\1\u026c\34\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\16\15\1\u026d\27\15\23\0"+ - "\1\15\17\0\2\u026e\1\0\4\u026e\4\0\1\u026e\1\0"+ - "\2\u026e\1\0\1\u026e\6\0\2\u026e\12\0\1\u026e\1\0"+ - "\1\u026e\5\0\2\u026e\41\0\1\130\5\0\1\u026f\1\141"+ - "\2\0\2\u026f\1\145\6\0\1\145\75\0\2\15\7\0"+ - "\7\15\4\0\12\15\1\u0270\33\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\13\15\1\u0271\32\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0272"+ - "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\20\15\1\u0273\25\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\20\15\1\u0274\25\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\15\15\1\u0275\30\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0276"+ - "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\6\15\1\u0277\37\15\23\0\1\15\6\0\2\15\7\0"+ - "\7\15\4\0\12\15\1\u0278\33\15\23\0\1\15\6\0"+ - "\2\15\7\0\7\15\4\0\37\15\1\u0279\6\15\23\0"+ - "\1\15\6\0\2\15\7\0\7\15\4\0\44\15\1\u027a"+ - "\1\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0"+ - "\1\u027b\45\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\11\15\1\u027c\34\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\10\15\1\u027d\35\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\10\15\1\u027e\35\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15"+ - "\1\u027f\36\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\3\15\1\u0280\42\15\23\0\1\15\11\0\1\130"+ - "\5\0\1\u0281\1\141\2\0\2\u0281\1\145\6\0\1\145"+ - "\75\0\2\15\7\0\7\15\4\0\2\15\1\u0282\43\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15"+ - "\1\u0283\35\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\35\15\1\u0284\10\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\14\15\1\u0285\31\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0286\43\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15"+ - "\1\u0287\36\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\13\15\1\u0288\32\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\16\15\1\u0289\27\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\23\15\1\u028a\22\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15"+ - "\1\u028b\17\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\21\15\1\u028c\24\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\22\15\1\u028d\23\15\23\0\1\15"+ - "\11\0\1\130\5\0\1\u028e\1\141\2\0\2\u028e\1\145"+ - "\6\0\1\145\75\0\2\15\7\0\7\15\4\0\40\15"+ - "\1\u028f\5\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\14\15\1\u0290\31\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\13\15\1\u0291\32\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0292\43\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\44\15"+ - "\1\u0293\1\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\24\15\1\u0294\21\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\23\15\1\u0295\22\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0296\43\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+ - "\1\u0297\42\15\23\0\1\15\11\0\1\130\5\0\1\u0298"+ - "\1\141\2\0\2\u0298\1\145\6\0\1\145\75\0\2\15"+ - "\7\0\7\15\4\0\16\15\1\u0299\27\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\6\15\1\u029a\37\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15"+ - "\1\u029b\42\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\14\15\1\u029c\31\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\13\15\1\u029d\32\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\12\15\1\u029e\33\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15"+ - "\1\u029f\37\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\21\15\1\u02a0\24\15\23\0\1\15\11\0\1\130"+ - "\5\0\1\u02a1\1\141\2\0\2\u02a1\1\145\6\0\1\145"+ - "\75\0\2\15\7\0\7\15\4\0\12\15\1\u02a2\33\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15"+ - "\1\u02a3\27\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\23\15\1\u02a4\22\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\2\15\1\u02a5\43\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\44\15\1\u02a6\1\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\44\15"+ - "\1\u02a7\1\15\23\0\1\15\11\0\1\130\5\0\1\u02a8"+ - "\1\141\2\0\2\u02a8\1\145\6\0\1\145\75\0\2\15"+ - "\7\0\7\15\4\0\21\15\1\u02a9\24\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\12\15\1\u02aa\33\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\40\15"+ - "\1\u02ab\5\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\13\15\1\u02ac\32\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\13\15\1\u02ad\32\15\23\0\1\15"+ - "\11\0\1\130\5\0\1\u02ae\1\141\2\0\2\u02ae\1\145"+ - "\6\0\1\145\75\0\2\15\7\0\7\15\4\0\11\15"+ - "\1\u02af\34\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\16\15\1\u02b0\27\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\23\15\1\u02b1\22\15\23\0\1\15"+ - "\6\0\2\15\7\0\7\15\4\0\23\15\1\u02b2\22\15"+ - "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\22\15"+ - "\1\u02b3\23\15\23\0\1\15\6\0\2\15\7\0\7\15"+ - "\4\0\12\15\1\u02b4\33\15\23\0\1\15\6\0\2\15"+ - "\7\0\7\15\4\0\21\15\1\u02b5\24\15\23\0\1\15"; + private static final String ZZ_ROWMAP_PACKED_0 + = "\0\0\0\124\0\250\0\374\0\u0150\0\u01a4\0\u01f8\0\u024c" + + "\0\u01f8\0\u02a0\0\u02f4\0\u0348\0\u039c\0\u03f0\0\u0444\0\u0498" + + "\0\u04ec\0\u0540\0\u01f8\0\u0594\0\u05e8\0\u063c\0\u01f8\0\u01f8" + + "\0\u0690\0\u06e4\0\u0738\0\u078c\0\u07e0\0\u0834\0\u0888\0\u08dc" + + "\0\u0930\0\u0984\0\u09d8\0\u0a2c\0\u0a80\0\u0ad4\0\u0b28\0\u0b7c" + + "\0\u0bd0\0\u0c24\0\u0c78\0\u0ccc\0\u0d20\0\u0d74\0\u01f8\0\u01f8" + + "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u0dc8\0\u01f8" + + "\0\u01f8\0\u0e1c\0\u0e70\0\u0ec4\0\u0f18\0\u0f6c\0\u01f8\0\u0fc0" + + "\0\u1014\0\u01f8\0\u01f8\0\u1068\0\u10bc\0\u1110\0\u01f8\0\u1164" + + "\0\u11b8\0\u01f8\0\u120c\0\u01f8\0\u1260\0\u12b4\0\u1308\0\u01f8" + + "\0\u135c\0\u13b0\0\u01f8\0\u01f8\0\u01f8\0\u1404\0\u1458\0\u14ac" + + "\0\u1500\0\u1554\0\u01f8\0\u01f8\0\u15a8\0\u01f8\0\u15fc\0\u1650" + + "\0\u16a4\0\u16f8\0\u174c\0\u17a0\0\u17f4\0\u01f8\0\u01f8\0\u1848" + + "\0\u189c\0\u18f0\0\u1944\0\u1998\0\u19ec\0\u1a40\0\u039c\0\u1a94" + + "\0\u1ae8\0\u1b3c\0\u1b90\0\u1be4\0\u1c38\0\u1c8c\0\u1ce0\0\u1d34" + + "\0\u1d88\0\u1ddc\0\u1e30\0\u1e84\0\u1ed8\0\u1f2c\0\u1f80\0\u1fd4" + + "\0\u2028\0\u207c\0\u20d0\0\u039c\0\u2124\0\u2178\0\u21cc\0\u2220" + + "\0\u2274\0\u22c8\0\u039c\0\u231c\0\u2370\0\u23c4\0\u2418\0\u246c" + + "\0\u24c0\0\u2514\0\u2568\0\u25bc\0\u2610\0\u2664\0\u26b8\0\u270c" + + "\0\u2760\0\u27b4\0\u2808\0\u285c\0\u28b0\0\u2904\0\u2958\0\u29ac" + + "\0\u2a00\0\u2a54\0\u2aa8\0\u2afc\0\u01f8\0\u01f8\0\u01f8\0\u01f8" + + "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u2b50\0\u2ba4" + + "\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u01f8\0\u11b8" + + "\0\u2bf8\0\u2c4c\0\u2ca0\0\u2cf4\0\u2d48\0\u01f8\0\u2d9c\0\u01f8" + + "\0\u2df0\0\u2e44\0\u01f8\0\u2e98\0\u2eec\0\u2f40\0\u01f8\0\u2f94" + + "\0\u01f8\0\u2fe8\0\u01f8\0\u01f8\0\u16f8\0\u303c\0\u3090\0\u30e4" + + "\0\u30e4\0\u3138\0\u318c\0\u31e0\0\u3234\0\u3288\0\u32dc\0\u3330" + + "\0\u3384\0\u039c\0\u33d8\0\u342c\0\u3480\0\u34d4\0\u3528\0\u039c" + + "\0\u039c\0\u357c\0\u35d0\0\u3624\0\u3678\0\u36cc\0\u039c\0\u3720" + + "\0\u3774\0\u37c8\0\u381c\0\u3870\0\u38c4\0\u3918\0\u039c\0\u396c" + + "\0\u39c0\0\u3a14\0\u3a68\0\u3abc\0\u3b10\0\u3b64\0\u3bb8\0\u3c0c" + + "\0\u3c60\0\u039c\0\u3cb4\0\u3d08\0\u3d5c\0\u3db0\0\u3e04\0\u3e58" + + "\0\u3eac\0\u3f00\0\u039c\0\u3f54\0\u3fa8\0\u3ffc\0\u4050\0\u40a4" + + "\0\u40f8\0\u414c\0\u41a0\0\u41f4\0\u4248\0\u429c\0\u42f0\0\u4344" + + "\0\u4398\0\u43ec\0\u4440\0\u039c\0\u4494\0\u44e8\0\u453c\0\u4590" + + "\0\u039c\0\u45e4\0\u4638\0\u01f8\0\u01f8\0\u468c\0\u46e0\0\u4734" + + "\0\u4788\0\u47dc\0\u4830\0\u4884\0\u01f8\0\u48d8\0\u492c\0\u4980" + + "\0\u49d4\0\u4a28\0\u01f8\0\u4a7c\0\u4ad0\0\u4b24\0\u4b78\0\u4bcc" + + "\0\u4c20\0\u039c\0\u039c\0\u039c\0\u4c74\0\u039c\0\u4cc8\0\u039c" + + "\0\u4d1c\0\u4d70\0\u4dc4\0\u4e18\0\u4e6c\0\u4ec0\0\u4f14\0\u4f68" + + "\0\u4fbc\0\u5010\0\u5064\0\u50b8\0\u510c\0\u039c\0\u5160\0\u039c" + + "\0\u51b4\0\u5208\0\u525c\0\u52b0\0\u039c\0\u5304\0\u5358\0\u53ac" + + "\0\u5400\0\u5454\0\u54a8\0\u54fc\0\u5550\0\u55a4\0\u55f8\0\u564c" + + "\0\u56a0\0\u56f4\0\u5748\0\u579c\0\u57f0\0\u5844\0\u5898\0\u039c" + + "\0\u58ec\0\u5940\0\u5994\0\u59e8\0\u5a3c\0\u5a90\0\u5ae4\0\u039c" + + "\0\u5b38\0\u5b8c\0\u5be0\0\u5c34\0\u039c\0\u5c88\0\u5cdc\0\u5d30" + + "\0\u5d84\0\u5dd8\0\u5e2c\0\u5e80\0\u5ed4\0\u5f28\0\u01f8\0\u5f7c" + + "\0\u5fd0\0\u6024\0\u6078\0\u60cc\0\u6120\0\u6174\0\u61c8\0\u621c" + + "\0\u6270\0\u62c4\0\u6318\0\u039c\0\u636c\0\u63c0\0\u6414\0\u6468" + + "\0\u039c\0\u039c\0\u64bc\0\u039c\0\u6510\0\u6564\0\u65b8\0\u660c" + + "\0\u6660\0\u039c\0\u66b4\0\u6708\0\u675c\0\u67b0\0\u6804\0\u039c" + + "\0\u6858\0\u68ac\0\u6900\0\u039c\0\u6954\0\u69a8\0\u69fc\0\u6a50" + + "\0\u6aa4\0\u6af8\0\u6b4c\0\u6ba0\0\u6bf4\0\u6c48\0\u6c9c\0\u6cf0" + + "\0\u039c\0\u6d44\0\u6d98\0\u6dec\0\u6e40\0\u6e94\0\u6ee8\0\u039c" + + "\0\u6f3c\0\u6f90\0\u6fe4\0\u7038\0\u708c\0\u70e0\0\u039c\0\u7134" + + "\0\u039c\0\u7188\0\u71dc\0\u7230\0\u7284\0\u72d8\0\u732c\0\u7380" + + "\0\u73d4\0\u7428\0\u747c\0\u74d0\0\u7524\0\u7578\0\u75cc\0\u7620" + + "\0\u7674\0\u76c8\0\u771c\0\u039c\0\u7770\0\u039c\0\u77c4\0\u7818" + + "\0\u786c\0\u039c\0\u78c0\0\u7914\0\u039c\0\u039c\0\u7968\0\u79bc" + + "\0\u7a10\0\u7a64\0\u7ab8\0\u7b0c\0\u7b60\0\u039c\0\u7bb4\0\u7c08" + + "\0\u7c5c\0\u7cb0\0\u039c\0\u7d04\0\u7d58\0\u7dac\0\u7e00\0\u039c" + + "\0\u7e54\0\u7ea8\0\u7efc\0\u7f50\0\u7fa4\0\u039c\0\u7ff8\0\u804c" + + "\0\u80a0\0\u80f4\0\u8148\0\u819c\0\u81f0\0\u8244\0\u039c\0\u8298" + + "\0\u82ec\0\u039c\0\u8340\0\u8394\0\u83e8\0\u039c\0\u039c\0\u843c" + + "\0\u8490\0\u84e4\0\u6174\0\u8538\0\u858c\0\u85e0\0\u039c\0\u8634" + + "\0\u8688\0\u86dc\0\u8730\0\u8784\0\u039c\0\u87d8\0\u882c\0\u8880" + + "\0\u88d4\0\u8928\0\u897c\0\u89d0\0\u8a24\0\u8a78\0\u8acc\0\u8b20" + + "\0\u8b74\0\u039c\0\u8bc8\0\u039c\0\u8c1c\0\u039c\0\u8c70\0\u8cc4" + + "\0\u8d18\0\u8d6c\0\u8dc0\0\u8e14\0\u8e68\0\u039c\0\u039c\0\u8ebc" + + "\0\u8f10\0\u8f64\0\u8fb8\0\u900c\0\u9060\0\u74d0\0\u90b4\0\u9108" + + "\0\u915c\0\u039c\0\u91b0\0\u9204\0\u039c\0\u039c\0\u9258\0\u92ac" + + "\0\u9300\0\u9354\0\u93a8\0\u93fc\0\u039c\0\u9450\0\u94a4\0\u94f8" + + "\0\u954c\0\u95a0\0\u95f4\0\u9648\0\u039c\0\u969c\0\u96f0\0\u9744" + + "\0\u9798\0\u97ec\0\u039c\0\u9840\0\u039c\0\u039c\0\u9894\0\u98e8" + + "\0\u993c\0\u039c\0\u9990\0\u99e4\0\u9a38\0\u039c\0\u9a8c\0\u039c" + + "\0\u039c\0\u9ae0\0\u9b34\0\u9b88\0\u9bdc\0\u039c\0\u9c30\0\u9c84" + + "\0\u039c\0\u9cd8\0\u9d2c\0\u039c\0\u9d80\0\u9dd4\0\u039c\0\u039c" + + "\0\u9e28\0\u9e7c\0\u9ed0\0\u9f24\0\u9f78\0\u01f8\0\u9fcc\0\ua020" + + "\0\ua074\0\u039c\0\u039c\0\ua0c8\0\u039c\0\ua11c\0\u039c\0\ua170" + + "\0\ua1c4\0\ua218\0\ua26c\0\ua2c0\0\ua314\0\u039c\0\ua368\0\ua3bc" + + "\0\ua410\0\ua464\0\ua4b8\0\ua50c\0\ua560\0\ua5b4\0\ua608\0\ua65c" + + "\0\ua6b0\0\ua704\0\u039c\0\u039c\0\u039c\0\ua758\0\ua7ac\0\ua800" + + "\0\ua854\0\ua8a8\0\ua8fc\0\ua950\0\u039c\0\ua9a4\0\ua9f8\0\uaa4c" + + "\0\uaaa0\0\u039c\0\uaaf4\0\u039c\0\uab48\0\uab9c\0\uabf0\0\uac44" + + "\0\uac98\0\uacec\0\uad40\0\u039c\0\uad94\0\uade8\0\uae3c\0\uae90" + + "\0\u039c\0\uaee4\0\uaf38\0\uaf8c\0\uafe0\0\u16a4\0\ub034\0\ub088" + + "\0\u039c\0\u039c\0\u039c\0\ub0dc\0\u039c"; - private static int [] zzUnpackTrans() { - int [] result = new int[45360]; - int offset = 0; - offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); - return result; - } - - private static int zzUnpackTrans(String packed, int offset, int [] result) { - int i = 0; /* index in packed string */ - int j = offset; /* index in unpacked array */ - int l = packed.length(); - while (i < l) { - int count = packed.charAt(i++); - int value = packed.charAt(i++); - value--; - do result[j++] = value; while (--count > 0); + private static int[] zzUnpackRowMap() { + int[] result = new int[693]; + int offset = 0; + offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result); + return result; } - return j; - } + private static int zzUnpackRowMap(String packed, int offset, int[] result) { + int i = 0; /* index in packed string */ - /* error codes */ - private static final int ZZ_UNKNOWN_ERROR = 0; - private static final int ZZ_NO_MATCH = 1; - private static final int ZZ_PUSHBACK_2BIG = 2; + int j = offset; /* index in unpacked array */ - /* error messages for the codes above */ - private static final String ZZ_ERROR_MSG[] = { - "Unkown internal scanner error", - "Error: could not match input", - "Error: pushback value was too large" - }; - - /** - * ZZ_ATTRIBUTE[aState] contains the attributes of state aState - */ - private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute(); - - private static final String ZZ_ATTRIBUTE_PACKED_0 = - "\6\0\1\11\1\1\1\11\11\1\1\11\3\1\2\11"+ - "\26\1\10\11\1\1\2\11\5\1\1\11\2\1\2\11"+ - "\3\1\1\11\2\1\1\11\1\1\1\11\3\1\1\11"+ - "\1\1\1\0\3\11\2\0\1\1\1\0\1\1\2\11"+ - "\1\1\1\11\3\1\1\0\2\1\1\0\2\11\75\1"+ - "\12\11\2\1\7\11\6\0\1\11\1\1\1\11\2\0"+ - "\1\11\3\0\1\11\1\0\1\11\1\1\2\11\4\1"+ - "\1\0\112\1\2\11\7\0\1\11\5\0\1\11\112\1"+ - "\1\0\1\11\12\0\100\1\10\0\67\1\2\0\153\1"+ - "\1\11\107\1"; - - private static int [] zzUnpackAttribute() { - int [] result = new int[693]; - int offset = 0; - offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); - return result; - } - - private static int zzUnpackAttribute(String packed, int offset, int [] result) { - int i = 0; /* index in packed string */ - int j = offset; /* index in unpacked array */ - int l = packed.length(); - while (i < l) { - int count = packed.charAt(i++); - int value = packed.charAt(i++); - do result[j++] = value; while (--count > 0); + int l = packed.length(); + while (i < l) { + int high = packed.charAt(i++) << 16; + result[j++] = high | packed.charAt(i++); + } + return j; } - return j; - } - /** the input device */ - private java.io.Reader zzReader; + /** + * The transition table of the DFA + */ + private static final int[] ZZ_TRANS = zzUnpackTrans(); - /** the current state of the DFA */ - private int zzState; + private static final String ZZ_TRANS_PACKED_0 + = "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\7" + + "\1\16\1\17\1\20\1\21\1\12\1\22\1\23\1\24" + + "\1\25\2\15\2\25\1\15\1\26\1\7\1\27\1\30" + + "\1\31\1\32\1\33\1\34\1\15\1\35\1\36\1\37" + + "\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47" + + "\1\15\1\50\1\15\1\51\1\52\1\15\1\53\2\15" + + "\1\54\12\15\1\55\1\56\1\57\1\60\1\61\1\62" + + "\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72" + + "\1\73\1\74\1\75\1\76\1\77\1\0\1\12\1\0" + + "\1\100\1\101\1\102\13\100\1\103\10\100\1\104\74\100" + + "\1\105\1\101\1\102\24\105\1\104\1\103\73\105\1\7" + + "\1\106\1\107\1\110\2\7\1\111\4\7\1\112\1\113" + + "\4\7\2\111\2\7\1\111\4\7\46\111\21\7\1\0" + + "\1\110\1\0\1\114\1\106\1\107\7\114\1\115\106\114" + + "\3\0\1\116\1\101\1\102\24\116\1\117\1\116\1\120" + + "\72\116\126\0\1\11\124\0\1\12\10\0\1\12\105\0" + + "\1\12\5\0\1\121\1\122\7\0\1\123\123\0\1\124" + + "\114\0\2\15\7\0\7\15\4\0\46\15\23\0\1\15" + + "\10\0\1\125\124\0\1\126\1\127\4\0\2\130\2\0" + + "\2\130\105\0\1\131\3\0\1\132\1\133\1\0\1\134" + + "\3\0\2\131\2\0\1\131\4\0\46\131\37\0\1\135" + + "\1\0\1\136\123\0\1\137\117\0\1\130\5\0\1\140" + + "\1\141\1\142\1\0\1\143\1\144\1\145\6\0\1\145" + + "\22\0\1\142\55\0\1\130\5\0\2\25\2\0\2\25" + + "\1\145\6\0\1\145\104\0\1\146\10\0\1\147\103\0" + + "\2\15\7\0\7\15\4\0\1\15\1\150\44\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\151" + + "\1\152\42\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\3\15\1\153\12\15\1\154\5\15\1\155\1\156" + + "\20\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\6\15\1\157\1\15\1\160\35\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\3\15\1\161\3\15\1\162" + + "\6\15\1\163\1\15\1\164\25\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\2\15\1\165\6\15\1\166" + + "\1\15\1\167\3\15\1\170\26\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\1\15\1\171\22\15\1\172" + + "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\2\15\1\173\1\174\7\15\1\175\32\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\1\15\1\176\1\177" + + "\1\200\3\15\1\201\10\15\1\202\1\15\1\203\23\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15" + + "\1\204\1\15\1\205\4\15\1\206\5\15\1\207\22\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15" + + "\1\210\1\15\1\211\35\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\2\15\1\212\4\15\1\213\3\15" + + "\1\214\6\15\1\215\23\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\3\15\1\216\2\15\1\217\1\220" + + "\2\15\1\221\1\222\32\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\2\15\1\223\4\15\1\224\36\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\12\15" + + "\1\225\5\15\1\226\25\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\1\15\1\227\1\15\1\230\7\15" + + "\1\231\2\15\1\232\27\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\1\233\45\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\3\15\1\234\3\15\1\235" + + "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\2\15\1\236\4\15\1\237\36\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\11\15\1\240\34\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\241" + + "\7\15\1\242\32\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\10\15\1\243\35\15\23\0\1\15\15\0" + + "\1\244\123\0\1\245\75\0\1\246\25\0\1\247\76\0" + + "\1\250\24\0\1\251\77\0\1\252\23\0\1\253\123\0" + + "\1\254\106\0\1\100\2\0\13\100\1\0\10\100\1\0" + + "\74\100\2\0\1\102\121\0\1\255\2\0\13\255\1\256" + + "\1\257\3\255\1\257\1\260\2\255\1\261\1\262\1\255" + + "\1\263\1\264\6\255\1\265\1\266\3\255\1\267\51\255" + + "\3\0\1\105\2\0\24\105\2\0\73\105\2\0\1\107" + + "\124\0\1\110\10\0\1\110\105\0\1\110\7\0\2\270" + + "\1\271\3\0\1\272\1\273\1\0\7\270\4\0\46\270" + + "\23\0\1\270\3\0\1\110\2\0\1\270\5\0\1\113" + + "\4\0\2\270\2\0\1\270\4\0\46\270\22\0\1\110" + + "\5\0\1\274\1\0\1\275\12\0\2\275\2\0\1\275" + + "\4\0\46\275\24\0\1\116\2\0\24\116\1\0\1\116" + + "\1\0\72\116\1\255\2\0\24\255\1\261\1\255\1\276" + + "\1\263\1\264\6\255\1\265\1\266\3\255\1\267\51\255" + + "\3\0\1\121\1\277\1\300\121\121\5\301\1\302\116\301" + + "\11\0\1\303\120\0\1\304\12\0\2\304\2\0\1\304" + + "\4\0\46\304\43\0\2\130\2\0\2\130\1\145\6\0" + + "\1\145\75\0\1\305\1\131\1\306\2\0\1\307\1\310" + + "\2\0\2\131\2\305\2\131\1\305\4\0\46\305\23\0" + + "\1\131\15\0\1\311\121\0\1\312\1\0\1\313\123\0" + + "\1\314\117\0\1\130\5\0\1\140\1\141\2\0\1\143" + + "\1\144\1\145\6\0\1\145\100\0\1\130\5\0\2\141" + + "\2\0\2\141\1\145\6\0\1\145\106\0\1\315\1\316" + + "\1\0\4\316\4\0\1\316\1\0\2\316\1\0\1\316" + + "\6\0\2\316\12\0\1\316\1\0\1\316\5\0\2\316" + + "\41\0\1\130\5\0\1\144\1\141\2\0\2\144\1\145" + + "\6\0\1\145\100\0\1\130\5\0\1\317\1\141\2\0" + + "\2\317\1\145\6\0\1\145\106\0\2\320\2\0\2\320" + + "\1\0\1\321\66\0\1\321\14\0\2\15\7\0\7\15" + + "\4\0\2\15\1\322\43\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\11\15\1\323\11\15\1\324\22\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15" + + "\1\325\35\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\5\15\1\326\40\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\6\15\1\327\37\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\3\15\1\330\42\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15" + + "\1\331\34\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\14\15\1\332\31\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\6\15\1\333\2\15\1\334\4\15" + + "\1\335\27\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\10\15\1\336\35\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\3\15\1\337\42\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\1\15\1\340\44\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15" + + "\1\341\34\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\3\15\1\342\3\15\1\343\36\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\1\344\20\15\1\345" + + "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\12\15\1\346\33\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\14\15\1\347\31\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\2\15\1\350\43\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\17\15\1\351" + + "\5\15\1\352\20\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\23\15\1\353\22\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\16\15\1\354\27\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\355" + + "\7\15\1\356\6\15\1\357\23\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\16\15\1\360\27\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\361" + + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\26\15\1\362\17\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\1\15\1\363\10\15\1\364\33\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\365" + + "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\6\15\1\366\2\15\1\367\34\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\32\15\1\370\13\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\21\15\1\371" + + "\24\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\2\15\1\372\43\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\14\15\1\373\1\15\1\374\27\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\15\15\1\375" + + "\1\376\27\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\21\15\1\377\24\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\10\15\1\u0100\35\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\16\15\1\u0101\27\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15" + + "\1\u0102\40\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\1\15\1\u0103\44\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\10\15\1\u0104\35\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\10\15\1\u0105\35\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15" + + "\1\u0106\35\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\3\15\1\u0107\42\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\11\15\1\u0108\34\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u0109\33\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15" + + "\1\u010a\4\15\1\u010b\2\15\1\u010c\33\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\5\15\1\u010d\40\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\u010e" + + "\45\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\3\15\1\u010f\42\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\5\15\1\u0110\1\u0111\1\u0112\6\15\1\u0113" + + "\27\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\1\15\1\u0114\44\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\12\15\1\u0115\33\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\11\15\1\u0116\34\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0117" + + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\1\15\1\u0118\44\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\44\15\1\u0119\1\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\23\15\1\u011a\22\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\15\15\1\u011b" + + "\30\15\23\0\1\15\15\0\1\u011c\125\0\1\260\3\0" + + "\2\260\116\0\1\u011d\3\0\2\u011d\105\0\1\u011e\12\0" + + "\2\u011e\2\0\1\u011e\4\0\46\u011e\40\0\1\272\1\273" + + "\122\0\1\273\1\0\1\u011f\113\0\1\u0120\12\0\2\u0120" + + "\2\0\1\u0120\4\0\46\u0120\32\0\1\u0121\1\275\1\u0122" + + "\2\0\1\114\1\u0123\2\0\2\275\2\u0121\2\275\1\u0121" + + "\4\0\46\u0121\23\0\1\275\2\0\1\300\121\0\5\301" + + "\1\u0124\116\301\4\0\1\300\1\302\124\0\2\304\3\0" + + "\1\u0125\3\0\7\304\4\0\46\304\23\0\1\304\6\0" + + "\2\305\1\u0126\2\0\1\307\1\u0127\1\u0128\1\0\7\305" + + "\4\0\46\305\23\0\1\305\6\0\1\u0129\12\0\2\u0129" + + "\2\0\1\u0129\4\0\46\u0129\32\0\1\u012a\5\0\1\310" + + "\4\0\2\u012a\2\0\1\u012a\4\0\46\u012a\41\0\1\u012b" + + "\125\0\2\u012c\1\0\4\u012c\4\0\1\u012c\1\0\2\u012c" + + "\1\0\1\u012c\6\0\2\u012c\12\0\1\u012c\1\0\1\u012c" + + "\5\0\2\u012c\41\0\1\130\5\0\1\u012d\1\141\2\0" + + "\2\u012d\1\145\6\0\1\145\106\0\2\320\2\0\2\320" + + "\105\0\2\15\7\0\7\15\4\0\3\15\1\u012e\42\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\13\15" + + "\1\u012f\32\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\7\15\1\u0130\36\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\14\15\1\u0131\31\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\20\15\1\u0132\25\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15" + + "\1\u0133\43\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\16\15\1\u0134\27\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\2\15\1\u0135\43\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0136\43\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15" + + "\1\u0137\40\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\16\15\1\u0138\27\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\6\15\1\u0139\2\15\1\u013a\34\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15" + + "\1\u013b\37\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\1\15\1\u013c\7\15\1\u013d\34\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\21\15\1\u013e\24\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15" + + "\1\u013f\37\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\2\15\1\u0140\43\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\11\15\1\u0141\34\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\1\15\1\u0142\44\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15" + + "\1\u0143\27\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\11\15\1\u0144\34\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\2\15\1\u0145\43\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\16\15\1\u0146\27\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15" + + "\1\u0147\40\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\2\15\1\u0148\43\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\16\15\1\u0149\27\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\26\15\1\u014a\17\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15" + + "\1\u014b\17\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\7\15\1\u014c\36\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\6\15\1\u014d\37\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u014e\43\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15" + + "\1\u014f\34\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\2\15\1\u0150\43\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\1\15\1\u0151\44\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\7\15\1\u0152\6\15" + + "\1\u0153\27\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\2\15\1\u0154\43\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\7\15\1\u0155\36\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\3\15\1\u0156\42\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15" + + "\1\u0157\43\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\16\15\1\u0158\27\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\3\15\1\u0159\42\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\6\15\1\u015a\37\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15" + + "\1\u015b\36\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\3\15\1\u015c\42\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\5\15\1\u015d\40\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\26\15\1\u015e\17\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\14\15" + + "\1\u015f\31\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\20\15\1\u0160\25\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\16\15\1\u0161\27\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\24\15\1\u0162\21\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15" + + "\1\u0163\34\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\10\15\1\u0164\13\15\1\u0165\21\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\4\15\1\u0166\41\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15" + + "\1\u0167\27\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\22\15\1\u0168\23\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\20\15\1\u0169\25\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\13\15\1\u016a\32\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15" + + "\1\u016b\44\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\2\15\1\u016c\43\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\14\15\1\u016d\31\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\27\15\1\u016e\3\15" + + "\1\u016f\6\15\1\u0170\3\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\7\15\1\u0171\36\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u0172\33\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\u0173" + + "\45\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\12\15\1\u0174\33\15\23\0\1\15\6\0\2\u011e\4\0" + + "\1\272\1\273\1\0\7\u011e\4\0\46\u011e\23\0\1\u011e" + + "\1\u011f\2\0\13\u011f\1\u0175\105\u011f\6\0\2\u0120\1\u0176" + + "\2\0\1\u0177\3\0\7\u0120\4\0\46\u0120\23\0\1\u0120" + + "\6\0\2\u0121\1\u0178\2\0\1\114\1\u0179\1\u017a\1\0" + + "\7\u0121\4\0\46\u0121\23\0\1\u0121\6\0\1\u017b\12\0" + + "\2\u017b\2\0\1\u017b\4\0\46\u017b\32\0\1\u017c\5\0" + + "\1\u0123\4\0\2\u017c\2\0\1\u017c\4\0\46\u017c\24\0" + + "\4\301\1\300\1\u0124\116\301\6\0\1\u017d\12\0\2\u017d" + + "\2\0\1\u017d\4\0\46\u017d\32\0\1\u012a\5\0\1\u0127" + + "\1\u0128\3\0\2\u012a\2\0\1\u012a\4\0\46\u012a\40\0" + + "\1\u0128\1\0\1\u017e\113\0\1\u017f\1\u0129\3\0\1\307" + + "\1\310\2\0\2\u0129\2\u017f\2\u0129\1\u017f\4\0\46\u017f" + + "\23\0\1\u0129\6\0\2\u012a\1\u0180\3\0\1\u0181\1\u0128" + + "\1\0\7\u012a\4\0\46\u012a\23\0\1\u012a\17\0\2\u0182" + + "\1\0\4\u0182\4\0\1\u0182\1\0\2\u0182\1\0\1\u0182" + + "\6\0\2\u0182\12\0\1\u0182\1\0\1\u0182\5\0\2\u0182" + + "\41\0\1\130\5\0\1\u0183\1\141\2\0\2\u0183\1\145" + + "\6\0\1\145\75\0\2\15\7\0\7\15\4\0\4\15" + + "\1\u0184\41\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\1\15\1\u0185\44\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\24\15\1\u0186\21\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\7\15\1\u0187\36\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15" + + "\1\u0188\35\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\20\15\1\u0189\25\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\11\15\1\u018a\34\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u018b\33\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15" + + "\1\u018c\37\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\11\15\1\u018d\34\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\12\15\1\u018e\33\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\30\15\1\u018f\10\15" + + "\1\u0190\4\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\11\15\1\u0191\34\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\1\15\1\u0192\44\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\5\15\1\u0193\40\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\15" + + "\1\u0194\44\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\12\15\1\u0195\33\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\32\15\1\u0196\13\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\6\15\1\u0197\37\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15" + + "\1\u0198\43\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\33\15\1\u0199\12\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\2\15\1\u019a\43\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\16\15\1\u019b\27\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\17\15" + + "\1\u019c\26\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\7\15\1\u019d\36\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\3\15\1\u019e\42\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\1\15\1\u019f\44\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15" + + "\1\u01a0\42\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\1\15\1\u01a1\44\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\2\15\1\u01a2\43\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\15\15\1\u01a3\30\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15" + + "\1\u01a4\42\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\13\15\1\u01a5\32\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\11\15\1\u01a6\34\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u01a7\33\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\23\15" + + "\1\u01a8\22\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\2\15\1\u01a9\43\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\23\15\1\u01aa\22\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\16\15\1\u01ab\27\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15" + + "\1\u01ac\34\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\11\15\1\u01ad\34\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\37\15\1\u01ae\2\15\1\u01af\3\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15" + + "\1\u01b0\43\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\32\15\1\u01b1\13\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\2\15\1\u01b2\43\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\11\15\1\u01b3\34\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15" + + "\1\u01b4\42\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\3\15\1\u01b5\42\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\12\15\1\u01b6\33\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\1\15\1\u01b7\44\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\1\u01b8" + + "\45\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\14\15\1\u01b9\31\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\10\15\1\u01ba\35\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\1\15\1\u01bb\44\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u01bc" + + "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\2\15\1\u01bd\43\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\30\15\1\u01be\15\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\10\15\1\u01bf\35\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01c0" + + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\10\15\1\u01c1\35\15\23\0\1\15\1\u011f\2\0\11\u011f" + + "\1\u0175\1\u011f\1\u0175\105\u011f\6\0\1\u01c2\12\0\2\u01c2" + + "\2\0\1\u01c2\4\0\46\u01c2\32\0\1\u01c3\12\0\2\u01c3" + + "\2\0\1\u01c3\4\0\46\u01c3\32\0\1\u017c\5\0\1\u0179" + + "\1\u017a\3\0\2\u017c\2\0\1\u017c\4\0\46\u017c\40\0" + + "\1\u017a\1\0\1\u01c4\113\0\1\u01c5\1\u017b\3\0\1\114" + + "\1\u0123\2\0\2\u017b\2\u01c5\2\u017b\1\u01c5\4\0\46\u01c5" + + "\23\0\1\u017b\6\0\2\u017c\1\u01c6\3\0\1\u01c7\1\u017a" + + "\1\0\7\u017c\4\0\46\u017c\23\0\1\u017c\6\0\1\u017f" + + "\1\u017d\3\0\1\307\1\u0127\1\u0128\1\0\2\u017d\2\u017f" + + "\2\u017d\1\u017f\4\0\46\u017f\23\0\1\u017d\1\u017e\2\0" + + "\13\u017e\1\u01c8\105\u017e\6\0\2\u017f\1\u0180\2\0\1\307" + + "\1\u0127\1\u0128\1\0\7\u017f\4\0\46\u017f\23\0\1\u017f" + + "\6\0\1\u01c9\12\0\2\u01c9\2\0\1\u01c9\4\0\46\u01c9" + + "\40\0\1\u0181\1\u0128\125\0\2\u01ca\1\0\4\u01ca\4\0" + + "\1\u01ca\1\0\2\u01ca\1\0\1\u01ca\6\0\2\u01ca\12\0" + + "\1\u01ca\1\0\1\u01ca\5\0\2\u01ca\41\0\1\130\5\0" + + "\1\u01cb\1\141\2\0\2\u01cb\1\145\6\0\1\145\75\0" + + "\2\15\7\0\7\15\4\0\10\15\1\u01cc\35\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01cd" + + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\23\15\1\u01ce\22\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\14\15\1\u01cf\31\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\10\15\1\u01d0\35\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\41\15\1\u01d1" + + "\4\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\5\15\1\u01d2\40\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\16\15\1\u01d3\27\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\1\15\1\u01d4\44\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u01d5" + + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\20\15\1\u01d6\25\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\12\15\1\u01d7\33\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\10\15\1\u01d8\35\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u01d9" + + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\21\15\1\u01da\24\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\3\15\1\u01db\42\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\11\15\1\u01dc\34\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u01dd" + + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\15\15\1\u01de\30\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\10\15\1\u01df\35\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\10\15\1\u01e0\4\15\1\u01e1" + + "\30\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\23\15\1\u01e2\22\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\11\15\1\u01e3\34\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\23\15\1\u01e4\22\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u01e5" + + "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\14\15\1\u01e6\31\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\16\15\1\u01e7\27\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\2\15\1\u01e8\43\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\5\15\1\u01e9" + + "\40\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\12\15\1\u01ea\33\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\23\15\1\u01eb\22\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\16\15\1\u01ec\27\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u01ed" + + "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\20\15\1\u01ee\25\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\7\15\1\u01ef\36\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\3\15\1\u01f0\42\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u01f1" + + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\5\15\1\u01f2\40\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\30\15\1\u01f3\13\15\1\u01f4\1\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u01f5" + + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\26\15\1\u01f6\17\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\5\15\1\u01f7\40\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\6\15\1\u01f8\37\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\26\15\1\u01f9" + + "\17\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\16\15\1\u01fa\27\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\23\15\1\u01fb\22\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\1\15\1\u01fc\44\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\10\15\1\u01fd" + + "\35\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\26\15\1\u01fe\17\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\1\15\1\u01ff\44\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\12\15\1\u0200\33\15\23\0" + + "\1\15\6\0\2\u01c2\3\0\1\u0177\3\0\7\u01c2\4\0" + + "\46\u01c2\23\0\1\u01c2\6\0\1\u01c5\1\u01c3\3\0\1\114" + + "\1\u0179\1\u017a\1\0\2\u01c3\2\u01c5\2\u01c3\1\u01c5\4\0" + + "\46\u01c5\23\0\1\u01c3\1\u01c4\2\0\13\u01c4\1\u0201\105\u01c4" + + "\6\0\2\u01c5\1\u01c6\2\0\1\114\1\u0179\1\u017a\1\0" + + "\7\u01c5\4\0\46\u01c5\23\0\1\u01c5\6\0\1\u0202\12\0" + + "\2\u0202\2\0\1\u0202\4\0\46\u0202\40\0\1\u01c7\1\u017a" + + "\106\0\1\u017e\2\0\10\u017e\1\u0203\1\u01c8\1\u017e\1\u01c8" + + "\105\u017e\6\0\2\u01c9\4\0\1\u0181\1\u0128\1\0\7\u01c9" + + "\4\0\46\u01c9\23\0\1\u01c9\17\0\2\u0204\1\0\4\u0204" + + "\4\0\1\u0204\1\0\2\u0204\1\0\1\u0204\6\0\2\u0204" + + "\12\0\1\u0204\1\0\1\u0204\5\0\2\u0204\41\0\1\130" + + "\5\0\1\u0205\1\141\2\0\2\u0205\1\145\6\0\1\145" + + "\75\0\2\15\7\0\7\15\4\0\37\15\1\u0206\6\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15" + + "\1\u0207\37\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\13\15\1\u0208\32\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\1\15\1\u0209\44\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\16\15\1\u020a\27\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15" + + "\1\u020b\42\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\14\15\1\u020c\31\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\2\15\1\u020d\43\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\3\15\1\u020e\42\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15" + + "\1\u020f\42\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\1\15\1\u0210\44\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\43\15\1\u0211\2\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\34\15\1\u0212\11\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\5\15" + + "\1\u0213\40\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\3\15\1\u0214\42\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\3\15\1\u0215\42\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0216\43\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15" + + "\1\u0217\43\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\10\15\1\u0218\35\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\37\15\1\u0219\6\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\11\15\1\u021a\34\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15" + + "\1\u021b\42\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\5\15\1\u021c\40\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\3\15\1\u021d\42\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\22\15\1\u021e\23\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15" + + "\1\u021f\36\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\24\15\1\u0220\21\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\1\15\1\u0221\44\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\3\15\1\u0222\42\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\11\15" + + "\1\u0223\34\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\6\15\1\u0224\37\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\13\15\1\u0225\32\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0226\43\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\2\15" + + "\1\u0227\43\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\11\15\1\u0228\34\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\11\15\1\u0229\34\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u022a\43\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15" + + "\1\u022b\37\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\14\15\1\u022c\31\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\11\15\1\u022d\34\15\23\0\1\15" + + "\1\u01c4\2\0\10\u01c4\1\u022e\1\u0201\1\u01c4\1\u0201\105\u01c4" + + "\6\0\2\u0202\4\0\1\u01c7\1\u017a\1\0\7\u0202\4\0" + + "\46\u0202\23\0\1\u0202\17\0\2\u022f\1\0\4\u022f\4\0" + + "\1\u022f\1\0\2\u022f\1\0\1\u022f\6\0\2\u022f\12\0" + + "\1\u022f\1\0\1\u022f\5\0\2\u022f\41\0\1\130\5\0" + + "\1\u0230\1\141\2\0\2\u0230\1\145\6\0\1\145\75\0" + + "\2\15\7\0\7\15\4\0\7\15\1\u0231\36\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u0232" + + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\3\15\1\u0233\42\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\31\15\1\u0234\14\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\26\15\1\u0235\17\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u0236" + + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\23\15\1\u0237\22\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\5\15\1\u0238\40\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\26\15\1\u0239\17\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u023a" + + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\12\15\1\u023b\33\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\2\15\1\u023c\43\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\16\15\1\u023d\27\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\5\15\1\u023e" + + "\40\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\36\15\1\u023f\7\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\10\15\1\u0240\35\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\2\15\1\u0241\43\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\7\15\1\u0242" + + "\36\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\11\15\1\u0243\34\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\10\15\1\u0244\35\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\10\15\1\u0245\35\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u0246" + + "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\12\15\1\u0247\33\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\23\15\1\u0248\22\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\2\15\1\u0249\43\15\23\0" + + "\1\15\6\0\2\15\7\0\3\15\1\u024a\3\15\4\0" + + "\46\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\23\15\1\u024b\22\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\1\15\1\u024c\44\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\20\15\1\u024d\25\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\1\15\1\u024e" + + "\44\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\12\15\1\u024f\33\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\31\15\1\u0250\11\15\1\u0251\2\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\22\15\1\u0252" + + "\23\15\23\0\1\15\17\0\2\u0253\1\0\4\u0253\4\0" + + "\1\u0253\1\0\2\u0253\1\0\1\u0253\6\0\2\u0253\12\0" + + "\1\u0253\1\0\1\u0253\5\0\2\u0253\41\0\1\130\5\0" + + "\1\u0254\1\141\2\0\2\u0254\1\145\6\0\1\145\75\0" + + "\2\15\7\0\7\15\4\0\24\15\1\u0255\21\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\26\15\1\u0256" + + "\17\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\7\15\1\u0257\36\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\2\15\1\u0258\43\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\2\15\1\u0259\43\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u025a" + + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\11\15\1\u025b\34\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\26\15\1\u025c\17\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\7\15\1\u025d\36\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\2\15\1\u025e" + + "\43\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\7\15\1\u025f\36\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\11\15\1\u0260\34\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\14\15\1\u0261\31\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\24\15\1\u0262" + + "\21\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\2\15\1\u0263\43\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\14\15\1\u0264\31\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\2\15\1\u0265\43\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0266" + + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\2\15\1\u0267\43\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\14\15\1\u0268\31\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\12\15\1\u0269\33\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\12\15\1\u026a" + + "\33\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\7\15\1\u026b\36\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\11\15\1\u026c\34\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\16\15\1\u026d\27\15\23\0" + + "\1\15\17\0\2\u026e\1\0\4\u026e\4\0\1\u026e\1\0" + + "\2\u026e\1\0\1\u026e\6\0\2\u026e\12\0\1\u026e\1\0" + + "\1\u026e\5\0\2\u026e\41\0\1\130\5\0\1\u026f\1\141" + + "\2\0\2\u026f\1\145\6\0\1\145\75\0\2\15\7\0" + + "\7\15\4\0\12\15\1\u0270\33\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\13\15\1\u0271\32\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\11\15\1\u0272" + + "\34\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\20\15\1\u0273\25\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\20\15\1\u0274\25\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\15\15\1\u0275\30\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\3\15\1\u0276" + + "\42\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\6\15\1\u0277\37\15\23\0\1\15\6\0\2\15\7\0" + + "\7\15\4\0\12\15\1\u0278\33\15\23\0\1\15\6\0" + + "\2\15\7\0\7\15\4\0\37\15\1\u0279\6\15\23\0" + + "\1\15\6\0\2\15\7\0\7\15\4\0\44\15\1\u027a" + + "\1\15\23\0\1\15\6\0\2\15\7\0\7\15\4\0" + + "\1\u027b\45\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\11\15\1\u027c\34\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\10\15\1\u027d\35\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\10\15\1\u027e\35\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15" + + "\1\u027f\36\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\3\15\1\u0280\42\15\23\0\1\15\11\0\1\130" + + "\5\0\1\u0281\1\141\2\0\2\u0281\1\145\6\0\1\145" + + "\75\0\2\15\7\0\7\15\4\0\2\15\1\u0282\43\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\10\15" + + "\1\u0283\35\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\35\15\1\u0284\10\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\14\15\1\u0285\31\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0286\43\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\7\15" + + "\1\u0287\36\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\13\15\1\u0288\32\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\16\15\1\u0289\27\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\23\15\1\u028a\22\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\26\15" + + "\1\u028b\17\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\21\15\1\u028c\24\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\22\15\1\u028d\23\15\23\0\1\15" + + "\11\0\1\130\5\0\1\u028e\1\141\2\0\2\u028e\1\145" + + "\6\0\1\145\75\0\2\15\7\0\7\15\4\0\40\15" + + "\1\u028f\5\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\14\15\1\u0290\31\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\13\15\1\u0291\32\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0292\43\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\44\15" + + "\1\u0293\1\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\24\15\1\u0294\21\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\23\15\1\u0295\22\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\2\15\1\u0296\43\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15" + + "\1\u0297\42\15\23\0\1\15\11\0\1\130\5\0\1\u0298" + + "\1\141\2\0\2\u0298\1\145\6\0\1\145\75\0\2\15" + + "\7\0\7\15\4\0\16\15\1\u0299\27\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\6\15\1\u029a\37\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\3\15" + + "\1\u029b\42\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\14\15\1\u029c\31\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\13\15\1\u029d\32\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u029e\33\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\6\15" + + "\1\u029f\37\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\21\15\1\u02a0\24\15\23\0\1\15\11\0\1\130" + + "\5\0\1\u02a1\1\141\2\0\2\u02a1\1\145\6\0\1\145" + + "\75\0\2\15\7\0\7\15\4\0\12\15\1\u02a2\33\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\16\15" + + "\1\u02a3\27\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\23\15\1\u02a4\22\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\2\15\1\u02a5\43\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\44\15\1\u02a6\1\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\44\15" + + "\1\u02a7\1\15\23\0\1\15\11\0\1\130\5\0\1\u02a8" + + "\1\141\2\0\2\u02a8\1\145\6\0\1\145\75\0\2\15" + + "\7\0\7\15\4\0\21\15\1\u02a9\24\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\12\15\1\u02aa\33\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\40\15" + + "\1\u02ab\5\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\13\15\1\u02ac\32\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\13\15\1\u02ad\32\15\23\0\1\15" + + "\11\0\1\130\5\0\1\u02ae\1\141\2\0\2\u02ae\1\145" + + "\6\0\1\145\75\0\2\15\7\0\7\15\4\0\11\15" + + "\1\u02af\34\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\16\15\1\u02b0\27\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\23\15\1\u02b1\22\15\23\0\1\15" + + "\6\0\2\15\7\0\7\15\4\0\23\15\1\u02b2\22\15" + + "\23\0\1\15\6\0\2\15\7\0\7\15\4\0\22\15" + + "\1\u02b3\23\15\23\0\1\15\6\0\2\15\7\0\7\15" + + "\4\0\12\15\1\u02b4\33\15\23\0\1\15\6\0\2\15" + + "\7\0\7\15\4\0\21\15\1\u02b5\24\15\23\0\1\15"; - /** the current lexical state */ - private int zzLexicalState = YYINITIAL; + private static int[] zzUnpackTrans() { + int[] result = new int[45360]; + int offset = 0; + offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result); + return result; + } - /** this buffer contains the current text to be matched and is - the source of the yytext() string */ - private char zzBuffer[] = new char[ZZ_BUFFERSIZE]; + private static int zzUnpackTrans(String packed, int offset, int[] result) { + int i = 0; /* index in packed string */ - /** the textposition at the last accepting state */ - private int zzMarkedPos; + int j = offset; /* index in unpacked array */ - /** the current text position in the buffer */ - private int zzCurrentPos; + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + value--; + do { + result[j++] = value; + } while (--count > 0); + } + return j; + } - /** startRead marks the beginning of the yytext() string in the buffer */ - private int zzStartRead; - /** endRead marks the last character in the buffer, that has been read - from input */ - private int zzEndRead; + /* error codes */ + private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; - /** number of newlines encountered up to the start of the matched text */ - private int yyline; + /* error messages for the codes above */ + private static final String ZZ_ERROR_MSG[] = { + "Unkown internal scanner error", + "Error: could not match input", + "Error: pushback value was too large" + }; - /** the number of characters up to the start of the matched text */ - private int yychar; + /** + * ZZ_ATTRIBUTE[aState] contains the attributes of state aState + */ + private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute(); - /** - * the number of characters from the last newline up to the start of the - * matched text - */ - private int yycolumn; + private static final String ZZ_ATTRIBUTE_PACKED_0 + = "\6\0\1\11\1\1\1\11\11\1\1\11\3\1\2\11" + + "\26\1\10\11\1\1\2\11\5\1\1\11\2\1\2\11" + + "\3\1\1\11\2\1\1\11\1\1\1\11\3\1\1\11" + + "\1\1\1\0\3\11\2\0\1\1\1\0\1\1\2\11" + + "\1\1\1\11\3\1\1\0\2\1\1\0\2\11\75\1" + + "\12\11\2\1\7\11\6\0\1\11\1\1\1\11\2\0" + + "\1\11\3\0\1\11\1\0\1\11\1\1\2\11\4\1" + + "\1\0\112\1\2\11\7\0\1\11\5\0\1\11\112\1" + + "\1\0\1\11\12\0\100\1\10\0\67\1\2\0\153\1" + + "\1\11\107\1"; - /** - * zzAtBOL == true <=> the scanner is currently at the beginning of a line - */ - private boolean zzAtBOL = true; + private static int[] zzUnpackAttribute() { + int[] result = new int[693]; + int offset = 0; + offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result); + return result; + } - /** zzAtEOF == true <=> the scanner is at the EOF */ - private boolean zzAtEOF; + private static int zzUnpackAttribute(String packed, int offset, int[] result) { + int i = 0; /* index in packed string */ - /** denotes if the user-EOF-code has already been executed */ - private boolean zzEOFDone; + int j = offset; /* index in unpacked array */ - /* user code: */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do { + result[j++] = value; + } while (--count > 0); + } + return j; + } + /** + * the input device + */ + private java.io.Reader zzReader; + + /** + * the current state of the DFA + */ + private int zzState; + + /** + * the current lexical state + */ + private int zzLexicalState = YYINITIAL; + + /** + * this buffer contains the current text to be matched and is the source of + * the yytext() string + */ + private char zzBuffer[] = new char[ZZ_BUFFERSIZE]; + + /** + * the textposition at the last accepting state + */ + private int zzMarkedPos; + + /** + * the current text position in the buffer + */ + private int zzCurrentPos; + + /** + * startRead marks the beginning of the yytext() string in the buffer + */ + private int zzStartRead; + + /** + * endRead marks the last character in the buffer, that has been read from + * input + */ + private int zzEndRead; + + /** + * number of newlines encountered up to the start of the matched text + */ + private int yyline; + + /** + * the number of characters up to the start of the matched text + */ + private int yychar; + + /** + * the number of characters from the last newline up to the start of the + * matched text + */ + private int yycolumn; + + /** + * zzAtBOL == true <=> the scanner is currently at the beginning of a line + */ + private boolean zzAtBOL = true; + + /** + * zzAtEOF == true <=> the scanner is at the EOF + */ + private boolean zzAtEOF; + + /** + * denotes if the user-EOF-code has already been executed + */ + private boolean zzEOFDone; + + /* user code: */ StringBuffer string = new StringBuffer(); - private static String xmlTagName=""; + private static String xmlTagName = ""; public int yychar() { return yychar; } - private Stack pushedBack=new Stack(); + private Stack pushedBack = new Stack<>(); public int yyline() { - return yyline+1; + return yyline + 1; } - private List listeners=new ArrayList<>(); + private List listeners = new ArrayList<>(); - public void addListener(LexListener listener){ + public void addListener(LexListener listener) { listeners.add(listener); } - public void removeListener(LexListener listener){ + public void removeListener(LexListener listener) { listeners.remove(listener); } - public void informListenersLex(ParsedSymbol s){ - for(LexListener l:listeners){ + public void informListenersLex(ParsedSymbol s) { + for (LexListener l : listeners) { l.onLex(s); } } - public void informListenersPushBack(ParsedSymbol s){ - for(LexListener l:listeners){ + public void informListenersPushBack(ParsedSymbol s) { + for (LexListener l : listeners) { l.onPushBack(s); } } @@ -1198,1092 +1241,1279 @@ public final class ActionScriptLexer { informListenersPushBack(symb); } ParsedSymbol last; - public ParsedSymbol lex() throws java.io.IOException, ParseException{ - ParsedSymbol ret=null; - if(!pushedBack.isEmpty()){ + + public ParsedSymbol lex() throws java.io.IOException, ParseException { + ParsedSymbol ret = null; + if (!pushedBack.isEmpty()) { ret = last = pushedBack.pop(); - }else{ + } else { ret = last = yylex(); } informListenersLex(ret); return ret; } - - - /** - * Creates a new scanner - * There is also a java.io.InputStream version of this constructor. - * - * @param in the java.io.Reader to read input from. - */ - public ActionScriptLexer(java.io.Reader in) { - this.zzReader = in; - } - - /** - * Creates a new scanner. - * There is also java.io.Reader version of this constructor. - * - * @param in the java.io.Inputstream to read input from. - */ - public ActionScriptLexer(java.io.InputStream in) { - this(new java.io.InputStreamReader - (in, java.nio.charset.Charset.forName("UTF-8"))); - } - - /** - * Unpacks the compressed character translation table. - * - * @param packed the packed character translation table - * @return the unpacked character translation table - */ - private static char [] zzUnpackCMap(String packed) { - char [] map = new char[0x10000]; - int i = 0; /* index in packed string */ - int j = 0; /* index in unpacked array */ - while (i < 2276) { - int count = packed.charAt(i++); - char value = packed.charAt(i++); - do map[j++] = value; while (--count > 0); - } - return map; - } - - - /** - * Refills the input buffer. - * - * @return false, iff there was new input. - * - * @exception java.io.IOException if any I/O-Error occurs - */ - private boolean zzRefill() throws java.io.IOException { - - /* first: make room (if you can) */ - if (zzStartRead > 0) { - System.arraycopy(zzBuffer, zzStartRead, - zzBuffer, 0, - zzEndRead-zzStartRead); - - /* translate stored positions */ - zzEndRead-= zzStartRead; - zzCurrentPos-= zzStartRead; - zzMarkedPos-= zzStartRead; - zzStartRead = 0; + /** + * Creates a new scanner There is also a java.io.InputStream version of this + * constructor. + * + * @param in the java.io.Reader to read input from. + */ + public ActionScriptLexer(java.io.Reader in) { + this.zzReader = in; } - /* is the buffer big enough? */ - if (zzCurrentPos >= zzBuffer.length) { - /* if not: blow it up */ - char newBuffer[] = new char[zzCurrentPos*2]; - System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length); - zzBuffer = newBuffer; + /** + * Creates a new scanner. There is also java.io.Reader version of this + * constructor. + * + * @param in the java.io.Inputstream to read input from. + */ + public ActionScriptLexer(java.io.InputStream in) { + this(new java.io.InputStreamReader(in, java.nio.charset.Charset.forName("UTF-8"))); } - /* finally: fill the buffer with new input */ - int numRead = zzReader.read(zzBuffer, zzEndRead, - zzBuffer.length-zzEndRead); + /** + * Unpacks the compressed character translation table. + * + * @param packed the packed character translation table + * @return the unpacked character translation table + */ + private static char[] zzUnpackCMap(String packed) { + char[] map = new char[0x10000]; + int i = 0; /* index in packed string */ - if (numRead > 0) { - zzEndRead+= numRead; - return false; - } - // unlikely but not impossible: read 0 characters, but not at end of stream - if (numRead == 0) { - int c = zzReader.read(); - if (c == -1) { - return true; - } else { - zzBuffer[zzEndRead++] = (char) c; - return false; - } - } - - // numRead < 0 - return true; - } - - - /** - * Closes the input stream. - */ - public final void yyclose() throws java.io.IOException { - zzAtEOF = true; /* indicate end of file */ - zzEndRead = zzStartRead; /* invalidate buffer */ - - if (zzReader != null) - zzReader.close(); - } - - - /** - * Resets the scanner to read from a new input stream. - * Does not close the old reader. - * - * All internal variables are reset, the old input stream - * cannot be reused (internal buffer is discarded and lost). - * Lexical state is set to ZZ_INITIAL. - * - * Internal scan buffer is resized down to its initial length, if it has grown. - * - * @param reader the new input stream - */ - public final void yyreset(java.io.Reader reader) { - zzReader = reader; - zzAtBOL = true; - zzAtEOF = false; - zzEOFDone = false; - zzEndRead = zzStartRead = 0; - zzCurrentPos = zzMarkedPos = 0; - yyline = yychar = yycolumn = 0; - zzLexicalState = YYINITIAL; - if (zzBuffer.length > ZZ_BUFFERSIZE) - zzBuffer = new char[ZZ_BUFFERSIZE]; - } - - - /** - * Returns the current lexical state. - */ - public final int yystate() { - return zzLexicalState; - } - - - /** - * Enters a new lexical state - * - * @param newState the new lexical state - */ - public final void yybegin(int newState) { - zzLexicalState = newState; - } - - - /** - * Returns the text matched by the current regular expression. - */ - public final String yytext() { - return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead ); - } - - - /** - * Returns the character at position pos from the - * matched text. - * - * It is equivalent to yytext().charAt(pos), but faster - * - * @param pos the position of the character to fetch. - * A value from 0 to yylength()-1. - * - * @return the character at position pos - */ - public final char yycharat(int pos) { - return zzBuffer[zzStartRead+pos]; - } - - - /** - * Returns the length of the matched text region. - */ - public final int yylength() { - return zzMarkedPos-zzStartRead; - } - - - /** - * Reports an error that occured while scanning. - * - * In a wellformed scanner (no or only correct usage of - * yypushback(int) and a match-all fallback rule) this method - * will only be called with things that "Can't Possibly Happen". - * If this method is called, something is seriously wrong - * (e.g. a JFlex bug producing a faulty scanner etc.). - * - * Usual syntax/scanner level error handling should be done - * in error fallback rules. - * - * @param errorCode the code of the errormessage to display - */ - private void zzScanError(int errorCode) { - String message; - try { - message = ZZ_ERROR_MSG[errorCode]; - } - catch (ArrayIndexOutOfBoundsException e) { - message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; - } - - throw new Error(message); - } - - - /** - * Pushes the specified amount of characters back into the input stream. - * - * They will be read again by then next call of the scanning method - * - * @param number the number of characters to be read again. - * This number must not be greater than yylength()! - */ - public void yypushback(int number) { - if ( number > yylength() ) - zzScanError(ZZ_PUSHBACK_2BIG); - - zzMarkedPos -= number; - } - - - /** - * Resumes scanning until the next regular expression is matched, - * the end of input is encountered or an I/O-Error occurs. - * - * @return the next token - * @exception java.io.IOException if any I/O-Error occurs - */ - public ParsedSymbol yylex() throws java.io.IOException, ParseException { - int zzInput; - int zzAction; - - // cached fields: - int zzCurrentPosL; - int zzMarkedPosL; - int zzEndReadL = zzEndRead; - char [] zzBufferL = zzBuffer; - char [] zzCMapL = ZZ_CMAP; - - int [] zzTransL = ZZ_TRANS; - int [] zzRowMapL = ZZ_ROWMAP; - int [] zzAttrL = ZZ_ATTRIBUTE; - - while (true) { - zzMarkedPosL = zzMarkedPos; - - yychar+= zzMarkedPosL-zzStartRead; - - zzAction = -1; - - zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; - - zzState = ZZ_LEXSTATE[zzLexicalState]; - - // set up zzAction for empty match case: - int zzAttributes = zzAttrL[zzState]; - if ( (zzAttributes & 1) == 1 ) { - zzAction = zzState; - } - - - zzForAction: { - while (true) { - - if (zzCurrentPosL < zzEndReadL) - zzInput = zzBufferL[zzCurrentPosL++]; - else if (zzAtEOF) { - zzInput = YYEOF; - break zzForAction; - } - else { - // store back cached positions - zzCurrentPos = zzCurrentPosL; - zzMarkedPos = zzMarkedPosL; - boolean eof = zzRefill(); - // get translated positions and possibly new buffer - zzCurrentPosL = zzCurrentPos; - zzMarkedPosL = zzMarkedPos; - zzBufferL = zzBuffer; - zzEndReadL = zzEndRead; - if (eof) { - zzInput = YYEOF; - break zzForAction; - } - else { - zzInput = zzBufferL[zzCurrentPosL++]; - } - } - int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ]; - if (zzNext == -1) break zzForAction; - zzState = zzNext; - - zzAttributes = zzAttrL[zzState]; - if ( (zzAttributes & 1) == 1 ) { - zzAction = zzState; - zzMarkedPosL = zzCurrentPosL; - if ( (zzAttributes & 8) == 8 ) break zzForAction; - } + int j = 0; /* index in unpacked array */ + while (i < 2276) { + int count = packed.charAt(i++); + char value = packed.charAt(i++); + do { + map[j++] = value; + } while (--count > 0); } - } - - // store back cached position - zzMarkedPos = zzMarkedPosL; - - switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { - case 1: - { - } - case 183: break; - case 2: - { yyline++; - } - case 184: break; - case 3: - { /*ignore*/ - } - case 185: break; - case 4: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DIVIDE,yytext()); - } - case 186: break; - case 5: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MULTIPLY,yytext()); - } - case 187: break; - case 6: - { return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.IDENTIFIER, yytext()); - } - case 188: break; - case 7: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COLON,yytext()); - } - case 189: break; - case 8: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DOT,yytext()); - } - case 190: break; - case 9: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_THAN,yytext()); - } - case 191: break; - case 10: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_THAN,yytext()); - } - case 192: break; - case 11: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN,yytext()); - } - case 193: break; - case 12: - { string.setLength(0); - yybegin(STRING); - } - case 194: break; - case 13: - { return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,new Long(Long.parseLong((yytext())))); - } - case 195: break; - case 14: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MINUS,yytext()); - } - case 196: break; - case 15: - { string.setLength(0); - yybegin(CHARLITERAL); - } - case 197: break; - case 16: - { string.setLength(0); - yybegin(OIDENTIFIER); - } - case 198: break; - case 17: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_OPEN,yytext()); - } - case 199: break; - case 18: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PARENT_CLOSE,yytext()); - } - case 200: break; - case 19: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_OPEN,yytext()); - } - case 201: break; - case 20: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.CURLY_CLOSE,yytext()); - } - case 202: break; - case 21: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_OPEN,yytext()); - } - case 203: break; - case 22: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BRACKET_CLOSE,yytext()); - } - case 204: break; - case 23: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SEMICOLON,yytext()); - } - case 205: break; - case 24: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.COMMA,yytext()); - } - case 206: break; - case 25: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT,yytext()); - } - case 207: break; - case 26: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEGATE,yytext()); - } - case 208: break; - case 27: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TERNAR,yytext()); - } - case 209: break; - case 28: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITAND,yytext()); - } - case 210: break; - case 29: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.BITOR,yytext()); - } - case 211: break; - case 30: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.PLUS,yytext()); - } - case 212: break; - case 31: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.XOR,yytext()); - } - case 213: break; - case 32: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.MODULO,yytext()); - } - case 214: break; - case 33: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ATTRIBUTE,yytext()); - } - case 215: break; - case 34: - { string.append( yytext() ); - } - case 216: break; - case 35: - { yybegin(YYINITIAL); yyline++; - } - case 217: break; - case 36: - { yybegin(YYINITIAL); - // length also includes the trailing quote - return new ParsedSymbol(SymbolGroup.STRING,SymbolType.STRING,string.toString()); - } - case 218: break; - case 37: - { string.append( yytext() ); yyline++; - } - case 219: break; - case 38: - { yybegin(XML); string.append( yytext() ); - } - case 220: break; - case 39: - { yybegin(YYINITIAL); - // length also includes the trailing quote - return new ParsedSymbol(SymbolGroup.IDENTIFIER,SymbolType.IDENTIFIER,string.toString()); - } - case 221: break; - case 40: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_DIVIDE,yytext()); - } - case 222: break; - case 41: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MULTIPLY,yytext()); - } - case 223: break; - case 42: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NAMESPACE_OP,yytext()); - } - case 224: break; - case 43: - { return new ParsedSymbol(SymbolGroup.DOUBLE,SymbolType.DOUBLE,new Double(Double.parseDouble((yytext())))); - } - case 225: break; - case 44: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_LEFT,yytext()); - } - case 226: break; - case 45: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NOT_EQUAL,yytext()); - } - case 227: break; - case 46: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.LOWER_EQUAL,yytext()); - } - case 228: break; - case 47: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.SHIFT_RIGHT,yytext()); - } - case 229: break; - case 48: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.GREATER_EQUAL,yytext()); - } - case 230: break; - case 49: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.EQUALS,yytext()); - } - case 231: break; - case 50: - { return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,new Long(Long.parseLong(yytext(),8))); - } - case 232: break; - case 51: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MINUS,yytext()); - } - case 233: break; - case 52: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DECREMENT,yytext()); - } - case 234: break; - case 53: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AS,yytext()); - } - case 235: break; - case 54: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FULLOR,yytext()); - } - case 236: break; - case 55: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.IS,yytext()); - } - case 237: break; - case 56: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IN,yytext()); - } - case 238: break; - case 57: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IF,yytext()); - } - case 239: break; - case 58: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DO,yytext()); - } - case 240: break; - case 59: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITAND,yytext()); - } - case 241: break; - case 60: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.AND,yytext()); - } - case 242: break; - case 61: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_BITOR,yytext()); - } - case 243: break; - case 62: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.OR,yytext()); - } - case 244: break; - case 63: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_PLUS,yytext()); - } - case 245: break; - case 64: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INCREMENT,yytext()); - } - case 246: break; - case 65: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_XOR,yytext()); - } - case 247: break; - case 66: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_MODULO,yytext()); - } - case 248: break; - case 67: - { throw new ParseException("Illegal escape sequence \""+yytext()+"\"",yyline+1); - } - case 249: break; - case 68: - { string.append( '\"' ); - } - case 250: break; - case 69: - { char val = (char) Integer.parseInt(yytext().substring(1),8); - string.append( val ); - } - case 251: break; - case 70: - { string.append( '\\' ); - } - case 252: break; - case 71: - { string.append( '\'' ); - } - case 253: break; - case 72: - { string.append( '\b' ); - } - case 254: break; - case 73: - { string.append( '\r' ); - } - case 255: break; - case 74: - { string.append( '\n' ); - } - case 256: break; - case 75: - { string.append( '\t' ); - } - case 257: break; - case 76: - { string.append( '\f' ); - } - case 258: break; - case 77: - { string.append( '\u00A7' ); - } - case 259: break; - case 78: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.REST,yytext()); - } - case 260: break; - case 79: - { string.setLength(0); - yybegin(XML); - String s=yytext(); - s=s.substring(1,s.length()-1); - if(s.contains(" ")){ - s=s.substring(0,s.indexOf(" ")); - } - xmlTagName = s; - string.append(yytext()); - } - case 261: break; - case 80: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_LEFT,yytext()); - } - case 262: break; - case 81: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.USHIFT_RIGHT,yytext()); - } - case 263: break; - case 82: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_SHIFT_RIGHT,yytext()); - } - case 264: break; - case 83: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_EQUALS,yytext()); - } - case 265: break; - case 84: - { return new ParsedSymbol(SymbolGroup.INTEGER,SymbolType.INTEGER,new Long(Long.parseLong(yytext().substring(2),16))); - } - case 266: break; - case 85: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.FULLAND,yytext()); - } - case 267: break; - case 86: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.CHR,yytext()); - } - case 268: break; - case 87: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SET,yytext()); - } - case 269: break; - case 88: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.ORD,yytext()); - } - case 270: break; - case 89: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.NEW,yytext()); - } - case 271: break; - case 90: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRY,yytext()); - } - case 272: break; - case 91: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.INT,yytext()); - } - case 273: break; - case 92: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.USE,yytext()); - } - case 274: break; - case 93: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FOR,yytext()); - } - case 275: break; - case 94: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.VAR,yytext()); - } - case 276: break; - case 95: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.GET,yytext()); - } - case 277: break; - case 96: - { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NAN,yytext()); - } - case 278: break; - case 97: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.STRICT_NOT_EQUAL,yytext()); - } - case 279: break; - case 98: - { String t=yytext(); return new ParsedSymbol(SymbolGroup.TYPENAME,SymbolType.TYPENAME,t.substring(2,t.length()-1)); - } - case 280: break; - case 99: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.ASSIGN_USHIFT_RIGHT,yytext()); - } - case 281: break; - case 100: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EACH,yytext()); - } - case 282: break; - case 101: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.ELSE,yytext()); - } - case 283: break; - case 102: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.EVAL,yytext()); - } - case 284: break; - case 103: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CASE,yytext()); - } - case 285: break; - case 104: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.CALL,yytext()); - } - case 286: break; - case 105: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STOP,yytext()); - } - case 287: break; - case 106: - { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NULL,yytext()); - } - case 288: break; - case 107: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.TRUE,yytext()); - } - case 289: break; - case 108: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THIS,yytext()); - } - case 290: break; - case 109: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WITH,yytext()); - } - case 291: break; - case 110: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PLAY,yytext()); - } - case 292: break; - case 111: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.VOID,yytext()); - } - case 293: break; - case 112: - { string.append( yytext() ); - String endtagname=yytext(); - endtagname=endtagname.substring(2,endtagname.length()-1); - if(endtagname.equals(xmlTagName)){ - yybegin(YYINITIAL); - return new ParsedSymbol(SymbolGroup.XML,SymbolType.XML, string.toString()); - } - } - case 294: break; - case 113: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.BREAK,yytext()); - } - case 295: break; - case 114: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CATCH,yytext()); - } - case 296: break; - case 115: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONST,yytext()); - } - case 297: break; - case 116: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CLASS,yytext()); - } - case 298: break; - case 117: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SUPER,yytext()); - } - case 299: break; - case 118: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TRACE,yytext()); - } - case 300: break; - case 119: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.THROW,yytext()); - } - case 301: break; - case 120: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FALSE,yytext()); - } - case 302: break; - case 121: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.WHILE,yytext()); - } - case 303: break; - case 122: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINT,yytext()); - } - case 304: break; - case 123: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBCHR,yytext()); - } - case 305: break; - case 124: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBORD,yytext()); - } - case 306: break; - case 125: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.RETURN,yytext()); - } - case 307: break; - case 126: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.RANDOM,yytext()); - } - case 308: break; - case 127: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.STATIC,yytext()); - } - case 309: break; - case 128: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.SUBSTR,yytext()); - } - case 310: break; - case 129: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.SWITCH,yytext()); - } - case 311: break; - case 130: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.TYPEOF,yytext()); - } - case 312: break; - case 131: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPORT,yytext()); - } - case 313: break; - case 132: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.DELETE,yytext()); - } - case 314: break; - case 133: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LENGTH,yytext()); - } - case 315: break; - case 134: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PUBLIC,yytext()); - } - case 316: break; - case 135: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GETURL,yytext()); - } - case 317: break; - case 136: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STRING_OP,yytext()); - } - case 318: break; - case 137: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.NUMBER_OP,yytext()); - } - case 319: break; - case 138: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.EXTENDS,yytext()); - } - case 320: break; - case 139: - { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.NEWLINE,yytext()); - } - case 321: break; - case 140: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DEFAULT,yytext()); - } - case 322: break; - case 141: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.DYNAMIC,yytext()); - } - case 323: break; - case 142: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FINALLY,yytext()); - } - case 324: break; - case 143: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PRIVATE,yytext()); - } - case 325: break; - case 144: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PACKAGE,yytext()); - } - case 326: break; - case 145: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.CONTINUE,yytext()); - } - case 327: break; - case 146: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STOPDRAG,yytext()); - } - case 328: break; - case 147: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.OVERRIDE,yytext()); - } - case 329: break; - case 148: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERNAL,yytext()); - } - case 330: break; - case 149: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.FUNCTION,yytext()); - } - case 331: break; - case 150: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINTNUM,yytext()); - } - case 332: break; - case 151: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBLENGTH,yytext()); - } - case 333: break; - case 152: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GETTIMER,yytext()); - } - case 334: break; - case 153: - { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.INFINITY,yytext()); - } - case 335: break; - case 154: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STARTDRAG,yytext()); - } - case 336: break; - case 155: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.NEXTFRAME,yytext()); - } - case 337: break; - case 156: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.NAMESPACE,yytext()); - } - case 338: break; - case 157: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.INTERFACE,yytext()); - } - case 339: break; - case 158: - { return new ParsedSymbol(SymbolGroup.GLOBALCONST,SymbolType.UNDEFINED,yytext()); - } - case 340: break; - case 159: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.FSCOMMAND,yytext()); - } - case 341: break; - case 160: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADMOVIE,yytext()); - } - case 342: break; - case 161: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PREVFRAME,yytext()); - } - case 343: break; - case 162: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.PROTECTED,yytext()); - } - case 344: break; - case 163: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TELLTARGET,yytext()); - } - case 345: break; - case 164: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TARGETPATH,yytext()); - } - case 346: break; - case 165: - { return new ParsedSymbol(SymbolGroup.OPERATOR,SymbolType.INSTANCEOF,yytext()); - } - case 347: break; - case 166: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IMPLEMENTS,yytext()); - } - case 348: break; - case 167: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GETVERSION,yytext()); - } - case 349: break; - case 168: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.UNLOADMOVIE,yytext()); - } - case 350: break; - case 169: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.MBSUBSTRING,yytext()); - } - case 351: break; - case 170: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GOTOANDSTOP,yytext()); - } - case 352: break; - case 171: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.GOTOANDPLAY,yytext()); - } - case 353: break; - case 172: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADMOVIENUM,yytext()); - } - case 354: break; - case 173: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.STOPALLSOUNDS,yytext()); - } - case 355: break; - case 174: - { return new ParsedSymbol(SymbolGroup.KEYWORD,SymbolType.IFFRAMELOADED,yytext()); - } - case 356: break; - case 175: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADVARIABLES,yytext()); - } - case 357: break; - case 176: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINTASBITMAP,yytext()); - } - case 358: break; - case 177: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.UNLOADMOVIENUM,yytext()); - } - case 359: break; - case 178: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.REMOVEMOVIECLIP,yytext()); - } - case 360: break; - case 179: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.LOADVARIABLESNUM,yytext()); - } - case 361: break; - case 180: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.PRINTASBITMAPNUM,yytext()); - } - case 362: break; - case 181: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.TOGGLEHIGHQUALITY,yytext()); - } - case 363: break; - case 182: - { return new ParsedSymbol(SymbolGroup.GLOBALFUNC,SymbolType.DUPLICATEMOVIECLIP,yytext()); - } - case 364: break; - default: - if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { - zzAtEOF = true; - { - return new ParsedSymbol(SymbolGroup.EOF,SymbolType.EOF,null); - } - } - else { - zzScanError(ZZ_NO_MATCH); - } - } + return map; } - } + /** + * Refills the input buffer. + * + * @return false, iff there was new input. + * + * @exception java.io.IOException if any I/O-Error occurs + */ + private boolean zzRefill() throws java.io.IOException { + + /* first: make room (if you can) */ + if (zzStartRead > 0) { + System.arraycopy(zzBuffer, zzStartRead, + zzBuffer, 0, + zzEndRead - zzStartRead); + + /* translate stored positions */ + zzEndRead -= zzStartRead; + zzCurrentPos -= zzStartRead; + zzMarkedPos -= zzStartRead; + zzStartRead = 0; + } + + /* is the buffer big enough? */ + if (zzCurrentPos >= zzBuffer.length) { + /* if not: blow it up */ + char newBuffer[] = new char[zzCurrentPos * 2]; + System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length); + zzBuffer = newBuffer; + } + + /* finally: fill the buffer with new input */ + int numRead = zzReader.read(zzBuffer, zzEndRead, + zzBuffer.length - zzEndRead); + + if (numRead > 0) { + zzEndRead += numRead; + return false; + } + // unlikely but not impossible: read 0 characters, but not at end of stream + if (numRead == 0) { + int c = zzReader.read(); + if (c == -1) { + return true; + } else { + zzBuffer[zzEndRead++] = (char) c; + return false; + } + } + + // numRead < 0 + return true; + } + + /** + * Closes the input stream. + * + * @throws java.io.IOException + */ + public final void yyclose() throws java.io.IOException { + zzAtEOF = true; /* indicate end of file */ + + zzEndRead = zzStartRead; /* invalidate buffer */ + + if (zzReader != null) { + zzReader.close(); + } + } + + /** + * Resets the scanner to read from a new input stream. Does not close the + * old reader. + * + * All internal variables are reset, the old input stream + * cannot be reused (internal buffer is discarded and lost). Lexical + * state is set to ZZ_INITIAL. + * + * Internal scan buffer is resized down to its initial length, if it has + * grown. + * + * @param reader the new input stream + */ + public final void yyreset(java.io.Reader reader) { + zzReader = reader; + zzAtBOL = true; + zzAtEOF = false; + zzEOFDone = false; + zzEndRead = zzStartRead = 0; + zzCurrentPos = zzMarkedPos = 0; + yyline = yychar = yycolumn = 0; + zzLexicalState = YYINITIAL; + if (zzBuffer.length > ZZ_BUFFERSIZE) { + zzBuffer = new char[ZZ_BUFFERSIZE]; + } + } + + /** + * Returns the current lexical state. + * + * @return + */ + public final int yystate() { + return zzLexicalState; + } + + /** + * Enters a new lexical state + * + * @param newState the new lexical state + */ + public final void yybegin(int newState) { + zzLexicalState = newState; + } + + /** + * Returns the text matched by the current regular expression. + * + * @return + */ + public final String yytext() { + return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead); + } + + /** + * Returns the character at position pos from the matched text. + * + * It is equivalent to yytext().charAt(pos), but faster + * + * @param pos the position of the character to fetch. A value from 0 to + * yylength()-1. + * + * @return the character at position pos + */ + public final char yycharat(int pos) { + return zzBuffer[zzStartRead + pos]; + } + + /** + * Returns the length of the matched text region. + * + * @return + */ + public final int yylength() { + return zzMarkedPos - zzStartRead; + } + + /** + * Reports an error that occured while scanning. + * + * In a wellformed scanner (no or only correct usage of yypushback(int) and + * a match-all fallback rule) this method will only be called with things + * that "Can't Possibly Happen". If this method is called, something is + * seriously wrong (e.g. a JFlex bug producing a faulty scanner etc.). + * + * Usual syntax/scanner level error handling should be done in error + * fallback rules. + * + * @param errorCode the code of the errormessage to display + */ + private void zzScanError(int errorCode) { + String message; + try { + message = ZZ_ERROR_MSG[errorCode]; + } catch (ArrayIndexOutOfBoundsException e) { + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; + } + + throw new Error(message); + } + + /** + * Pushes the specified amount of characters back into the input stream. + * + * They will be read again by then next call of the scanning method + * + * @param number the number of characters to be read again. This number must + * not be greater than yylength()! + */ + public void yypushback(int number) { + if (number > yylength()) { + zzScanError(ZZ_PUSHBACK_2BIG); + } + + zzMarkedPos -= number; + } + + /** + * Resumes scanning until the next regular expression is matched, the end of + * input is encountered or an I/O-Error occurs. + * + * @return the next token + * @exception java.io.IOException if any I/O-Error occurs + * @throws com.jpexs.decompiler.flash.action.parser.ParseException + */ + public ParsedSymbol yylex() throws java.io.IOException, ParseException { + int zzInput; + int zzAction; + + // cached fields: + int zzCurrentPosL; + int zzMarkedPosL; + int zzEndReadL = zzEndRead; + char[] zzBufferL = zzBuffer; + char[] zzCMapL = ZZ_CMAP; + + int[] zzTransL = ZZ_TRANS; + int[] zzRowMapL = ZZ_ROWMAP; + int[] zzAttrL = ZZ_ATTRIBUTE; + + while (true) { + zzMarkedPosL = zzMarkedPos; + + yychar += zzMarkedPosL - zzStartRead; + + zzAction = -1; + + zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; + + zzState = ZZ_LEXSTATE[zzLexicalState]; + + // set up zzAction for empty match case: + int zzAttributes = zzAttrL[zzState]; + if ((zzAttributes & 1) == 1) { + zzAction = zzState; + } + + zzForAction: + { + while (true) { + + if (zzCurrentPosL < zzEndReadL) { + zzInput = zzBufferL[zzCurrentPosL++]; + } else if (zzAtEOF) { + zzInput = YYEOF; + break zzForAction; + } else { + // store back cached positions + zzCurrentPos = zzCurrentPosL; + zzMarkedPos = zzMarkedPosL; + boolean eof = zzRefill(); + // get translated positions and possibly new buffer + zzCurrentPosL = zzCurrentPos; + zzMarkedPosL = zzMarkedPos; + zzBufferL = zzBuffer; + zzEndReadL = zzEndRead; + if (eof) { + zzInput = YYEOF; + break zzForAction; + } else { + zzInput = zzBufferL[zzCurrentPosL++]; + } + } + int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput]]; + if (zzNext == -1) { + break zzForAction; + } + zzState = zzNext; + + zzAttributes = zzAttrL[zzState]; + if ((zzAttributes & 1) == 1) { + zzAction = zzState; + zzMarkedPosL = zzCurrentPosL; + if ((zzAttributes & 8) == 8) { + break zzForAction; + } + } + + } + } + + // store back cached position + zzMarkedPos = zzMarkedPosL; + + switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { + case 1: { + } + case 183: + break; + case 2: { + yyline++; + } + case 184: + break; + case 3: { /*ignore*/ + + } + case 185: + break; + case 4: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DIVIDE, yytext()); + } + case 186: + break; + case 5: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MULTIPLY, yytext()); + } + case 187: + break; + case 6: { + return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, yytext()); + } + case 188: + break; + case 7: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COLON, yytext()); + } + case 189: + break; + case 8: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DOT, yytext()); + } + case 190: + break; + case 9: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_THAN, yytext()); + } + case 191: + break; + case 10: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_THAN, yytext()); + } + case 192: + break; + case 11: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN, yytext()); + } + case 193: + break; + case 12: { + string.setLength(0); + yybegin(STRING); + } + case 194: + break; + case 13: { + return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, new Long(Long.parseLong((yytext())))); + } + case 195: + break; + case 14: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MINUS, yytext()); + } + case 196: + break; + case 15: { + string.setLength(0); + yybegin(CHARLITERAL); + } + case 197: + break; + case 16: { + string.setLength(0); + yybegin(OIDENTIFIER); + } + case 198: + break; + case 17: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_OPEN, yytext()); + } + case 199: + break; + case 18: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_CLOSE, yytext()); + } + case 200: + break; + case 19: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_OPEN, yytext()); + } + case 201: + break; + case 20: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_CLOSE, yytext()); + } + case 202: + break; + case 21: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_OPEN, yytext()); + } + case 203: + break; + case 22: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_CLOSE, yytext()); + } + case 204: + break; + case 23: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SEMICOLON, yytext()); + } + case 205: + break; + case 24: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COMMA, yytext()); + } + case 206: + break; + case 25: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT, yytext()); + } + case 207: + break; + case 26: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEGATE, yytext()); + } + case 208: + break; + case 27: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TERNAR, yytext()); + } + case 209: + break; + case 28: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITAND, yytext()); + } + case 210: + break; + case 29: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITOR, yytext()); + } + case 211: + break; + case 30: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PLUS, yytext()); + } + case 212: + break; + case 31: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.XOR, yytext()); + } + case 213: + break; + case 32: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MODULO, yytext()); + } + case 214: + break; + case 33: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ATTRIBUTE, yytext()); + } + case 215: + break; + case 34: { + string.append(yytext()); + } + case 216: + break; + case 35: { + yybegin(YYINITIAL); + yyline++; + } + case 217: + break; + case 36: { + yybegin(YYINITIAL); + // length also includes the trailing quote + return new ParsedSymbol(SymbolGroup.STRING, SymbolType.STRING, string.toString()); + } + case 218: + break; + case 37: { + string.append(yytext()); + yyline++; + } + case 219: + break; + case 38: { + yybegin(XML); + string.append(yytext()); + } + case 220: + break; + case 39: { + yybegin(YYINITIAL); + // length also includes the trailing quote + return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, string.toString()); + } + case 221: + break; + case 40: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_DIVIDE, yytext()); + } + case 222: + break; + case 41: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MULTIPLY, yytext()); + } + case 223: + break; + case 42: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NAMESPACE_OP, yytext()); + } + case 224: + break; + case 43: { + return new ParsedSymbol(SymbolGroup.DOUBLE, SymbolType.DOUBLE, new Double(Double.parseDouble((yytext())))); + } + case 225: + break; + case 44: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_LEFT, yytext()); + } + case 226: + break; + case 45: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT_EQUAL, yytext()); + } + case 227: + break; + case 46: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_EQUAL, yytext()); + } + case 228: + break; + case 47: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_RIGHT, yytext()); + } + case 229: + break; + case 48: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_EQUAL, yytext()); + } + case 230: + break; + case 49: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.EQUALS, yytext()); + } + case 231: + break; + case 50: { + return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, new Long(Long.parseLong(yytext(), 8))); + } + case 232: + break; + case 51: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MINUS, yytext()); + } + case 233: + break; + case 52: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DECREMENT, yytext()); + } + case 234: + break; + case 53: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AS, yytext()); + } + case 235: + break; + case 54: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FULLOR, yytext()); + } + case 236: + break; + case 55: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.IS, yytext()); + } + case 237: + break; + case 56: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IN, yytext()); + } + case 238: + break; + case 57: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IF, yytext()); + } + case 239: + break; + case 58: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DO, yytext()); + } + case 240: + break; + case 59: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITAND, yytext()); + } + case 241: + break; + case 60: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AND, yytext()); + } + case 242: + break; + case 61: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITOR, yytext()); + } + case 243: + break; + case 62: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.OR, yytext()); + } + case 244: + break; + case 63: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_PLUS, yytext()); + } + case 245: + break; + case 64: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INCREMENT, yytext()); + } + case 246: + break; + case 65: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_XOR, yytext()); + } + case 247: + break; + case 66: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MODULO, yytext()); + } + case 248: + break; + case 67: { + throw new ParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1); + } + case 249: + break; + case 68: { + string.append('\"'); + } + case 250: + break; + case 69: { + char val = (char) Integer.parseInt(yytext().substring(1), 8); + string.append(val); + } + case 251: + break; + case 70: { + string.append('\\'); + } + case 252: + break; + case 71: { + string.append('\''); + } + case 253: + break; + case 72: { + string.append('\b'); + } + case 254: + break; + case 73: { + string.append('\r'); + } + case 255: + break; + case 74: { + string.append('\n'); + } + case 256: + break; + case 75: { + string.append('\t'); + } + case 257: + break; + case 76: { + string.append('\f'); + } + case 258: + break; + case 77: { + string.append('\u00A7'); + } + case 259: + break; + case 78: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.REST, yytext()); + } + case 260: + break; + case 79: { + string.setLength(0); + yybegin(XML); + String s = yytext(); + s = s.substring(1, s.length() - 1); + if (s.contains(" ")) { + s = s.substring(0, s.indexOf(' ')); + } + xmlTagName = s; + string.append(yytext()); + } + case 261: + break; + case 80: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_LEFT, yytext()); + } + case 262: + break; + case 81: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.USHIFT_RIGHT, yytext()); + } + case 263: + break; + case 82: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_RIGHT, yytext()); + } + case 264: + break; + case 83: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_EQUALS, yytext()); + } + case 265: + break; + case 84: { + return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, new Long(Long.parseLong(yytext().substring(2), 16))); + } + case 266: + break; + case 85: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FULLAND, yytext()); + } + case 267: + break; + case 86: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.CHR, yytext()); + } + case 268: + break; + case 87: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SET, yytext()); + } + case 269: + break; + case 88: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.ORD, yytext()); + } + case 270: + break; + case 89: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEW, yytext()); + } + case 271: + break; + case 90: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRY, yytext()); + } + case 272: + break; + case 91: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.INT, yytext()); + } + case 273: + break; + case 92: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.USE, yytext()); + } + case 274: + break; + case 93: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FOR, yytext()); + } + case 275: + break; + case 94: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext()); + } + case 276: + break; + case 95: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.GET, yytext()); + } + case 277: + break; + case 96: { + return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NAN, yytext()); + } + case 278: + break; + case 97: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_NOT_EQUAL, yytext()); + } + case 279: + break; + case 98: { + String t = yytext(); + return new ParsedSymbol(SymbolGroup.TYPENAME, SymbolType.TYPENAME, t.substring(2, t.length() - 1)); + } + case 280: + break; + case 99: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_USHIFT_RIGHT, yytext()); + } + case 281: + break; + case 100: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EACH, yytext()); + } + case 282: + break; + case 101: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.ELSE, yytext()); + } + case 283: + break; + case 102: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.EVAL, yytext()); + } + case 284: + break; + case 103: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CASE, yytext()); + } + case 285: + break; + case 104: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.CALL, yytext()); + } + case 286: + break; + case 105: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOP, yytext()); + } + case 287: + break; + case 106: { + return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext()); + } + case 288: + break; + case 107: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRUE, yytext()); + } + case 289: + break; + case 108: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext()); + } + case 290: + break; + case 109: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext()); + } + case 291: + break; + case 110: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PLAY, yytext()); + } + case 292: + break; + case 111: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.VOID, yytext()); + } + case 293: + break; + case 112: { + string.append(yytext()); + String endtagname = yytext(); + endtagname = endtagname.substring(2, endtagname.length() - 1); + if (endtagname.equals(xmlTagName)) { + yybegin(YYINITIAL); + return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML, string.toString()); + } + } + case 294: + break; + case 113: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.BREAK, yytext()); + } + case 295: + break; + case 114: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CATCH, yytext()); + } + case 296: + break; + case 115: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONST, yytext()); + } + case 297: + break; + case 116: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CLASS, yytext()); + } + case 298: + break; + case 117: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SUPER, yytext()); + } + case 299: + break; + case 118: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TRACE, yytext()); + } + case 300: + break; + case 119: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THROW, yytext()); + } + case 301: + break; + case 120: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext()); + } + case 302: + break; + case 121: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext()); + } + case 303: + break; + case 122: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINT, yytext()); + } + case 304: + break; + case 123: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBCHR, yytext()); + } + case 305: + break; + case 124: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBORD, yytext()); + } + case 306: + break; + case 125: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.RETURN, yytext()); + } + case 307: + break; + case 126: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.RANDOM, yytext()); + } + case 308: + break; + case 127: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.STATIC, yytext()); + } + case 309: + break; + case 128: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.SUBSTR, yytext()); + } + case 310: + break; + case 129: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SWITCH, yytext()); + } + case 311: + break; + case 130: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TYPEOF, yytext()); + } + case 312: + break; + case 131: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext()); + } + case 313: + break; + case 132: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DELETE, yytext()); + } + case 314: + break; + case 133: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LENGTH, yytext()); + } + case 315: + break; + case 134: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext()); + } + case 316: + break; + case 135: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETURL, yytext()); + } + case 317: + break; + case 136: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STRING_OP, yytext()); + } + case 318: + break; + case 137: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.NUMBER_OP, yytext()); + } + case 319: + break; + case 138: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EXTENDS, yytext()); + } + case 320: + break; + case 139: { + return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NEWLINE, yytext()); + } + case 321: + break; + case 140: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DEFAULT, yytext()); + } + case 322: + break; + case 141: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DYNAMIC, yytext()); + } + case 323: + break; + case 142: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINALLY, yytext()); + } + case 324: + break; + case 143: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext()); + } + case 325: + break; + case 144: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PACKAGE, yytext()); + } + case 326: + break; + case 145: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONTINUE, yytext()); + } + case 327: + break; + case 146: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOPDRAG, yytext()); + } + case 328: + break; + case 147: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.OVERRIDE, yytext()); + } + case 329: + break; + case 148: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERNAL, yytext()); + } + case 330: + break; + case 149: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FUNCTION, yytext()); + } + case 331: + break; + case 150: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTNUM, yytext()); + } + case 332: + break; + case 151: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBLENGTH, yytext()); + } + case 333: + break; + case 152: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETTIMER, yytext()); + } + case 334: + break; + case 153: { + return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.INFINITY, yytext()); + } + case 335: + break; + case 154: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STARTDRAG, yytext()); + } + case 336: + break; + case 155: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.NEXTFRAME, yytext()); + } + case 337: + break; + case 156: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.NAMESPACE, yytext()); + } + case 338: + break; + case 157: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERFACE, yytext()); + } + case 339: + break; + case 158: { + return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.UNDEFINED, yytext()); + } + case 340: + break; + case 159: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.FSCOMMAND, yytext()); + } + case 341: + break; + case 160: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADMOVIE, yytext()); + } + case 342: + break; + case 161: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PREVFRAME, yytext()); + } + case 343: + break; + case 162: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext()); + } + case 344: + break; + case 163: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TELLTARGET, yytext()); + } + case 345: + break; + case 164: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TARGETPATH, yytext()); + } + case 346: + break; + case 165: { + return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INSTANCEOF, yytext()); + } + case 347: + break; + case 166: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPLEMENTS, yytext()); + } + case 348: + break; + case 167: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GETVERSION, yytext()); + } + case 349: + break; + case 168: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.UNLOADMOVIE, yytext()); + } + case 350: + break; + case 169: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.MBSUBSTRING, yytext()); + } + case 351: + break; + case 170: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GOTOANDSTOP, yytext()); + } + case 352: + break; + case 171: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.GOTOANDPLAY, yytext()); + } + case 353: + break; + case 172: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADMOVIENUM, yytext()); + } + case 354: + break; + case 173: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.STOPALLSOUNDS, yytext()); + } + case 355: + break; + case 174: { + return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IFFRAMELOADED, yytext()); + } + case 356: + break; + case 175: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADVARIABLES, yytext()); + } + case 357: + break; + case 176: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTASBITMAP, yytext()); + } + case 358: + break; + case 177: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.UNLOADMOVIENUM, yytext()); + } + case 359: + break; + case 178: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.REMOVEMOVIECLIP, yytext()); + } + case 360: + break; + case 179: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.LOADVARIABLESNUM, yytext()); + } + case 361: + break; + case 180: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.PRINTASBITMAPNUM, yytext()); + } + case 362: + break; + case 181: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.TOGGLEHIGHQUALITY, yytext()); + } + case 363: + break; + case 182: { + return new ParsedSymbol(SymbolGroup.GLOBALFUNC, SymbolType.DUPLICATEMOVIECLIP, yytext()); + } + case 364: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + { + return new ParsedSymbol(SymbolGroup.EOF, SymbolType.EOF, null); + } + } else { + zzScanError(ZZ_NO_MATCH); + } + } + } + } } diff --git a/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java b/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java index 78d3dddb3..1f94ce734 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/DecompiledEditorPane.java @@ -322,7 +322,7 @@ public class DecompiledEditorPane extends LineMarkedEditorPane implements CaretL String name = ""; if (abc != null) { if (classIndex > -1) { - name = abc.instance_info.get(classIndex).getName(abc.constants).getNameWithNamespace(abc.constants,false); + name = abc.instance_info.get(classIndex).getName(abc.constants).getNameWithNamespace(abc.constants, false); } } currentTrait = null; @@ -333,7 +333,7 @@ public class DecompiledEditorPane extends LineMarkedEditorPane implements CaretL currentTrait = abc.findTraitByTraitId(classIndex, lastTraitIndex); isStatic = abc.isStaticTraitId(classIndex, lastTraitIndex); if (currentTrait != null) { - name += ":" + currentTrait.getName(abc).getName(abc.constants, new ArrayList(),false); + name += ":" + currentTrait.getName(abc).getName(abc.constants, new ArrayList(), false); } } } @@ -371,11 +371,11 @@ public class DecompiledEditorPane extends LineMarkedEditorPane implements CaretL String name = ""; currentTrait = null; if (abc != null) { - name = abc.instance_info.get(classIndex).getName(abc.constants).getNameWithNamespace(abc.constants,false); + name = abc.instance_info.get(classIndex).getName(abc.constants).getNameWithNamespace(abc.constants, false); currentTrait = abc.findTraitByTraitId(classIndex, lastTraitIndex); isStatic = abc.isStaticTraitId(classIndex, lastTraitIndex); if (currentTrait != null) { - name += ":" + currentTrait.getName(abc).getName(abc.constants, new ArrayList(),false); + name += ":" + currentTrait.getName(abc).getName(abc.constants, new ArrayList(), false); } } diff --git a/src/com/jpexs/decompiler/flash/gui/abc/DetailPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/DetailPanel.java index c848ad36f..f985c86e3 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/DetailPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/DetailPanel.java @@ -169,7 +169,7 @@ public class DetailPanel extends JPanel implements ActionListener { if (trait == null) { traitNameLabel.setText("-"); } else { - traitNameLabel.setText(trait.getName(abcPanel.abc).getName(abcPanel.abc.constants, new ArrayList(),false)); + traitNameLabel.setText(trait.getName(abcPanel.abc).getName(abcPanel.abc.constants, new ArrayList(), false)); } } }); diff --git a/src/com/jpexs/decompiler/flash/gui/abc/TraitsListItem.java b/src/com/jpexs/decompiler/flash/gui/abc/TraitsListItem.java index 4253bf7f7..89843ec4a 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/TraitsListItem.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/TraitsListItem.java @@ -74,9 +74,9 @@ public class TraitsListItem { public String toStringName() { if ((type != Type.INITIALIZER) && isStatic) { - return abc.class_info.get(classIndex).static_traits.traits.get(index).getName(abc).getName(abc.constants, new ArrayList(),false); + return abc.class_info.get(classIndex).static_traits.traits.get(index).getName(abc).getName(abc.constants, new ArrayList(), false); } else if ((type != Type.INITIALIZER) && (!isStatic)) { - return abc.instance_info.get(classIndex).instance_traits.traits.get(index).getName(abc).getName(abc.constants, new ArrayList(),false); + return abc.instance_info.get(classIndex).instance_traits.traits.get(index).getName(abc).getName(abc.constants, new ArrayList(), false); } else if (!isStatic) { return "__" + STR_INSTANCE_INITIALIZER; } else { diff --git a/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java b/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java index 42f1effcc..b0ae6de29 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/UsageFrame.java @@ -93,7 +93,7 @@ public class UsageFrame extends AppDialog implements ActionListener, MouseListen cont.add(new JScrollPane(usageList), BorderLayout.CENTER); cont.add(buttonsPanel, BorderLayout.SOUTH); setSize(400, 300); - setTitle((definitions ? translate("dialog.title.declaration") : translate("dialog.title")) + abc.constants.getMultiname(multinameIndex).getNameWithNamespace(abc.constants,false)); + setTitle((definitions ? translate("dialog.title.declaration") : translate("dialog.title")) + abc.constants.getMultiname(multinameIndex).getNameWithNamespace(abc.constants, false)); View.centerScreen(this); View.setWindowIcon(this); } @@ -134,7 +134,7 @@ public class UsageFrame extends AppDialog implements ActionListener, MouseListen settrait.run(); } else { abcPanel.decompiledTextArea.addScriptListener(settrait); - abcPanel.hilightScript(abcPanel.swf, abcPanel.abc.instance_info.get(icu.classIndex).getName(abcPanel.abc.constants).getNameWithNamespace(abcPanel.abc.constants,false)); + abcPanel.hilightScript(abcPanel.swf, abcPanel.abc.instance_info.get(icu.classIndex).getName(abcPanel.abc.constants).getNameWithNamespace(abcPanel.abc.constants, false)); } } } diff --git a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/MultinameTableModel.java b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/MultinameTableModel.java index 899e9a35a..90b109ecd 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/MultinameTableModel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/tablemodels/MultinameTableModel.java @@ -126,7 +126,7 @@ public class MultinameTableModel implements TableModel { if (abc.constants.getMultiname(rowIndex).name_index == -1) { return ""; } - return abc.constants.getMultiname(rowIndex).getName(abc.constants, new ArrayList(),true); + return abc.constants.getMultiname(rowIndex).getName(abc.constants, new ArrayList(), true); case 3: if (rowIndex == 0) { return "";