diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/IdentifiersDeobfuscation.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/IdentifiersDeobfuscation.java
index e9fd525f7..8054cc621 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/IdentifiersDeobfuscation.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/IdentifiersDeobfuscation.java
@@ -49,7 +49,7 @@ public class IdentifiersDeobfuscation {
public static final String VALID_NEXT_CHARACTERS = VALID_FIRST_CHARACTERS + "\\p{Nl}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}";
private static final Pattern VALID_NAME_PATTERN = Pattern.compile("^[a-zA-Z_\\$][a-zA-Z0-9_\\$]*$");
-
+
private static final Pattern IDENTIFIER_PATTERN = Pattern.compile("^[" + VALID_FIRST_CHARACTERS + "][" + VALID_NEXT_CHARACTERS + "]*$");
public static final String FOO_CHARACTERS = "bcdfghjklmnpqrstvwz";
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java
index 26b0ce09d..34e800683 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java
@@ -50,7 +50,7 @@ public class ABCInputStream implements AutoCloseable {
public static final boolean DEBUG_READ = false;
public DumpInfo dumpInfo;
-
+
private byte[] stringDataBuffer = new byte[256];
public void startBuffer() {
@@ -477,17 +477,17 @@ public class ABCInputStream implements AutoCloseable {
public String readString(String name) throws IOException {
newDumpLevel(name, "String");
int length = readU30Internal();
-
+
// avoid creating new byte array every time
if (stringDataBuffer.length < length) {
int newLength = stringDataBuffer.length * 2;
while (newLength < length) {
newLength *= 2;
}
-
+
stringDataBuffer = new byte[newLength];
}
-
+
safeRead(length, stringDataBuffer);
String r = new String(stringDataBuffer, 0, length, Utf8Helper.charset);
endDumpLevel(r);
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 af07bbd1c..1899f32ca 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
@@ -2,979 +2,1032 @@
/*
* Copyright (C) 2010-2015 JPEXS, All rights reserved.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.parser.script;
+
import com.jpexs.decompiler.flash.abc.avm2.parser.AVM2ParseException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
-
/**
- * This class is a scanner generated by
+ * This class is a scanner generated by
* JFlex 1.6.0
- * from the specification file C:/Projects/FFDec/jpexs-decompiler/libsrc/ffdec_lib/lexers/actionscript3_script.flex
+ * from the specification file
+ * C:/Projects/FFDec/jpexs-decompiler/libsrc/ffdec_lib/lexers/actionscript3_script.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;
- /**
- * 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
- };
+ public static final int STRING = 2;
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED =
- "\11\0\1\13\1\2\1\113\1\3\1\1\22\0\1\13\1\14\1\33"+
- "\1\0\1\6\1\110\1\105\1\34\1\76\1\77\1\5\1\45\1\103"+
- "\1\15\1\11\1\4\1\35\3\41\4\42\2\21\1\17\1\102\1\12"+
- "\1\32\1\16\1\23\1\111\1\27\1\20\1\25\1\26\1\43\1\20"+
- "\2\10\1\74\4\10\1\75\5\10\1\30\3\10\1\37\2\10\1\24"+
- "\1\46\1\31\1\107\1\10\1\0\1\52\1\50\1\54\1\63\1\44"+
- "\1\40\1\73\1\66\1\61\1\10\1\53\1\64\1\71\1\57\1\56"+
- "\1\67\1\10\1\51\1\55\1\60\1\62\1\72\1\65\1\36\1\70"+
- "\1\10\1\100\1\106\1\101\1\104\6\0\1\113\41\0\1\47\2\0"+
- "\1\6\12\0\1\6\1\0\1\22\2\0\1\6\5\0\2\6\1\112"+
- "\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\1\6\6\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\246\6\1\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\35\0\13\7"+
- "\5\0\53\6\37\7\4\0\2\6\1\7\143\6\1\0\1\6\7\7"+
- "\2\0\6\7\2\6\2\7\1\0\4\7\2\6\12\7\3\6\2\0"+
- "\1\6\20\0\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\104\0"+
- "\23\6\61\0\40\7\66\6\3\7\1\6\22\7\1\6\7\7\12\6"+
- "\2\7\2\0\12\7\1\0\20\6\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\2\6\17\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"+
- "\21\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\20\0\4\7\1\0\10\6"+
- "\1\0\3\6\1\0\27\6\1\0\20\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\21\0\3\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\16\0\3\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\6\0\12\7"+
- "\2\0\2\7\15\0\60\6\1\7\2\6\7\7\5\0\7\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\4\6\40\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\1\0\1\6\5\0\1\6\2\0\53\6\1\0\u014d\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\7\10\6\7\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\4\0\1\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\37\6\1\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\10\0\16\7"+
- "\102\0\5\7\57\6\21\7\7\6\4\0\12\7\21\0\11\7\14\0"+
- "\3\7\36\6\15\7\2\6\12\7\54\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\3\7\2\6\1\0\2\7\6\0\300\6\66\7"+
- "\6\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"+
- "\14\0\2\0\32\0\1\113\1\113\25\0\2\7\23\0\1\7\33\0"+
- "\1\0\1\6\15\0\1\6\20\0\15\6\63\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\43\7"+
- "\2\6\4\7\7\0\u0a70\0\57\6\1\0\57\6\1\0\205\6\6\0"+
- "\4\6\3\7\2\6\14\0\46\6\1\0\1\6\5\0\1\6\2\0"+
- "\70\6\7\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\2\6"+
- "\1\7\31\0\17\7\1\0\5\6\2\0\3\7\2\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\u51cd\6"+
- "\63\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\4\0\12\7\1\0\37\6\1\0\1\7\106\6"+
- "\14\7\45\0\11\6\2\0\147\6\2\0\4\6\1\0\36\6\2\0"+
- "\2\6\105\0\13\6\1\7\3\6\1\7\4\6\1\7\27\6\5\7"+
- "\30\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\6\0"+
- "\5\6\1\7\12\6\12\7\5\6\1\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\3\7"+
- "\62\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\2\0\13\6\5\7\2\0\3\6\2\7\12\0"+
- "\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6\1\0"+
- "\53\6\1\0\4\6\4\0\2\6\132\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\u016e\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\14\6\4\0\20\7\20\0\16\7\5\0\2\7\30\0"+
- "\3\7\40\0\5\6\1\0\207\6\23\0\12\7\7\0\32\6\4\0"+
- "\1\7\1\0\32\6\13\0\131\6\3\0\6\6\2\0\6\6\2\0"+
- "\6\6\2\0\3\6\41\0\2\0\14\6\1\0\32\6\1\0\23\6"+
- "\1\0\2\6\1\0\17\6\2\0\16\6\42\0\173\6\105\0\65\7"+
- "\210\0\1\7\202\0\35\6\3\0\61\6\17\0\1\7\37\0\40\6"+
- "\20\0\21\6\1\7\10\6\1\7\5\0\46\6\5\7\5\0\36\6"+
- "\2\0\44\6\4\0\10\6\1\0\5\7\52\0\236\6\2\0\12\7"+
- "\126\0\50\6\10\0\64\6\234\0\u0137\6\11\0\26\6\12\0\10\6"+
- "\230\0\6\6\2\0\1\6\1\0\54\6\1\0\2\6\3\0\1\6"+
- "\2\0\27\6\12\0\27\6\11\0\37\6\141\0\26\6\12\0\32\6"+
- "\106\0\70\6\6\0\2\6\100\0\1\6\3\7\1\0\2\7\5\0"+
- "\4\7\4\6\1\0\3\6\1\0\33\6\4\0\3\7\4\0\1\7"+
- "\40\0\35\6\3\0\35\6\43\0\10\6\1\0\34\6\2\7\31\0"+
- "\66\6\12\0\26\6\12\0\23\6\15\0\22\6\156\0\111\6\u03b7\0"+
- "\3\7\65\6\17\7\37\0\12\7\17\0\4\7\55\6\13\7\25\0"+
- "\31\6\7\0\12\7\6\0\3\7\44\6\16\7\1\0\12\7\20\0"+
- "\43\6\1\7\2\0\1\6\11\0\3\7\60\6\16\7\4\6\13\0"+
- "\12\7\1\6\45\0\22\6\1\0\31\6\14\7\170\0\57\6\14\7"+
- "\5\0\12\7\7\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\11\0\1\7\5\0\5\6\2\7\2\0"+
- "\7\7\3\0\5\7\u010b\0\60\6\24\7\2\6\1\0\1\6\10\0"+
- "\12\7\246\0\57\6\7\7\2\0\11\7\77\0\60\6\21\7\3\0"+
- "\1\6\13\0\12\7\46\0\53\6\15\7\10\0\12\7\u01d6\0\100\6"+
- "\12\7\25\0\1\6\u01c0\0\71\6\u0507\0\u0399\6\147\0\157\7\u0b91\0"+
- "\u042f\6\u33d1\0\u0239\6\7\0\37\6\1\0\12\7\146\0\36\6\2\0"+
- "\5\7\13\0\60\6\7\7\11\0\4\6\14\0\12\7\11\0\25\6"+
- "\5\0\23\6\u0370\0\105\6\13\0\1\6\56\7\20\0\4\7\15\6"+
- "\u4060\0\2\6\u0bfe\0\153\6\5\0\15\6\3\0\11\6\7\0\12\6"+
- "\3\0\2\7\u14c6\0\5\7\3\0\6\7\10\0\10\7\2\0\7\7"+
- "\36\0\4\7\224\0\3\7\u01bb\0\125\6\1\0\107\6\1\0\2\6"+
- "\2\0\1\6\2\0\2\6\2\0\4\6\1\0\14\6\1\0\1\6"+
- "\1\0\7\6\1\0\101\6\1\0\4\6\2\0\10\6\1\0\7\6"+
- "\1\0\34\6\1\0\4\6\1\0\5\6\1\0\1\6\3\0\7\6"+
- "\1\0\u0154\6\2\0\31\6\1\0\31\6\1\0\37\6\1\0\31\6"+
- "\1\0\37\6\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6"+
- "\1\0\31\6\1\0\10\6\2\0\62\7\u1000\0\305\6\13\0\7\7"+
- "\u0529\0\4\6\1\0\33\6\1\0\2\6\1\0\1\6\2\0\1\6"+
- "\1\0\12\6\1\0\4\6\1\0\1\6\1\0\1\6\6\0\1\6"+
- "\4\0\1\6\1\0\1\6\1\0\1\6\1\0\3\6\1\0\2\6"+
- "\1\0\1\6\2\0\1\6\1\0\1\6\1\0\1\6\1\0\1\6"+
- "\1\0\1\6\1\0\2\6\1\0\1\6\2\0\4\6\1\0\7\6"+
- "\1\0\4\6\1\0\4\6\1\0\1\6\1\0\12\6\1\0\21\6"+
- "\5\0\3\6\1\0\5\6\1\0\21\6\u1144\0\ua6d7\6\51\0\u1035\6"+
- "\13\0\336\6\u3fe2\0\u021e\6\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u06ed\0"+
- "\360\7\uffff\0\uffff\0\ufe12\0";
+ public static final int CHARLITERAL = 4;
- /**
- * Translates characters to character classes
- */
- private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
+ public static final int XMLOPENTAG = 6;
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
+ public static final int XMLOPENTAGATTRIB = 8;
- 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\2\46\1\42\2\1\1\47\1\50"+
- "\1\1\1\51\2\1\1\52\1\1\1\53\2\42\2\54"+
- "\2\42\1\55\1\42\1\1\1\56\1\3\1\0\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\0"+
- "\1\77\1\63\1\100\1\0\2\100\7\6\1\101\1\102"+
- "\2\6\1\103\16\6\1\104\1\105\1\106\4\6\1\107"+
- "\13\6\1\110\1\111\1\112\1\113\1\114\1\115\1\116"+
- "\1\117\1\120\1\116\1\121\1\122\1\123\1\124\1\125"+
- "\1\126\1\116\1\127\1\0\1\130\1\0\1\131\1\0"+
- "\1\132\1\133\1\0\1\134\4\0\1\135\2\0\1\136"+
- "\4\137\2\3\2\0\1\140\1\141\1\142\1\143\1\144"+
- "\1\0\1\63\1\145\2\146\1\100\1\6\1\147\13\6"+
- "\1\150\4\6\1\151\4\6\1\152\6\6\1\153\12\6"+
- "\1\154\1\6\1\155\1\6\1\156\3\0\1\134\1\157"+
- "\1\160\1\0\1\161\2\0\1\162\1\163\1\164\1\0"+
- "\1\165\1\146\1\100\4\6\1\166\1\167\2\6\1\170"+
- "\12\6\1\171\1\172\1\6\1\173\11\6\1\174\5\6"+
- "\1\175\1\6\1\176\2\0\1\177\1\200\1\0\1\146"+
- "\1\100\1\201\1\202\2\6\1\203\1\6\1\204\1\205"+
- "\1\6\1\206\1\6\1\207\4\6\1\210\11\6\1\211"+
- "\5\6\1\0\1\146\1\100\3\6\1\212\1\6\1\213"+
- "\1\214\1\6\1\215\1\6\1\216\3\6\1\217\3\6"+
- "\1\220\4\6\1\221\1\6\1\0\1\146\1\100\1\222"+
- "\1\6\1\223\10\6\1\224\1\225\1\6\1\226\1\227"+
- "\1\6\1\0\1\146\1\100\1\230\1\231\1\232\3\6"+
- "\1\233\3\6\1\234\1\0\1\146\1\100\1\235\1\6"+
- "\1\236\1\6\1\237\1\240\1\241\1\146\1\100\1\242"+
- "\1\243\6\100";
+ public static final int XMLINSTROPENTAG = 10;
- private static int [] zzUnpackAction() {
- int [] result = new int[446];
- int offset = 0;
- offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
- return result;
- }
+ public static final int XMLINSTRATTRIB = 12;
- 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);
+ 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
+ };
+
+ /**
+ * Translates characters to character classes
+ */
+ private static final String ZZ_CMAP_PACKED
+ = "\11\0\1\13\1\2\1\113\1\3\1\1\22\0\1\13\1\14\1\33"
+ + "\1\0\1\6\1\110\1\105\1\34\1\76\1\77\1\5\1\45\1\103"
+ + "\1\15\1\11\1\4\1\35\3\41\4\42\2\21\1\17\1\102\1\12"
+ + "\1\32\1\16\1\23\1\111\1\27\1\20\1\25\1\26\1\43\1\20"
+ + "\2\10\1\74\4\10\1\75\5\10\1\30\3\10\1\37\2\10\1\24"
+ + "\1\46\1\31\1\107\1\10\1\0\1\52\1\50\1\54\1\63\1\44"
+ + "\1\40\1\73\1\66\1\61\1\10\1\53\1\64\1\71\1\57\1\56"
+ + "\1\67\1\10\1\51\1\55\1\60\1\62\1\72\1\65\1\36\1\70"
+ + "\1\10\1\100\1\106\1\101\1\104\6\0\1\113\41\0\1\47\2\0"
+ + "\1\6\12\0\1\6\1\0\1\22\2\0\1\6\5\0\2\6\1\112"
+ + "\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\1\6\6\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\246\6\1\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\35\0\13\7"
+ + "\5\0\53\6\37\7\4\0\2\6\1\7\143\6\1\0\1\6\7\7"
+ + "\2\0\6\7\2\6\2\7\1\0\4\7\2\6\12\7\3\6\2\0"
+ + "\1\6\20\0\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\104\0"
+ + "\23\6\61\0\40\7\66\6\3\7\1\6\22\7\1\6\7\7\12\6"
+ + "\2\7\2\0\12\7\1\0\20\6\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\2\6\17\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"
+ + "\21\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\20\0\4\7\1\0\10\6"
+ + "\1\0\3\6\1\0\27\6\1\0\20\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\21\0\3\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\16\0\3\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\6\0\12\7"
+ + "\2\0\2\7\15\0\60\6\1\7\2\6\7\7\5\0\7\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\4\6\40\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\1\0\1\6\5\0\1\6\2\0\53\6\1\0\u014d\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\7\10\6\7\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\4\0\1\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\37\6\1\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\10\0\16\7"
+ + "\102\0\5\7\57\6\21\7\7\6\4\0\12\7\21\0\11\7\14\0"
+ + "\3\7\36\6\15\7\2\6\12\7\54\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\3\7\2\6\1\0\2\7\6\0\300\6\66\7"
+ + "\6\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"
+ + "\14\0\2\0\32\0\1\113\1\113\25\0\2\7\23\0\1\7\33\0"
+ + "\1\0\1\6\15\0\1\6\20\0\15\6\63\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\43\7"
+ + "\2\6\4\7\7\0\u0a70\0\57\6\1\0\57\6\1\0\205\6\6\0"
+ + "\4\6\3\7\2\6\14\0\46\6\1\0\1\6\5\0\1\6\2\0"
+ + "\70\6\7\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\2\6"
+ + "\1\7\31\0\17\7\1\0\5\6\2\0\3\7\2\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\u51cd\6"
+ + "\63\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\4\0\12\7\1\0\37\6\1\0\1\7\106\6"
+ + "\14\7\45\0\11\6\2\0\147\6\2\0\4\6\1\0\36\6\2\0"
+ + "\2\6\105\0\13\6\1\7\3\6\1\7\4\6\1\7\27\6\5\7"
+ + "\30\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\6\0"
+ + "\5\6\1\7\12\6\12\7\5\6\1\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\3\7"
+ + "\62\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\2\0\13\6\5\7\2\0\3\6\2\7\12\0"
+ + "\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0\7\6\1\0"
+ + "\53\6\1\0\4\6\4\0\2\6\132\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\u016e\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\14\6\4\0\20\7\20\0\16\7\5\0\2\7\30\0"
+ + "\3\7\40\0\5\6\1\0\207\6\23\0\12\7\7\0\32\6\4\0"
+ + "\1\7\1\0\32\6\13\0\131\6\3\0\6\6\2\0\6\6\2\0"
+ + "\6\6\2\0\3\6\41\0\2\0\14\6\1\0\32\6\1\0\23\6"
+ + "\1\0\2\6\1\0\17\6\2\0\16\6\42\0\173\6\105\0\65\7"
+ + "\210\0\1\7\202\0\35\6\3\0\61\6\17\0\1\7\37\0\40\6"
+ + "\20\0\21\6\1\7\10\6\1\7\5\0\46\6\5\7\5\0\36\6"
+ + "\2\0\44\6\4\0\10\6\1\0\5\7\52\0\236\6\2\0\12\7"
+ + "\126\0\50\6\10\0\64\6\234\0\u0137\6\11\0\26\6\12\0\10\6"
+ + "\230\0\6\6\2\0\1\6\1\0\54\6\1\0\2\6\3\0\1\6"
+ + "\2\0\27\6\12\0\27\6\11\0\37\6\141\0\26\6\12\0\32\6"
+ + "\106\0\70\6\6\0\2\6\100\0\1\6\3\7\1\0\2\7\5\0"
+ + "\4\7\4\6\1\0\3\6\1\0\33\6\4\0\3\7\4\0\1\7"
+ + "\40\0\35\6\3\0\35\6\43\0\10\6\1\0\34\6\2\7\31\0"
+ + "\66\6\12\0\26\6\12\0\23\6\15\0\22\6\156\0\111\6\u03b7\0"
+ + "\3\7\65\6\17\7\37\0\12\7\17\0\4\7\55\6\13\7\25\0"
+ + "\31\6\7\0\12\7\6\0\3\7\44\6\16\7\1\0\12\7\20\0"
+ + "\43\6\1\7\2\0\1\6\11\0\3\7\60\6\16\7\4\6\13\0"
+ + "\12\7\1\6\45\0\22\6\1\0\31\6\14\7\170\0\57\6\14\7"
+ + "\5\0\12\7\7\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\11\0\1\7\5\0\5\6\2\7\2\0"
+ + "\7\7\3\0\5\7\u010b\0\60\6\24\7\2\6\1\0\1\6\10\0"
+ + "\12\7\246\0\57\6\7\7\2\0\11\7\77\0\60\6\21\7\3\0"
+ + "\1\6\13\0\12\7\46\0\53\6\15\7\10\0\12\7\u01d6\0\100\6"
+ + "\12\7\25\0\1\6\u01c0\0\71\6\u0507\0\u0399\6\147\0\157\7\u0b91\0"
+ + "\u042f\6\u33d1\0\u0239\6\7\0\37\6\1\0\12\7\146\0\36\6\2\0"
+ + "\5\7\13\0\60\6\7\7\11\0\4\6\14\0\12\7\11\0\25\6"
+ + "\5\0\23\6\u0370\0\105\6\13\0\1\6\56\7\20\0\4\7\15\6"
+ + "\u4060\0\2\6\u0bfe\0\153\6\5\0\15\6\3\0\11\6\7\0\12\6"
+ + "\3\0\2\7\u14c6\0\5\7\3\0\6\7\10\0\10\7\2\0\7\7"
+ + "\36\0\4\7\224\0\3\7\u01bb\0\125\6\1\0\107\6\1\0\2\6"
+ + "\2\0\1\6\2\0\2\6\2\0\4\6\1\0\14\6\1\0\1\6"
+ + "\1\0\7\6\1\0\101\6\1\0\4\6\2\0\10\6\1\0\7\6"
+ + "\1\0\34\6\1\0\4\6\1\0\5\6\1\0\1\6\3\0\7\6"
+ + "\1\0\u0154\6\2\0\31\6\1\0\31\6\1\0\37\6\1\0\31\6"
+ + "\1\0\37\6\1\0\31\6\1\0\37\6\1\0\31\6\1\0\37\6"
+ + "\1\0\31\6\1\0\10\6\2\0\62\7\u1000\0\305\6\13\0\7\7"
+ + "\u0529\0\4\6\1\0\33\6\1\0\2\6\1\0\1\6\2\0\1\6"
+ + "\1\0\12\6\1\0\4\6\1\0\1\6\1\0\1\6\6\0\1\6"
+ + "\4\0\1\6\1\0\1\6\1\0\1\6\1\0\3\6\1\0\2\6"
+ + "\1\0\1\6\2\0\1\6\1\0\1\6\1\0\1\6\1\0\1\6"
+ + "\1\0\1\6\1\0\2\6\1\0\1\6\2\0\4\6\1\0\7\6"
+ + "\1\0\4\6\1\0\4\6\1\0\1\6\1\0\12\6\1\0\21\6"
+ + "\5\0\3\6\1\0\5\6\1\0\21\6\u1144\0\ua6d7\6\51\0\u1035\6"
+ + "\13\0\336\6\u3fe2\0\u021e\6\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\uffff\0\u06ed\0"
+ + "\360\7\uffff\0\uffff\0\ufe12\0";
+
+ /**
+ * 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();
+
+ 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\2\46\1\42\2\1\1\47\1\50"
+ + "\1\1\1\51\2\1\1\52\1\1\1\53\2\42\2\54"
+ + "\2\42\1\55\1\42\1\1\1\56\1\3\1\0\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\0"
+ + "\1\77\1\63\1\100\1\0\2\100\7\6\1\101\1\102"
+ + "\2\6\1\103\16\6\1\104\1\105\1\106\4\6\1\107"
+ + "\13\6\1\110\1\111\1\112\1\113\1\114\1\115\1\116"
+ + "\1\117\1\120\1\116\1\121\1\122\1\123\1\124\1\125"
+ + "\1\126\1\116\1\127\1\0\1\130\1\0\1\131\1\0"
+ + "\1\132\1\133\1\0\1\134\4\0\1\135\2\0\1\136"
+ + "\4\137\2\3\2\0\1\140\1\141\1\142\1\143\1\144"
+ + "\1\0\1\63\1\145\2\146\1\100\1\6\1\147\13\6"
+ + "\1\150\4\6\1\151\4\6\1\152\6\6\1\153\12\6"
+ + "\1\154\1\6\1\155\1\6\1\156\3\0\1\134\1\157"
+ + "\1\160\1\0\1\161\2\0\1\162\1\163\1\164\1\0"
+ + "\1\165\1\146\1\100\4\6\1\166\1\167\2\6\1\170"
+ + "\12\6\1\171\1\172\1\6\1\173\11\6\1\174\5\6"
+ + "\1\175\1\6\1\176\2\0\1\177\1\200\1\0\1\146"
+ + "\1\100\1\201\1\202\2\6\1\203\1\6\1\204\1\205"
+ + "\1\6\1\206\1\6\1\207\4\6\1\210\11\6\1\211"
+ + "\5\6\1\0\1\146\1\100\3\6\1\212\1\6\1\213"
+ + "\1\214\1\6\1\215\1\6\1\216\3\6\1\217\3\6"
+ + "\1\220\4\6\1\221\1\6\1\0\1\146\1\100\1\222"
+ + "\1\6\1\223\10\6\1\224\1\225\1\6\1\226\1\227"
+ + "\1\6\1\0\1\146\1\100\1\230\1\231\1\232\3\6"
+ + "\1\233\3\6\1\234\1\0\1\146\1\100\1\235\1\6"
+ + "\1\236\1\6\1\237\1\240\1\241\1\146\1\100\1\242"
+ + "\1\243\6\100";
+
+ private static int[] zzUnpackAction() {
+ int[] result = new int[446];
+ 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\114\0\230\0\344\0\u0130\0\u017c\0\u01c8\0\u0214"+
- "\0\u0260\0\u02ac\0\u02f8\0\u0344\0\u0390\0\u0344\0\u03dc\0\u0428"+
- "\0\u0474\0\u04c0\0\u050c\0\u0558\0\u05a4\0\u05f0\0\u063c\0\u0688"+
- "\0\u06d4\0\u0344\0\u0344\0\u0344\0\u0720\0\u0344\0\u0344\0\u076c"+
- "\0\u07b8\0\u0804\0\u0850\0\u0344\0\u089c\0\u08e8\0\u0934\0\u0980"+
- "\0\u09cc\0\u0a18\0\u0a64\0\u0ab0\0\u0afc\0\u0b48\0\u0b94\0\u0be0"+
- "\0\u0c2c\0\u0c78\0\u0cc4\0\u0d10\0\u0d5c\0\u0344\0\u0344\0\u0344"+
- "\0\u0344\0\u0344\0\u0344\0\u0344\0\u0da8\0\u0df4\0\u0e40\0\u0e8c"+
- "\0\u0344\0\u0ed8\0\u0f24\0\u0344\0\u0344\0\u0f70\0\u0fbc\0\u1008"+
- "\0\u0344\0\u1054\0\u0344\0\u10a0\0\u10ec\0\u1138\0\u0344\0\u0344"+
- "\0\u1184\0\u0344\0\u11d0\0\u121c\0\u0344\0\u1268\0\u0344\0\u0344"+
- "\0\u12b4\0\u1300\0\u0344\0\u134c\0\u1398\0\u0344\0\u13e4\0\u1430"+
- "\0\u0344\0\u147c\0\u14c8\0\u0344\0\u0344\0\u1514\0\u0344\0\u1560"+
- "\0\u0344\0\u15ac\0\u15f8\0\u0344\0\u0344\0\u1644\0\u0344\0\u0344"+
- "\0\u1690\0\u0344\0\u0344\0\u16dc\0\u1728\0\u1774\0\u17c0\0\u180c"+
- "\0\u1858\0\u18a4\0\u18f0\0\u193c\0\u1988\0\u19d4\0\u1a20\0\u1a6c"+
- "\0\u1ab8\0\u0344\0\u0344\0\u1b04\0\u1b50\0\u04c0\0\u1b9c\0\u1be8"+
- "\0\u1c34\0\u1c80\0\u1ccc\0\u1d18\0\u1d64\0\u1db0\0\u1dfc\0\u1e48"+
- "\0\u1e94\0\u1ee0\0\u1f2c\0\u1f78\0\u04c0\0\u04c0\0\u1fc4\0\u2010"+
- "\0\u205c\0\u20a8\0\u20f4\0\u04c0\0\u2140\0\u218c\0\u21d8\0\u2224"+
- "\0\u2270\0\u22bc\0\u2308\0\u2354\0\u23a0\0\u23ec\0\u2438\0\u0344"+
- "\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344"+
- "\0\u2484\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u24d0"+
- "\0\u0344\0\u1138\0\u0344\0\u1184\0\u0344\0\u11d0\0\u0344\0\u0344"+
- "\0\u1268\0\u251c\0\u2568\0\u25b4\0\u2600\0\u264c\0\u2698\0\u26e4"+
- "\0\u2730\0\u0344\0\u0344\0\u2484\0\u24d0\0\u277c\0\u27c8\0\u0344"+
- "\0\u2814\0\u2860\0\u0344\0\u0344\0\u0344\0\u28ac\0\u0344\0\u28f8"+
- "\0\u28f8\0\u0344\0\u2944\0\u180c\0\u2990\0\u29dc\0\u04c0\0\u2a28"+
- "\0\u2a74\0\u2ac0\0\u2b0c\0\u2b58\0\u2ba4\0\u2bf0\0\u2c3c\0\u2c88"+
- "\0\u2cd4\0\u2d20\0\u04c0\0\u2d6c\0\u2db8\0\u2e04\0\u2e50\0\u04c0"+
- "\0\u2e9c\0\u2ee8\0\u2f34\0\u2f80\0\u04c0\0\u2fcc\0\u3018\0\u3064"+
- "\0\u30b0\0\u30fc\0\u3148\0\u04c0\0\u3194\0\u31e0\0\u322c\0\u3278"+
- "\0\u32c4\0\u3310\0\u335c\0\u33a8\0\u33f4\0\u3440\0\u04c0\0\u348c"+
- "\0\u04c0\0\u34d8\0\u04c0\0\u3524\0\u3570\0\u251c\0\u0344\0\u0344"+
- "\0\u0344\0\u35bc\0\u0344\0\u3608\0\u3654\0\u36a0\0\u0344\0\u0344"+
- "\0\u36ec\0\u0344\0\u3738\0\u3784\0\u37d0\0\u381c\0\u3868\0\u38b4"+
- "\0\u04c0\0\u04c0\0\u3900\0\u394c\0\u04c0\0\u3998\0\u39e4\0\u3a30"+
- "\0\u3a7c\0\u3ac8\0\u3b14\0\u3b60\0\u3bac\0\u3bf8\0\u3c44\0\u04c0"+
- "\0\u04c0\0\u3c90\0\u04c0\0\u3cdc\0\u3d28\0\u3d74\0\u3dc0\0\u3e0c"+
- "\0\u3e58\0\u3ea4\0\u3ef0\0\u3f3c\0\u04c0\0\u3f88\0\u3fd4\0\u4020"+
- "\0\u406c\0\u40b8\0\u04c0\0\u4104\0\u0344\0\u2484\0\u4150\0\u0344"+
- "\0\u0344\0\u419c\0\u41e8\0\u4234\0\u04c0\0\u4280\0\u42cc\0\u4318"+
- "\0\u04c0\0\u4364\0\u04c0\0\u04c0\0\u43b0\0\u04c0\0\u43fc\0\u04c0"+
- "\0\u4448\0\u4494\0\u44e0\0\u452c\0\u04c0\0\u4578\0\u45c4\0\u4610"+
- "\0\u465c\0\u46a8\0\u46f4\0\u4740\0\u478c\0\u47d8\0\u04c0\0\u4824"+
- "\0\u4870\0\u48bc\0\u4908\0\u4954\0\u49a0\0\u49ec\0\u4a38\0\u4a84"+
- "\0\u4ad0\0\u4b1c\0\u04c0\0\u4b68\0\u04c0\0\u04c0\0\u4bb4\0\u04c0"+
- "\0\u4c00\0\u04c0\0\u4c4c\0\u4c98\0\u4ce4\0\u04c0\0\u4d30\0\u4d7c"+
- "\0\u4dc8\0\u04c0\0\u4e14\0\u4e60\0\u4eac\0\u4ef8\0\u04c0\0\u4f44"+
- "\0\u4f90\0\u4fdc\0\u5028\0\u04c0\0\u5074\0\u04c0\0\u50c0\0\u510c"+
- "\0\u5158\0\u51a4\0\u51f0\0\u523c\0\u5288\0\u52d4\0\u04c0\0\u04c0"+
- "\0\u5320\0\u04c0\0\u04c0\0\u536c\0\u53b8\0\u5404\0\u5450\0\u04c0"+
- "\0\u04c0\0\u04c0\0\u549c\0\u54e8\0\u5534\0\u04c0\0\u5580\0\u55cc"+
- "\0\u5618\0\u04c0\0\u5664\0\u56b0\0\u56fc\0\u04c0\0\u5748\0\u04c0"+
- "\0\u5794\0\u04c0\0\u04c0\0\u0344\0\u0344\0\u57e0\0\u04c0\0\u04c0"+
- "\0\u582c\0\u5878\0\u58c4\0\u5910\0\u595c\0\u1774";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[446];
- 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\22\1\23\1\24\1\17\1\25\1\26\1\27\1\30"+
- "\1\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\1\22\1\14\1\102\1\103"+
- "\1\104\30\102\1\105\12\102\1\106\45\102\1\107\1\110"+
- "\1\111\31\107\1\105\11\107\1\106\45\107\1\14\1\112"+
- "\1\113\1\114\1\115\3\14\1\116\2\14\1\114\2\14"+
- "\1\117\2\116\4\14\4\116\5\14\3\116\2\14\2\116"+
- "\3\14\26\116\2\14\1\120\46\14\1\121\44\14\1\122"+
- "\14\14\1\112\1\113\1\114\4\14\1\123\2\14\1\114"+
- "\3\14\2\123\2\14\1\124\1\14\4\123\5\14\3\123"+
- "\2\14\2\123\3\14\26\123\2\14\1\125\46\14\1\126"+
- "\44\14\1\127\13\14\1\130\1\112\1\113\26\130\1\131"+
- "\63\130\1\132\1\133\12\130\1\134\77\130\1\112\1\113"+
- "\7\130\1\135\65\130\1\136\13\130\1\137\1\110\1\111"+
- "\43\137\1\140\1\141\44\137\116\0\1\16\114\0\1\17"+
- "\7\0\1\17\104\0\1\142\1\143\24\0\1\144\113\0"+
- "\1\145\67\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\26\22\14\0\1\22\12\0\1\146\1\147"+
- "\6\0\1\150\13\0\1\150\3\0\2\150\33\0\1\151"+
- "\25\0\1\152\1\0\1\153\4\0\2\152\4\0\4\152"+
- "\1\0\1\154\3\0\3\152\2\0\2\152\3\0\26\152"+
- "\2\0\1\155\45\0\1\156\76\0\1\157\14\0\1\160"+
- "\77\0\1\161\13\0\1\162\100\0\1\163\105\0\1\150"+
- "\7\0\1\31\13\0\1\31\3\0\2\31\2\164\101\0"+
- "\1\165\72\0\1\150\7\0\1\166\13\0\1\167\2\170"+
- "\1\0\1\171\1\172\2\164\55\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\2\22\1\173\3\22"+
- "\1\174\2\22\1\175\1\176\13\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\1\22\1\177"+
- "\6\22\3\0\2\22\1\200\11\22\1\201\11\22\14\0"+
- "\1\22\33\0\1\202\12\0\1\203\54\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\1\22\1\204"+
- "\24\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\7\22\1\205\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\5\22\1\206\20\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"+
- "\1\207\3\22\1\210\5\22\1\211\11\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"+
- "\1\212\3\0\10\22\1\213\1\22\1\214\2\22\1\215"+
- "\10\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\22\22\1\216\3\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\7\22\1\217\3\0\2\22\1\220\7\22\1\221\13\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\1\22\1\222\14\22\1\223\1\22"+
- "\1\224\5\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\3\22\1\225\4\22\3\0\5\22"+
- "\1\226\1\22\1\227\11\22\1\230\4\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\5\22\1\231\1\22\1\232\16\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"+
- "\1\233\3\0\6\22\1\234\11\22\1\235\5\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\11\22\1\236\4\22\1\237\7\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\1\22\1\240\1\241\7\22\1\242\13\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\2\22\1\243\3\22\1\244\17\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\7\22\1\245\3\0\26\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\7\22\1\246\16\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\2\22\1\247"+
- "\23\22\14\0\1\22\33\0\1\250\52\0\1\251\40\0"+
- "\1\252\53\0\1\253\37\0\1\254\113\0\1\255\61\0"+
- "\1\102\2\0\30\102\1\0\12\102\1\0\45\102\2\0"+
- "\1\104\111\0\1\256\3\0\27\256\1\257\1\260\1\256"+
- "\1\261\1\256\1\262\5\256\1\263\1\256\1\264\1\265"+
- "\5\256\1\266\1\267\1\256\1\270\30\256\1\0\1\107"+
- "\2\0\31\107\1\0\11\107\1\0\45\107\2\0\1\111"+
- "\113\0\1\113\114\0\1\114\7\0\1\114\116\0\1\271"+
- "\105\0\2\272\3\0\1\272\1\0\4\272\2\0\4\272"+
- "\1\0\1\273\2\0\10\272\3\0\26\272\16\0\1\274"+
- "\2\0\30\274\1\275\60\274\10\0\2\276\3\0\1\276"+
- "\1\0\4\276\2\0\4\276\1\0\1\277\2\0\10\276"+
- "\3\0\26\276\34\0\1\300\75\0\1\301\2\0\30\301"+
- "\1\302\1\303\57\301\31\0\1\304\64\0\1\133\126\0"+
- "\1\305\102\0\1\306\3\0\1\307\3\0\1\310\2\0"+
- "\2\307\2\0\1\311\1\0\4\307\5\0\3\307\2\0"+
- "\2\307\3\0\26\307\2\0\1\312\13\0\1\137\2\0"+
- "\43\137\2\0\44\137\1\313\3\0\32\313\1\314\1\313"+
- "\1\262\5\313\1\263\1\313\1\264\1\265\5\313\1\266"+
- "\1\267\1\313\1\315\27\313\1\316\1\0\1\142\1\317"+
- "\1\320\111\142\5\321\1\322\106\321\11\0\1\323\123\0"+
- "\1\150\13\0\1\150\3\0\2\150\2\164\57\0\2\152"+
- "\3\0\1\152\1\0\4\152\2\0\4\152\4\0\10\152"+
- "\3\0\26\152\50\0\1\324\113\0\1\325\77\0\1\326"+
- "\13\0\1\327\76\0\1\330\3\0\1\331\13\0\1\331"+
- "\3\0\2\331\2\0\1\330\100\0\1\332\72\0\1\150"+
- "\7\0\1\166\13\0\1\166\3\0\2\166\2\164\60\0"+
- "\1\150\7\0\1\166\13\0\1\167\3\0\1\171\1\172"+
- "\2\164\67\0\2\333\3\0\3\333\5\0\1\334\2\0"+
- "\5\333\3\0\1\333\1\0\1\333\1\0\1\333\6\0"+
- "\1\333\41\0\1\150\7\0\1\166\13\0\1\172\3\0"+
- "\2\172\2\164\60\0\1\150\7\0\1\166\13\0\1\335"+
- "\3\0\2\335\2\164\55\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\14\22\1\336\11\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\1\22\1\337\24\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\7\22\1\340\16\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\7\22\1\341"+
- "\16\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\10\22\1\342\15\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\4\22\1\343\21\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\5\22\1\344\20\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\7\22\1\345\3\0\26\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\10\22\1\346\15\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\5\22\1\347\2\22\1\350\15\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\7\22\1\351\16\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"+
- "\1\352\23\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\10\22\1\353\15\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\2\22\1\354\23\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\17\22\1\355\6\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\11\22"+
- "\1\356\14\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\7\22\1\357\3\0\26\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\15\22\1\360\10\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\10\22\1\361\10\22\1\362\4\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\14\22\1\363\11\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\12\22\1\364"+
- "\5\22\1\365\5\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\1\22\1\366"+
- "\7\22\1\367\14\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\17\22\1\370"+
- "\6\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\5\22\1\371\2\22\1\372"+
- "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\17\22\1\373\6\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\7\22\1\374\3\0\26\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\13\22"+
- "\1\375\12\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\3\22\1\376\4\22\3\0\14\22"+
- "\1\377\11\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\7\22\1\u0100\16\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\10\22\1\u0101\15\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\11\22\1\u0102\14\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\6\22"+
- "\1\u0103\2\22\1\u0104\14\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\4\22"+
- "\1\u0105\21\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\1\u0106\25\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\1\22\1\u0107\24\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\11\22\1\u0108\14\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u0109"+
- "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\3\22\1\u010a\4\22\3\0\26\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\25\22\1\u010b\14\0\1\22\21\0\2\u010c"+
- "\3\0\3\u010c\5\0\1\u010c\2\0\5\u010c\3\0\1\u010c"+
- "\1\0\1\u010c\1\0\1\u010c\6\0\1\u010c\50\0\2\u010d"+
- "\3\0\3\u010d\5\0\1\u010d\2\0\5\u010d\3\0\1\u010d"+
- "\1\0\1\u010d\1\0\1\u010d\6\0\1\u010d\30\0\1\u010e"+
- "\2\0\30\u010e\1\302\1\0\57\u010e\1\303\2\0\30\303"+
- "\1\u010f\60\303\16\0\1\u0110\113\0\1\u0111\105\0\1\u0112"+
- "\6\0\2\u0112\4\0\4\u0112\5\0\3\u0112\2\0\2\u0112"+
- "\3\0\26\u0112\2\0\1\u0113\23\0\2\307\3\0\1\307"+
- "\1\0\4\307\2\0\4\307\4\0\10\307\3\0\26\307"+
- "\33\0\1\u0114\6\0\1\u0115\77\0\1\u0116\6\0\2\u0116"+
- "\4\0\4\u0116\5\0\3\u0116\2\0\2\u0116\3\0\26\u0116"+
- "\2\0\1\u0117\62\0\1\u0118\46\0\1\320\111\0\5\321"+
- "\1\u0119\106\321\4\0\1\320\1\322\140\0\1\u011a\102\0"+
- "\1\331\13\0\1\331\3\0\2\331\71\0\2\u011b\3\0"+
- "\3\u011b\5\0\1\u011b\2\0\5\u011b\3\0\1\u011b\1\0"+
- "\1\u011b\1\0\1\u011b\6\0\1\u011b\41\0\1\150\7\0"+
- "\1\166\13\0\1\u011c\3\0\2\u011c\2\164\55\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\5\22"+
- "\1\u011d\20\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\2\22\1\u011e\23\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\4\22\1\u011f\21\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"+
- "\1\u0120\3\0\26\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\16\22\1\u0121"+
- "\7\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\7\22\1\u0122\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\2\22\1\u0123\23\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\12\22"+
- "\1\u0124\13\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\7\22\1\u0125\3\0\26\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\4\22\1\u0126\21\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\5\22\1\u0127\2\22\1\u0128\15\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\5\22\1\u0129\20\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u012a"+
- "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\7\22\1\u012b\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\10\22\1\u012c\15\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\1\22"+
- "\1\u012d\24\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\11\22\1\u012e\14\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\7\22\1\u012f\3\0\26\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\14\22\1\u0130\11\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\7\22\1\u0131\3\0\26\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\6\22\1\u0132\17\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\5\22\1\u0133\20\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0134\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\10\22\1\u0135\15\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\7\22\1\u0136\3\0\26\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\6\22"+
- "\1\u0137\5\22\1\u0138\11\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0139\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\2\22\1\u013a\23\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\7\22\1\u013b\3\0\26\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"+
- "\1\u013c\23\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\16\22\1\u013d\7\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\14\22\1\u013e\11\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\10\22\1\u013f\15\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\22\22"+
- "\1\u0140\3\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\3\22\1\u0141\22\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\14\22\1\u0142\11\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\13\22\1\u0143\12\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\11\22"+
- "\1\u0144\14\22\14\0\1\22\21\0\2\u0145\3\0\3\u0145"+
- "\5\0\1\u0145\2\0\5\u0145\3\0\1\u0145\1\0\1\u0145"+
- "\1\0\1\u0145\6\0\1\u0145\50\0\2\u0146\3\0\3\u0146"+
- "\5\0\1\u0146\2\0\5\u0146\3\0\1\u0146\1\0\1\u0146"+
- "\1\0\1\u0146\6\0\1\u0146\31\0\2\u0147\5\0\2\u0112"+
- "\1\0\1\u0147\1\0\1\u0112\1\u0148\4\u0112\2\0\4\u0112"+
- "\4\0\10\u0112\3\0\26\u0112\33\0\1\u0149\123\0\1\u014a"+
- "\76\0\2\u0116\3\0\1\u0116\1\0\4\u0116\2\0\4\u0116"+
- "\4\0\10\u0116\3\0\26\u0116\16\0\4\321\1\320\1\u0119"+
- "\106\321\20\0\2\u014b\3\0\3\u014b\5\0\1\u014b\2\0"+
- "\5\u014b\3\0\1\u014b\1\0\1\u014b\1\0\1\u014b\6\0"+
- "\1\u014b\41\0\1\150\7\0\1\166\13\0\1\u014c\3\0"+
- "\2\u014c\2\164\55\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\7\22\1\u014d\3\0\26\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\14\22\1\u014e\11\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u014f"+
- "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\7\22\1\u0150\16\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\3\22\1\u0151\22\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\1\22\1\u0152\24\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\16\22\1\u0153"+
- "\7\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\10\22\1\u0154\15\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\11\22\1\u0155\14\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\5\22\1\u0156\20\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0157"+
- "\14\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\1\22\1\u0158\24\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\4\22\1\u0159\21\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\1\22\1\u015a\24\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\22\22\1\u015b"+
- "\3\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\5\22\1\u015c\20\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\15\22\1\u015d\10\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\6\22\1\u015e\17\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\2\22\1\u015f"+
- "\23\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\1\22\1\u0160\24\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\1\22\1\u0161\24\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\7\22\1\u0162"+
- "\3\0\26\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\3\22\1\u0163\4\22\3\0\26\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\12\22\1\u0164\13\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\10\22\1\u0165\15\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\21\22"+
- "\1\u0166\4\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\7\22\1\u0167\3\0\26\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\7\22\1\u0168\3\0\26\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"+
- "\1\u0169\23\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\2\22\1\u016a\23\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\11\22\1\u016b\14\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\7\22\1\u016c\16\22\14\0\1\22\2\0\2\u0147"+
- "\10\0\1\u0147\2\0\1\u0148\123\0\1\u016d\105\0\2\u016e"+
- "\3\0\3\u016e\5\0\1\u016e\2\0\5\u016e\3\0\1\u016e"+
- "\1\0\1\u016e\1\0\1\u016e\6\0\1\u016e\41\0\1\150"+
- "\7\0\1\166\13\0\1\u016f\3\0\2\u016f\2\164\55\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\14\22\1\u0170\11\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0171"+
- "\14\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\13\22\1\u0172\12\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\7\22\1\u0173\16\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\7\22\1\u0174\16\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\4\22\1\u0175"+
- "\21\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\16\22\1\u0176\7\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\11\22\1\u0177\14\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\7\22\1\u0178"+
- "\3\0\26\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\17\22\1\u0179\6\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\3\22\1\u017a\4\22\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\7\22\1\u017b\16\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\3\22\1\u017c\4\22"+
- "\3\0\7\22\1\u017d\16\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\10\22"+
- "\1\u017e\15\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\21\22\1\u017f\4\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\11\22\1\u0180\14\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\14\22\1\u0181\11\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0182\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\11\22\1\u0183\14\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\4\22\1\u0184\21\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\10\22\1\u0185\15\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\23\22\1\u0186"+
- "\2\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\4\22\1\u0187\21\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\11\22\1\u0188\14\22\14\0\1\22\30\0"+
- "\1\u0189\104\0\2\u018a\3\0\3\u018a\5\0\1\u018a\2\0"+
- "\5\u018a\3\0\1\u018a\1\0\1\u018a\1\0\1\u018a\6\0"+
- "\1\u018a\41\0\1\150\7\0\1\166\13\0\1\u018b\3\0"+
- "\2\u018b\2\164\55\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\20\22\1\u018c\5\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\6\22\1\u018d\17\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\5\22"+
- "\1\u018e\20\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\12\22\1\u018f\13\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\13\22\1\u0190\12\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\2\22\1\u0191\23\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\4\22"+
- "\1\u0192\21\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\2\22\1\u0193\23\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\10\22\3\0\2\22\1\u0194\23\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"+
- "\1\u0195\3\0\26\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\7\22\1\u0196"+
- "\16\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\10\22\1\u0197\15\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\4\22\1\u0198\21\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\10\22\1\u0199\15\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\7\22\1\u019a\3\0\26\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\7\22\1\u019b\3\0\26\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\10\22\1\u019c\15\22\14\0\1\22\31\0\1\u019d\103\0"+
- "\2\u019e\3\0\3\u019e\5\0\1\u019e\2\0\5\u019e\3\0"+
- "\1\u019e\1\0\1\u019e\1\0\1\u019e\6\0\1\u019e\41\0"+
- "\1\150\7\0\1\166\13\0\1\u019f\3\0\2\u019f\2\164"+
- "\55\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\7\22\1\u01a0\16\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\7\22\1\u01a1\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\7\22\1\u01a2\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\4\22\1\u01a3\21\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\7\22\1\u01a4\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\4\22\1\u01a5\21\22\14\0"+
- "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"+
- "\10\22\3\0\14\22\1\u01a6\11\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\7\22\1\u01a7\16\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\7\22\1\u01a8\3\0\26\22"+
- "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"+
- "\4\0\7\22\1\u01a9\3\0\26\22\14\0\1\22\7\0"+
- "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"+
- "\20\22\1\u01aa\5\22\14\0\1\22\30\0\1\u01ab\104\0"+
- "\2\u01ac\3\0\3\u01ac\5\0\1\u01ac\2\0\5\u01ac\3\0"+
- "\1\u01ac\1\0\1\u01ac\1\0\1\u01ac\6\0\1\u01ac\41\0"+
- "\1\150\7\0\1\166\13\0\1\u01ad\3\0\2\u01ad\2\164"+
- "\55\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"+
- "\1\u01ae\3\0\26\22\14\0\1\22\7\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\10\22\3\0\6\22\1\u01af"+
- "\17\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\7\22\1\u01b0\3\0\26\22\14\0\1\22"+
- "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"+
- "\3\0\10\22\1\u01b1\15\22\14\0\1\22\7\0\3\22"+
- "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\13\22"+
- "\1\u01b2\12\22\14\0\1\22\7\0\3\22\7\0\2\22"+
- "\3\0\4\22\4\0\10\22\3\0\13\22\1\u01b3\12\22"+
- "\14\0\1\22\25\0\1\u01b4\107\0\2\u01b5\3\0\3\u01b5"+
- "\5\0\1\u01b5\2\0\5\u01b5\3\0\1\u01b5\1\0\1\u01b5"+
- "\1\0\1\u01b5\6\0\1\u01b5\41\0\1\150\7\0\1\166"+
- "\13\0\1\u01b6\3\0\2\u01b6\2\164\55\0\3\22\7\0"+
- "\2\22\3\0\4\22\4\0\3\22\1\u01b7\4\22\3\0"+
- "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"+
- "\4\22\4\0\10\22\3\0\5\22\1\u01b8\20\22\14\0"+
- "\1\22\12\0\1\150\7\0\1\166\13\0\1\u01b9\3\0"+
- "\2\u01b9\2\164\60\0\1\150\7\0\1\166\13\0\1\u01ba"+
- "\3\0\2\u01ba\2\164\60\0\1\150\7\0\1\166\13\0"+
- "\1\u01bb\3\0\2\u01bb\2\164\60\0\1\150\7\0\1\166"+
- "\13\0\1\u01bc\3\0\2\u01bc\2\164\60\0\1\150\7\0"+
- "\1\166\13\0\1\u01bd\3\0\2\u01bd\2\164\60\0\1\150"+
- "\7\0\1\166\13\0\1\u01be\3\0\2\u01be\2\164\47\0";
+ private static final String ZZ_ROWMAP_PACKED_0
+ = "\0\0\0\114\0\230\0\344\0\u0130\0\u017c\0\u01c8\0\u0214"
+ + "\0\u0260\0\u02ac\0\u02f8\0\u0344\0\u0390\0\u0344\0\u03dc\0\u0428"
+ + "\0\u0474\0\u04c0\0\u050c\0\u0558\0\u05a4\0\u05f0\0\u063c\0\u0688"
+ + "\0\u06d4\0\u0344\0\u0344\0\u0344\0\u0720\0\u0344\0\u0344\0\u076c"
+ + "\0\u07b8\0\u0804\0\u0850\0\u0344\0\u089c\0\u08e8\0\u0934\0\u0980"
+ + "\0\u09cc\0\u0a18\0\u0a64\0\u0ab0\0\u0afc\0\u0b48\0\u0b94\0\u0be0"
+ + "\0\u0c2c\0\u0c78\0\u0cc4\0\u0d10\0\u0d5c\0\u0344\0\u0344\0\u0344"
+ + "\0\u0344\0\u0344\0\u0344\0\u0344\0\u0da8\0\u0df4\0\u0e40\0\u0e8c"
+ + "\0\u0344\0\u0ed8\0\u0f24\0\u0344\0\u0344\0\u0f70\0\u0fbc\0\u1008"
+ + "\0\u0344\0\u1054\0\u0344\0\u10a0\0\u10ec\0\u1138\0\u0344\0\u0344"
+ + "\0\u1184\0\u0344\0\u11d0\0\u121c\0\u0344\0\u1268\0\u0344\0\u0344"
+ + "\0\u12b4\0\u1300\0\u0344\0\u134c\0\u1398\0\u0344\0\u13e4\0\u1430"
+ + "\0\u0344\0\u147c\0\u14c8\0\u0344\0\u0344\0\u1514\0\u0344\0\u1560"
+ + "\0\u0344\0\u15ac\0\u15f8\0\u0344\0\u0344\0\u1644\0\u0344\0\u0344"
+ + "\0\u1690\0\u0344\0\u0344\0\u16dc\0\u1728\0\u1774\0\u17c0\0\u180c"
+ + "\0\u1858\0\u18a4\0\u18f0\0\u193c\0\u1988\0\u19d4\0\u1a20\0\u1a6c"
+ + "\0\u1ab8\0\u0344\0\u0344\0\u1b04\0\u1b50\0\u04c0\0\u1b9c\0\u1be8"
+ + "\0\u1c34\0\u1c80\0\u1ccc\0\u1d18\0\u1d64\0\u1db0\0\u1dfc\0\u1e48"
+ + "\0\u1e94\0\u1ee0\0\u1f2c\0\u1f78\0\u04c0\0\u04c0\0\u1fc4\0\u2010"
+ + "\0\u205c\0\u20a8\0\u20f4\0\u04c0\0\u2140\0\u218c\0\u21d8\0\u2224"
+ + "\0\u2270\0\u22bc\0\u2308\0\u2354\0\u23a0\0\u23ec\0\u2438\0\u0344"
+ + "\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344"
+ + "\0\u2484\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u0344\0\u24d0"
+ + "\0\u0344\0\u1138\0\u0344\0\u1184\0\u0344\0\u11d0\0\u0344\0\u0344"
+ + "\0\u1268\0\u251c\0\u2568\0\u25b4\0\u2600\0\u264c\0\u2698\0\u26e4"
+ + "\0\u2730\0\u0344\0\u0344\0\u2484\0\u24d0\0\u277c\0\u27c8\0\u0344"
+ + "\0\u2814\0\u2860\0\u0344\0\u0344\0\u0344\0\u28ac\0\u0344\0\u28f8"
+ + "\0\u28f8\0\u0344\0\u2944\0\u180c\0\u2990\0\u29dc\0\u04c0\0\u2a28"
+ + "\0\u2a74\0\u2ac0\0\u2b0c\0\u2b58\0\u2ba4\0\u2bf0\0\u2c3c\0\u2c88"
+ + "\0\u2cd4\0\u2d20\0\u04c0\0\u2d6c\0\u2db8\0\u2e04\0\u2e50\0\u04c0"
+ + "\0\u2e9c\0\u2ee8\0\u2f34\0\u2f80\0\u04c0\0\u2fcc\0\u3018\0\u3064"
+ + "\0\u30b0\0\u30fc\0\u3148\0\u04c0\0\u3194\0\u31e0\0\u322c\0\u3278"
+ + "\0\u32c4\0\u3310\0\u335c\0\u33a8\0\u33f4\0\u3440\0\u04c0\0\u348c"
+ + "\0\u04c0\0\u34d8\0\u04c0\0\u3524\0\u3570\0\u251c\0\u0344\0\u0344"
+ + "\0\u0344\0\u35bc\0\u0344\0\u3608\0\u3654\0\u36a0\0\u0344\0\u0344"
+ + "\0\u36ec\0\u0344\0\u3738\0\u3784\0\u37d0\0\u381c\0\u3868\0\u38b4"
+ + "\0\u04c0\0\u04c0\0\u3900\0\u394c\0\u04c0\0\u3998\0\u39e4\0\u3a30"
+ + "\0\u3a7c\0\u3ac8\0\u3b14\0\u3b60\0\u3bac\0\u3bf8\0\u3c44\0\u04c0"
+ + "\0\u04c0\0\u3c90\0\u04c0\0\u3cdc\0\u3d28\0\u3d74\0\u3dc0\0\u3e0c"
+ + "\0\u3e58\0\u3ea4\0\u3ef0\0\u3f3c\0\u04c0\0\u3f88\0\u3fd4\0\u4020"
+ + "\0\u406c\0\u40b8\0\u04c0\0\u4104\0\u0344\0\u2484\0\u4150\0\u0344"
+ + "\0\u0344\0\u419c\0\u41e8\0\u4234\0\u04c0\0\u4280\0\u42cc\0\u4318"
+ + "\0\u04c0\0\u4364\0\u04c0\0\u04c0\0\u43b0\0\u04c0\0\u43fc\0\u04c0"
+ + "\0\u4448\0\u4494\0\u44e0\0\u452c\0\u04c0\0\u4578\0\u45c4\0\u4610"
+ + "\0\u465c\0\u46a8\0\u46f4\0\u4740\0\u478c\0\u47d8\0\u04c0\0\u4824"
+ + "\0\u4870\0\u48bc\0\u4908\0\u4954\0\u49a0\0\u49ec\0\u4a38\0\u4a84"
+ + "\0\u4ad0\0\u4b1c\0\u04c0\0\u4b68\0\u04c0\0\u04c0\0\u4bb4\0\u04c0"
+ + "\0\u4c00\0\u04c0\0\u4c4c\0\u4c98\0\u4ce4\0\u04c0\0\u4d30\0\u4d7c"
+ + "\0\u4dc8\0\u04c0\0\u4e14\0\u4e60\0\u4eac\0\u4ef8\0\u04c0\0\u4f44"
+ + "\0\u4f90\0\u4fdc\0\u5028\0\u04c0\0\u5074\0\u04c0\0\u50c0\0\u510c"
+ + "\0\u5158\0\u51a4\0\u51f0\0\u523c\0\u5288\0\u52d4\0\u04c0\0\u04c0"
+ + "\0\u5320\0\u04c0\0\u04c0\0\u536c\0\u53b8\0\u5404\0\u5450\0\u04c0"
+ + "\0\u04c0\0\u04c0\0\u549c\0\u54e8\0\u5534\0\u04c0\0\u5580\0\u55cc"
+ + "\0\u5618\0\u04c0\0\u5664\0\u56b0\0\u56fc\0\u04c0\0\u5748\0\u04c0"
+ + "\0\u5794\0\u04c0\0\u04c0\0\u0344\0\u0344\0\u57e0\0\u04c0\0\u04c0"
+ + "\0\u582c\0\u5878\0\u58c4\0\u5910\0\u595c\0\u1774";
- private static int [] zzUnpackTrans() {
- int [] result = new int[22952];
- 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[446];
+ 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\1\1\1\11\3\1\2\11\1\1\1\11"+
- "\2\1\1\11\1\1\2\11\2\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\6\11"+
- "\1\1\1\11\1\0\1\11\1\0\1\11\1\0\2\11"+
- "\1\0\1\1\4\0\1\1\2\0\2\11\4\1\1\11"+
- "\2\0\3\11\1\1\1\11\1\0\1\1\1\11\61\1"+
- "\3\0\3\11\1\0\1\11\2\0\1\1\2\11\1\0"+
- "\1\11\52\1\1\11\2\0\2\11\1\0\42\1\1\0"+
- "\33\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[446];
- 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\22\1\23\1\24\1\17\1\25\1\26\1\27\1\30"
+ + "\1\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\1\22\1\14\1\102\1\103"
+ + "\1\104\30\102\1\105\12\102\1\106\45\102\1\107\1\110"
+ + "\1\111\31\107\1\105\11\107\1\106\45\107\1\14\1\112"
+ + "\1\113\1\114\1\115\3\14\1\116\2\14\1\114\2\14"
+ + "\1\117\2\116\4\14\4\116\5\14\3\116\2\14\2\116"
+ + "\3\14\26\116\2\14\1\120\46\14\1\121\44\14\1\122"
+ + "\14\14\1\112\1\113\1\114\4\14\1\123\2\14\1\114"
+ + "\3\14\2\123\2\14\1\124\1\14\4\123\5\14\3\123"
+ + "\2\14\2\123\3\14\26\123\2\14\1\125\46\14\1\126"
+ + "\44\14\1\127\13\14\1\130\1\112\1\113\26\130\1\131"
+ + "\63\130\1\132\1\133\12\130\1\134\77\130\1\112\1\113"
+ + "\7\130\1\135\65\130\1\136\13\130\1\137\1\110\1\111"
+ + "\43\137\1\140\1\141\44\137\116\0\1\16\114\0\1\17"
+ + "\7\0\1\17\104\0\1\142\1\143\24\0\1\144\113\0"
+ + "\1\145\67\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\26\22\14\0\1\22\12\0\1\146\1\147"
+ + "\6\0\1\150\13\0\1\150\3\0\2\150\33\0\1\151"
+ + "\25\0\1\152\1\0\1\153\4\0\2\152\4\0\4\152"
+ + "\1\0\1\154\3\0\3\152\2\0\2\152\3\0\26\152"
+ + "\2\0\1\155\45\0\1\156\76\0\1\157\14\0\1\160"
+ + "\77\0\1\161\13\0\1\162\100\0\1\163\105\0\1\150"
+ + "\7\0\1\31\13\0\1\31\3\0\2\31\2\164\101\0"
+ + "\1\165\72\0\1\150\7\0\1\166\13\0\1\167\2\170"
+ + "\1\0\1\171\1\172\2\164\55\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\2\22\1\173\3\22"
+ + "\1\174\2\22\1\175\1\176\13\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\1\22\1\177"
+ + "\6\22\3\0\2\22\1\200\11\22\1\201\11\22\14\0"
+ + "\1\22\33\0\1\202\12\0\1\203\54\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\1\22\1\204"
+ + "\24\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\7\22\1\205\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\5\22\1\206\20\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"
+ + "\1\207\3\22\1\210\5\22\1\211\11\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"
+ + "\1\212\3\0\10\22\1\213\1\22\1\214\2\22\1\215"
+ + "\10\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\22\22\1\216\3\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\7\22\1\217\3\0\2\22\1\220\7\22\1\221\13\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\1\22\1\222\14\22\1\223\1\22"
+ + "\1\224\5\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\3\22\1\225\4\22\3\0\5\22"
+ + "\1\226\1\22\1\227\11\22\1\230\4\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\5\22\1\231\1\22\1\232\16\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"
+ + "\1\233\3\0\6\22\1\234\11\22\1\235\5\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\11\22\1\236\4\22\1\237\7\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\1\22\1\240\1\241\7\22\1\242\13\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\2\22\1\243\3\22\1\244\17\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\7\22\1\245\3\0\26\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\7\22\1\246\16\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\2\22\1\247"
+ + "\23\22\14\0\1\22\33\0\1\250\52\0\1\251\40\0"
+ + "\1\252\53\0\1\253\37\0\1\254\113\0\1\255\61\0"
+ + "\1\102\2\0\30\102\1\0\12\102\1\0\45\102\2\0"
+ + "\1\104\111\0\1\256\3\0\27\256\1\257\1\260\1\256"
+ + "\1\261\1\256\1\262\5\256\1\263\1\256\1\264\1\265"
+ + "\5\256\1\266\1\267\1\256\1\270\30\256\1\0\1\107"
+ + "\2\0\31\107\1\0\11\107\1\0\45\107\2\0\1\111"
+ + "\113\0\1\113\114\0\1\114\7\0\1\114\116\0\1\271"
+ + "\105\0\2\272\3\0\1\272\1\0\4\272\2\0\4\272"
+ + "\1\0\1\273\2\0\10\272\3\0\26\272\16\0\1\274"
+ + "\2\0\30\274\1\275\60\274\10\0\2\276\3\0\1\276"
+ + "\1\0\4\276\2\0\4\276\1\0\1\277\2\0\10\276"
+ + "\3\0\26\276\34\0\1\300\75\0\1\301\2\0\30\301"
+ + "\1\302\1\303\57\301\31\0\1\304\64\0\1\133\126\0"
+ + "\1\305\102\0\1\306\3\0\1\307\3\0\1\310\2\0"
+ + "\2\307\2\0\1\311\1\0\4\307\5\0\3\307\2\0"
+ + "\2\307\3\0\26\307\2\0\1\312\13\0\1\137\2\0"
+ + "\43\137\2\0\44\137\1\313\3\0\32\313\1\314\1\313"
+ + "\1\262\5\313\1\263\1\313\1\264\1\265\5\313\1\266"
+ + "\1\267\1\313\1\315\27\313\1\316\1\0\1\142\1\317"
+ + "\1\320\111\142\5\321\1\322\106\321\11\0\1\323\123\0"
+ + "\1\150\13\0\1\150\3\0\2\150\2\164\57\0\2\152"
+ + "\3\0\1\152\1\0\4\152\2\0\4\152\4\0\10\152"
+ + "\3\0\26\152\50\0\1\324\113\0\1\325\77\0\1\326"
+ + "\13\0\1\327\76\0\1\330\3\0\1\331\13\0\1\331"
+ + "\3\0\2\331\2\0\1\330\100\0\1\332\72\0\1\150"
+ + "\7\0\1\166\13\0\1\166\3\0\2\166\2\164\60\0"
+ + "\1\150\7\0\1\166\13\0\1\167\3\0\1\171\1\172"
+ + "\2\164\67\0\2\333\3\0\3\333\5\0\1\334\2\0"
+ + "\5\333\3\0\1\333\1\0\1\333\1\0\1\333\6\0"
+ + "\1\333\41\0\1\150\7\0\1\166\13\0\1\172\3\0"
+ + "\2\172\2\164\60\0\1\150\7\0\1\166\13\0\1\335"
+ + "\3\0\2\335\2\164\55\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\14\22\1\336\11\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\1\22\1\337\24\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\7\22\1\340\16\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\7\22\1\341"
+ + "\16\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\10\22\1\342\15\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\4\22\1\343\21\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\5\22\1\344\20\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\7\22\1\345\3\0\26\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\10\22\1\346\15\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\5\22\1\347\2\22\1\350\15\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\7\22\1\351\16\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"
+ + "\1\352\23\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\10\22\1\353\15\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\2\22\1\354\23\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\17\22\1\355\6\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\11\22"
+ + "\1\356\14\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\7\22\1\357\3\0\26\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\15\22\1\360\10\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\10\22\1\361\10\22\1\362\4\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\14\22\1\363\11\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\12\22\1\364"
+ + "\5\22\1\365\5\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\1\22\1\366"
+ + "\7\22\1\367\14\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\17\22\1\370"
+ + "\6\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\5\22\1\371\2\22\1\372"
+ + "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\17\22\1\373\6\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\7\22\1\374\3\0\26\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\13\22"
+ + "\1\375\12\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\3\22\1\376\4\22\3\0\14\22"
+ + "\1\377\11\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\7\22\1\u0100\16\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\10\22\1\u0101\15\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\11\22\1\u0102\14\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\6\22"
+ + "\1\u0103\2\22\1\u0104\14\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\4\22"
+ + "\1\u0105\21\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\1\u0106\25\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\1\22\1\u0107\24\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\11\22\1\u0108\14\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u0109"
+ + "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\3\22\1\u010a\4\22\3\0\26\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\25\22\1\u010b\14\0\1\22\21\0\2\u010c"
+ + "\3\0\3\u010c\5\0\1\u010c\2\0\5\u010c\3\0\1\u010c"
+ + "\1\0\1\u010c\1\0\1\u010c\6\0\1\u010c\50\0\2\u010d"
+ + "\3\0\3\u010d\5\0\1\u010d\2\0\5\u010d\3\0\1\u010d"
+ + "\1\0\1\u010d\1\0\1\u010d\6\0\1\u010d\30\0\1\u010e"
+ + "\2\0\30\u010e\1\302\1\0\57\u010e\1\303\2\0\30\303"
+ + "\1\u010f\60\303\16\0\1\u0110\113\0\1\u0111\105\0\1\u0112"
+ + "\6\0\2\u0112\4\0\4\u0112\5\0\3\u0112\2\0\2\u0112"
+ + "\3\0\26\u0112\2\0\1\u0113\23\0\2\307\3\0\1\307"
+ + "\1\0\4\307\2\0\4\307\4\0\10\307\3\0\26\307"
+ + "\33\0\1\u0114\6\0\1\u0115\77\0\1\u0116\6\0\2\u0116"
+ + "\4\0\4\u0116\5\0\3\u0116\2\0\2\u0116\3\0\26\u0116"
+ + "\2\0\1\u0117\62\0\1\u0118\46\0\1\320\111\0\5\321"
+ + "\1\u0119\106\321\4\0\1\320\1\322\140\0\1\u011a\102\0"
+ + "\1\331\13\0\1\331\3\0\2\331\71\0\2\u011b\3\0"
+ + "\3\u011b\5\0\1\u011b\2\0\5\u011b\3\0\1\u011b\1\0"
+ + "\1\u011b\1\0\1\u011b\6\0\1\u011b\41\0\1\150\7\0"
+ + "\1\166\13\0\1\u011c\3\0\2\u011c\2\164\55\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\5\22"
+ + "\1\u011d\20\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\2\22\1\u011e\23\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\4\22\1\u011f\21\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"
+ + "\1\u0120\3\0\26\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\16\22\1\u0121"
+ + "\7\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\7\22\1\u0122\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\2\22\1\u0123\23\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\12\22"
+ + "\1\u0124\13\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\7\22\1\u0125\3\0\26\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\4\22\1\u0126\21\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\5\22\1\u0127\2\22\1\u0128\15\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\5\22\1\u0129\20\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u012a"
+ + "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\7\22\1\u012b\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\10\22\1\u012c\15\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\1\22"
+ + "\1\u012d\24\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\11\22\1\u012e\14\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\7\22\1\u012f\3\0\26\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\14\22\1\u0130\11\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\7\22\1\u0131\3\0\26\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\6\22\1\u0132\17\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\5\22\1\u0133\20\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0134\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\10\22\1\u0135\15\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\7\22\1\u0136\3\0\26\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\6\22"
+ + "\1\u0137\5\22\1\u0138\11\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0139\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\2\22\1\u013a\23\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\7\22\1\u013b\3\0\26\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"
+ + "\1\u013c\23\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\16\22\1\u013d\7\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\14\22\1\u013e\11\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\10\22\1\u013f\15\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\22\22"
+ + "\1\u0140\3\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\3\22\1\u0141\22\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\14\22\1\u0142\11\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\13\22\1\u0143\12\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\11\22"
+ + "\1\u0144\14\22\14\0\1\22\21\0\2\u0145\3\0\3\u0145"
+ + "\5\0\1\u0145\2\0\5\u0145\3\0\1\u0145\1\0\1\u0145"
+ + "\1\0\1\u0145\6\0\1\u0145\50\0\2\u0146\3\0\3\u0146"
+ + "\5\0\1\u0146\2\0\5\u0146\3\0\1\u0146\1\0\1\u0146"
+ + "\1\0\1\u0146\6\0\1\u0146\31\0\2\u0147\5\0\2\u0112"
+ + "\1\0\1\u0147\1\0\1\u0112\1\u0148\4\u0112\2\0\4\u0112"
+ + "\4\0\10\u0112\3\0\26\u0112\33\0\1\u0149\123\0\1\u014a"
+ + "\76\0\2\u0116\3\0\1\u0116\1\0\4\u0116\2\0\4\u0116"
+ + "\4\0\10\u0116\3\0\26\u0116\16\0\4\321\1\320\1\u0119"
+ + "\106\321\20\0\2\u014b\3\0\3\u014b\5\0\1\u014b\2\0"
+ + "\5\u014b\3\0\1\u014b\1\0\1\u014b\1\0\1\u014b\6\0"
+ + "\1\u014b\41\0\1\150\7\0\1\166\13\0\1\u014c\3\0"
+ + "\2\u014c\2\164\55\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\7\22\1\u014d\3\0\26\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\14\22\1\u014e\11\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\10\22\1\u014f"
+ + "\15\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\7\22\1\u0150\16\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\3\22\1\u0151\22\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\1\22\1\u0152\24\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\16\22\1\u0153"
+ + "\7\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\10\22\1\u0154\15\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\11\22\1\u0155\14\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\5\22\1\u0156\20\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0157"
+ + "\14\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\1\22\1\u0158\24\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\4\22\1\u0159\21\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\1\22\1\u015a\24\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\22\22\1\u015b"
+ + "\3\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\5\22\1\u015c\20\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\15\22\1\u015d\10\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\6\22\1\u015e\17\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\2\22\1\u015f"
+ + "\23\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\1\22\1\u0160\24\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\1\22\1\u0161\24\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\7\22\1\u0162"
+ + "\3\0\26\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\3\22\1\u0163\4\22\3\0\26\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\12\22\1\u0164\13\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\10\22\1\u0165\15\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\21\22"
+ + "\1\u0166\4\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\7\22\1\u0167\3\0\26\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\7\22\1\u0168\3\0\26\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\2\22"
+ + "\1\u0169\23\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\2\22\1\u016a\23\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\11\22\1\u016b\14\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\7\22\1\u016c\16\22\14\0\1\22\2\0\2\u0147"
+ + "\10\0\1\u0147\2\0\1\u0148\123\0\1\u016d\105\0\2\u016e"
+ + "\3\0\3\u016e\5\0\1\u016e\2\0\5\u016e\3\0\1\u016e"
+ + "\1\0\1\u016e\1\0\1\u016e\6\0\1\u016e\41\0\1\150"
+ + "\7\0\1\166\13\0\1\u016f\3\0\2\u016f\2\164\55\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\14\22\1\u0170\11\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\11\22\1\u0171"
+ + "\14\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\13\22\1\u0172\12\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\7\22\1\u0173\16\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\7\22\1\u0174\16\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\4\22\1\u0175"
+ + "\21\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\16\22\1\u0176\7\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\11\22\1\u0177\14\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\7\22\1\u0178"
+ + "\3\0\26\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\17\22\1\u0179\6\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\3\22\1\u017a\4\22\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\7\22\1\u017b\16\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\3\22\1\u017c\4\22"
+ + "\3\0\7\22\1\u017d\16\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\10\22"
+ + "\1\u017e\15\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\21\22\1\u017f\4\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\11\22\1\u0180\14\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\14\22\1\u0181\11\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\7\22\1\u0182\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\11\22\1\u0183\14\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\4\22\1\u0184\21\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\10\22\1\u0185\15\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\23\22\1\u0186"
+ + "\2\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\4\22\1\u0187\21\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\11\22\1\u0188\14\22\14\0\1\22\30\0"
+ + "\1\u0189\104\0\2\u018a\3\0\3\u018a\5\0\1\u018a\2\0"
+ + "\5\u018a\3\0\1\u018a\1\0\1\u018a\1\0\1\u018a\6\0"
+ + "\1\u018a\41\0\1\150\7\0\1\166\13\0\1\u018b\3\0"
+ + "\2\u018b\2\164\55\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\20\22\1\u018c\5\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\6\22\1\u018d\17\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\5\22"
+ + "\1\u018e\20\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\12\22\1\u018f\13\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\13\22\1\u0190\12\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\2\22\1\u0191\23\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\4\22"
+ + "\1\u0192\21\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\2\22\1\u0193\23\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\10\22\3\0\2\22\1\u0194\23\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"
+ + "\1\u0195\3\0\26\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\7\22\1\u0196"
+ + "\16\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\10\22\1\u0197\15\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\4\22\1\u0198\21\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\10\22\1\u0199\15\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\7\22\1\u019a\3\0\26\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\7\22\1\u019b\3\0\26\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\10\22\1\u019c\15\22\14\0\1\22\31\0\1\u019d\103\0"
+ + "\2\u019e\3\0\3\u019e\5\0\1\u019e\2\0\5\u019e\3\0"
+ + "\1\u019e\1\0\1\u019e\1\0\1\u019e\6\0\1\u019e\41\0"
+ + "\1\150\7\0\1\166\13\0\1\u019f\3\0\2\u019f\2\164"
+ + "\55\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\7\22\1\u01a0\16\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\7\22\1\u01a1\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\7\22\1\u01a2\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\4\22\1\u01a3\21\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\7\22\1\u01a4\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\4\22\1\u01a5\21\22\14\0"
+ + "\1\22\7\0\3\22\7\0\2\22\3\0\4\22\4\0"
+ + "\10\22\3\0\14\22\1\u01a6\11\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\7\22\1\u01a7\16\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\7\22\1\u01a8\3\0\26\22"
+ + "\14\0\1\22\7\0\3\22\7\0\2\22\3\0\4\22"
+ + "\4\0\7\22\1\u01a9\3\0\26\22\14\0\1\22\7\0"
+ + "\3\22\7\0\2\22\3\0\4\22\4\0\10\22\3\0"
+ + "\20\22\1\u01aa\5\22\14\0\1\22\30\0\1\u01ab\104\0"
+ + "\2\u01ac\3\0\3\u01ac\5\0\1\u01ac\2\0\5\u01ac\3\0"
+ + "\1\u01ac\1\0\1\u01ac\1\0\1\u01ac\6\0\1\u01ac\41\0"
+ + "\1\150\7\0\1\166\13\0\1\u01ad\3\0\2\u01ad\2\164"
+ + "\55\0\3\22\7\0\2\22\3\0\4\22\4\0\7\22"
+ + "\1\u01ae\3\0\26\22\14\0\1\22\7\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\10\22\3\0\6\22\1\u01af"
+ + "\17\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\7\22\1\u01b0\3\0\26\22\14\0\1\22"
+ + "\7\0\3\22\7\0\2\22\3\0\4\22\4\0\10\22"
+ + "\3\0\10\22\1\u01b1\15\22\14\0\1\22\7\0\3\22"
+ + "\7\0\2\22\3\0\4\22\4\0\10\22\3\0\13\22"
+ + "\1\u01b2\12\22\14\0\1\22\7\0\3\22\7\0\2\22"
+ + "\3\0\4\22\4\0\10\22\3\0\13\22\1\u01b3\12\22"
+ + "\14\0\1\22\25\0\1\u01b4\107\0\2\u01b5\3\0\3\u01b5"
+ + "\5\0\1\u01b5\2\0\5\u01b5\3\0\1\u01b5\1\0\1\u01b5"
+ + "\1\0\1\u01b5\6\0\1\u01b5\41\0\1\150\7\0\1\166"
+ + "\13\0\1\u01b6\3\0\2\u01b6\2\164\55\0\3\22\7\0"
+ + "\2\22\3\0\4\22\4\0\3\22\1\u01b7\4\22\3\0"
+ + "\26\22\14\0\1\22\7\0\3\22\7\0\2\22\3\0"
+ + "\4\22\4\0\10\22\3\0\5\22\1\u01b8\20\22\14\0"
+ + "\1\22\12\0\1\150\7\0\1\166\13\0\1\u01b9\3\0"
+ + "\2\u01b9\2\164\60\0\1\150\7\0\1\166\13\0\1\u01ba"
+ + "\3\0\2\u01ba\2\164\60\0\1\150\7\0\1\166\13\0"
+ + "\1\u01bb\3\0\2\u01bb\2\164\60\0\1\150\7\0\1\166"
+ + "\13\0\1\u01bc\3\0\2\u01bc\2\164\60\0\1\150\7\0"
+ + "\1\166\13\0\1\u01bd\3\0\2\u01bd\2\164\60\0\1\150"
+ + "\7\0\1\166\13\0\1\u01be\3\0\2\u01be\2\164\47\0";
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
+ private static int[] zzUnpackTrans() {
+ int[] result = new int[22952];
+ 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;
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
+ private static final int ZZ_NO_MATCH = 1;
- /** the number of characters up to the start of the matched text */
- private int yychar;
+ private static final int ZZ_PUSHBACK_2BIG = 2;
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
+ /* 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"
+ };
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
+ /**
+ * ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+ */
+ private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
+ 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\1\1\1\11\3\1\2\11\1\1\1\11"
+ + "\2\1\1\11\1\1\2\11\2\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\6\11"
+ + "\1\1\1\11\1\0\1\11\1\0\1\11\1\0\2\11"
+ + "\1\0\1\1\4\0\1\1\2\0\2\11\4\1\1\11"
+ + "\2\0\3\11\1\1\1\11\1\0\1\1\1\11\61\1"
+ + "\3\0\3\11\1\0\1\11\2\0\1\1\2\11\1\0"
+ + "\1\11\52\1\1\11\2\0\2\11\1\0\42\1\1\0"
+ + "\33\1\1\0\23\1\1\0\15\1\1\0\10\1\2\11"
+ + "\11\1";
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
- /**
- * The number of occupied positions in zzBuffer beyond zzEndRead.
- * When a lead/high surrogate has been read from the input stream
- * into the final zzBuffer position, this will have a value of 1;
- * otherwise, it will have a value of 0.
- */
- private int zzFinalHighSurrogate = 0;
+ private static int[] zzUnpackAttribute() {
+ int[] result = new int[446];
+ int offset = 0;
+ offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
+ return result;
+ }
- /* user code: */
+ 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);
+ }
+ 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;
+
+ /**
+ * The number of occupied positions in zzBuffer beyond zzEndRead.
+ * When a lead/high surrogate has been read from the input stream
+ * into the final zzBuffer position, this will have a value of 1;
+ * otherwise, it will have a value of 0.
+ */
+ private int zzFinalHighSurrogate = 0;
+
+ /* 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)
- {
+ public void yypushbackstr(String s, int state) {
sourceCode = s + sourceCode.substring(yychar + yylength());
yyreset(new StringReader(sourceCode));
yybegin(state);
}
- public void yypushbackstr(String s)
- {
+ public void yypushbackstr(String s) {
yypushbackstr(s, YYINITIAL);
}
@@ -992,24 +1045,24 @@ public final class ActionScriptLexer {
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);
}
}
@@ -1021,9 +1074,10 @@ public final class ActionScriptLexer {
}
ParsedSymbol last;
- public ParsedSymbol lex() throws java.io.IOException, AVM2ParseException{
+
+ public ParsedSymbol lex() throws java.io.IOException, AVM2ParseException {
ParsedSymbol ret = null;
- if (!pushedBack.isEmpty()){
+ if (!pushedBack.isEmpty()) {
ret = last = pushedBack.pop();
} else {
ret = last = yylex();
@@ -1032,1090 +1086,1259 @@ public final class ActionScriptLexer {
return ret;
}
-
-
- /**
- * Creates a new scanner
- *
- * @param in the java.io.Reader to read input from.
- */
- public ActionScriptLexer(java.io.Reader in) {
- this.zzReader = in;
- }
-
-
- /**
- * 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[0x110000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 3140) {
- 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) {
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead-zzStartRead);
-
- /* translate stored positions */
- zzEndRead-= zzStartRead;
- zzCurrentPos-= zzStartRead;
- zzMarkedPos-= zzStartRead;
- zzStartRead = 0;
+ /**
+ * Creates a new scanner
+ *
+ * @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 - zzFinalHighSurrogate) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzBuffer.length*2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- zzEndRead += zzFinalHighSurrogate;
- zzFinalHighSurrogate = 0;
- }
+ /**
+ * 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[0x110000];
+ int i = 0; /* index in packed string */
- /* fill the buffer with new input */
- int requested = zzBuffer.length - zzEndRead;
- int totalRead = 0;
- while (totalRead < requested) {
- int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
- if (numRead == -1) {
- break;
- }
- totalRead += numRead;
- }
+ int j = 0; /* index in unpacked array */
- if (totalRead > 0) {
- zzEndRead += totalRead;
- if (totalRead == requested) { /* possibly more input available */
- if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
- --zzEndRead;
- zzFinalHighSurrogate = 1;
+ while (i < 3140) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do {
+ map[j++] = value;
+ } while (--count > 0);
}
- }
- return false;
+ return map;
}
- // totalRead = 0: End of stream
- return true;
- }
+ /**
+ * 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 {
-
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
- zzEndRead = zzStartRead; /* invalidate buffer */
+ /* first: make room (if you can) */
+ if (zzStartRead > 0) {
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ System.arraycopy(zzBuffer, zzStartRead,
+ zzBuffer, 0,
+ zzEndRead - zzStartRead);
- if (zzReader != null)
- zzReader.close();
- }
+ /* translate stored positions */
+ zzEndRead -= zzStartRead;
+ zzCurrentPos -= zzStartRead;
+ zzMarkedPos -= zzStartRead;
+ zzStartRead = 0;
+ }
+ /* is the buffer big enough? */
+ if (zzCurrentPos >= zzBuffer.length - zzFinalHighSurrogate) {
+ /* if not: blow it up */
+ char newBuffer[] = new char[zzBuffer.length * 2];
+ System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
+ zzBuffer = newBuffer;
+ zzEndRead += zzFinalHighSurrogate;
+ zzFinalHighSurrogate = 0;
+ }
- /**
- * 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;
- zzFinalHighSurrogate = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- if (zzBuffer.length > ZZ_BUFFERSIZE)
- zzBuffer = new char[ZZ_BUFFERSIZE];
- }
+ /* fill the buffer with new input */
+ int requested = zzBuffer.length - zzEndRead;
+ int totalRead = 0;
+ while (totalRead < requested) {
+ int numRead = zzReader.read(zzBuffer, zzEndRead + totalRead, requested - totalRead);
+ if (numRead == -1) {
+ break;
+ }
+ totalRead += numRead;
+ }
+ if (totalRead > 0) {
+ zzEndRead += totalRead;
+ if (totalRead == requested) { /* possibly more input available */
- /**
- * Returns the current lexical state.
- */
- public final int yystate() {
- return zzLexicalState;
- }
+ if (Character.isHighSurrogate(zzBuffer[zzEndRead - 1])) {
+ --zzEndRead;
+ zzFinalHighSurrogate = 1;
+ }
+ }
+ return false;
+ }
-
- /**
- * 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];
+ // totalRead = 0: End of stream
+ return true;
}
- throw new Error(message);
- }
+ /**
+ * Closes the input stream.
+ */
+ public final void yyclose() throws java.io.IOException {
+ zzAtEOF = true; /* indicate end of file */
+ zzEndRead = zzStartRead; /* invalidate buffer */
- /**
- * 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);
+ if (zzReader != null) {
+ zzReader.close();
+ }
+ }
- zzMarkedPos -= number;
- }
+ /**
+ * 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;
+ zzFinalHighSurrogate = 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;
+ }
- /**
- * 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, AVM2ParseException {
- int zzInput;
- int zzAction;
+ /**
+ * Enters a new lexical state
+ *
+ * @param newState the new lexical state
+ */
+ public final void yybegin(int newState) {
+ zzLexicalState = newState;
+ }
- // cached fields:
- int zzCurrentPosL;
- int zzMarkedPosL;
- int zzEndReadL = zzEndRead;
- char [] zzBufferL = zzBuffer;
- char [] zzCMapL = ZZ_CMAP;
+ /**
+ * Returns the text matched by the current regular expression.
+ */
+ public final String yytext() {
+ return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
+ }
- int [] zzTransL = ZZ_TRANS;
- int [] zzRowMapL = ZZ_ROWMAP;
- int [] zzAttrL = ZZ_ATTRIBUTE;
+ /**
+ * 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];
+ }
- while (true) {
- zzMarkedPosL = zzMarkedPos;
+ /**
+ * Returns the length of the matched text region.
+ */
+ public final int yylength() {
+ return zzMarkedPos - zzStartRead;
+ }
- yychar+= zzMarkedPosL-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];
+ }
- zzAction = -1;
+ throw new Error(message);
+ }
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
+ /**
+ * 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);
+ }
- // set up zzAction for empty match case:
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- }
+ 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, AVM2ParseException {
+ 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;
- zzForAction: {
while (true) {
-
- if (zzCurrentPosL < zzEndReadL) {
- zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- 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 = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
- zzCurrentPosL += Character.charCount(zzInput);
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
+ zzMarkedPosL = zzMarkedPos;
- zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
+ 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 = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ } 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 = Character.codePointAt(zzBufferL, zzCurrentPosL, zzEndReadL);
+ zzCurrentPosL += Character.charCount(zzInput);
+ }
+ }
+ 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 164:
+ break;
+ case 2: {
+ yyline++;
+ }
+ case 165:
+ break;
+ case 3: { /*ignore*/
+
+ }
+ case 166:
+ break;
+ case 4: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DIVIDE, yytext());
+ }
+ case 167:
+ break;
+ case 5: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MULTIPLY, yytext());
+ }
+ case 168:
+ break;
+ case 6: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, yytext());
+ }
+ case 169:
+ break;
+ case 7: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DOT, yytext());
+ }
+ case 170:
+ break;
+ case 8: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_THAN, yytext());
+ }
+ case 171:
+ break;
+ case 9: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT, yytext());
+ }
+ case 172:
+ break;
+ case 10: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MINUS, yytext());
+ }
+ case 173:
+ break;
+ case 11: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_THAN, yytext());
+ }
+ case 174:
+ break;
+ case 12: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COLON, yytext());
+ }
+ case 175:
+ break;
+ case 13: {
+ return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong((yytext())));
+ }
+ case 176:
+ break;
+ case 14: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TERNAR, yytext());
+ }
+ case 177:
+ break;
+ case 15: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_OPEN, yytext());
+ }
+ case 178:
+ break;
+ case 16: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_CLOSE, yytext());
+ }
+ case 179:
+ break;
+ case 17: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN, yytext());
+ }
+ case 180:
+ break;
+ case 18: {
+ string.setLength(0);
+ yybegin(STRING);
+ }
+ case 181:
+ break;
+ case 19: {
+ string.setLength(0);
+ yybegin(CHARLITERAL);
+ }
+ case 182:
+ break;
+ case 20: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PLUS, yytext());
+ }
+ case 183:
+ break;
+ case 21: {
+ string.setLength(0);
+ yybegin(OIDENTIFIER);
+ }
+ case 184:
+ break;
+ case 22: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_OPEN, yytext());
+ }
+ case 185:
+ break;
+ case 23: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_CLOSE, yytext());
+ }
+ case 186:
+ break;
+ case 24: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_OPEN, yytext());
+ }
+ case 187:
+ break;
+ case 25: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_CLOSE, yytext());
+ }
+ case 188:
+ break;
+ case 26: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SEMICOLON, yytext());
+ }
+ case 189:
+ break;
+ case 27: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COMMA, yytext());
+ }
+ case 190:
+ break;
+ case 28: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEGATE, yytext());
+ }
+ case 191:
+ break;
+ case 29: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITAND, yytext());
+ }
+ case 192:
+ break;
+ case 30: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITOR, yytext());
+ }
+ case 193:
+ break;
+ case 31: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.XOR, yytext());
+ }
+ case 194:
+ break;
+ case 32: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MODULO, yytext());
+ }
+ case 195:
+ break;
+ case 33: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ATTRIBUTE, yytext());
+ }
+ case 196:
+ break;
+ case 34: {
+ string.append(yytext());
+ }
+ case 197:
+ break;
+ case 35: {
+ yybegin(YYINITIAL);
+ yyline++;
+ }
+ case 198:
+ break;
+ case 36: {
+ yybegin(YYINITIAL);
+ // length also includes the trailing quote
+ return new ParsedSymbol(SymbolGroup.STRING, SymbolType.STRING, string.toString());
+ }
+ case 199:
+ break;
+ case 37: {
+ yybegin(YYINITIAL);
+ yyline++;
+ }
+ case 200:
+ break;
+ case 38: {
+ string.append(yytext());
+ yyline++;
+ }
+ case 201:
+ break;
+ case 39: {
+ 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 202:
+ break;
+ case 40: {
+ 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 203:
+ break;
+ case 41: {
+ yybegin(YYINITIAL);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRVALVAR_BEGIN, yytext());
+ }
+ case 204:
+ break;
+ case 42: {
+ 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 205:
+ break;
+ case 43: {
+ yybegin(YYINITIAL);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRATTRVALVAR_BEGIN, yytext());
+ }
+ case 206:
+ break;
+ case 44: {
+ string.append(yytext());
+ yyline++;
+ }
+ case 207:
+ break;
+ case 45: {
+ 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 208:
+ break;
+ case 46: {
+ yybegin(YYINITIAL);
+ // length also includes the trailing quote
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, string.toString());
+ }
+ case 209:
+ break;
+ case 47: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_DIVIDE, yytext());
+ }
+ case 210:
+ break;
+ case 48: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MULTIPLY, yytext());
+ }
+ case 211:
+ break;
+ case 49: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DESCENDANTS, yytext());
+ }
+ case 212:
+ break;
+ case 50: {
+ return new ParsedSymbol(SymbolGroup.TYPENAME, SymbolType.TYPENAME, yytext());
+ }
+ case 213:
+ break;
+ case 51: {
+ return new ParsedSymbol(SymbolGroup.DOUBLE, SymbolType.DOUBLE, Double.parseDouble((yytext())));
+ }
+ case 214:
+ break;
+ case 52: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FILTER, yytext());
+ }
+ case 215:
+ break;
+ case 53: {
+ yybegin(XMLOPENTAG);
+ string.setLength(0);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_BEGIN, yytext());
+ }
+ case 216:
+ break;
+ case 54: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_LEFT, yytext());
+ }
+ case 217:
+ break;
+ case 55: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_EQUAL, yytext());
+ }
+ case 218:
+ break;
+ case 56: {
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTVARTAG_BEGIN, yytext());
+ }
+ case 219:
+ break;
+ case 57: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT_EQUAL, yytext());
+ }
+ case 220:
+ break;
+ case 58: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DECREMENT, yytext());
+ }
+ case 221:
+ break;
+ case 59: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MINUS, yytext());
+ }
+ case 222:
+ break;
+ case 60: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_RIGHT, yytext());
+ }
+ case 223:
+ break;
+ case 61: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_EQUAL, yytext());
+ }
+ case 224:
+ break;
+ case 62: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NAMESPACE_OP, yytext());
+ }
+ case 225:
+ break;
+ case 63: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.EQUALS, yytext());
+ }
+ case 226:
+ break;
+ case 64: {
+ return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext(), 8));
+ }
+ case 227:
+ break;
+ case 65: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_PLUS, yytext());
+ }
+ case 228:
+ break;
+ case 66: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INCREMENT, yytext());
+ }
+ case 229:
+ break;
+ case 67: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AS, yytext());
+ }
+ case 230:
+ break;
+ case 68: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IF, yytext());
+ }
+ case 231:
+ break;
+ case 69: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.IS, yytext());
+ }
+ case 232:
+ break;
+ case 70: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IN, yytext());
+ }
+ case 233:
+ break;
+ case 71: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DO, yytext());
+ }
+ case 234:
+ break;
+ case 72: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITAND, yytext());
+ }
+ case 235:
+ break;
+ case 73: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AND, yytext());
+ }
+ case 236:
+ break;
+ case 74: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITOR, yytext());
+ }
+ case 237:
+ break;
+ case 75: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.OR, yytext());
+ }
+ case 238:
+ break;
+ case 76: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_XOR, yytext());
+ }
+ case 239:
+ break;
+ case 77: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MODULO, yytext());
+ }
+ case 240:
+ break;
+ case 78: { /* ignore illegal character escape */
+
+ }
+ case 241:
+ break;
+ case 79: {
+ string.append('\"');
+ }
+ case 242:
+ break;
+ case 80: {
+ string.append('\'');
+ }
+ case 243:
+ break;
+ case 81: {
+ string.append('\f');
+ }
+ case 244:
+ break;
+ case 82: {
+ string.append('\\');
+ }
+ case 245:
+ break;
+ case 83: {
+ string.append('\b');
+ }
+ case 246:
+ break;
+ case 84: {
+ string.append('\r');
+ }
+ case 247:
+ break;
+ case 85: {
+ string.append('\n');
+ }
+ case 248:
+ break;
+ case 86: {
+ string.append('\t');
+ }
+ case 249:
+ 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 250:
+ 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 251:
+ break;
+ case 89: {
+ yybegin(XMLOPENTAG);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTEVALUE, yytext());
+ }
+ case 252:
+ 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 253:
+ 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 254:
+ break;
+ case 92: {
+ yybegin(XMLINSTROPENTAG);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTEVALUE, yytext());
+ }
+ case 255:
+ 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 256:
+ 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 257:
+ break;
+ case 95: {
+ throw new AVM2ParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
+ }
+ case 258:
+ break;
+ case 96: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.REST, yytext());
+ }
+ case 259:
+ break;
+ case 97: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_LEFT, yytext());
+ }
+ case 260:
+ break;
+ case 98: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_NOT_EQUAL, yytext());
+ }
+ case 261:
+ break;
+ case 99: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.USHIFT_RIGHT, yytext());
+ }
+ case 262:
+ break;
+ case 100: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_RIGHT, yytext());
+ }
+ case 263:
+ break;
+ case 101: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_EQUALS, yytext());
+ }
+ case 264:
+ break;
+ case 102: {
+ return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext().substring(2), 16));
+ }
+ case 265:
+ break;
+ case 103: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FOR, yytext());
+ }
+ case 266:
+ break;
+ case 104: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.SET, yytext());
+ }
+ case 267:
+ break;
+ case 105: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEW, yytext());
+ }
+ case 268:
+ break;
+ case 106: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRY, yytext());
+ }
+ case 269:
+ break;
+ case 107: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.USE, yytext());
+ }
+ case 270:
+ break;
+ case 108: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext());
+ }
+ case 271:
+ break;
+ case 109: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.GET, yytext());
+ }
+ case 272:
+ break;
+ case 110: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NAN, yytext());
+ }
+ case 273:
+ break;
+ case 111: {
+ string.append(yytext());
+ yybegin(XML);
+ String ret = string.toString();
+ string.setLength(0);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_CDATA, ret);
+ }
+ case 274:
+ break;
+ case 112: {
+ string.append(yytext());
+ yybegin(XML);
+ String ret = string.toString();
+ string.setLength(0);
+ return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_COMMENT, ret);
+ }
+ case 275:
+ break;
+ case 113: {
+ 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 276:
+ break;
+ case 114: {
+ 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 277:
+ break;
+ case 115: {
+ 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 278:
+ break;
+ case 116: {
+ string.append('\u00A7');
+ }
+ case 279:
+ break;
+ case 117: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_USHIFT_RIGHT, yytext());
+ }
+ case 280:
+ break;
+ case 118: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.EACH, yytext());
+ }
+ case 281:
+ break;
+ case 119: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.ELSE, yytext());
+ }
+ case 282:
+ break;
+ case 120: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CASE, yytext());
+ }
+ case 283:
+ break;
+ case 121: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext());
+ }
+ case 284:
+ break;
+ case 122: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRUE, yytext());
+ }
+ case 285:
+ break;
+ case 123: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext());
+ }
+ case 286:
+ break;
+ case 124: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext());
+ }
+ case 287:
+ break;
+ case 125: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.VOID, yytext());
+ }
+ case 288:
+ break;
+ case 126: {
+ char val = (char) Integer.parseInt(yytext().substring(2), 16);
+ string.append(val);
+ }
+ case 289:
+ break;
+ case 127: {
+ 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 290:
+ break;
+ case 128: {
+ 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 291:
+ break;
+ case 129: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext());
+ }
+ case 292:
+ break;
+ case 130: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.FINAL, yytext());
+ }
+ case 293:
+ break;
+ case 131: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.BREAK, yytext());
+ }
+ case 294:
+ break;
+ case 132: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CATCH, yytext());
+ }
+ case 295:
+ break;
+ case 133: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONST, yytext());
+ }
+ case 296:
+ break;
+ case 134: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CLASS, yytext());
+ }
+ case 297:
+ break;
+ case 135: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SUPER, yytext());
+ }
+ case 298:
+ break;
+ case 136: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THROW, yytext());
+ }
+ case 299:
+ break;
+ case 137: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext());
+ }
+ case 300:
+ break;
+ case 138: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.RETURN, yytext());
+ }
+ case 301:
+ break;
+ case 139: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.STATIC, yytext());
+ }
+ case 302:
+ break;
+ case 140: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SWITCH, yytext());
+ }
+ case 303:
+ break;
+ case 141: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.NATIVE, yytext());
+ }
+ case 304:
+ break;
+ case 142: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TYPEOF, yytext());
+ }
+ case 305:
+ break;
+ case 143: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext());
+ }
+ case 306:
+ break;
+ case 144: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DELETE, yytext());
+ }
+ case 307:
+ break;
+ case 145: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext());
+ }
+ case 308:
+ break;
+ case 146: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINALLY, yytext());
+ }
+ case 309:
+ break;
+ case 147: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EXTENDS, yytext());
+ }
+ case 310:
+ break;
+ case 148: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DEFAULT, yytext());
+ }
+ case 311:
+ break;
+ case 149: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.DYNAMIC, yytext());
+ }
+ case 312:
+ break;
+ case 150: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext());
+ }
+ case 313:
+ break;
+ case 151: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PACKAGE, yytext());
+ }
+ case 314:
+ break;
+ case 152: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FUNCTION, yytext());
+ }
+ case 315:
+ break;
+ case 153: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONTINUE, yytext());
+ }
+ case 316:
+ break;
+ case 154: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.OVERRIDE, yytext());
+ }
+ case 317:
+ break;
+ case 155: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERNAL, yytext());
+ }
+ case 318:
+ break;
+ case 156: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.INFINITY, yytext());
+ }
+ case 319:
+ break;
+ case 157: {
+ return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.NAMESPACE, yytext());
+ }
+ case 320:
+ break;
+ case 158: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERFACE, yytext());
+ }
+ case 321:
+ break;
+ case 159: {
+ return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.UNDEFINED, yytext());
+ }
+ case 322:
+ break;
+ case 160: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext());
+ }
+ case 323:
+ break;
+ case 161: {
+ 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 324:
+ break;
+ case 162: {
+ return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INSTANCEOF, yytext());
+ }
+ case 325:
+ break;
+ case 163: {
+ return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPLEMENTS, yytext());
+ }
+ case 326:
+ break;
+ default:
+ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
+ zzAtEOF = true;
+ {
+ return new ParsedSymbol(SymbolGroup.EOF, SymbolType.EOF, null);
+ }
+ } else {
+ zzScanError(ZZ_NO_MATCH);
+ }
+ }
}
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 1:
- {
- }
- case 164: break;
- case 2:
- { yyline++;
- }
- case 165: break;
- case 3:
- { /*ignore*/
- }
- case 166: break;
- case 4:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DIVIDE, yytext());
- }
- case 167: break;
- case 5:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MULTIPLY, yytext());
- }
- case 168: break;
- case 6:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, yytext());
- }
- case 169: break;
- case 7:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DOT, yytext());
- }
- case 170: break;
- case 8:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_THAN, yytext());
- }
- case 171: break;
- case 9:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT, yytext());
- }
- case 172: break;
- case 10:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MINUS, yytext());
- }
- case 173: break;
- case 11:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_THAN, yytext());
- }
- case 174: break;
- case 12:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COLON, yytext());
- }
- case 175: break;
- case 13:
- { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong((yytext())));
- }
- case 176: break;
- case 14:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TERNAR, yytext());
- }
- case 177: break;
- case 15:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_OPEN, yytext());
- }
- case 178: break;
- case 16:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BRACKET_CLOSE, yytext());
- }
- case 179: break;
- case 17:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN, yytext());
- }
- case 180: break;
- case 18:
- { string.setLength(0);
- yybegin(STRING);
- }
- case 181: break;
- case 19:
- { string.setLength(0);
- yybegin(CHARLITERAL);
- }
- case 182: break;
- case 20:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PLUS, yytext());
- }
- case 183: break;
- case 21:
- { string.setLength(0);
- yybegin(OIDENTIFIER);
- }
- case 184: break;
- case 22:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_OPEN, yytext());
- }
- case 185: break;
- case 23:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.PARENT_CLOSE, yytext());
- }
- case 186: break;
- case 24:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_OPEN, yytext());
- }
- case 187: break;
- case 25:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.CURLY_CLOSE, yytext());
- }
- case 188: break;
- case 26:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SEMICOLON, yytext());
- }
- case 189: break;
- case 27:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.COMMA, yytext());
- }
- case 190: break;
- case 28:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEGATE, yytext());
- }
- case 191: break;
- case 29:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITAND, yytext());
- }
- case 192: break;
- case 30:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.BITOR, yytext());
- }
- case 193: break;
- case 31:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.XOR, yytext());
- }
- case 194: break;
- case 32:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.MODULO, yytext());
- }
- case 195: break;
- case 33:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ATTRIBUTE, yytext());
- }
- case 196: break;
- case 34:
- { string.append(yytext());
- }
- case 197: break;
- case 35:
- { yybegin(YYINITIAL); yyline++;
- }
- case 198: break;
- case 36:
- { yybegin(YYINITIAL);
- // length also includes the trailing quote
- return new ParsedSymbol(SymbolGroup.STRING, SymbolType.STRING, string.toString());
- }
- case 199: break;
- case 37:
- { yybegin(YYINITIAL); yyline++;
- }
- case 200: break;
- case 38:
- { string.append(yytext()); yyline++;
- }
- case 201: break;
- case 39:
- { 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 202: break;
- case 40:
- { 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 203: break;
- case 41:
- { yybegin(YYINITIAL);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRVALVAR_BEGIN, yytext());
- }
- case 204: break;
- case 42:
- { 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 205: break;
- case 43:
- { yybegin(YYINITIAL);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_INSTRATTRVALVAR_BEGIN, yytext());
- }
- case 206: break;
- case 44:
- { string.append(yytext()); yyline++;
- }
- case 207: break;
- case 45:
- { 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 208: break;
- case 46:
- { yybegin(YYINITIAL);
- // length also includes the trailing quote
- return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.IDENTIFIER, string.toString());
- }
- case 209: break;
- case 47:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_DIVIDE, yytext());
- }
- case 210: break;
- case 48:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MULTIPLY, yytext());
- }
- case 211: break;
- case 49:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DESCENDANTS, yytext());
- }
- case 212: break;
- case 50:
- { return new ParsedSymbol(SymbolGroup.TYPENAME, SymbolType.TYPENAME, yytext());
- }
- case 213: break;
- case 51:
- { return new ParsedSymbol(SymbolGroup.DOUBLE, SymbolType.DOUBLE, Double.parseDouble((yytext())));
- }
- case 214: break;
- case 52:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.FILTER, yytext());
- }
- case 215: break;
- case 53:
- { yybegin(XMLOPENTAG);
- string.setLength(0);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTTAG_BEGIN, yytext());
- }
- case 216: break;
- case 54:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_LEFT, yytext());
- }
- case 217: break;
- case 55:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.LOWER_EQUAL, yytext());
- }
- case 218: break;
- case 56:
- { return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_STARTVARTAG_BEGIN, yytext());
- }
- case 219: break;
- case 57:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NOT_EQUAL, yytext());
- }
- case 220: break;
- case 58:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DECREMENT, yytext());
- }
- case 221: break;
- case 59:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MINUS, yytext());
- }
- case 222: break;
- case 60:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.SHIFT_RIGHT, yytext());
- }
- case 223: break;
- case 61:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.GREATER_EQUAL, yytext());
- }
- case 224: break;
- case 62:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NAMESPACE_OP, yytext());
- }
- case 225: break;
- case 63:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.EQUALS, yytext());
- }
- case 226: break;
- case 64:
- { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext(), 8));
- }
- case 227: break;
- case 65:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_PLUS, yytext());
- }
- case 228: break;
- case 66:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INCREMENT, yytext());
- }
- case 229: break;
- case 67:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AS, yytext());
- }
- case 230: break;
- case 68:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IF, yytext());
- }
- case 231: break;
- case 69:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.IS, yytext());
- }
- case 232: break;
- case 70:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IN, yytext());
- }
- case 233: break;
- case 71:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DO, yytext());
- }
- case 234: break;
- case 72:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITAND, yytext());
- }
- case 235: break;
- case 73:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.AND, yytext());
- }
- case 236: break;
- case 74:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_BITOR, yytext());
- }
- case 237: break;
- case 75:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.OR, yytext());
- }
- case 238: break;
- case 76:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_XOR, yytext());
- }
- case 239: break;
- case 77:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_MODULO, yytext());
- }
- case 240: break;
- case 78:
- { /* ignore illegal character escape */
- }
- case 241: break;
- case 79:
- { string.append('\"');
- }
- case 242: break;
- case 80:
- { string.append('\'');
- }
- case 243: break;
- case 81:
- { string.append('\f');
- }
- case 244: break;
- case 82:
- { string.append('\\');
- }
- case 245: break;
- case 83:
- { string.append('\b');
- }
- case 246: break;
- case 84:
- { string.append('\r');
- }
- case 247: break;
- case 85:
- { string.append('\n');
- }
- case 248: break;
- case 86:
- { string.append('\t');
- }
- case 249: 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 250: 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 251: break;
- case 89:
- { yybegin(XMLOPENTAG);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTEVALUE, yytext());
- }
- case 252: 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 253: 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 254: break;
- case 92:
- { yybegin(XMLINSTROPENTAG);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_ATTRIBUTEVALUE, yytext());
- }
- case 255: 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 256: 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 257: break;
- case 95:
- { throw new AVM2ParseException("Illegal escape sequence \"" + yytext() + "\"", yyline + 1);
- }
- case 258: break;
- case 96:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.REST, yytext());
- }
- case 259: break;
- case 97:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_LEFT, yytext());
- }
- case 260: break;
- case 98:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_NOT_EQUAL, yytext());
- }
- case 261: break;
- case 99:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.USHIFT_RIGHT, yytext());
- }
- case 262: break;
- case 100:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_SHIFT_RIGHT, yytext());
- }
- case 263: break;
- case 101:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.STRICT_EQUALS, yytext());
- }
- case 264: break;
- case 102:
- { return new ParsedSymbol(SymbolGroup.INTEGER, SymbolType.INTEGER, Long.parseLong(yytext().substring(2), 16));
- }
- case 265: break;
- case 103:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FOR, yytext());
- }
- case 266: break;
- case 104:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.SET, yytext());
- }
- case 267: break;
- case 105:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.NEW, yytext());
- }
- case 268: break;
- case 106:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRY, yytext());
- }
- case 269: break;
- case 107:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.USE, yytext());
- }
- case 270: break;
- case 108:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.VAR, yytext());
- }
- case 271: break;
- case 109:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.GET, yytext());
- }
- case 272: break;
- case 110:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NAN, yytext());
- }
- case 273: break;
- case 111:
- { string.append(yytext());
- yybegin(XML);
- String ret = string.toString();
- string.setLength(0);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_CDATA, ret);
- }
- case 274: break;
- case 112:
- { string.append(yytext());
- yybegin(XML);
- String ret = string.toString();
- string.setLength(0);
- return new ParsedSymbol(SymbolGroup.XML, SymbolType.XML_COMMENT, ret);
- }
- case 275: break;
- case 113:
- { 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 276: break;
- case 114:
- { 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 277: break;
- case 115:
- { 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 278: break;
- case 116:
- { string.append('\u00A7');
- }
- case 279: break;
- case 117:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.ASSIGN_USHIFT_RIGHT, yytext());
- }
- case 280: break;
- case 118:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.EACH, yytext());
- }
- case 281: break;
- case 119:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.ELSE, yytext());
- }
- case 282: break;
- case 120:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CASE, yytext());
- }
- case 283: break;
- case 121:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.NULL, yytext());
- }
- case 284: break;
- case 122:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.TRUE, yytext());
- }
- case 285: break;
- case 123:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THIS, yytext());
- }
- case 286: break;
- case 124:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WITH, yytext());
- }
- case 287: break;
- case 125:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.VOID, yytext());
- }
- case 288: break;
- case 126:
- { char val = (char) Integer.parseInt(yytext().substring(2), 16);
- string.append(val);
- }
- case 289: break;
- case 127:
- { 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 290: break;
- case 128:
- { 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 291: break;
- case 129:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FALSE, yytext());
- }
- case 292: break;
- case 130:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.FINAL, yytext());
- }
- case 293: break;
- case 131:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.BREAK, yytext());
- }
- case 294: break;
- case 132:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CATCH, yytext());
- }
- case 295: break;
- case 133:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONST, yytext());
- }
- case 296: break;
- case 134:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CLASS, yytext());
- }
- case 297: break;
- case 135:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SUPER, yytext());
- }
- case 298: break;
- case 136:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.THROW, yytext());
- }
- case 299: break;
- case 137:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.WHILE, yytext());
- }
- case 300: break;
- case 138:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.RETURN, yytext());
- }
- case 301: break;
- case 139:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.STATIC, yytext());
- }
- case 302: break;
- case 140:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.SWITCH, yytext());
- }
- case 303: break;
- case 141:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.NATIVE, yytext());
- }
- case 304: break;
- case 142:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.TYPEOF, yytext());
- }
- case 305: break;
- case 143:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPORT, yytext());
- }
- case 306: break;
- case 144:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.DELETE, yytext());
- }
- case 307: break;
- case 145:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PUBLIC, yytext());
- }
- case 308: break;
- case 146:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FINALLY, yytext());
- }
- case 309: break;
- case 147:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.EXTENDS, yytext());
- }
- case 310: break;
- case 148:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.DEFAULT, yytext());
- }
- case 311: break;
- case 149:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.DYNAMIC, yytext());
- }
- case 312: break;
- case 150:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PRIVATE, yytext());
- }
- case 313: break;
- case 151:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PACKAGE, yytext());
- }
- case 314: break;
- case 152:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.FUNCTION, yytext());
- }
- case 315: break;
- case 153:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.CONTINUE, yytext());
- }
- case 316: break;
- case 154:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.OVERRIDE, yytext());
- }
- case 317: break;
- case 155:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERNAL, yytext());
- }
- case 318: break;
- case 156:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.INFINITY, yytext());
- }
- case 319: break;
- case 157:
- { return new ParsedSymbol(SymbolGroup.IDENTIFIER, SymbolType.NAMESPACE, yytext());
- }
- case 320: break;
- case 158:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.INTERFACE, yytext());
- }
- case 321: break;
- case 159:
- { return new ParsedSymbol(SymbolGroup.GLOBALCONST, SymbolType.UNDEFINED, yytext());
- }
- case 322: break;
- case 160:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.PROTECTED, yytext());
- }
- case 323: break;
- case 161:
- { 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 324: break;
- case 162:
- { return new ParsedSymbol(SymbolGroup.OPERATOR, SymbolType.INSTANCEOF, yytext());
- }
- case 325: break;
- case 163:
- { return new ParsedSymbol(SymbolGroup.KEYWORD, SymbolType.IMPLEMENTS, yytext());
- }
- case 326: 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/types/ClassInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ClassInfo.java
index 3ebf6c249..b9ceae26f 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ClassInfo.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ClassInfo.java
@@ -33,11 +33,11 @@ public class ClassInfo {
public ClassInfo() {
static_traits = new Traits();
}
-
+
public ClassInfo(Traits traits) {
static_traits = traits;
}
-
+
@Override
public String toString() {
return "method_index=" + cinit_index + "\r\n" + static_traits.toString();
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 6a649305e..b34f44f09 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
@@ -56,11 +56,11 @@ public class InstanceInfo {
public InstanceInfo() {
instance_traits = new Traits();
}
-
+
public InstanceInfo(Traits traits) {
instance_traits = traits;
}
-
+
@Override
public String toString() {
return "name_index=" + name_index + " super_index=" + super_index + " flags=" + flags + " protectedNS=" + protectedNS + " interfaces=" + Helper.intArrToString(interfaces) + " method_index=" + iinit_index + "\r\n" + instance_traits.toString();
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java
index 5eb228fa6..ffb82d8cc 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/MethodBody.java
@@ -85,13 +85,13 @@ public final class MethodBody implements Cloneable {
this.codeBytes = new byte[0];
this.exceptions = new ABCException[0];
}
-
+
public MethodBody(Traits traits, byte[] codeBytes, ABCException[] exceptions) {
this.traits = traits;
this.codeBytes = codeBytes;
this.exceptions = exceptions;
}
-
+
public synchronized void setCodeBytes(byte codeBytes[]) {
this.codeBytes = codeBytes;
this.code = null;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java
index 3586fc22f..a45d52f02 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/ScriptInfo.java
@@ -70,7 +70,7 @@ public class ScriptInfo {
traitIndices.addAll(otherTraits);
otherTraits.clear();
}
-
+
if (packagePrefix == null || packageName.startsWith(packagePrefix)) {
ClassPath cp = new ClassPath(packageName, objectName);
ret.add(new ScriptPack(cp, abc, scriptIndex, traitIndices));
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 b23070422..3a46e6aab 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
@@ -32,7 +32,7 @@ import java.util.List;
public abstract class Trait implements Serializable {
private static final int[] EMPTY_METADATA_ARRAY = new int[0];
-
+
public int name_index;
public int kindType;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java
index 2919ab28a..e3034968c 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/Traits.java
@@ -39,11 +39,11 @@ public class Traits implements Serializable {
public Traits() {
traits = new ArrayList<>();
}
-
+
public Traits(int initialCapacity) {
traits = new ArrayList<>(initialCapacity);
}
-
+
public void delete(ABC abc, boolean d) {
for (Trait t : traits) {
t.delete(abc, d);
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FontExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FontExporter.java
index a2e97c860..f59b40f6e 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FontExporter.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FontExporter.java
@@ -149,7 +149,7 @@ public class FontExporter {
f.getEngine().setCopyrightYear(cop == null ? "" : cop);
f.setAuthor(ApplicationInfo.shortApplicationVerName);
f.setVersion("1.0");
-
+
SWF swf = t.getSwf();
if (swf != null && swf.swfList != null && swf.swfList.sourceInfo != null) {
String fileName = swf.swfList.sourceInfo.getFile();
@@ -278,7 +278,7 @@ public class FontExporter {
WritableFontData woffData = w.convert(font);
woffData.copyTo(fos);
}
-
+
ttfFile.delete();
}
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java
index 66a2f2447..3dd5cec7f 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java
@@ -308,13 +308,13 @@ public class FrameExporter {
if (evl != null) {
evl.handleExportingEvent("frame", pos + 1, fframes.size(), tim.parentTag == null ? "" : tim.parentTag.getName());
}
-
+
BufferedImage result = SWF.frameToImageGet(ftim, fframes.get(pos++), 0, null, 0, ftim.displayRect, new Matrix(), new ColorTransform(), fbackgroundColor, false, settings.zoom).getBufferedImage();
if (evl != null) {
evl.handleExportedEvent("frame", pos + 1, fframes.size(), tim.parentTag == null ? "" : tim.parentTag.getName());
}
-
+
return result;
}
};
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfXmlExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfXmlExporter.java
index b51bc6739..6d95728ac 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfXmlExporter.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/swf/SwfXmlExporter.java
@@ -99,11 +99,11 @@ public class SwfXmlExporter {
StringBuilder sb = new StringBuilder(data.length * 2);
for (int i = 0; i < data.length; i++) {
sb.append(String.format("%02x", data[i]));
- }
-
+ }
+
return sb.toString();
}
-
+
private static void generateXml(Document doc, Node node, String name, Object obj, boolean isListItem, int level) {
Class cls = obj != null ? obj.getClass() : null;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java
index 97740366d..675dd0cad 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java
@@ -114,7 +114,7 @@ public class DefineTextTag extends TextTag {
ret += "\r\n";
}*/
}
-
+
if (fnt == null) {
ret.add(AppResources.translate("fontNotFound").replace("%fontId%", Integer.toString(rec.fontId)));
} else {
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS2Package.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS2Package.java
index a314b42f3..e4154d635 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS2Package.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/timeline/AS2Package.java
@@ -57,7 +57,7 @@ public class AS2Package implements TreeItem {
result.addAll(scripts.values());
return result;
}
-
+
public TreeItem getChild(int index) {
if (index < subPackages.size()) {
for (AS2Package subPackage : subPackages.values()) {
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java
index 2b93b130e..648aa2abb 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java
@@ -1299,16 +1299,16 @@ public class Graph {
currentLoop.phase = 0;
}
switch (part.stopPartType) {
- case AND_OR:
- part.setAndOrStack(stack); //Save stack for later use
- break;
+ case AND_OR:
+ part.setAndOrStack(stack); //Save stack for later use
+ break;
- case COMMONPART:
- part.setCommonPartStack(stack); //Save stack for later use
- break;
+ case COMMONPART:
+ part.setCommonPartStack(stack); //Save stack for later use
+ break;
- case NONE:
- break;
+ case NONE:
+ break;
}
return ret;
}
@@ -1603,7 +1603,7 @@ public class Graph {
List stopPart2 = new ArrayList<>(stopPart);
GraphPart.CommonPartStack commonPartStack = null;
if ((!isEmpty) && (next != null)) {
- commonPartStack=next.new CommonPartStack();
+ commonPartStack = next.new CommonPartStack();
if (next.commonPartStacks == null) {
next.commonPartStacks = new ArrayList<>();
}
@@ -1613,8 +1613,8 @@ public class Graph {
if (!isEmpty) {
if (next != null) {
next.commonPartStacks.add(commonPartStack);
- commonPartStack.isTrueStack=true; //stopPart must know it needs to store trueStack
- }
+ commonPartStack.isTrueStack = true; //stopPart must know it needs to store trueStack
+ }
onTrue = printGraph(visited, prepareBranchLocalData(localData), trueStack, allParts, part, nps.get(1), stopPart2, loops, null, staticOperation, path, recursionLevel + 1);
}
List onFalse = new ArrayList<>();
@@ -1626,16 +1626,16 @@ public class Graph {
onFalse = printGraph(visited, prepareBranchLocalData(localData), falseStack, allParts, part, nps.get(0), stopPart2, loops, null, staticOperation, path, recursionLevel + 1);
}
- /* if there is a stopPart (next), then Graph will be further analyzed starting from the stopPart:
+ /* if there is a stopPart (next), then Graph will be further analyzed starting from the stopPart:
* trueStack and falseStack must be set equal to corresponding stack that was built upon reaching stopPart. */
if ((!isEmpty) && (next != null)) {
- if ((commonPartStack.trueStack != null) && (commonPartStack.falseStack != null)) {
- trueStack = commonPartStack.trueStack;
- falseStack = commonPartStack.falseStack;
+ if ((commonPartStack.trueStack != null) && (commonPartStack.falseStack != null)) {
+ trueStack = commonPartStack.trueStack;
+ falseStack = commonPartStack.falseStack;
}
- next.commonPartStacks.remove(next.commonPartStacks.size()-1);
+ next.commonPartStacks.remove(next.commonPartStacks.size() - 1);
if (next.commonPartStacks.isEmpty()) {
- next.stopPartType = GraphPart.StopPartType.NONE; /* reset StopPartType */
+ next.stopPartType = GraphPart.StopPartType.NONE; // reset StopPartType
}
}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPart.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPart.java
index de4e0c930..58a49e708 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPart.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/GraphPart.java
@@ -58,6 +58,7 @@ public class GraphPart implements Serializable {
public List throwParts = new ArrayList<>();
public enum StopPartType {
+
NONE, AND_OR, COMMONPART
}
@@ -66,24 +67,27 @@ public class GraphPart implements Serializable {
public TranslateStack andOrStack; // Stores stack when AND_OR stopPart has been reached
public class CommonPartStack { // Stores stack when COMMONPART stopPart has been reached
- boolean isTrueStack;
- TranslateStack trueStack;
- TranslateStack falseStack;
+
+ boolean isTrueStack;
+
+ TranslateStack trueStack;
+
+ TranslateStack falseStack;
}
public ArrayList commonPartStacks;
-
+
public void setAndOrStack(TranslateStack stack) {
- andOrStack = stack;
+ andOrStack = stack;
}
public void setCommonPartStack(TranslateStack stack) {
- CommonPartStack currentStack = commonPartStacks.get(commonPartStacks.size()-1);
- if (currentStack.isTrueStack) {
- currentStack.trueStack = stack;
- } else {
- currentStack.falseStack = stack;
- }
+ CommonPartStack currentStack = commonPartStacks.get(commonPartStacks.size() - 1);
+ if (currentStack.isTrueStack) {
+ currentStack.trueStack = stack;
+ } else {
+ currentStack.falseStack = stack;
+ }
}
public int setTime(int time, List ordered, List visited) {
diff --git a/src/com/jpexs/decompiler/flash/gui/Main.java b/src/com/jpexs/decompiler/flash/gui/Main.java
index 30a42e620..eb75188b2 100644
--- a/src/com/jpexs/decompiler/flash/gui/Main.java
+++ b/src/com/jpexs/decompiler/flash/gui/Main.java
@@ -1377,7 +1377,7 @@ public class Main {
for (int i = handlers.length - 1; i >= 0; i--) {
logger.removeHandler(handlers[i]);
}
-
+
ConsoleHandler conHan = new ConsoleHandler();
conHan.setLevel(debug ? Level.CONFIG : Level.WARNING);
SimpleFormatter formatterTxt = new SimpleFormatter();
diff --git a/src/com/jpexs/decompiler/flash/gui/debugger/DebuggerTools.java b/src/com/jpexs/decompiler/flash/gui/debugger/DebuggerTools.java
index 0bf9c798d..15db7a50f 100644
--- a/src/com/jpexs/decompiler/flash/gui/debugger/DebuggerTools.java
+++ b/src/com/jpexs/decompiler/flash/gui/debugger/DebuggerTools.java
@@ -64,18 +64,18 @@ public class DebuggerTools {
if (tested == null) {
return false;
}
-
+
// fast check, because dynamic regex compile and match is expensive
if (!tested.startsWith(DEBUGGER_PACKAGE)) {
return false;
}
-
+
if (cls == null) {
cls = "";
} else {
cls = "\\." + Pattern.quote(cls);
}
-
+
return tested.matches(Pattern.quote(DEBUGGER_PACKAGE) + "(\\.pkg[a-f0-9]+)?" + cls);
}